releasing 0.9.7
[platform/upstream/gstreamer.git] / ChangeLog
1 === release 0.9.7 ===
2
3 2005-12-01   <thomas (at) apestaart (dot) org>
4
5         * configure.ac:
6           releasing 0.9.7, "My Dog Has No Nose"
7
8 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9
10         * common/gst-xmlinspect.py:
11         * configure.ac:
12         * docs/libs/tmpl/gstdataprotocol.sgml:
13         * docs/random/release:
14         * po/af.po:
15         * po/az.po:
16         * po/bg.po:
17         * po/ca.po:
18         * po/cs.po:
19         * po/de.po:
20         * po/en_GB.po:
21         * po/fr.po:
22         * po/it.po:
23         * po/nb.po:
24         * po/nl.po:
25         * po/ru.po:
26         * po/sq.po:
27         * po/sr.po:
28         * po/sv.po:
29         * po/tr.po:
30         * po/uk.po:
31         * po/vi.po:
32         * win32/common/config.h:
33         * win32/common/config.h.in:
34         * win32/vs6/gst_inspect.dsp:
35         * win32/vs6/gst_launch.dsp:
36         * win32/vs6/libgstbase.dsp:
37         * win32/vs6/libgstelements.dsp:
38         * win32/vs6/libgstreamer.dsp:
39         * win32/vs7/GStreamer.vcproj:
40         * win32/vs7/gst-inspect.vcproj:
41         * win32/vs7/gst-launch.vcproj:
42         * win32/vs7/libgstbase.vcproj:
43           bump GST_MAJORMINOR to 0.10
44           reset libtool version
45
46 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
47
48         * po/LINGUAS:
49         * po/bg.po:
50           Added Bulgarian translation by (Alexander Shopov)
51
52 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
53
54         * tests/check/gst/gstplugin.c:
55           fix test
56
57 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
58
59         * common/gst-xmlinspect.py:
60         * common/gtk-doc-plugins.mak:
61         * configure.ac:
62         * docs/Makefile.am:
63         * docs/gst/Makefile.am:
64         * docs/gst/gstreamer-docs.sgml:
65         * docs/gst/gstreamer-sections.txt:
66         * docs/gst/gstreamer.types:
67         * docs/gst/gstreamer.types.in:
68         * docs/plugins/Makefile.am:
69         * docs/plugins/gstreamer-plugins-docs.sgml:
70         * docs/plugins/gstreamer-plugins-sections.txt:
71         * docs/plugins/gstreamer-plugins.types:
72         * docs/plugins/inspect.stamp:
73         * docs/plugins/inspect/plugin-coreelements.xml:
74         * docs/plugins/inspect/plugin-coreindexers.xml:
75         * docs/plugins/scanobj-build.stamp:
76         * gstreamer.spec.in:
77         * plugins/elements/Makefile.am:
78         * plugins/elements/gstelements.c:
79         * plugins/elements/gstfakesink.c:
80         * plugins/elements/gstfakesrc.c:
81         * plugins/elements/gstfilesink.c:
82         * plugins/elements/gstfilesrc.c:
83         * plugins/elements/gstqueue.c:
84         * plugins/indexers/Makefile.am:
85         * plugins/indexers/gstindexers.c:
86           document core plugins in a separate document just like all the
87           others
88           rename these plugins to something starting with core
89
90 2005-12-01  Andy Wingo  <wingo@pobox.com>
91
92         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
93         padding here before, but it missed the commit.
94
95 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
96
97         * libs/gst/controller/gstinterpolation.c:
98           whitespace prices have crashed, we should feel free to use some now
99           use gst_guint64_to_gdouble
100
101 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
102
103         * libs/gst/controller/gstcontroller.c:
104         * libs/gst/controller/gsthelper.c:
105         * libs/gst/controller/gstinterpolation.c:
106         * libs/gst/controller/lib.c:
107           wrap config.h include
108
109 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
110
111         * docs/gst/gstreamer-sections.txt:
112           update docs
113
114 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
115
116         * plugins/elements/gstelements.c:
117         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
118         (gst_fd_sink__class_init), (gst_fd_sink__init),
119         (gst_fd_sink__chain), (gst_fd_sink__set_property),
120         (gst_fd_sink__get_property):
121         * plugins/elements/gstfdsink.h:
122         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
123         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
124         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
125         (gst_fd_src_unlock), (gst_fd_src_set_property),
126         (gst_fd_src_get_property), (gst_fd_src_create),
127         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
128         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
129         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
130         (gst_fd_src_uri_handler_init):
131         * plugins/elements/gstfdsrc.h:
132         * plugins/elements/gstqueue.c: (gst_queue_get_type):
133           more anal cleanup
134
135 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
136
137         * docs/gst/Makefile.am:
138         * docs/gst/gstreamer.types.in:
139         * gst/Makefile.am:
140           fix the docs build
141
142 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
143
144         * configure.ac:
145         * gst/Makefile.am:
146         * gst/gst.c:
147         * gst/gstplugin.h:
148         * gst/gstregistry.h:
149         * tests/benchmarks/complexity.c:
150         * tests/benchmarks/mass-elements.c:
151         * tests/check/Makefile.am:
152         * tools/Makefile.am:
153         * tools/gst-inspect.c:
154         * tools/gst-xmlinspect.c:
155           various fixes to make
156           --disable-nls --disable-registry --disable-loadsave
157           --disable-parse --disable-gst-debug
158           work and get the core .so down to 360444 bytes after stripping
159
160 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
161
162         * Makefile.am:
163         * configure.ac:
164           descend into tests
165         * docs/random/thomasvs/TODO:
166         * tests/Makefile.am:
167         * tests/README:
168           add a README
169
170 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
171
172         * win32/GStreamer.vcproj:
173         * win32/MANIFEST:
174         * win32/Makefile:
175         * win32/Makefile.inspect:
176         * win32/Makefile.launch:
177         * win32/Makefile.register:
178         * win32/README.txt:
179         * win32/gst-inspect.vcproj:
180         * win32/gst-launch.vcproj:
181         * win32/gst-register.vcproj:
182         * win32/gstelements.vcproj:
183         * win32/gstgetbits.def:
184         * win32/gstgetbits.vcproj:
185         * win32/gstreamer-dbg.def:
186         * win32/gstreamer.def:
187         * win32/libgstbase.def:
188         * win32/libgstbase.vcproj:
189         * win32/link_oldruntime.c:
190         * win32/mman.c:
191         * win32/mman.h:
192         * win32/mman.inl:
193         * win32/msvc71.sln:
194           move even more stuff, win32/ is nice and clean now
195
196 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
197
198         * libs/gst/control/.cvsignore:
199         * win32/MANIFEST:
200         * win32/config.h:
201         * win32/dirent.c:
202         * win32/dirent.h:
203         * win32/gstbytestream.def:
204         * win32/gstbytestream.vcproj:
205         * win32/gstconfig.h:
206         * win32/gstenumtypes.c:
207         * win32/gstenumtypes.h:
208         * win32/gstoptimalscheduler.vcproj:
209         * win32/gstversion.h:
210         * win32/gtchar.h:
211         * win32/testsuite/bins.vcproj:
212         * win32/testsuite/bytestream.vcproj:
213         * win32/testsuite/caps.vcproj:
214         * win32/testsuite/cleanup.vcproj:
215         * win32/testsuite/clock.vcproj:
216         * win32/testsuite/debug.vcproj:
217         * win32/testsuite/dlopen.vcproj:
218         * win32/testsuite/dynparams.vcproj:
219         * win32/testsuite/elements.vcproj:
220         * win32/testsuite/ghostpads.vcproj:
221         * win32/testsuite/indexers.vcproj:
222         * win32/testsuite/negotiation.vcproj:
223         * win32/testsuite/parse.vcproj:
224         * win32/testsuite/plugin.vcproj:
225         * win32/testsuite/refcounting.vcproj:
226         * win32/testsuite/schedulers.vcproj:
227         * win32/testsuite/states.vcproj:
228         * win32/testsuite/tags.vcproj:
229         * win32/testsuite/threads.vcproj:
230           remove old win32 stuff that isn't maintained and should be
231           reorganized
232
233 2005-11-30  Andy Wingo  <wingo@pobox.com>
234
235         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
236         loading the gst.interfaces python module bork.
237
238         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
239         available since GLib 2.2. Fixes #318031.
240
241 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
242
243         * Makefile.am:
244         * check/.cvsignore:
245         * check/Makefile.am:
246         * check/elements/.cvsignore:
247         * check/elements/fakesrc.c:
248         * check/elements/fdsrc.c:
249         * check/elements/identity.c:
250         * check/generic/.cvsignore:
251         * check/generic/states.c:
252         * check/gst-libs/.cvsignore:
253         * check/gst-libs/controller.c:
254         * check/gst-libs/gdp.c:
255         * check/gst/.cvsignore:
256         * check/gst/capslist.h:
257         * check/gst/gst.c:
258         * check/gst/gstbin.c:
259         * check/gst/gstbuffer.c:
260         * check/gst/gstbus.c:
261         * check/gst/gstcaps.c:
262         * check/gst/gstelement.c:
263         * check/gst/gstevent.c:
264         * check/gst/gstghostpad.c:
265         * check/gst/gstiterator.c:
266         * check/gst/gstmessage.c:
267         * check/gst/gstminiobject.c:
268         * check/gst/gstobject.c:
269         * check/gst/gstpad.c:
270         * check/gst/gstpipeline.c:
271         * check/gst/gstplugin.c:
272         * check/gst/gstsegment.c:
273         * check/gst/gststructure.c:
274         * check/gst/gstsystemclock.c:
275         * check/gst/gsttag.c:
276         * check/gst/gstutils.c:
277         * check/gst/gstvalue.c:
278         * check/net/.cvsignore:
279         * check/net/gstnetclientclock.c:
280         * check/net/gstnettimeprovider.c:
281         * check/pipelines/.cvsignore:
282         * check/pipelines/cleanup.c:
283         * check/pipelines/simple_launch_lines.c:
284         * check/pipelines/stress.c:
285         * check/states/.cvsignore:
286         * check/states/sinks.c:
287         * configure.ac:
288         * examples/Makefile.am:
289         * examples/appreader/.cvsignore:
290         * examples/appreader/Makefile.am:
291         * examples/appreader/appreader.c:
292         * examples/controller/.cvsignore:
293         * examples/controller/Makefile.am:
294         * examples/controller/audio-example.c:
295         * examples/cutter/.cvsignore:
296         * examples/cutter/Makefile.am:
297         * examples/cutter/cutter.c:
298         * examples/cutter/cutter.h:
299         * examples/events/Makefile.am:
300         * examples/events/seek.c:
301         * examples/helloworld/.cvsignore:
302         * examples/helloworld/Makefile.am:
303         * examples/helloworld/helloworld.c:
304         * examples/helloworld2/.cvsignore:
305         * examples/helloworld2/Makefile.am:
306         * examples/helloworld2/helloworld2.c:
307         * examples/launch/.cvsignore:
308         * examples/launch/Makefile.am:
309         * examples/launch/mp3parselaunch.c:
310         * examples/launch/mp3play:
311         * examples/manual/.cvsignore:
312         * examples/manual/Makefile.am:
313         * examples/manual/extract.pl:
314         * examples/metadata/Makefile.am:
315         * examples/metadata/read-metadata.c:
316         * examples/mixer/.cvsignore:
317         * examples/mixer/Makefile.am:
318         * examples/mixer/mixer.c:
319         * examples/mixer/mixer.h:
320         * examples/pingpong/.cvsignore:
321         * examples/pingpong/Makefile.am:
322         * examples/pingpong/pingpong.c:
323         * examples/plugins/.cvsignore:
324         * examples/plugins/Makefile.am:
325         * examples/plugins/example.c:
326         * examples/plugins/example.h:
327         * examples/pwg/.cvsignore:
328         * examples/pwg/Makefile.am:
329         * examples/pwg/extract.pl:
330         * examples/queue/.cvsignore:
331         * examples/queue/Makefile.am:
332         * examples/queue/queue.c:
333         * examples/queue2/.cvsignore:
334         * examples/queue2/Makefile.am:
335         * examples/queue2/queue2.c:
336         * examples/queue3/.cvsignore:
337         * examples/queue3/Makefile.am:
338         * examples/queue3/queue3.c:
339         * examples/queue4/.cvsignore:
340         * examples/queue4/Makefile.am:
341         * examples/queue4/queue4.c:
342         * examples/retag/.cvsignore:
343         * examples/retag/Makefile.am:
344         * examples/retag/retag.c:
345         * examples/retag/transcode.c:
346         * examples/thread/.cvsignore:
347         * examples/thread/Makefile.am:
348         * examples/thread/thread.c:
349         * examples/typefind/.cvsignore:
350         * examples/typefind/Makefile.am:
351         * examples/typefind/typefind.c:
352         * examples/xml/.cvsignore:
353         * examples/xml/Makefile.am:
354         * examples/xml/createxml.c:
355         * examples/xml/runxml.c:
356         * tests/Makefile.am:
357         * tests/check/Makefile.am:
358         * testsuite/.cvsignore:
359         * testsuite/Makefile.am:
360         * testsuite/Rules:
361         * testsuite/caps/.cvsignore:
362         * testsuite/caps/Makefile.am:
363         * testsuite/caps/app_fixate.c:
364         * testsuite/caps/audioscale.c:
365         * testsuite/caps/caps.c:
366         * testsuite/caps/caps.h:
367         * testsuite/caps/caps_strings:
368         * testsuite/caps/compatibility.c:
369         * testsuite/caps/deserialize.c:
370         * testsuite/caps/enumcaps.c:
371         * testsuite/caps/eratosthenes.c:
372         * testsuite/caps/filtercaps.c:
373         * testsuite/caps/fixed.c:
374         * testsuite/caps/fraction-convert.c:
375         * testsuite/caps/fraction-multiply-and-zero.c:
376         * testsuite/caps/intersect2.c:
377         * testsuite/caps/intersection.c:
378         * testsuite/caps/normalisation.c:
379         * testsuite/caps/random.c:
380         * testsuite/caps/renegotiate.c:
381         * testsuite/caps/sets.c:
382         * testsuite/caps/simplify.c:
383         * testsuite/caps/string-conversions.c:
384         * testsuite/caps/structure.c:
385         * testsuite/caps/subtract.c:
386         * testsuite/caps/union.c:
387         * testsuite/debug/.cvsignore:
388         * testsuite/debug/Makefile.am:
389         * testsuite/debug/category.c:
390         * testsuite/debug/commandline.c:
391         * testsuite/debug/global.c:
392         * testsuite/debug/output.c:
393         * testsuite/debug/printf_extension.c:
394         * testsuite/dlopen/.cvsignore:
395         * testsuite/dlopen/Makefile.am:
396         * testsuite/dlopen/dlopen_gst.c:
397         * testsuite/dlopen/loadgst.c:
398         * testsuite/elements/.cvsignore:
399         * testsuite/elements/Makefile.am:
400         * testsuite/elements/gst-inspect-check.in:
401         * testsuite/elements/struct_i386.h:
402         * testsuite/elements/struct_size.c:
403         * testsuite/indexers/.cvsignore:
404         * testsuite/indexers/Makefile.am:
405         * testsuite/indexers/cache1.c:
406         * testsuite/indexers/indexdump.c:
407         * testsuite/parse/.cvsignore:
408         * testsuite/parse/Makefile.am:
409         * testsuite/parse/parse1.c:
410         * testsuite/parse/parse2.c:
411         * testsuite/plugin/.cvsignore:
412         * testsuite/plugin/Makefile.am:
413         * testsuite/plugin/README:
414         * testsuite/plugin/dynamic.c:
415         * testsuite/plugin/linked.c:
416         * testsuite/plugin/loading.c:
417         * testsuite/plugin/registry.c:
418         * testsuite/plugin/static.c:
419         * testsuite/plugin/static2.c:
420         * testsuite/plugin/testplugin.c:
421         * testsuite/plugin/testplugin2.c:
422         * testsuite/plugin/testplugin2_s.c:
423         * testsuite/plugin/testplugin_s.c:
424         * testsuite/refcounting/.cvsignore:
425         * testsuite/refcounting/Makefile.am:
426         * testsuite/refcounting/bin.c:
427         * testsuite/refcounting/element.c:
428         * testsuite/refcounting/element_pad.c:
429         * testsuite/refcounting/mainloop.c:
430         * testsuite/refcounting/mem.c:
431         * testsuite/refcounting/mem.h:
432         * testsuite/refcounting/object.c:
433         * testsuite/refcounting/pad.c:
434         * testsuite/refcounting/sched.c:
435         * testsuite/refcounting/thread.c:
436         * testsuite/states/.cvsignore:
437         * testsuite/states/Makefile.am:
438         * testsuite/states/bin.c:
439         * testsuite/states/locked.c:
440         * testsuite/states/parent.c:
441         * testsuite/threads/.cvsignore:
442         * testsuite/threads/159566.c:
443         * testsuite/threads/159852.c:
444         * testsuite/threads/Makefile.am:
445         * testsuite/threads/queue.c:
446         * testsuite/threads/signals.c:
447         * testsuite/threads/staticrec.c:
448         * testsuite/threads/thread.c:
449         * testsuite/threads/threadb.c:
450         * testsuite/threads/threadc.c:
451         * testsuite/threads/threadd.c:
452         * testsuite/threads/threade.c:
453         * testsuite/threads/threadf.c:
454         * testsuite/threads/threadg.c:
455         * testsuite/threads/threadh.c:
456         * testsuite/threads/threadi.c:
457           move all of these under tests
458
459 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
460
461         * configure.ac:
462         * tests/Makefile.am:
463           fix distcheck
464
465 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
466
467         * docs/gst/gstreamer-sections.txt:
468         * tests/sched/.cvsignore:
469         * tests/sched/Makefile.am:
470         * tests/sched/cases/(fs-fs).xml:
471         * tests/sched/cases/(fs-i-fs).xml:
472         * tests/sched/cases/(fs-i-i-fs).xml:
473         * tests/sched/cases/(fs-i-q[i-fs]).xml:
474         * tests/sched/dynamic-pipeline.c:
475         * tests/sched/interrupt1.c:
476         * tests/sched/interrupt2.c:
477         * tests/sched/interrupt3.c:
478         * tests/sched/runtestcases:
479         * tests/sched/runxml.c:
480         * tests/sched/sched-stress.c:
481         * tests/sched/sort.c:
482         * tests/sched/testcases:
483         * tests/sched/testcases1.tc:
484         * tests/seeking/.cvsignore:
485         * tests/seeking/Makefile.am:
486         * tests/seeking/seeking1.c:
487         * tests/threadstate/.cvsignore:
488         * tests/threadstate/Makefile.am:
489         * tests/threadstate/test1.c:
490         * tests/threadstate/test2.c:
491         * tests/threadstate/threadstate1.c:
492         * tests/threadstate/threadstate2.c:
493         * tests/threadstate/threadstate3.c:
494         * tests/threadstate/threadstate4.c:
495         * tests/threadstate/threadstate5.c:
496           remove obsolete tests
497         * configure.ac:
498         * tests/bench-complexity.scm:
499         * tests/bench-mass_elements.scm:
500         * tests/complexity.c:
501         * tests/complexity.gnuplot:
502         * tests/instantiate/.cvsignore:
503         * tests/instantiate/Makefile.am:
504         * tests/instantiate/caps.c:
505         * tests/mass_elements.c:
506         * tests/network-clock-utils.scm:
507         * tests/network-clock.scm:
508         * tests/plot-data:
509         First pass at cleaning up tests/ dir before moving the rest
510         Combined with CVS surgery
511
512 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
513
514         * po/POTFILES.in:
515           queue has moved, update
516
517 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
518
519         * docs/gst/gstreamer-sections.txt:
520           remove double entries from the docs
521         * gst/gst_private.h:
522         * gst/gstinfo.c: (_gst_debug_init):
523           remove the THREAD debug category
524         * gst/Makefile.am:
525         * gst/gstqueue.c:
526         * gst/gstqueue.h:
527         * docs/gst/gstreamer.types:
528         * plugins/elements/gstqueue.c: (gst_queue_get_type),
529         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
530           completely move queue and fix up debugging categories
531
532 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
533
534         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
535           make initialization portable, using LL is not
536
537 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
538
539         * win32/common/gstconfig.h:
540           add large padding
541
542 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
543
544         * win32/common/libgstreamer.def:
545           rename symbols; sort base section
546
547 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
548
549         * gst/gstclock.c: (do_linear_regression):
550           remove crack non-portable handrolled DEBUG macro
551
552 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
553
554         * docs/random/release:
555           update notes
556         * win32/common/gstenumtypes.c: (register_gst_object_flags),
557         (gst_object_flags_get_type), (register_gst_bin_flags),
558         (gst_bin_flags_get_type), (register_gst_buffer_flag),
559         (gst_buffer_flag_get_type), (register_gst_bus_flags),
560         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
561         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
562         (gst_caps_flags_get_type), (register_gst_clock_return),
563         (gst_clock_return_get_type), (register_gst_clock_entry_type),
564         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
565         (gst_clock_flags_get_type), (register_gst_state),
566         (gst_state_get_type), (register_gst_state_change_return),
567         (gst_state_change_return_get_type), (register_gst_state_change),
568         (gst_state_change_get_type), (register_gst_element_flags),
569         (gst_element_flags_get_type), (register_gst_core_error),
570         (gst_core_error_get_type), (register_gst_library_error),
571         (gst_library_error_get_type), (register_gst_resource_error),
572         (gst_resource_error_get_type), (register_gst_stream_error),
573         (gst_stream_error_get_type), (register_gst_event_type_flags),
574         (gst_event_type_flags_get_type), (register_gst_event_type),
575         (gst_event_type_get_type), (register_gst_seek_type),
576         (gst_seek_type_get_type), (register_gst_seek_flags),
577         (gst_seek_flags_get_type), (register_gst_format),
578         (gst_format_get_type), (register_gst_index_certainty),
579         (gst_index_certainty_get_type), (register_gst_index_entry_type),
580         (gst_index_entry_type_get_type),
581         (register_gst_index_lookup_method),
582         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
583         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
584         (gst_index_resolver_method_get_type), (register_gst_index_flags),
585         (gst_index_flags_get_type), (register_gst_debug_level),
586         (gst_debug_level_get_type), (register_gst_debug_color_flags),
587         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
588         (gst_iterator_result_get_type), (register_gst_iterator_item),
589         (gst_iterator_item_get_type), (register_gst_message_type),
590         (gst_message_type_get_type), (register_gst_mini_object_flags),
591         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
592         (gst_pad_link_return_get_type), (register_gst_flow_return),
593         (gst_flow_return_get_type), (register_gst_activate_mode),
594         (gst_activate_mode_get_type), (register_gst_pad_direction),
595         (gst_pad_direction_get_type), (register_gst_pad_flags),
596         (gst_pad_flags_get_type), (register_gst_pad_presence),
597         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
598         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
599         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
600         (gst_plugin_error_get_type), (register_gst_plugin_flags),
601         (gst_plugin_flags_get_type), (register_gst_rank),
602         (gst_rank_get_type), (register_gst_query_type),
603         (gst_query_type_get_type), (register_gst_tag_merge_mode),
604         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
605         (gst_tag_flag_get_type), (register_gst_task_state),
606         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
607         (gst_alloc_trace_flags_get_type),
608         (register_gst_type_find_probability),
609         (gst_type_find_probability_get_type), (register_gst_uri_type),
610         (gst_uri_type_get_type), (register_gst_parse_error),
611         (gst_parse_error_get_type):
612         * win32/common/gstenumtypes.h:
613         * win32/common/gstversion.h:
614           update visual studio generated files
615
616 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
617
618         * win32/vs6/libgstbase.dsp:
619         * win32/vs6/libgstelements.dsp:
620           update project files for new locations
621
622 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
623
624         * Makefile.am:
625           remove some files
626         * README:
627           reinstate and update
628         * DEVEL:
629         * REQUIREMENTS:
630           removed
631         * LICENSE:
632         * docs/random/LICENSE:
633           moved to random
634
635 2005-11-30  Edward Hervey  <edward@fluendo.com>
636
637         * gst/gsttypefind.c: (gst_type_find_register):
638         * gst/gsttypefind.h:
639         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
640         (gst_type_find_factory_dispose):
641         * gst/gsttypefindfactory.h:
642         Fix memory leak in GstTypeFindFactory.
643
644 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
645
646         * gst/gst.c:
647         * plugins/elements/Makefile.am:
648         * plugins/elements/gstelements.c:
649         * plugins/elements/gstqueue.c:
650           move queue from core to the elements plugin
651
652 2005-11-29  Andy Wingo  <wingo@pobox.com>
653
654         * libs/gst/base/gstbasetransform.h: 
655         * libs/gst/base/gstbasesrc.h: 
656         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
657
658         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
659         of pointers by which to pad very extensible base classes (like the
660         ones in libs/gst/base).
661
662 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
663
664         * docs/gst/gstreamer-docs.sgml:
665         * docs/gst/gstreamer-sections.txt:
666         * docs/libs/gstreamer-libs-docs.sgml:
667         * docs/libs/gstreamer-libs-sections.txt:
668           moving documentation from core to lib
669
670 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
671
672         * check/Makefile.am:
673         * configure.ac:
674         * docs/gst/Makefile.am:
675         * gst/Makefile.am:
676         * gst/base/.cvsignore:
677         * gst/base/Makefile.am:
678         * gst/base/README:
679         * gst/base/gstadapter.c:
680         * gst/base/gstadapter.h:
681         * gst/base/gstbasesink.c:
682         * gst/base/gstbasesink.h:
683         * gst/base/gstbasesrc.c:
684         * gst/base/gstbasesrc.h:
685         * gst/base/gstbasetransform.c:
686         * gst/base/gstbasetransform.h:
687         * gst/base/gstcollectpads.c:
688         * gst/base/gstcollectpads.h:
689         * gst/base/gstpushsrc.c:
690         * gst/base/gstpushsrc.h:
691         * gst/base/gsttypefindhelper.c:
692         * gst/base/gsttypefindhelper.h:
693         * gst/check/Makefile.am:
694         * gst/check/gstcheck.c:
695         * gst/check/gstcheck.h:
696         * gst/net/Makefile.am:
697         * gst/net/gstnet.h:
698         * gst/net/gstnetclientclock.c:
699         * gst/net/gstnetclientclock.h:
700         * gst/net/gstnettimepacket.c:
701         * gst/net/gstnettimepacket.h:
702         * gst/net/gstnettimeprovider.c:
703         * gst/net/gstnettimeprovider.h:
704         * libs/gst/Makefile.am:
705         * libs/gst/base/Makefile.am:
706         * libs/gst/base/gstbasetransform.c:
707         * libs/gst/check/Makefile.am:
708         * plugins/elements/Makefile.am:
709         * po/POTFILES.in:
710           CVS surgery + support to move base, check, and net out of gst
711           and into libs/gst
712
713 2005-11-29  Andy Wingo  <wingo@pobox.com>
714
715         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
716
717         * gst/gststructure.h (struct _GstStructure): Only one pointer of
718         padding.
719
720         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
721
722         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
723
724         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
725
726         * gst/gstobject.h: (struct _GstObject): Only one pointer of
727         padding; reduces object size by about 30%. We don't expect
728         anything else to go into gstobject.
729
730         * gst/gstminiobject.h (struct _GstMiniObject)
731         (struct _GstMiniObjectClass): Only one pointer of padding; the
732         payload is only a pointer and two ints anyway. For the class there
733         are only two methods as well.
734         
735         * gst/gstelement.h (struct _GstElementClass): Removed
736         the state_changed signal callback, it is not used.
737
738 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
739
740         * docs/gst/gstreamer.types:
741           fix includes, though they are a little dinky
742
743 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
744
745         * check/Makefile.am:
746           look in the right place for elements, a lot more chance of
747           success
748         * gst/Makefile.am:
749           remove indexers and elements subdirs
750         * plugins/Makefile.am:
751           make indexers conditional
752
753 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
754
755         * Makefile.am:
756         * configure.ac:
757         * plugins/elements/Makefile.am:
758         * plugins/elements/gstcapsfilter.c:
759         * plugins/elements/gstfilesink.c:
760         * plugins/elements/gstfilesrc.c:
761         * plugins/elements/gstidentity.c:
762         * plugins/indexers/Makefile.am:
763           do CVS surgery and related build fixery to move elements
764           and indexers in a new gstreamer/plugins directory, out of the
765           gst/ directory
766
767 2005-11-29  Andy Wingo  <wingo@pobox.com>
768
769         * check/Makefile.am:
770         * pkgconfig/gstreamer-net-uninstalled.pc.in:
771         * pkgconfig/gstreamer-net.pc.in:
772         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
773         #322257.
774
775 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
776
777         * tools/Makefile.am:
778         * tools/gst-complete.1.in:
779         * tools/gst-complete.c:
780         * tools/gst-compprep.1.in:
781         * tools/gst-compprep.c:
782           removing -compprep and -complete
783
784 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
785
786         * gst/gstevent.c: (gst_event_new_new_segment),
787         (gst_event_parse_new_segment):
788         * gst/gstevent.h:
789           fix #320529 - clean up new_segment API and structure.
790           Let's hope everyone was using the methods, and not the structure.
791
792 2005-11-29  Edward Hervey  <edward@fluendo.com>
793
794         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
795         (gst_base_sink_event), (gst_base_sink_do_sync),
796         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
797         Properly handle non GST_FORMAT_TIME segment
798         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
799         Properly handle non GST_FORMAT_TIME segment
800         * gst/gstsegment.c:
801         This function is valid if the accumulator is 0 and the format
802         is different from the requested format.
803         
804 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
805
806         * docs/gst/gstreamer-sections.txt:
807         Add gst_query_new_seeking and gst_query_parse_seeking to the
808         docs.
809
810 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
811
812         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
813           Treat a pad alloc with new caps the same as if we were not
814           negotiated, in order to allow a changing upstream output
815           to produce a new format of data.
816
817 2005-11-29  Edward Hervey  <edward@fluendo.com>
818
819         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
820         (gst_base_transform_event), (gst_base_transform_eventfunc):
821         The event virtual method is now properly implemented, with a default
822         handler
823         Sub classes should call the parent_class event method. They should
824         return FALSE if they had a problem handling the given event, or don't
825         want GstBaseTransform to send that even downstream
826         * gst/elements/gstidentity.c: (gst_identity_class_init),
827         (gst_identity_init), (gst_identity_event),
828         (gst_identity_transform_ip), (gst_identity_set_property),
829         (gst_identity_get_property):
830         * gst/elements/gstidentity.h:
831         Added the single-segment boolean property.
832         If set to TRUE, it will output a single segment of data, starting from
833         0, will eat up all incoming newsegment, and modify the timestamp of the
834         buffers accordingly
835
836 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
837
838         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
839           Don't ref NULL target pad (#322751). Improve docs.
840
841 2005-11-29  Michael Smith  <msmith@fluendo.com>
842
843         * gst/gstregistryxml.c: (load_plugin):
844           Don't crash if we failed to load a feature from a plugin. 
845
846 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
847
848         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
849         (GST_START_TEST):
850           use more check API and less GLib API
851
852 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
853
854         * Makefile.am:
855           don't run checks if we don't have check
856         * common/check.mak:
857           remove the registry when running make torture
858         * docs/gst/gstreamer-sections.txt:
859           remove second multiply
860         * gst/gstqueue.c: (gst_queue_loop):
861           fix a compile warning when disabling debug
862
863 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
864
865         * gst/gstinfo.h:
866         Hey! Let's print the pad name if the pointer != NULL instead
867         of when it == NULL :-)
868
869 2005-11-28  Wim Taymans  <wim@fluendo.com>
870
871         * check/gst/gstutils.c: (GST_START_TEST):
872         Updated check, add some scaling accuracy checking code.
873
874         * gst/gstutils.c: (gst_util_div128_64),
875         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
876         (gst_util_uint64_scale_int):
877         Fix 6 times faster division code. Optimize for common 
878         1/1 and less common X/1 cases.
879
880 2005-11-28  Wim Taymans  <wim@fluendo.com>
881
882         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
883         More checks.
884
885         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
886         (do_linear_regression), (gst_clock_add_observation):
887         Cleanups.
888         Release lock when the clock cannot be slaved.
889         Catch the case where the regression returned an invalid denominator.
890
891         * gst/gstutils.c: (gst_util_div128_64_iterate),
892         (gst_util_div128_64), (gst_util_uint64_scale_int64),
893         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
894         Add protentially more performant non-iterative 128/64 divide function
895         that unfortunatly does not work yet.
896         Shortcut the trivial 0/X = 0 case.
897         Remove the warnings on overflow.
898
899 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
900
901         * gst/gstplugin.c: (gst_plugin_register_func):
902           everything causing a plugin not to load should be at least a WARNING
903
904 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
905
906         * docs/random/ensonic/dparams.txt:
907           some TODOs for the next dev cycle
908         * libs/gst/controller/gstcontroller.c:
909         (gst_controlled_property_set_interpolation_mode),
910         (gst_controlled_property_new):
911         * libs/gst/controller/gstcontroller.h:
912           use base type to assign acccessor functions
913
914 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
915
916         * check/Makefile.am:
917         Oops, that should have been top_srcdir
918
919 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
920
921         * check/Makefile.am:
922         * check/elements/fdsrc.c: (GST_START_TEST):
923         Use a cmdline define to specify the location of a file to use for
924         testing, to avoid breaking distcheck.
925
926 2005-11-28  Andy Wingo  <wingo@pobox.com>
927
928         * gst/gstpad.c (fixate_value): Use array functions for arrays.
929
930 2005-11-28  Edward Hervey  <edward@fluendo.com>
931
932         * tools/gst-launch.c: (main):
933         Clarify the output strings, makes it easier to translate.
934         Fixes #322626
935
936 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
937
938         * gst/Makefile.am:
939           don't try and build net if we don't even have <sys/socket.h>
940
941 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
942
943         * check/Makefile.am:
944         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
945         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
946           Add tests for fdsrc seekability
947
948         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
949         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
950         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
951         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
952         * gst/elements/gstfdsrc.h:
953           fdsrc should not be a 'live' source.
954           Implement seeking on seekable fd's.
955
956         * gst/gstquery.c: (gst_query_new_seeking),
957         (gst_query_parse_seeking):
958         * gst/gstquery.h:
959           Implement SEEKING query functions: 
960             *_new_seeking and *_parse_seeking
961
962 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
963
964         * gst/gstelement.c: (gst_element_dispose):
965           don't loop forever
966
967         * gst/gstiterator.c:
968         * gst/gststructure.c:
969           doc fixes
970
971         * libs/gst/controller/gstcontroller.c:
972         (gst_controlled_property_set_interpolation_mode):
973         * libs/gst/controller/gstcontroller.h:
974         * libs/gst/controller/gstinterpolation.c:
975         (interpolate_none_get_enum_value_array):
976           support controlling enums
977
978 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
979
980         * gst/gstvalue.c:
981           Improve documentation for gst_value_union().
982
983         * gst/gstvalue.h:
984           Change return value for union, intersect and subtract functions
985           from gint to gboolean.
986
987 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
988
989         * gst/gstvalue.c: (gst_value_serialize_any_list),
990         (gst_value_transform_any_list_string),
991         (gst_value_deserialize_list), (gst_value_deserialize_array),
992         (gst_value_set_int_range), (gst_value_deserialize_int_range),
993         (gst_value_set_double_range), (gst_value_deserialize_double_range),
994         (gst_value_set_fraction_range_full),
995         (gst_value_deserialize_fraction_range),
996         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
997         (gst_value_deserialize_boolean),
998         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
999         (gst_value_serialize_float), (gst_value_deserialize_float),
1000         (gst_string_wrap), (gst_value_deserialize_string),
1001         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
1002         (gst_value_union_int_range_int_range),
1003         (gst_value_intersect_int_range_int_range),
1004         (gst_value_intersect_double_range_double_range),
1005         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
1006         (gst_value_subtract_int_range_int_range),
1007         (gst_value_subtract_double_double_range),
1008         (gst_value_subtract_double_range_double_range),
1009         (gst_value_deserialize_fraction):
1010         * gst/gstvalue.h:
1011           Use gint, gdouble and gchar in our API instead of int, double and
1012           char (and make usage in gstvalue.c more consistent).
1013
1014 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1015
1016         * check/Makefile.am:
1017         * libs/gst/controller/Makefile.am:
1018         * libs/gst/dataprotocol/Makefile.am:
1019           fix up Makefile.am and remove GST_ENABLE_NEW
1020
1021 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1022
1023         * configure.ac:
1024         * gst/Makefile.am:
1025         * gst/base/Makefile.am:
1026         * gst/check/Makefile.am:
1027         * gst/elements/Makefile.am:
1028         * gst/net/Makefile.am:
1029           update LDFLAGS use some more
1030
1031 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1032
1033         * common/m4/gst-doc.m4:
1034           Fixes #312589
1035
1036 2005-11-26  Edward Hervey  <edward@fluendo.com>
1037
1038         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1039         This shouldn't issue a g_warning since it returns NULL if it
1040         couldn't find the plugin, and all functions using this behave
1041         properly on a NULL return. Switching to a GST_WARNING.
1042
1043 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
1044
1045         * gst/gstbin.c: (gst_bin_handle_message_func):
1046         Don't leak clock messages.
1047
1048 2005-11-25  Wim Taymans  <wim@fluendo.com>
1049
1050         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1051         (gst_util_uint64_scale_int):
1052         Optimisations, remove unneeded vars.
1053
1054 2005-11-25  Wim Taymans  <wim@fluendo.com>
1055
1056         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1057         Added more checks for the high precision uint64 cases.
1058
1059         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1060         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1061         Implement high precision (guint64 * guint64) / guint64.
1062
1063 2005-11-24  Wim Taymans  <wim@fluendo.com>
1064
1065         * gst/base/gstbasesrc.c: (gst_base_src_query):
1066         Fix wrong percentage query.
1067
1068         * gst/gstutils.c: (gst_util_uint64_scale),
1069         (gst_util_uint64_scale_int):
1070         Add some more common cases that can be handled 
1071         efficiently to _scale.
1072
1073 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1074
1075         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
1076         (gst_mini_object_suite):
1077           don't use check calls from threads; check probably isn't
1078           threadsafe and using a lock to make it threadsafe would
1079           defeat the purpose of this check
1080         * gst/check/gstcheck.c:
1081         * gst/check/gstcheck.h:
1082           use GST_DEBUG some more
1083
1084 2005-11-24  Wim Taymans  <wim@fluendo.com>
1085
1086         * gst/gstutils.c: (gst_util_uint64_scale),
1087         (gst_util_uint64_scale_int):
1088         Chain trivial case to _scale_int.
1089
1090 2005-11-24  Wim Taymans  <wim@fluendo.com>
1091
1092         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1093         Added test for scaling.
1094
1095         * gst/gstclock.h:
1096         Small doc fix.
1097
1098         * gst/gstutils.c: (gst_util_uint64_scale_int):
1099         Implemented high precision scaling code.
1100
1101 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
1102
1103         * gst/gstinfo.h:
1104           do not crash on pad==NULL
1105
1106 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1107
1108         Patch by: Stefan Kost
1109
1110         * common/gtk-doc.mak:
1111         * docs/gst/Makefile.am:
1112         * docs/libs/Makefile.am:
1113           Fix distcheck issues for the libraries docs build
1114           Closes #319599.
1115
1116 2005-11-24  Michael Smith <msmith@fluendo.com>
1117
1118         * docs/manual/basics-helloworld.xml:
1119           Fix bug #315027: memory leak in example code in docs.
1120
1121 2005-11-24  Michael Smith <msmith@fluendo.com>
1122
1123         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1124           Unlock the PREROLL_LOCK in a failure case.
1125
1126 2005-11-24  Wim Taymans  <wim@fluendo.com>
1127
1128         * docs/gst/gstreamer-sections.txt:
1129         * gst/base/gstadapter.h:
1130         * gst/base/gstbasesink.h:
1131         * gst/base/gstbasesrc.h:
1132         * gst/base/gstbasetransform.h:
1133         * gst/base/gstpushsrc.h:
1134         * gst/elements/gstfakesink.h:
1135         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1136         * gst/elements/gstfakesrc.h:
1137         * gst/elements/gstfilesink.h:
1138         * gst/elements/gstfilesrc.h:
1139         * gst/gst.c:
1140         * gst/gstbin.c:
1141         * gst/gstbuffer.c: (_gst_buffer_copy):
1142         * gst/gstbus.h:
1143         * gst/gstcaps.c:
1144         * gst/gstchildproxy.c:
1145         * gst/gstclock.c:
1146         * gst/gstelement.c:
1147         * gst/gstelementfactory.c:
1148         * gst/gstelementfactory.h:
1149         * gst/gstevent.c:
1150         * gst/gstghostpad.h:
1151         * gst/gstindex.h:
1152         * gst/gstinterface.h:
1153         * gst/gstminiobject.c:
1154         * gst/gstminiobject.h:
1155         * gst/gstpad.c:
1156         * gst/gstpad.h:
1157         * gst/gstpadtemplate.h:
1158         * gst/gstpipeline.h:
1159         * gst/gstpluginfeature.h:
1160         * gst/gstquery.h:
1161         * gst/gstqueue.h:
1162         * gst/gsttaglist.c:
1163         * gst/gsttaglist.h:
1164         * gst/gsttagsetter.c:
1165         * gst/gsttagsetter.h:
1166         * gst/gsttrace.c:
1167         * gst/gsttrace.h:
1168         * gst/gsttypefind.h:
1169         * gst/gsturi.h:
1170         * gst/gstvalue.c:
1171         * gst/net/gstnetclientclock.c:
1172         * gst/net/gstnetclientclock.h:
1173         * gst/net/gstnettimepacket.c:
1174         * gst/net/gstnettimeprovider.c:
1175         * gst/net/gstnettimeprovider.h:
1176         Doc fixes.
1177
1178 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1179
1180         * configure.ac: back to HEAD
1181
1182 === release 0.9.6 ===
1183
1184 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
1185
1186         * configure.ac:
1187           releasing 0.9.6, "Always On Time"
1188
1189 2005-11-23  Wim Taymans  <wim@fluendo.com>
1190
1191         * docs/gst/gstreamer-sections.txt:
1192         * gst/glib-compat.c:
1193         * gst/gsttagsetter.c:
1194         * gst/gstvalue.c:
1195         * gst/net/gstnetclientclock.c:
1196         * gst/net/gstnettimepacket.h:
1197         Doc updates.
1198
1199 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1200
1201         * docs/faq/using.xml:
1202         * docs/libs/tmpl/gstcontrol.sgml:
1203         * docs/manual/advanced-dparams.xml:
1204         * docs/manual/appendix-checklist.xml:
1205         * docs/manual/basics-elements.xml:
1206         * docs/pwg/other-source.xml:
1207         * docs/random/moving-plugins:
1208         * gst/gstpad.c:
1209         * tools/gst-launch.1.in:
1210           remove mentions of sinesrc
1211
1212 2005-11-23  Michael Smith <msmith@fluendo.com>
1213
1214         * docs/gst/gstreamer-sections.txt:
1215           Update for new API and API changes.
1216         * gst/gstobject.h:
1217           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1218         * gst/gstvalue.c:
1219           Documentation typo fix.
1220         * gst/net/gstnettimepacket.c:
1221           Documentation fixes for arguments.
1222
1223 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
1224
1225         * gst/gststructure.c: (gst_structure_get_fraction),
1226         (gst_structure_parse_value),
1227         (gst_structure_fixate_field_nearest_fraction):
1228         * gst/gststructure.h:
1229         * gst/gstutils.c: (gst_util_uint64_scale_int):
1230         * gst/gstutils.h:
1231         * scripts/update-funcnames:
1232         API Changes. 
1233         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1234         Make gst_structure_fixate_field_nearest_fraction take a numerator
1235         and denominator argument instead of a GValue
1236         add gst_structure_get_fraction helper function.
1237
1238 2005-11-23  Wim Taymans  <wim@fluendo.com>
1239
1240         * docs/design/part-TODO.txt:
1241         Update TODO.
1242
1243         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1244         * gst/net/gstnetclientclock.h:
1245         Use parent fields for timeout and window_size.
1246
1247 2005-11-23  Andy Wingo  <wingo@pobox.com>
1248
1249         * check/net/gstnetclientclock.c (test_functioning): Adjust to
1250         rate_num/rate_denom change.
1251
1252         * gst/net/gstnetclientclock.c
1253         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1254         OBJECT_LOCK. Don't call add_observation with the lock.
1255
1256         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1257         fraction.
1258         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1259         rate fraction.
1260         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1261         deal with rate as a fraction whose numerator and denominator are
1262         GstClockTime values.
1263         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1264         master; the other fields are protected by the SLAVE_LOCK.
1265         (do_linear_regression): Note that this must be called with the
1266         SLAVE_LOCK.
1267         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1268         OBJECT_LOCK. Call set_calibration instead of touching the
1269         variables directly.
1270         (gst_clock_set_property, gst_clock_get_property): Protect
1271         master/slave parameters with the SLAVE_LOCK.
1272
1273         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1274         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1275         note that all of the instance variables that add_observation and
1276         the set_master functions use are protected by that lock and not
1277         the OBJECT_LOCK.
1278         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1279
1280         * gst/gstclock.c (gst_clock_add_observation): No longer requires
1281         the caller to take the object lock.
1282
1283 2005-11-23  Wim Taymans  <wim@fluendo.com>
1284
1285         * gst/gsterror.c: (_gst_core_errors_init):
1286         * gst/gsterror.h:
1287         Add error for clock stuff.
1288
1289         * gst/gstpipeline.c: (gst_pipeline_change_state),
1290         (gst_pipeline_set_clock):
1291         Post clock error when clock cannot be used in a pipeline.
1292
1293 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
1294
1295         * docs/gst/gstreamer-sections.txt:
1296           make two symbols from gstinfo private for the docs
1297         * gst/base/gstcollectpads.h:
1298         * gst/gstutils.c:
1299           fix doc typos, update docs
1300
1301 2005-11-22  Wim Taymans  <wim@fluendo.com>
1302
1303         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1304         (gst_base_sink_wait), (gst_base_sink_do_sync),
1305         (gst_base_sink_handle_event):
1306         * gst/base/gstbasesink.h:
1307         No need to store the clock, the parent element class already
1308         has it.
1309
1310         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
1311         Updates for clock_set returning a gboolean
1312
1313         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
1314         (gst_clock_id_wait_async), (gst_clock_class_init),
1315         (gst_clock_init), (gst_clock_finalize),
1316         (gst_clock_get_internal_time), (gst_clock_get_time),
1317         (gst_clock_slave_callback), (gst_clock_set_master),
1318         (gst_clock_get_master), (do_linear_regression),
1319         (gst_clock_add_observation), (gst_clock_set_property),
1320         (gst_clock_get_property):
1321         * gst/gstclock.h:
1322         Implement master/slave. When setting a clock as a slave, a
1323         periodic timeout is scheduled to sample master and slave times.
1324         Then the slave clock is recalibrated to match offset and rate
1325         of the master clock.
1326         Update logging a bit.
1327         Add flag so that a clock can state that is cannot be slaved to
1328         another clock.
1329
1330         * gst/gstelement.c: (gst_element_set_clock):
1331         * gst/gstelement.h:
1332         The set clock returns a gboolean for when an element cannot
1333         deal with the selected clock in the pipeline. 
1334
1335         * gst/gstpipeline.c: (gst_pipeline_change_state),
1336         (gst_pipeline_set_clock):
1337         * gst/gstpipeline.h:
1338         Handle the case where the selected clock cannot be set on
1339         the pipeline.
1340
1341         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
1342         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1343         (gst_net_client_clock_set_property),
1344         (gst_net_client_clock_get_property),
1345         (gst_net_client_clock_observe_times):
1346         * gst/net/gstnetclientclock.h:
1347         Use regression code in GstClock parent, remove duplicated
1348         functionality.
1349
1350 2005-11-22  Michael Smith <msmith@fluendo.com>
1351
1352         * gst/gstutils.c: (gst_util_clock_time_scale):
1353         * gst/gstutils.h:
1354         * docs/gst/gstreamer-sections.txt:
1355           Rename method to have extra underscore.
1356
1357 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1358
1359         * gst/elements/Makefile.am:
1360         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
1361         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1362         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1363         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
1364         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
1365         * gst/elements/gstfakesrc.h:
1366         * gst/gstqueue.c: (queue_leaky_get_type):
1367           correctly fix GEnumValues so that nick is the short lowercase
1368           dashed tag
1369         * tools/gst-inspect.c: (print_element_properties_info):
1370           also show the nick, since it's useful to use from parse_launch
1371           syntax
1372           Fixes #322139
1373
1374 2005-11-22  Michael Smith <msmith@fluendo.com>
1375
1376         * gst/gstutils.c: (gst_util_clocktime_scale):
1377         * gst/gstutils.h:
1378         * docs/gst/gstreamer-sections.txt:
1379           Add util method for scaling a clocktime by a fraction. Useful 
1380           implementation is left as an exercise for the reader.
1381
1382 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1383
1384         * gst/gstvalue.c: (gst_value_collect_fraction_range):
1385         If needed, allocate storage in the destination value during
1386         collection.
1387
1388 2005-11-22  Edward Hervey  <edward@fluendo.com>
1389
1390         * docs/gst/gstreamer-sections.txt:
1391         * gst/Makefile.am:
1392         * gst/gst.h:
1393         * gst/gsturitype.c:
1394         * gst/gsturitype.h:
1395         * gst/gstutils.c: (gst_util_set_object_arg):
1396         * tools/gst-compprep.c: (main):
1397         * tools/gst-inspect.c: (print_element_properties_info):
1398         Removed GstURI, closes bug #321061
1399
1400 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1401
1402         * check/gst/gststructure.c: (GST_START_TEST):
1403         * gst/gststructure.c: (gst_structure_parse_value):
1404           Oops, broke automatic string type parsing.
1405           Add a test to catch it in future.
1406
1407 2005-11-22  Andy Wingo  <wingo@pobox.com>
1408
1409         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
1410         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
1411         Actually rename the function implementations. Grr.
1412
1413 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1414
1415         * check/gst/capslist.h:
1416           Comment test cases
1417         * check/gst/gststructure.c: (GST_START_TEST),
1418         (gst_structure_suite):
1419           Test automatic value type detection in gst_structure_from_string.
1420         * gst/gststructure.c: (gst_structure_parse_value):
1421           Add fraction as a type we try and guess automatically in
1422           caps/structure strings.
1423
1424 2005-11-22  Andy Wingo  <wingo@pobox.com>
1425
1426         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
1427
1428         * gst/gsttagsetter.h:
1429         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
1430         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
1431         (gst_tag_setter_add_tag_valist)
1432         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
1433         _add_values, _add_valist, and _add_valist_values. Since this is an
1434         interface the function suffixes should be more explicit so
1435         language binding don't end up with element.add_valist ->
1436         gst_tag_setter_add_valist, for example. Fixes #322069.
1437
1438 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1439
1440         * check/gst/gstcaps.c: (GST_START_TEST):
1441           Extend caps string tests to check that a caps to string
1442           conversion is reversible and produces the same caps.
1443
1444         * gst/gststructure.c: (gst_structure_value_get_generic_type):
1445           Output "fraction" as the generic type fraction range, so caps
1446           serialisation and deserialisation works.
1447         * check/gst/capslist.h:
1448         * gst/gstvalue.c: (gst_value_deserialize_fraction):
1449           Support 'MIN' and 'MAX' for deserialising fractions.
1450
1451 2005-11-22  Andy Wingo  <wingo@pobox.com>
1452
1453         * gst/gstevent.h (gst_event_new_new_segment)
1454         (gst_event_parse_new_segment, gst_event_new_buffer_size)
1455         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
1456         Renamed from *_newsegment, *_buffersize, *_notarget.
1457
1458         * scripts/update-funcnames: New script, performs the changes
1459         listed above.
1460
1461 2005-11-22  Wim Taymans  <wim@fluendo.com>
1462
1463         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1464         Make sure the GstFlowReturn is returned.
1465
1466         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
1467         (gst_bus_add_signal_watch):
1468         * gst/gstbus.h:
1469         add gst_bus_add_signal_watch_full.
1470
1471         * gst/gstplugin.c: (gst_plugin_load_file):
1472         Small style cleanup.
1473
1474 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1475
1476         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
1477           Block the fakesrc srcpad when we send an event, to avoid
1478           contention on the stream_lock causing random test failures.
1479
1480 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1481
1482         * check/gst/gstvalue.c: (GST_START_TEST):
1483         * gst/gstvalue.c: (gst_value_fraction_subtract):
1484           Fix subtraction.
1485
1486 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
1487
1488         * gst/gst.h:
1489           include "gstchildproxy.h"
1490         * gst/gstchildproxy.h:
1491         * libs/gst/controller/gstcontroller.h:
1492           use G_GNUC_NULL_TERMINATED
1493
1494 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1495
1496         * check/gst/capslist.h:
1497         * check/gst/gstcaps.c: (GST_START_TEST):
1498         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1499         * gst/gststructure.c: (gst_structure_parse_range),
1500         (gst_structure_fixate_field_nearest_fraction):
1501         * gst/gststructure.h:
1502         * gst/gstvalue.c: (gst_value_init_fraction_range),
1503         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
1504         (gst_value_collect_fraction_range),
1505         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
1506         (gst_value_set_fraction_range_full),
1507         (gst_value_get_fraction_range_min),
1508         (gst_value_get_fraction_range_max),
1509         (gst_value_serialize_fraction_range),
1510         (gst_value_transform_fraction_range_string),
1511         (gst_value_compare_fraction_range),
1512         (gst_value_deserialize_fraction_range),
1513         (gst_value_intersect_fraction_fraction_range),
1514         (gst_value_intersect_fraction_range_fraction_range),
1515         (gst_value_subtract_fraction_fraction_range),
1516         (gst_value_subtract_fraction_range_fraction),
1517         (gst_value_subtract_fraction_range_fraction_range),
1518         (gst_value_collect_fraction), (gst_value_fraction_multiply),
1519         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
1520         (gst_value_transform_string_fraction), (_gst_value_initialize):
1521         * gst/gstvalue.h:
1522           Implement fraction ranges and extend GstFraction to support
1523           arithmetic subtraction, as well as deserialization from integer
1524           strings such as "100"
1525           Add a testsuite as for int and double range set operations
1526
1527 2005-11-21  Andy Wingo  <wingo@pobox.com>
1528
1529         * gst/gsttaglist.h: 
1530         * gst/gstcaps.h: 
1531         * gst/gststructure.h: Add glib-compat.h.
1532
1533 2005-11-21  Wim Taymans  <wim@fluendo.com>
1534
1535         * gst/gstbin.c: (gst_bin_change_state_func):
1536         Fix for #321595
1537
1538 2005-11-21  Wim Taymans  <wim@fluendo.com>
1539
1540         * gst/gstsegment.h:
1541         And add a nice define too.
1542
1543 2005-11-21  Wim Taymans  <wim@fluendo.com>
1544
1545         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
1546         (gst_segment_new), (gst_segment_free), (gst_segment_init),
1547         (gst_segment_set_duration), (gst_segment_set_last_stop),
1548         (gst_segment_set_seek), (gst_segment_set_newsegment),
1549         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1550         (gst_segment_clip):
1551         * gst/gstsegment.h:
1552         Make binding friendly.
1553
1554 2005-11-21  Andy Wingo  <wingo@pobox.com>
1555
1556         * gst/gsttagsetter.h: 
1557         * gst/gsttaglist.h: 
1558         * gst/gststructure.h: 
1559         * gst/gstcaps.h: 
1560         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
1561         #319940.
1562
1563         * gst/gsterror.c (_gst_core_errors_init):
1564         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
1565         category.
1566
1567         * gst/Makefile.am (gst_headers): Add glib-compat.h.
1568         (noinst_HEADERS): noinst the -private.
1569
1570 2005-11-21  Michael Smith <msmith@fluendo.com>
1571
1572         * gst/gstplugin.h:
1573         * gst/gstregistry.h:
1574           Remove unimplemented declarations for which we can see no sensible
1575           use.
1576
1577 2005-11-21  Andy Wingo  <wingo@pobox.com>
1578
1579         * gst/gst.h: Include glib-compat.h.
1580
1581         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
1582
1583         * gst/glib-compat.c: Include the public and the private header.
1584
1585         * gst/glib-compat-private.h: Copied here from glib-compat.h.
1586
1587         * gst/gstvalue.c: 
1588         * gst/gstpad.c: 
1589         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
1590
1591         * check/gst/gstevent.c (create_custom_events): Check that
1592         FLUSH_STOP is serialized.
1593
1594         * check/elements/identity.c (event_func): 
1595         * check/elements/fakesrc.c (event_func): No stream lock, the core
1596         takes it.
1597
1598         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
1599         stream lock taking, yay.
1600
1601         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
1602         ensure that core takes the stream lock.
1603
1604         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
1605         lock name change.
1606
1607         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
1608         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
1609         it already. For the flush start we do take it though so we get the
1610         right preroll state change messages.
1611
1612         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
1613         the stream lock here, the core does it for us.
1614
1615         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
1616         GST_STREAM_GET_LOCK.
1617         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
1618         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
1619         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
1620         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
1621         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
1622         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
1623
1624         * gst/gstpad.c: Update for stream lock name change.
1625
1626         * gst/base/gstbasesink.c: Update for preroll lock name change.
1627
1628 2005-11-21  Wim Taymans  <wim@fluendo.com>
1629
1630         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
1631         (gst_clock_get_master):
1632         * gst/gstclock.h:
1633         * gst/gstsystemclock.c: (gst_system_clock_init):
1634         Convert Clock flags to object flags.
1635         Added methods to manage master/slave clocks.
1636
1637 2005-11-21  Wim Taymans  <wim@fluendo.com>
1638
1639         * check/gst/gstsegment.c: (GST_START_TEST):
1640         * docs/design/part-TODO.txt:
1641         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1642         (gst_base_sink_event), (gst_base_sink_do_sync),
1643         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
1644         (gst_base_sink_query), (gst_base_sink_change_state):
1645         * gst/base/gstbasesink.h:
1646         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
1647         (gst_base_src_default_newsegment),
1648         (gst_base_src_configure_segment), (gst_base_src_do_seek),
1649         (gst_base_src_get_range), (gst_base_src_loop),
1650         (gst_base_src_change_state):
1651         * gst/base/gstbasesrc.h:
1652         * gst/base/gstbasetransform.c:
1653         (gst_base_transform_prepare_output_buf),
1654         (gst_base_transform_event), (gst_base_transform_change_state):
1655         * gst/base/gstbasetransform.h:
1656         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1657         (gst_collect_pads_event):
1658         * gst/base/gstcollectpads.h:
1659         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
1660         (gst_fake_src_create):
1661         * gst/elements/gstfakesrc.h:
1662         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1663         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1664         (gst_segment_set_last_stop), (gst_segment_set_seek),
1665         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
1666         (gst_segment_to_running_time), (gst_segment_clip):
1667         * gst/gstsegment.h:
1668         More segment updates, replace code in plugins with segment
1669         helper functions.
1670
1671 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1672
1673         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
1674         Don't ignore sscanf results
1675
1676 2005-11-21  Andy Wingo  <wingo@pobox.com>
1677
1678         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
1679
1680         * *.h:
1681         * *.c: Ran scripts/update-macros. Oh yes.
1682
1683         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
1684         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
1685         GST_GET_LOCK, etc.
1686
1687         * scripts/update-macros: New script. Run it on your files to
1688         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
1689         well.
1690
1691 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1692
1693         * docs/gst/Makefile.am:
1694         * docs/gst/gstreamer-docs.sgml:
1695         * docs/gst/gstreamer-sections.txt:
1696         * docs/gst/gstreamer.types:
1697         * gst/gstinfo.h:
1698           more docs fixes, add new api to the docs
1699
1700 2005-11-21  Andy Wingo  <wingo@pobox.com>
1701
1702         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
1703         state_broadcast call.
1704
1705         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
1706
1707 2005-11-21  Julien MOUTTE  <julien@moutte.net>
1708
1709         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
1710         function calls for arrays.
1711
1712 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1713
1714         * docs/random/ensonic/media-device-daemon.txt:
1715           wild idea, can this be done?
1716         * docs/gst/gstreamer-sections.txt:
1717         * gst/gsterror.h:
1718         * gst/gstfilter.c:
1719         * gst/gstfilter.h:
1720         * gst/gstplugin.h:
1721         * gst/gstpluginfeature.c:
1722         * gst/gsttrace.c:
1723         * gst/gstvalue.c:
1724         * gst/gstvalue.h:
1725           doc fixes and additions
1726
1727 2005-11-21  Andy Wingo  <wingo@pobox.com>
1728
1729         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
1730         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
1731         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
1732         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
1733         private to the basesrc implementation.
1734
1735         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
1736         behalf of event function if necessary. It should no longer be
1737         necessary to take the stream lock in pad's event functions. Fixes
1738         #320299.
1739
1740 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1741         * docs/gst/gstreamer-sections.txt:
1742         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
1743         (gst_structure_fixate_field_nearest_double),
1744         (gst_structure_fixate_field_boolean):
1745         * gst/gststructure.h:
1746         * win32/common/libgstreamer.def:
1747         * win32/gstreamer.def:
1748
1749         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
1750         (#322027)
1751
1752 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1753
1754         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
1755         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
1756         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
1757         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
1758         (gst_fdsrc_uri_handler_init):
1759         * gst/elements/gstfdsrc.h:
1760           Port fd:// URI handler from 0.8 to fdsrc
1761
1762 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1763
1764         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
1765         (gst_value_serialize_fourcc):
1766         * gst/gstvalue.h:
1767           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
1768           consistent with our other format defines (#320324).
1769
1770 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1771
1772         * gst/gstvalue.c: (gst_value_is_fixed):
1773           Revert previous commit. Value lists are by definition
1774           not fixed, as they are a list of possible values.
1775
1776 2005-11-21  Andy Wingo  <wingo@pobox.com>
1777
1778         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
1779         during the stable series if we need it. Fixes #319178.
1780
1781         * gst/gstevent.c (gst_event_new_filler): Removed.
1782
1783         * check/gst/gstevent.c: Update comment about filler events.
1784
1785 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1786
1787         * gst/gstvalue.c: (gst_value_is_fixed):
1788           Should handle both value arrays and value lists.
1789
1790 2005-11-21  Andy Wingo  <wingo@pobox.com>
1791
1792         patch by: Alessandro Dessina <alessandro nnva org>
1793
1794         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
1795         functions to access arrays. Fixes #321962.
1796
1797 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1798
1799         * docs/gst/gstreamer.types:
1800           gst_collectpads_get_type => gst_collect_pads_get_type.
1801           
1802         * gst/base/gstbasetransform.c:
1803           Remove unused SIGNAL_HANDOFF enum.
1804
1805 2005-11-21  Andy Wingo  <wingo@pobox.com>
1806
1807         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
1808         the event type (upstream, downstream, serialized). Renamed
1809         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
1810         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
1811         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
1812
1813         * gst/gstevent.c: Update for new CUSTOM event names.
1814
1815         * check/gst/gstevent.c: Update check for new CUSTOM event names.
1816
1817         * gst/gstevent.h:
1818         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
1819         bug #319392.
1820
1821 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1822
1823         * docs/gst/gstreamer-sections.txt:
1824         * win32/common/libgstbase.def:
1825         * win32/libgstbase.def:
1826         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1827         (gst_collect_pads_class_init), (gst_collect_pads_init),
1828         (gst_collect_pads_finalize), (gst_collect_pads_new),
1829         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
1830         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
1831         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
1832         (gst_collect_pads_start), (gst_collect_pads_stop),
1833         (gst_collect_pads_peek), (gst_collect_pads_pop),
1834         (gst_collect_pads_available), (gst_collect_pads_read),
1835         (gst_collect_pads_flush), (gst_collect_pads_event),
1836         (gst_collect_pads_chain):
1837         * gst/base/gstcollectpads.h:
1838           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
1839           unimplemented functions as unimplemented. Add padding to
1840           GstCollectData. (#320766, #320423)
1841
1842 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1843
1844         * gst/gstmessage.c:
1845           Improve docs for DURATION message (usage of duration parameter)
1846           (#320113)
1847
1848 2005-11-20  Wim Taymans  <wim@fluendo.com>
1849
1850         * check/Makefile.am:
1851         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
1852         (main):
1853         * gst/Makefile.am:
1854         * gst/gst.h:
1855         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1856         (gst_segment_set_seek), (gst_segment_set_newsegment),
1857         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1858         (gst_segment_clip):
1859         * gst/gstsegment.h:
1860         Added segment helper structure and methods. Not fully implemented
1861         yet.
1862         Added segment check.
1863
1864 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
1865
1866         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1867           Add a deserialisation test for fractions
1868         * examples/metadata/read-metadata.c: (message_loop),
1869         (make_pipeline), (main):
1870           Fix up metadata reading sample.
1871         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1872           Debug format fix
1873         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1874           Don't try and fixate empty caps
1875         * gst/gst_private.h:
1876           Wrap in G_BEGIN_DECLS/G_END_DECLS
1877         * gst/gstvalue.c: (gst_value_collect_fraction),
1878         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
1879         (gst_value_transform_string_fraction),
1880         (gst_value_compare_fraction):
1881           Add some extra guards to ensure that we don't end up 
1882           with an invalid denominator of 0 in a gstfraction and
1883           that fractions always get reduced.
1884
1885 2005-11-20  Wim Taymans  <wim@fluendo.com>
1886
1887         * docs/gst/gstreamer-sections.txt:
1888         * gst/gstbuffer.h:
1889         * gst/gstelement.c:
1890         * gst/gstformat.c:
1891         * gst/gstformat.h:
1892         * gst/gstindex.h:
1893         * gst/gstquery.c:
1894         * gst/gstquery.h:
1895         * gst/gstvalue.c:
1896         Doc fixes.
1897
1898 2005-11-20  Wim Taymans  <wim@fluendo.com>
1899
1900         * docs/design/part-TODO.txt:
1901         * gst/gstcaps.h:
1902         Make a proper enum of the flag.
1903
1904 2005-11-19  Wim Taymans  <wim@fluendo.com>
1905
1906         * docs/design/part-TODO.txt:
1907         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
1908         (gst_format_to_quark), (gst_format_register):
1909         * gst/gstformat.h:
1910         * gst/gstquery.c: (_gst_query_initialize),
1911         (gst_query_type_get_name), (gst_query_type_to_quark),
1912         (gst_query_type_register):
1913         * gst/gstquery.h:
1914         Add type to quark and type to string conversions.
1915
1916 2005-11-19  Andy Wingo  <wingo@pobox.com>
1917
1918         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
1919         #320097.
1920
1921 2005-11-19  Wim Taymans  <wim@fluendo.com>
1922
1923         * docs/design/part-TODO.txt:
1924         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
1925         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
1926         (gst_bin_handle_message_func):
1927         * gst/gstbin.h:
1928         Make message handling overridable.
1929
1930 2005-11-19  Andy Wingo  <wingo@pobox.com>
1931
1932         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
1933
1934         * gst/gstclock.h:
1935         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
1936         be a GstClockTime.
1937         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
1938         is a GstClockTime. Fixes #321710.
1939
1940         * gst/gstclock.h (GstClock): Remove offset property. Add
1941         internal_calibration and external_calibration. Fix padding. Pad
1942         also by GstClockTime so we don't run into problems.
1943
1944         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
1945         (gst_clock_get_rate_offset): Remove.
1946         (gst_clock_set_time_adjust): Remove. Fixes #321712.
1947
1948         * gst/gstutils.h:
1949         * gst/gstutils.c (g_static_rec_cond_wait)
1950         (g_static_rec_cond_timed_wait): Removed, no longer needed.
1951
1952         * gst/gstbin.c: Remove terrible continue_state prototype.
1953
1954         * gst/gstelement.h (gst_element_continue_state): Make public.
1955
1956         * gst/gstelement.h:
1957         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
1958         by continue_state. Fixes #319389.
1959
1960         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
1961         Really fixes #168438. However I don't see anywhere where the
1962         filter function is called... stupid GStreamer...
1963         
1964         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
1965         don't have a dispose function, so it won't get called when the
1966         object is unreffed, but oh well!
1967
1968         * gst/gstindex.c (gst_index_set_filter_full): New API function,
1969         allows a destroy function to be set so user_data can be freed.
1970         Fixes #168438.
1971         (gst_index_set_filter): Call gst_index_set_filter_full.
1972
1973         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
1974
1975         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
1976         string should produce an error, given the lack of a way to
1977         represent NULL strings. Fixes #165650.
1978         
1979         * gst/gstvalue.h: 
1980         * gst/gstvalue.c (gst_value_array_append_value) 
1981         (gst_value_array_prepend_value, gst_value_array_get_size) 
1982         (gst_value_array_get_value): New API, copied from
1983         gst_value_list_*, only operates on arrays.
1984         (gst_value_list_append_value, gst_value_list_prepend_value) 
1985         (gst_value_list_concat, gst_value_list_get_size) 
1986         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
1987
1988         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
1989         init_list, because it works on both.
1990         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
1991         (gst_value_copy_list_or_array): Renamed from copy_list.
1992         (gst_value_free_list_or_array): Renamed from free_list.
1993         (gst_value_collect_list_or_array): Renamed from collect_list.
1994         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
1995         (gst_value_list_or_array_peek_pointer): Renamed from
1996         list_peek_pointer.
1997         (_gst_value_array_value_table, _gst_value_list_value_table):
1998         Update value table functions.
1999         (gst_value_compare_list_or_array): Renamed from compare_list.
2000
2001         * gsttaglist.h: Whoops, foreach function returns void. Also fix
2002         some constness.
2003
2004         * gst/gsttaglist.c:
2005         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
2006         GstTagList*. Fixes #143472.
2007
2008         * gst/gststructure.h: Clarify what the foreach/map functions can
2009         or can't do to their arguments.
2010
2011 2005-11-18  Wim Taymans  <wim@fluendo.com>
2012
2013         * gst/gstclock.c: (gst_clock_set_calibration),
2014         (gst_clock_get_calibration):
2015         Doc and API fixes.
2016         Calibration can be set with internal time equal to current
2017         internal time too.
2018
2019 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2020
2021         * gst/gsterror.c:
2022         * gst/gsterror.h:
2023           document
2024
2025 2005-11-18  Andy Wingo  <wingo@pobox.com>
2026
2027         * configure.ac: 
2028         * pkgconfig/gstreamer-net.pc.in:
2029         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2030         * pkgconfig/Makefile.am: Add net pkgconfig files.
2031
2032 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
2033
2034         * gst/gstcaps.c:
2035         * gst/gstghostpad.c:
2036         * gst/gsttrace.c:
2037         * gst/gstvalue.c:
2038         * gst/gstvalue.h:
2039           docs fixes
2040
2041 2005-11-18  Andy Wingo  <wingo@pobox.com>
2042
2043         * gst/net/gstnetclientclock.c: Turn off debugging.
2044
2045         * check/net/gstnetclientclock.c (test_functioning): Assert that the
2046         times connverge somewhat. Can't make a real test.
2047
2048         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
2049         integer arithmetic. Return the minimum of the domain, which can be
2050         set as "internal" for gst_clock_set_calibration.
2051         (gst_net_client_clock_observe_times): Call _set_calibration.
2052         (gst_net_client_clock_new): Call _set_calibration instead of
2053         rate_offset.
2054
2055         * check/net/gstnetclientclock.c (test_functioning): Use the right
2056         adjustment api.
2057
2058         * gst/gstclock.h:
2059         * gst/gstclock.c (gst_clock_get_calibration) 
2060         (gst_clock_set_calibration): New functions, obsolete the ones I
2061         added yesterday. Doh. Precision issues mean we have to extrapolate
2062         from a point in the more recent past than 1970.
2063         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
2064         obsolete.
2065         (gst_clock_adjust_unlocked): Use the right calibration data.
2066
2067 2005-11-18  Edward Hervey  <edward@fluendo.com>
2068
2069         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
2070         Also reset the ->current_* values in READY->PAUSED
2071
2072 2005-11-18  Andy Wingo  <wingo@pobox.com>
2073
2074         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
2075         Whoops, check the right fd. Also add some debugging.
2076         (gst_net_client_clock_observe_times): Adjust for int64 offset.
2077         (do_linear_regression): Add a crapload of debugging. Subtract off
2078         the minimum values from the input series to discard unneeded bits.
2079         Use only int arithmetic. There is still double arithmetic when
2080         calculating the intercept that needs fixing. Return boolean to
2081         indicate success; FALSE would mean the domain or range is too
2082         great. Still needs fixes.
2083
2084 2005-11-18  Wim Taymans  <wim@fluendo.com>
2085
2086         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2087         For the current position in stream time, we need to subtract
2088         accumulated time.
2089         
2090         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2091         Release lock before calling the callback function of async
2092         entries.
2093
2094 2005-11-18  Andy Wingo  <wingo@pobox.com>
2095
2096         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
2097         Port goes all the way to MAXUINT16.
2098
2099         * gst/net/gstnettimeprovider.c: Make the port range the same as
2100         for the kernel: 0 assigns, otherwise ports are less than
2101         MAXUINT16.
2102
2103         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
2104         port change.
2105
2106         * check/net/gstnetclientclock.c (test_functioning): Add the start
2107         of another test. 
2108
2109 2005-11-18  Wim Taymans  <wim@fluendo.com>
2110
2111         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2112         (gst_bin_remove_func), (bin_bus_handler):
2113         * gst/gstbin.h:
2114         Removing a clock provider from a bin, triggers a clock lost message
2115         so that a new clock will be selected.
2116         Adding a clock to a bin triggers a clock provider message.
2117         Make sure we reselect a clock when we received a clock lost message.
2118         Keep a reference to the element that provided the clock.
2119
2120 2005-11-18  Andy Wingo  <wingo@pobox.com>
2121
2122         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2123         the clock initially so it produces values around the base time.
2124         (gst_net_client_clock_class_init): Typo fix.
2125         (gst_net_client_clock_thread): Add note on when the socket gets
2126         closed.
2127
2128 2005-11-17  Wim Taymans  <wim@fluendo.com>
2129
2130         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2131         Free remote and local time arrays.
2132
2133 2005-11-17  Wim Taymans  <wim@fluendo.com>
2134
2135         * gst/net/gstnetclientclock.c: (do_linear_regression),
2136         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2137         Fix compilation, uninitialized vars and a forgotten continue.
2138
2139 2005-11-17  Andy Wingo  <wingo@pobox.com>
2140
2141         * check/Makefile.am (check_PROGRAMS): 
2142         * check/net/gstnetclientclock.c: Add a most minimal test for the
2143         net client clock. More to come later.
2144
2145         * gst/net/gstnet.h: 
2146         * gst/net/Makefile.am: Add netclientclock.
2147
2148         * gst/net/gstnetclientclock.h:
2149         * gst/net/gstnetclientclock.c: New files, implement an untested
2150         GstClock that takes its time from a network time provider.
2151         Implements the algorithm in network-clock.scm.
2152
2153         * tests/network-clock.scm (*window-size*): Rename from
2154         *queue-length*.
2155         * tests/network-clock.scm (network-time): 
2156         * tests/network-clock-utils.scm (q-push): Update callers.
2157
2158 2005-11-17  Wim Taymans  <wim@fluendo.com>
2159
2160         * gst/gstbin.c: (gst_bin_provide_clock_func),
2161         (gst_bin_sort_iterator_new):
2162         And unref the child too..
2163
2164 2005-11-17  Wim Taymans  <wim@fluendo.com>
2165
2166         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2167         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2168         Refactor the sort iterator so it can be used while holding the
2169         LOCK too.
2170         Make clock selection select a clock closest to the source.
2171
2172 2005-11-17  Michael Smith <msmith@fluendo.com>
2173
2174         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2175         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2176         * gst/gstclock.h:
2177           Anonymous structs are a gcc (and some other compilers) extension, so
2178           don't use them. Since this is only for ABI-compatibility, and our
2179           API/ABI freeze is over in a few days, this whole thing will only
2180           last a few days, so don't bother trying to think up a meaningful
2181           name for the struct.
2182
2183 2005-11-17  Andy Wingo  <wingo@pobox.com>
2184
2185         * gst/gstclock.h (GstClock): Add rate and offset properties,
2186         preserving ABI stability. Add rate/offset accessors. Will file bug
2187         for the freeze break.
2188
2189         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2190         and offset, trying to keep precision and avoiding
2191         underflow/overflow.
2192         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2193         functions. Make gst_clock_set_time_adjust obsolete.
2194         (gst_clock_set_time_adjust): Note that this function is obsolete.
2195         Will file bug soon.
2196
2197         * gst/base/gstbasetransform.h: Make the ABI-stability hack
2198         greppable by using GST_PADDING-1+1.
2199
2200 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
2201
2202         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2203
2204         * gst/gstmessage.c: (gst_message_parse_clock_lost):
2205           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2206
2207         * gst/gstpadtemplate.h:
2208         * gst/gstpluginfeature.h:
2209           Don't use c++ style comments in headers (#321638).
2210
2211 2005-11-16  Andy Wingo  <wingo@pobox.com>
2212
2213         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2214         buffer.
2215
2216         * check/net/gstnettimeprovider.c: Check to see that the time
2217         provider actually provides times. Works, yo!
2218
2219 2005-11-16  Wim Taymans  <wim@fluendo.com>
2220
2221         * check/Makefile.am:
2222         Enable more tests.
2223
2224         * check/elements/fakesrc.c: (GST_START_TEST):
2225         Set element to NULL before disposing it.
2226
2227 2005-11-16  Andy Wingo  <wingo@pobox.com>
2228
2229         * gst/net/Makefile.am:
2230         * gst/net/gstnet.h:
2231         * gst/net/gstnettimeprovider.c: 
2232         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2233         provider, include it from gstnet.h, and add it to the build.
2234
2235         * gst/net/gstnettimepacket.h: 
2236         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2237         sending and receiving.
2238
2239 2005-11-16  Wim Taymans  <wim@fluendo.com>
2240
2241         * check/Makefile.am:
2242         Enable valgrind check.
2243
2244         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2245         (gst_fake_src_alloc_buffer):
2246         Fix memleak.
2247
2248 2005-11-16  Wim Taymans  <wim@fluendo.com>
2249
2250         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2251         Call parent finalize too.
2252
2253 2005-11-16  Wim Taymans  <wim@fluendo.com>
2254
2255         * check/Makefile.am:
2256         Enable valgrind check that should work fine now.
2257
2258         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2259         * gst/gstqueue.c: (gst_queue_init):
2260         Fix memleaks in pad allocation.
2261
2262 2005-11-16  Andy Wingo  <wingo@pobox.com>
2263
2264         * gst/net/Makefile.am:
2265         * gst/net/gstnet.h: New part of core to hold network elements and
2266         objects. Put in core because it exposes API that applications want
2267         to use. The library is named libgstnet-tempname right now because
2268         of the existing libgstnet in gst-plugins-base. Solution is
2269         probably to rename the one in plugins-base; will file a bug for
2270         the freeze break.
2271
2272         * gst/net/gstnettimeprovider.c: 
2273         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2274         get_time call over the network.
2275
2276         * configure.ac: 
2277         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2278
2279         * check/Makefile.am:
2280         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2281         get additions shortly.
2282
2283 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2284
2285         * gst/gstpad.c: (gst_pad_new_from_static_template):
2286         * gst/gstpad.h:
2287           add gst_pad_new_from_static_template functions
2288         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2289         (gst_check_setup_sink_pad):
2290         * gst/elements/gsttee.c: (gst_tee_init):
2291           and use them
2292
2293 2005-11-16  Wim Taymans  <wim@fluendo.com>
2294
2295         * gst/gstpad.c: (gst_pad_pause_task):
2296         Removed warning, it's not really an error either.
2297
2298 2005-11-16  Wim Taymans  <wim@fluendo.com>
2299
2300         * gst/base/gstbasetransform.c:
2301         (gst_base_transform_prepare_output_buf),
2302         (gst_base_transform_event):
2303         Check if the caps are NULL, this can happen if the element
2304         is shutting down and the pad caps are set to NULL.
2305
2306 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2307
2308         * gst/elements/gsttee.c: (gst_tee_init):
2309           fix pad template leak in tee
2310
2311 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2312
2313         * gst/glib-compat.c: (g_value_dup_gst_object):
2314         * gst/glib-compat.h:
2315         * gst/gstpad.c: (gst_pad_set_property):
2316           use gst_object_ref when setting the pad template; this will
2317           trigger the pad template leaks on GLib 2.6 and the slaves
2318
2319 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2320
2321         * gst/glib-compat.c: (gst_flags_get_first_value):
2322         * gst/glib-compat.h:
2323         * gst/gstregistryxml.c:
2324           remove functions copied from GLib 2.6
2325
2326 2005-11-16  Michael Smith <msmith@fluendo.com>
2327
2328         * gst/Makefile.am:
2329           Don't link against VALGRIND_LIBS. That was always the wrong thing to
2330           do, but only breaks with newer valgrind versions. We're not a
2331           valgrind tool, we have no link-time dependencies on libcoregrind.
2332
2333 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2334
2335         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2336           some debug changes
2337         * gst/gstmessage.h:
2338           typo fixes
2339
2340 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2341
2342         * gst/base/gstbasesrc.c: (gst_base_src_init):
2343         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2344         * gst/gstqueue.c: (gst_queue_init):
2345         * gst/gstregistryxml.c: (load_feature):
2346           Revert all these unrefs, they don't even pass make check !
2347
2348 2005-11-15  Johan Dahlin  <johan@gnome.org>
2349
2350         * gst/base/gstbasesrc.c: (gst_base_src_init):
2351         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2352         * gst/gstqueue.c: (gst_queue_init): 
2353         Free pad templates, fixes a couple of leaks.
2354
2355 2005-11-15  Daniel Fischer  <dan at f3c dot com>
2356
2357         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2358
2359         * gst/gstpad.c: (gst_pad_get_property):
2360           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
2361           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
2362           (#321452)
2363
2364 2005-11-15  Wim Taymans  <wim@fluendo.com>
2365
2366         * gst/gstevent.c:
2367         Small doc update.
2368
2369 2005-11-15  Andy Wingo  <wingo@pobox.com>
2370
2371         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
2372
2373         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
2374         using GST_CLOCK_TIME_NONE to disable base time management.
2375         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
2376         time if it was NONE before.
2377         (gst_pipeline_change_state): Only munge the base time if
2378         stream_time != GST_CLOCK_TIME_NONE.
2379
2380         * check/gst/gstpipeline.c (test_base_time): Punt around the
2381         problem of the probe not being called, because that's not the
2382         issue I'm looking at. Add a check that setting stream_time to NONE
2383         disables base time management.
2384         
2385 2005-11-15  Wim Taymans  <wim@fluendo.com>
2386
2387         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2388         segment_stop == -1 at startup.
2389
2390         * gst/base/gstbasetransform.c: (gst_base_transform_event),
2391         (gst_base_transform_change_state):
2392         Init segment values at start.
2393
2394 2005-11-15  Wim Taymans  <wim@fluendo.com>
2395
2396         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2397         0 segment values are 0 in any format.
2398
2399         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2400         * gst/base/gstbasetransform.h:
2401         Parse newsegment correctly in basetransform
2402
2403         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2404         Sync to clock using updated segment values.
2405
2406 2005-11-15  Andy Wingo  <wingo@pobox.com>
2407
2408         * check/gst/gstpipeline.c (test_base_time): Add check that the
2409         base time and stream time are reset correctly.
2410
2411 2005-11-15  Wim Taymans  <wim@fluendo.com>
2412
2413         * docs/design/part-TODO.txt:
2414         Some more TODO items.
2415
2416 2005-11-15  Andy Wingo  <wingo@pobox.com>
2417
2418         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
2419         error if the user selected "no clock" as the clocking method.
2420
2421         * check/gst/gstpipeline.c (test_base_time): New test for buffer
2422         timestamps with live capture.
2423
2424         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
2425         is 0 but we are a live source, timestamp the buffers using the
2426         element's clock.
2427
2428 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
2429
2430         * docs/gst/gstreamer-sections.txt:
2431         * gst/gsterror.c:
2432         * gst/gstghostpad.c:
2433         * gst/gstobject.h:
2434         * gst/gstxml.c:
2435           more section docs
2436
2437 2005-11-14  Wim Taymans  <wim@fluendo.com>
2438
2439         * common/gst.supp:
2440           add suppressions from Wim's Debian machine
2441
2442 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2443
2444         * common/gst.supp:
2445           add suppressions from Andy's AMD64 Ubuntu machine
2446
2447 2005-11-14  Andy Wingo  <wingo@pobox.com>
2448
2449         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
2450         STATE_LOCK not necessary. Fixes #311489.
2451
2452         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
2453         #305291.
2454
2455         * gst/gstindex.c (gst_index_add_object): Note in the docs that
2456         this function is not implemented.
2457
2458 2005-11-14  Julien MOUTTE  <julien@moutte.net>
2459
2460         * gst/base/gstbasetransform.c:
2461         (gst_base_transform_prepare_output_buf):
2462         Ref the source pad caps while we need them.
2463         Fixes (#321386)
2464
2465 2005-11-11  Wim Taymans  <wim@fluendo.com>
2466
2467         * docs/gst/gstreamer-sections.txt:
2468         Added some docs for GstCollectData.
2469
2470         * gst/base/gstadapter.c:
2471         Some small code example fix.
2472
2473         * gst/base/gstcollectpads.c:
2474         * gst/base/gstcollectpads.h:
2475         Document some more.
2476
2477 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2478
2479         * configure.ac: back to HEAD
2480
2481 === release 0.9.5 ===
2482
2483 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
2484
2485         * configure.ac:
2486           releasing 0.9.5, "Bike Lunch Day"
2487
2488 2005-11-11  Wim Taymans  <wim@fluendo.com>
2489
2490         * gst/gstbuffer.c: (_gst_buffer_copy):
2491         Copy more flags.
2492
2493         * gst/gstcaps.c: (gst_caps_is_equal):
2494         Fix some docs.
2495         Make _is_equal fast in the trivial cases.
2496
2497         * gst/gstminiobject.c:
2498         * gst/gstminiobject.h:
2499         More docs. Spifify .h file.
2500
2501         * gst/gstutils.c:
2502         Small doc update.
2503
2504 2005-11-11  Wim Taymans  <wim@fluendo.com>
2505
2506         * gst/base/gstbasetransform.c:
2507         (gst_base_transform_prepare_output_buf),
2508         (gst_base_transform_handle_buffer):
2509         Small cleanups.
2510         If we're processing a buffer and need to allocate an output
2511         buffer, we cannot accept a format change. If we did get a 
2512         format change, we have to alloc a buffer ourselves of the 
2513         right size.
2514
2515 2005-11-11  Wim Taymans  <wim@fluendo.com>
2516
2517         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
2518         While checking the flag for reentrancy in the gstcaps function
2519         is nice to detect recursive invocations, it also makes it 
2520         impossible to call getcaps from multiple threads, which must be
2521         possible. So, checking for recursive calls has to go.
2522
2523 2005-11-11  Michael Smith <msmith@fluendo.com>
2524
2525         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2526           Don't sync on buffers that fall partially outside our current
2527           segment. Prevents an assertion failure/abort playing some files.
2528
2529 2005-11-10  Andy Wingo  <wingo@pobox.com>
2530
2531         * check/gst/gstbin.c (test_message_state_changed_children): Style
2532         fix..
2533
2534         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
2535         gst_bus_poll with the signal watch. Ensures that poll and a signal
2536         watch see the same messages.
2537
2538         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
2539         a poll and a watch at the same time get the same messages.
2540
2541 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2542
2543         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
2544         * gst/gstcaps.c: (gst_caps_intersect):
2545           Don't call gst_caps_do_simplify - it doesn't respect order of caps
2546           and it's not needed.
2547
2548 2005-11-10  Wim Taymans  <wim@fluendo.com>
2549
2550         * docs/design/part-TODO.txt:
2551         Updated todo.
2552
2553 2005-11-10  Wim Taymans  <wim@fluendo.com>
2554
2555         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2556         * gst/base/gstbasesrc.c: (gst_base_src_wait),
2557         (gst_base_src_do_sync), (gst_base_src_get_range):
2558         Implement clock sync in base class.
2559
2560 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2561
2562         patch by: Tim-Philipp Müller <tim at centricular dot net>
2563
2564         * gst/gststructure.c: (gst_structure_parse_field),
2565         (gst_structure_from_string):
2566           Forward-port a 0.8 patch to handle escaped spaces in structure string,
2567           so that gst_parse_launch() can deal with spaces in filtered link
2568           caps (fixes #164479)
2569         * check/gst/capslist.h:
2570         * check/gst/gststructure.c: (GST_START_TEST):
2571           add unit tests for this change
2572
2573 2005-11-10  Wim Taymans  <wim@fluendo.com>
2574
2575         * docs/gst/gstreamer-sections.txt:
2576         * gst/gstelement.c:
2577         * gst/gstelement.h:
2578         Fix docs, move some STATE macros to private.
2579
2580 2005-11-10  Wim Taymans  <wim@fluendo.com>
2581
2582         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
2583         Added check for bug #317341
2584
2585         * gst/gstbuffer.c:
2586         * gst/gstbuffer.h:
2587         Some more spiffifying.
2588
2589         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
2590         Call peer linkfunction if we are a source pad. Totally fixes
2591         #317341
2592
2593         * gst/gstpad.c:
2594         Update docs, source pads should call the peer linkfunction
2595         so they can atomically perform the pad link.
2596
2597 2005-11-09  Wim Taymans  <wim@fluendo.com>
2598
2599         * gst/gstbuffer.c:
2600         * gst/gstbuffer.h:
2601         Uber-spiffy-spiffify some more.
2602
2603 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
2604
2605         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
2606         * gst/elements/gstfilesink.c: (gst_file_sink_init):
2607         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2608         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
2609         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
2610         * gst/gstpad.c: (gst_pad_init):
2611           Use GST_DEBUG_FUNCPTR() more extensively.
2612
2613 2005-11-09  Wim Taymans  <wim@fluendo.com>
2614
2615         * gst/gstobject.c: (gst_object_class_init):
2616         * gst/gstobject.h:
2617         Documentation fixes.
2618
2619 2005-11-09  Edward Hervey  <edward@fluendo.com>
2620
2621         * gst/gsttypefindfactory.c:
2622         Fix docs.
2623         
2624 2005-11-09  Edward Hervey  <edward@fluendo.com>
2625
2626         * gst/base/gsttypefindhelper.c:
2627         * gst/gsttypefind.c:
2628         * gst/gsttypefind.h:
2629         Fix docs.
2630
2631 2005-11-09  Wim Taymans  <wim@fluendo.com>
2632
2633         * gst/gstiterator.c:
2634         Fix revision data.
2635
2636         * gst/gsttask.c:
2637         * gst/gsttask.h:
2638         Fix docs.
2639
2640 2005-11-09  Wim Taymans  <wim@fluendo.com>
2641
2642         * gst/gstevent.h:
2643         * gst/gsturi.h:
2644         Fix docs.
2645
2646 2005-11-09  Wim Taymans  <wim@fluendo.com>
2647
2648         * docs/gst/gstreamer-sections.txt:
2649         Moved the message async delivery private lock and cond
2650         to the private section.
2651
2652         * gst/gstmessage.c:
2653         * gst/gstmessage.h:
2654         Fixed docs.
2655
2656 2005-11-09  Edward Hervey  <edward@fluendo.com>
2657
2658         * docs/gst/gstreamer-sections.txt:
2659         * gst/gsturi.c:
2660         * gst/gsturi.h:
2661         Document GstURIHandler
2662
2663 2005-11-09  Wim Taymans  <wim@fluendo.com>
2664
2665         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
2666         (gst_iterator_find_custom):
2667         * gst/gstiterator.h:
2668         Fix iterator docs.
2669
2670 2005-11-09  Wim Taymans  <wim@fluendo.com>
2671
2672         * gst/gstbin.h:
2673         Document another field.
2674
2675         * gst/gststructure.c:
2676         * gst/gststructure.h:
2677         Document.
2678
2679 2005-11-09  Wim Taymans  <wim@fluendo.com>
2680
2681         * gst/gstbin.h:
2682         Documented structs.
2683
2684 2005-11-09  Wim Taymans  <wim@fluendo.com>
2685
2686         * docs/gst/gstreamer-sections.txt:
2687         Added some new macros.
2688
2689         * gst/gstclock.c:
2690         * gst/gstclock.h:
2691         * gst/gstobject.h:
2692         Docs updates.
2693
2694 2005-11-09  Wim Taymans  <wim@fluendo.com>
2695
2696         * docs/design/part-TODO.txt:
2697         Some more items for the TODO
2698
2699         * gst/gstcaps.c:
2700         * gst/gstcaps.h:
2701         Document GstCaps.
2702
2703 2005-11-09  Andy Wingo  <wingo@pobox.com>
2704
2705         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
2706         to work on something else now tho...
2707
2708         * gst/base/gstadapter.c: More adapter docs.
2709
2710         * gst/elements/gstfilesink.c (gst_file_sink_start) 
2711         (gst_file_sink_stop): New functions, replace the state change
2712         handler.
2713         (gst_file_sink_class_init): Hook up the start and stop functions.
2714         (gst_file_sink_base_init): Don't set the state change handler any
2715         more. It was a bit ugly too, being set from here...
2716         (gst_file_sink_get_property, gst_file_sink_set_property):
2717         Cleanups...
2718         (gst_file_sink_set_location): More robust check that doesn't call
2719         GST_STATE. Ugggggg.
2720
2721 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
2722
2723         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2724           Hold STREAM_LOCK while pushing newsegment or tag events as well.
2725
2726 2005-11-08  Wim Taymans  <wim@fluendo.com>
2727
2728         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2729         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
2730         (gst_base_sink_chain), (gst_base_sink_change_state):
2731         * gst/base/gstbasesink.h:
2732         * gst/base/gstbasesrc.h:
2733         * gst/gstelement.h:
2734         * gst/gstevent.h:
2735         Avoid excessive typechecking in macros.
2736
2737         * gst/gstminiobject.c: (gst_mini_object_get_type),
2738         (gst_mini_object_init), (gst_mini_object_new),
2739         (gst_mini_object_free):
2740         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
2741         (gst_object_finalize):
2742         Remove cruft code, optimize alloc_trace.
2743
2744 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2745
2746         * docs/faq/gst-uninstalled:
2747           fix up PS1 for systems that try to reset it
2748
2749 2005-11-07  Wim Taymans  <wim@fluendo.com>
2750
2751         * gst/base/gstbasesrc.c: (gst_base_src_init),
2752         (gst_base_src_get_range):
2753         Set the segment_end to -1 initially. Fixed typefind.
2754
2755 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2756
2757         * gst/base/gstadapter.c:
2758           Debug category should be 'adapter', not 'GstAdapter'.
2759           
2760         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
2761         (gst_collectpads_class_init), (gst_collectpads_init),
2762         (gst_collectpads_peek), (gst_collectpads_pop),
2763         (gst_collectpads_event), (gst_collectpads_chain):
2764           Add debug category and some debugging output. Use boilerplate
2765           macros. Remove some extraneous words from docs.
2766
2767 2005-11-05  Andy Wingo  <wingo@pobox.com>
2768
2769         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
2770         macro.
2771
2772 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2773
2774         * docs/gst/gstreamer-sections.txt:
2775         * gst/gstcaps.h:
2776         * gst/gstinfo.c:
2777         * gst/gstminiobject.h:
2778         * gst/gstobject.h:
2779         * gst/gstutils.h:
2780           more docs added
2781
2782 2005-11-04  Wim Taymans  <wim@fluendo.com>
2783
2784         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2785         Small update to stop at the configured segment_end
2786         position.
2787
2788 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2789
2790         * gst/gstregistry.c:
2791         * gst/gstregistry.h:
2792           added missing docs
2793
2794 2005-11-04  Edward Hervey  <edward@fluendo.com>
2795
2796         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2797         Check if we are doing a segment seek and have arrived at the
2798         end of that segment.
2799
2800 2005-11-04  Wim Taymans  <wim@fluendo.com>
2801
2802         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
2803         Don't leak a mutex unlock in case of an error.
2804
2805         * gst/gstbus.h:
2806         Doc fixes.
2807
2808 2005-11-04  Wim Taymans  <wim@fluendo.com>
2809
2810         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
2811         (gst_bus_post):
2812         Get the context to wake up only once.
2813
2814 2005-11-03  Wim Taymans  <wim@fluendo.com>
2815
2816         * check/states/sinks.c: (GST_START_TEST):
2817         Uncomment fixed check.
2818
2819         * docs/design/part-TODO.txt:
2820         Updated TODO.
2821
2822         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2823         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2824         (gst_base_sink_get_position):
2825         If we are going to PLAYING, post the right pending state
2826         when we post the intermediate paused message.
2827
2828         * gst/gstelement.c: (gst_element_continue_state),
2829         (gst_element_set_state_func), (gst_element_change_state):
2830         Don't post state changes that were between the same state
2831         and were not ASYNC.
2832
2833 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2834
2835         * docs/gst/gstreamer-sections.txt:
2836         * gst/gstcaps.h:
2837         * gst/gstinfo.c:
2838         * gst/gstminiobject.h:
2839         * gst/gstobject.h:
2840         * gst/gstutils.h:
2841           more docs and doc style fixes
2842
2843 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2844
2845         * docs/gst/gstreamer-sections.txt:
2846         * gst/gstelement.c:
2847         * gst/gstminiobject.c:
2848         doc fixes
2849
2850 2005-11-03  Andy Wingo  <wingo@pobox.com>
2851
2852         * check/states/sinks.c (test_livesrc_sink): Add checks that the
2853         state-changed messages actually have the right order and the right
2854         values.
2855
2856 2005-11-03  Wim Taymans  <wim@fluendo.com>
2857
2858         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
2859         Added some more checks. Specifically the case where NO_PREROLL
2860         elements are in the pipeline.
2861
2862         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2863         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2864         (gst_base_sink_get_position):
2865         Post READY->PAUSED state change messages too.
2866         Fix bug where VOID was posted as pending state...
2867
2868         * gst/gstbin.c: (gst_bin_recalc_state):
2869         use _element_continue_state() to continue the state change.
2870
2871         * gst/gstelement.c: (gst_element_continue_state),
2872         (gst_element_commit_state), (gst_element_set_state_func),
2873         (gst_element_change_state), (gst_element_change_state_func):
2874         Lots of state change cleanups, assign the STATE_RETURN in
2875         a new continue_state() function that also propagates the
2876         last return value from a state change to the app.
2877         Update some debug statements with proper category.
2878
2879 2005-11-03  Wim Taymans  <wim@fluendo.com>
2880
2881         * docs/design/part-events.txt:
2882         * docs/design/part-gstpipeline.txt:
2883         * docs/design/part-messages.txt:
2884         * docs/design/part-overview.txt:
2885         * docs/design/part-seeking.txt:
2886         * docs/design/part-states.txt:
2887         * docs/design/part-trickmodes.txt:
2888         * docs/manual/advanced-position.xml:
2889         Small docs updates.
2890
2891         * gst/gstobject.h:
2892         People think !! is ugly, this looks better.
2893
2894         * gst/gstpad.c: (gst_pad_set_blocked_async):
2895         Remove !! since it's fixed elsewhere now.
2896
2897 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2898
2899         * gst/gstminiobject.h:
2900         * gst/gstobject.h:
2901           Add !! to _FLAG_IS_SET macros to make the result boolean.
2902
2903 2005-11-03  Edward Hervey  <edward@fluendo.com>
2904
2905         * gst/gstpad.c: (gst_pad_set_blocked_async):
2906         comparing a flag and a gboolean rarely returns coherent results...
2907         Added two characters (!!) to make that work correctly.
2908         
2909 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2910
2911         * gst/gstbus.c: (gst_bus_class_init):
2912           Fix some typos.
2913           
2914         * gst/gstqueue.c: (gst_queue_loop):
2915           Don't assume a miniobject that isn't a buffer is an
2916           event (it could be that there is a refcounting
2917           problem somewhere and the pointer is stale and
2918           refers to an already destroyed miniobject).
2919
2920 2005-11-03  Julien MOUTTE  <julien@moutte.net>
2921
2922         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
2923
2924 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2925
2926         * docs/manual/advanced-position.xml:
2927           Update seek example and explanations to current 0.9 API.
2928
2929         * gst/elements/gsttypefindelement.c:
2930         (gst_type_find_element_activate):
2931           Remove FIXME comment now that the found caps
2932           are unreffed.
2933
2934 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2935
2936         * gst/gstregistryxml.c: (load_feature):
2937           Add another GST_STR_NULL instance
2938
2939 2005-11-02  Edward Hervey  <edward@fluendo.com>
2940
2941         * gst/gstpad.c: (handle_pad_block):
2942         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
2943         
2944 2005-11-02  Wim Taymans  <wim@fluendo.com>
2945
2946         * gst/gstbin.c:
2947         Fix typo in docs.
2948
2949         * gst/gstelement.c: (gst_element_commit_state):
2950         Remove unused value.
2951
2952         * gst/gstiterator.c:
2953         Mention that the returned element is reffed in the docs.
2954
2955 2005-11-02  Wim Taymans  <wim@fluendo.com>
2956
2957         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
2958         (gst_pad_push), (gst_pad_push_event):
2959         Unlock blocked pads when they are flushed.
2960
2961 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2962
2963         * docs/README:
2964         * docs/gst/gstreamer-sections.txt:
2965         * gst/gstbin.c:
2966           doc updates
2967         * gst/gstregistry.c: (gst_registry_scan_path_level):
2968           fix for a nasty little missed situation where an installed plug-in
2969           which was in the cache did not get overridden by an uninstalled one
2970           which was earlier in the plugin path because the newly created plugin
2971           for the uninstalled one (not in the registry) didn't get its
2972           ->registered set to TRUE
2973
2974 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2975
2976         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
2977         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
2978         (gst_collectpads_is_active), (gst_collectpads_collect),
2979         (gst_collectpads_collect_range), (gst_collectpads_start),
2980         (gst_collectpads_stop), (gst_collectpads_peek),
2981         (gst_collectpads_pop), (gst_collectpads_available),
2982         (gst_collectpads_read), (gst_collectpads_flush):
2983           Guard public API with assertions.
2984         
2985         * gst/gstpad.c:
2986           Fix docs for gst_pad_set_link_function().
2987
2988 2005-11-02  Johan Dahlin  <johan@gnome.org>
2989
2990         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
2991         Unref found_caps after we used it.
2992
2993 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2994
2995         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
2996           Don't try to ref NULL.
2997
2998 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2999
3000         * win32/common/config.h.in:
3001           provide a GST_FUNCTION that just gives a string for now
3002
3003 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3004
3005         * win32/common/gstenumtypes.c: (register_gst_object_flags),
3006         (gst_object_flags_get_type), (register_gst_bin_flags),
3007         (gst_bin_flags_get_type), (register_gst_buffer_flag),
3008         (gst_buffer_flag_get_type), (register_gst_bus_flags),
3009         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3010         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
3011         (gst_clock_return_get_type), (register_gst_clock_entry_type),
3012         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3013         (gst_clock_flags_get_type), (register_gst_state),
3014         (gst_state_get_type), (register_gst_state_change_return),
3015         (gst_state_change_return_get_type), (register_gst_state_change),
3016         (gst_state_change_get_type), (register_gst_element_flags),
3017         (gst_element_flags_get_type), (register_gst_core_error),
3018         (gst_core_error_get_type), (register_gst_library_error),
3019         (gst_library_error_get_type), (register_gst_resource_error),
3020         (gst_resource_error_get_type), (register_gst_stream_error),
3021         (gst_stream_error_get_type), (register_gst_event_type),
3022         (gst_event_type_get_type), (register_gst_seek_type),
3023         (gst_seek_type_get_type), (register_gst_seek_flags),
3024         (gst_seek_flags_get_type), (register_gst_format),
3025         (gst_format_get_type), (register_gst_index_certainty),
3026         (gst_index_certainty_get_type), (register_gst_index_entry_type),
3027         (gst_index_entry_type_get_type),
3028         (register_gst_index_lookup_method),
3029         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3030         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3031         (gst_index_resolver_method_get_type), (register_gst_index_flags),
3032         (gst_index_flags_get_type), (register_gst_debug_level),
3033         (gst_debug_level_get_type), (register_gst_debug_color_flags),
3034         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3035         (gst_iterator_result_get_type), (register_gst_iterator_item),
3036         (gst_iterator_item_get_type), (register_gst_message_type),
3037         (gst_message_type_get_type), (register_gst_mini_object_flags),
3038         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3039         (gst_pad_link_return_get_type), (register_gst_flow_return),
3040         (gst_flow_return_get_type), (register_gst_activate_mode),
3041         (gst_activate_mode_get_type), (register_gst_pad_direction),
3042         (gst_pad_direction_get_type), (register_gst_pad_flags),
3043         (gst_pad_flags_get_type), (register_gst_pad_presence),
3044         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3045         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3046         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3047         (gst_plugin_error_get_type), (register_gst_plugin_flags),
3048         (gst_plugin_flags_get_type), (register_gst_rank),
3049         (gst_rank_get_type), (register_gst_query_type),
3050         (gst_query_type_get_type), (register_gst_tag_merge_mode),
3051         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3052         (gst_tag_flag_get_type), (register_gst_task_state),
3053         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3054         (gst_alloc_trace_flags_get_type),
3055         (register_gst_type_find_probability),
3056         (gst_type_find_probability_get_type), (register_gst_uri_type),
3057         (gst_uri_type_get_type), (register_gst_parse_error),
3058         (gst_parse_error_get_type):
3059         * win32/common/gstversion.h:
3060           update win32 copies
3061
3062 2005-11-01  Luca Ognibene  <luogni@tin.it>
3063
3064         * gst/gst.c:
3065           fix docs. popt is dead, long live GOption.
3066
3067 2005-10-31  Wim Taymans  <wim@fluendo.com>
3068
3069         * gst/gstbuffer.h:
3070         Small doc fix.
3071
3072 2005-10-31  Andy Wingo  <wingo@pobox.com>
3073
3074         * Boo!
3075
3076         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
3077
3078         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
3079         need to serialize property notifications on GLib 2.8. GLib 2.6 has
3080         the possibility of deadlocks here if code calling notify() or
3081         set() has a lock that can be taken in another notify handler (ABBA
3082         with class lock and e.g. python GIL state lock).
3083
3084 2005-10-28  Julien MOUTTE  <julien@moutte.net>
3085
3086         * gst/gstbus.c: Doc updates.
3087
3088 2005-10-28  Wim Taymans  <wim@fluendo.com>
3089
3090         * docs/design/part-TODO.txt:
3091         * gst/gstiterator.c:
3092         * gst/gstsystemclock.c:
3093         * gst/gstsystemclock.h:
3094         Doc updates.
3095
3096 2005-10-28  Edward Hervey  <edward@fluendo.com>
3097
3098         * docs/gst/gstreamer-docs.sgml:
3099         * docs/gst/gstreamer-sections.txt:
3100         the GstURIType documentation page is private, it only defines GstURIType
3101         which should be defined in the GstURIHandler page
3102         
3103 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3104
3105         * gst/gstbin.c: (gst_bin_class_init):
3106         * gst/gstbin.h:
3107         * gst/gstutils.c:
3108         Documentation updates.
3109
3110 2005-10-28  Wim Taymans  <wim@fluendo.com>
3111
3112         * docs/gst/gstreamer-sections.txt:
3113         * gst/gstclock.c:
3114         * gst/gstclock.h:
3115         Documented the clocks.
3116
3117 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
3118
3119         * docs/gst/gstreamer-sections.txt:
3120           move some macros to private sections
3121         * gst/gstminiobject.c:
3122         * gst/gstminiobject.h:
3123           add descriptions provided by ds and some more
3124         * gst/gstpad.h:
3125           mark macro as to be removed
3126
3127 2005-10-28  Wim Taymans  <wim@fluendo.com>
3128
3129         * docs/design/part-TODO.txt:
3130         Add an item to TODO.
3131
3132         * gst/gstiterator.c: (gst_iterator_fold),
3133         (gst_iterator_find_custom):
3134         * gst/gstiterator.h:
3135         Add iterator docs.
3136
3137 2005-10-28  Wim Taymans  <wim@fluendo.com>
3138
3139         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3140         (gst_base_transform_init):
3141         Don't leak class.
3142
3143         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3144         An EOS event marks the queue as completely filled.
3145
3146 2005-10-27  Wim Taymans  <wim@fluendo.com>
3147
3148         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3149         (gst_base_sink_do_sync), (gst_base_sink_get_position):
3150         Some more debugging.
3151
3152         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3153         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3154         (gst_base_transform_event), (gst_base_transform_getrange),
3155         (gst_base_transform_chain):
3156         * gst/base/gstbasetransform.h:
3157         Fix debugging,
3158         Protect transform and concurrent buffer alloc with a new lock.
3159         Try not to break ABI/API.
3160
3161 2005-10-27  Wim Taymans  <wim@fluendo.com>
3162
3163         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3164         (gst_base_src_init), (gst_base_src_query),
3165         (gst_base_src_default_newsegment),
3166         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3167         (gst_base_src_send_event), (gst_base_src_event_handler),
3168         (gst_base_src_pad_get_range), (gst_base_src_loop),
3169         (gst_base_src_unlock), (gst_base_src_default_negotiate),
3170         (gst_base_src_start), (gst_base_src_deactivate),
3171         (gst_base_src_activate_push), (gst_base_src_change_state):
3172         Move some stuff around and cleanup things.
3173
3174 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
3175
3176         * gst/base/gstbasesrc.c: (gst_base_src_query):
3177           Add missing break statements.
3178
3179 2005-10-27  Wim Taymans  <wim@fluendo.com>
3180
3181         * check/gst/gstbin.c: (GST_START_TEST):
3182         An extra refcount is taken in basesrc.
3183
3184         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3185         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3186         (gst_base_src_loop):
3187         Small cleanups, check for flushing after being unlocked from the 
3188         LIVE_LOCK. take refcounts correctly (not yet everywhere).
3189         Don't send out EOS when going to READY.
3190
3191 2005-10-27  Wim Taymans  <wim@fluendo.com>
3192
3193         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3194         (gst_base_sink_get_position):
3195         Some more debug.
3196
3197         * gst/gstbin.c: (message_check), (bin_replace_message),
3198         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3199         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3200         (bin_query_duration_init), (bin_query_duration_fold),
3201         (bin_query_duration_done), (bin_query_generic_fold),
3202         (gst_bin_query):
3203         * tools/gst-launch.c: (main):
3204         Remove old option.
3205
3206 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
3207
3208         * examples/controller/audio-example.c: (main):
3209         * examples/queue/queue.c: (event_loop):
3210         * gst/base/gstbasetransform.h:
3211         * gst/gstelement.c: (gst_element_send_event):
3212         * gst/gstevent.h:
3213         * gst/gstpad.c: (gst_pad_send_event):
3214           fixing examples
3215           fixing docs typos
3216           changing log priority in error situations
3217
3218 2005-10-25  Wim Taymans  <wim@fluendo.com>
3219
3220         * gst/gstbin.c: (message_check), (bin_replace_message),
3221         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3222         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3223         (bin_query_duration_init), (bin_query_duration_fold),
3224         (bin_query_duration_done), (bin_query_generic_fold),
3225         (gst_bin_query):
3226         Some doc and debug updates.
3227         Cache previously requested query DURATION for speed. invalidate
3228         cached duration if element posts a DURATION message.
3229
3230 2005-10-25  Wim Taymans  <wim@fluendo.com>
3231
3232         * docs/design/part-TODO.txt:
3233         Update TODO.
3234
3235         * gst/gstbin.c: (message_check), (bin_replace_message),
3236         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3237         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3238         (bin_query_duration_init), (bin_query_duration_fold),
3239         (bin_query_duration_done), (bin_query_generic_fold),
3240         (gst_bin_query):
3241         Handle SEGMENT_START/DONE messages correctly.
3242         More evolved query algorithm that handles duration queries
3243         correctly.
3244
3245         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3246         (gst_element_get_state_func), (gst_element_abort_state),
3247         (gst_element_commit_state), (gst_element_lost_state):
3248         Some more debugging.
3249
3250         * gst/gstmessage.h:
3251         Added doc.
3252
3253 2005-10-25  Wim Taymans  <wim@fluendo.com>
3254
3255         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3256         Don't use invalid stream_time.
3257
3258         * gst/gstevent.c: (gst_event_new_newsegment):
3259         stream_time in newsegment cannot be undefined.
3260
3261 2005-10-24  Wim Taymans  <wim@fluendo.com>
3262
3263         * gst/gstbus.c:
3264         Doc fix.
3265
3266         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3267         (gst_queue_loop):
3268         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3269
3270 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
3271
3272         * docs/libs/tmpl/gstdparam.sgml:
3273         * docs/libs/tmpl/gstdplinint.sgml:
3274         * docs/libs/tmpl/gstdpman.sgml:
3275         * docs/libs/tmpl/gstdpsmooth.sgml:
3276         * docs/libs/tmpl/gstunitconvert.sgml:
3277           these are obsolete
3278
3279 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3280
3281         * configure.ac:
3282           back to HEAD
3283
3284 === release 0.9.4 ===
3285
3286 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3287
3288         * configure.ac:
3289           releasing 0.9.4, "Tyrannosaurus Rex"
3290
3291 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
3292
3293         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3294         (gst_file_sink_get_current_offset):
3295           Use fseeko() and ftello() if available. When falling back on
3296           lseek() to get the current offset, fflush() first to make sure
3297           everything is up-to-date and we get the right offset.
3298
3299 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3300
3301         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3302         * gst/base/gstbasesrc.c: (gst_base_src_loop):
3303         * gst/gsterror.c: (_gst_stream_errors_init):
3304         * gst/gsterror.h:
3305         * gst/gstqueue.c: (gst_queue_loop):
3306         * po/POTFILES.in:
3307           remove prematurely added error category and clean up the instances
3308
3309 2005-10-21  Wim Taymans  <wim@fluendo.com>
3310
3311         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3312         (gst_base_sink_get_position), (gst_base_sink_query),
3313         (gst_base_sink_change_state):
3314         Simply set the right flag when going to playing, that's all
3315         we need to do instead of calling a function inside the object
3316         lock (that could take the lock as well and deadlock)
3317
3318 2005-10-21  Wim Taymans  <wim@fluendo.com>
3319
3320         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
3321         (gst_base_src_loop):
3322         Don't warn, the peer element knows what to do best when
3323         the seek failed, it might try something else.
3324
3325 2005-10-21  Wim Taymans  <wim@fluendo.com>
3326
3327         * gst/base/gstbasesrc.c: (gst_base_src_init),
3328         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3329         Fix seeking.
3330
3331 2005-10-21  Wim Taymans  <wim@fluendo.com>
3332
3333         * docs/design/part-segments.txt:
3334         More docs.
3335
3336         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3337         Correctly set caps, even on the subbufer.
3338
3339 2005-10-21  Wim Taymans  <wim@fluendo.com>
3340
3341         * docs/gst/gstreamer-docs.sgml:
3342         * docs/gst/gstreamer-sections.txt:
3343         * gst/gstelement.h:
3344         * gst/gstevent.c:
3345         * gst/gstevent.h:
3346         * gst/gstmessage.h:
3347         * gst/gstpad.h:
3348         * gst/gstparse.h:
3349         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
3350         * gst/gsttask.h:
3351         * gst/gstutils.c:
3352         * gst/gstutils.h:
3353         And 2% more doc coverage.
3354
3355 2005-10-21  Andy Wingo  <wingo@pobox.com>
3356
3357         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
3358         position reporting.
3359
3360 2005-10-20  Wim Taymans  <wim@fluendo.com>
3361
3362         * gst/gsterror.c: (gst_error_get_message):
3363         * gst/gstparse.h:
3364         * gst/gstquery.h:
3365         * gst/gststructure.c:
3366         * gst/gsttrace.c:
3367         * gst/gstutils.c:
3368         More docs.
3369
3370 2005-10-20  Wim Taymans  <wim@fluendo.com>
3371
3372         * gst/gstbuffer.h:
3373         * gst/gstpad.c:
3374         * gst/gstparse.c:
3375         Another 1% more coverage.
3376
3377 2005-10-20  Wim Taymans  <wim@fluendo.com>
3378
3379         * docs/gst/gstreamer-sections.txt:
3380         * gst/gstelement.c: (gst_element_get_state_func),
3381         (gst_element_abort_state), (gst_element_commit_state),
3382         (gst_element_lost_state):
3383         * gst/gstevent.h:
3384         * gst/gstquery.c: (gst_query_set_position),
3385         (gst_query_parse_position), (gst_query_set_duration),
3386         (gst_query_parse_duration), (gst_query_new_convert):
3387         * gst/gstutils.c:
3388         Yay! 1% more docs coverage.
3389
3390 2005-10-20  Wim Taymans  <wim@fluendo.com>
3391
3392         * gst/gstpad.h:
3393         * gst/gstquery.c: (gst_query_set_position),
3394         (gst_query_parse_position), (gst_query_set_duration),
3395         (gst_query_parse_duration), (gst_query_new_convert):
3396         * gst/gstquery.h:
3397         * gst/gstutils.c: (gst_element_query_convert):
3398         * gst/gstutils.h:
3399         Docs and consistency fixes.
3400
3401 2005-10-20  Wim Taymans  <wim@fluendo.com>
3402
3403         * gst/gsttask.c:
3404         * gst/gsttask.h:
3405         More docs.
3406
3407 2005-10-20  Wim Taymans  <wim@fluendo.com>
3408
3409         * gst/gstbin.c: (message_check), (bin_replace_message),
3410         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3411         (update_degree), (gst_bin_sort_iterator_next),
3412         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
3413         Reworked the message handling a bit, cache the messages instead of
3414         only the senders. alows us to do more in the future.
3415
3416 2005-10-20  Wim Taymans  <wim@fluendo.com>
3417
3418         * docs/design/part-TODO.txt:
3419         Update TODO
3420
3421         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3422         (gst_base_sink_query):
3423         Don't use clock time to report position when in EOS.
3424
3425 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
3426
3427         * tools/gst-inspect.c: (print_interfaces),
3428         (print_element_properties_info), (print_element_info):
3429           Fix interface output with gst-inspect -a; don't print
3430           newlines after double/float properties.
3431
3432 2005-10-20  Wim Taymans  <wim@fluendo.com>
3433
3434         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3435         (gst_base_sink_query):
3436         Speed up current position calculation.
3437
3438         * gst/base/gstbasesrc.c: (gst_base_src_query),
3439         (gst_base_src_default_newsegment):
3440         Correctly set stream position in newsegment.
3441
3442         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
3443         (update_degree), (gst_bin_sort_iterator_next),
3444         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
3445         * gst/gstmessage.c: (gst_message_new_custom):
3446         Clean up debugging info
3447
3448         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
3449         (gst_queue_loop), (gst_queue_handle_src_query):
3450         Pause task faster.
3451
3452 2005-10-19  Wim Taymans  <wim@fluendo.com>
3453
3454         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3455         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3456         Fix query handling again.
3457
3458 2005-10-19  Wim Taymans  <wim@fluendo.com>
3459
3460         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3461         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3462         * gst/base/gstbasesrc.c: (gst_base_src_query):
3463         * gst/elements/gstfilesink.c: (gst_file_sink_query):
3464         * gst/elements/gsttypefindelement.c:
3465         (gst_type_find_handle_src_query), (find_element_get_length),
3466         (gst_type_find_element_activate):
3467         API change fix.
3468
3469         * gst/gstquery.c: (gst_query_new_position),
3470         (gst_query_set_position), (gst_query_parse_position),
3471         (gst_query_new_duration), (gst_query_set_duration),
3472         (gst_query_parse_duration), (gst_query_set_segment),
3473         (gst_query_parse_segment):
3474         * gst/gstquery.h:
3475         Bundling query position/duration is not a good idea since duration
3476         does not change much and we don't want to recalculate it for every
3477         position query, so they are separated again..
3478         Base value in segment query is not needed.
3479
3480         * gst/gstqueue.c: (gst_queue_handle_src_query):
3481         * gst/gstutils.c: (gst_element_query_position),
3482         (gst_element_query_duration), (gst_pad_query_position),
3483         (gst_pad_query_duration):
3484         * gst/gstutils.h:
3485         Updates for query API change.
3486         Added some docs here and there.
3487
3488 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3489
3490         * check/gst/gstbin.c: (GST_START_TEST):
3491         * check/gst/gstghostpad.c: (GST_START_TEST):
3492         * check/pipelines/cleanup.c: (GST_START_TEST):
3493           wait on thread to die so we can check refcount correctly
3494
3495 2005-10-18  Wim Taymans  <wim@fluendo.com>
3496
3497         * check/pipelines/stress.c: (GST_START_TEST):
3498         Make check a little more time consuming.
3499
3500 2005-10-18  Wim Taymans  <wim@fluendo.com>
3501
3502         * check/Makefile.am:
3503         * check/pipelines/stress.c: (GST_START_TEST),
3504         (simple_launch_lines_suite), (main):
3505         Small state change torture test.
3506
3507         * docs/design/part-states.txt:
3508         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3509         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
3510         (gst_base_sink_change_state):
3511         Never take state lock from streaming thread, clean up ugly
3512         hacks. Unfortunatly core does not yet support nice ways to
3513         async commit state.
3514         
3515         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
3516         (bin_bus_handler):
3517         Start state recalc if a STATE_DIRTY message is posted, but only
3518         on the toplevel bin.
3519
3520         * gst/gstelement.c: (gst_element_sync_state_with_parent),
3521         (gst_element_get_state_func), (gst_element_abort_state),
3522         (gst_element_commit_state), (gst_element_lost_state),
3523         (gst_element_set_state_func), (gst_element_change_state):
3524         * gst/gstelement.h:
3525         State variables are now protected with the LOCK, the state
3526         lock is only used to serialize _set_state().
3527
3528 2005-10-18  Wim Taymans  <wim@fluendo.com>
3529
3530         * check/gst/gstbin.c: (GST_START_TEST):
3531         * check/gst/gstmessage.c: (GST_START_TEST):
3532         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3533         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
3534         (bin_bus_handler):
3535         * gst/gstelement.c: (gst_element_abort_state),
3536         (gst_element_commit_state), (gst_element_lost_state):
3537         * gst/gstmessage.c: (gst_message_new_state_changed),
3538         (gst_message_new_state_dirty), (gst_message_new_segment_start),
3539         (gst_message_new_segment_done), (gst_message_new_duration),
3540         (gst_message_parse_state_changed),
3541         (gst_message_parse_segment_start),
3542         (gst_message_parse_segment_done), (gst_message_parse_duration):
3543         * gst/gstmessage.h:
3544         * tools/gst-launch.c: (event_loop):
3545         Seriously, this is better than a previous commit as we only need
3546         to notify the fact that an element changed state in a streaming
3547         thread, marking the state of the parents dirty, hence the 
3548         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
3549         message.
3550
3551 2005-10-18  Wim Taymans  <wim@fluendo.com>
3552
3553         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
3554         (gst_bin_recalc_func):
3555         * gst/gstelement.c: (gst_element_set_clock),
3556         (gst_element_abort_state), (gst_element_lost_state):
3557         Cleanups, prepare for state change fixes.
3558
3559 2005-10-18  Wim Taymans  <wim@fluendo.com>
3560
3561         * gst/gstbin.h:
3562         * gst/gstelement.c: (gst_element_class_init),
3563         (gst_element_set_state), (gst_element_set_state_func):
3564         * gst/gstelement.h:
3565         Pending ABI changes.
3566         GThreadPool in GstBinClass to monitor async state changes.
3567         state_cookie in GstElement to detect concurrent gst/set state.
3568         set_state is now virtual too in case a very complicated element
3569         has to be constructed.
3570
3571 2005-10-18  Wim Taymans  <wim@fluendo.com>
3572
3573         * check/gst/gstbin.c: (GST_START_TEST):
3574         * check/gst/gstmessage.c: (GST_START_TEST):
3575         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3576         * gst/gstbin.c: (bin_bus_handler):
3577         * gst/gstelement.c: (gst_element_commit_state),
3578         (gst_element_lost_state):
3579         * gst/gstmessage.c: (gst_message_new_state_changed),
3580         (gst_message_new_segment_start), (gst_message_new_segment_done),
3581         (gst_message_new_duration), (gst_message_parse_state_changed),
3582         (gst_message_parse_segment_start),
3583         (gst_message_parse_segment_done), (gst_message_parse_duration):
3584         * gst/gstmessage.h:
3585         * tools/gst-launch.c: (event_loop):
3586         Make messages future proof.
3587         state-change gets a flag if it was a message comming from the
3588         streaming thread.
3589         segment-start/stop can also be specified in other formats.
3590         A message to notify an app that a pipeline changed playback 
3591         duration.
3592         Also fix a GstMessage leak in -launch
3593
3594 2005-10-18  Andy Wingo  <wingo@pobox.com>
3595
3596         * gst/gstelement.c (gst_element_dispose): More helpful message.
3597
3598 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3599
3600         reviewed by: <delete if not using a buddy>
3601
3602         * common/gtk-doc.mak:
3603
3604 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3605
3606         * gst/gstregistry.c: (gst_registry_scan_path_level):
3607           unref a plug-in we get that was already initialized
3608
3609 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
3610
3611         * docs/gst/gstreamer-sections.txt:
3612         * docs/libs/gstreamer-libs-sections.txt:
3613         * gst/gstelement.h:
3614           add new api entries
3615           hide internal macro
3616
3617 2005-10-17  Andy Wingo  <wingo@pobox.com>
3618
3619         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
3620         cleanup.
3621
3622         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
3623
3624         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
3625
3626         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
3627         (gst_element_get_state_func): Better debug message.
3628         (gst_element_commit_state): s/INFO/DEBUG/.
3629         (gst_element_lost_state, gst_element_change_state): 
3630
3631         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
3632         (gst_message_new_custom): s/INFO/LOG/.
3633
3634 2005-10-17  Michael Smith <msmith@fluendo.com>
3635
3636         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3637           Check if end time is valid using end time, not start time.
3638
3639 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
3640
3641         * check/gst-libs/controller.c: (GST_START_TEST),
3642         (gst_controller_suite):
3643         * libs/gst/controller/gstcontroller.c:
3644         (gst_controlled_property_set_interpolation_mode):
3645         * libs/gst/controller/gstcontroller.h:
3646         * libs/gst/controller/gstinterpolation.c:
3647         * testsuite/controller/.cvsignore:
3648         * testsuite/controller/Makefile.am:
3649         * testsuite/controller/interpolator.c:
3650           merge controller testsuites
3651           fix broken tests
3652           remove mem-chunk from docs
3653
3654 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3655
3656         * gst/gstmemchunk.c:
3657         * gst/gstmemchunk.h:
3658         * gst/gsttrashstack.c:
3659         * gst/gsttrashstack.h:
3660           out.  get out.  you're fired.  to the Attic !
3661
3662 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3663
3664         * gst/gstcaps.c: (gst_caps_intersect):
3665           fix signedness issues in a (hopefully) correct way
3666         * gst/gstelement.c: (gst_element_pads_activate):
3667           some debugging
3668         * gst/gstobject.c: (gst_object_set_parent):
3669           some debugging
3670
3671 2005-10-17  Julien MOUTTE  <julien@moutte.net>
3672
3673         * gst/gstvalue.h: Fix prototypes.
3674
3675 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3676
3677         * docs/gst/gstreamer-sections.txt:
3678         * gst/gst.c: (gst_version_string):
3679         * gst/gst.h:
3680         * gst/gstversion.h.in:
3681         * win32/common/libgstreamer.def:
3682           add gst_version_string ()
3683
3684 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3685
3686         * configure.ac:
3687           clean up further
3688         * gst/gst.c: (init_post):
3689         * win32/common/config.h.in:
3690           it's PLUGINDIR now
3691         * gst/gstcaps.c: (gst_caps_intersect):
3692           use gint64, the range could be bigger than a guint
3693
3694 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3695
3696         * gst/gstclock.h:
3697           document potential problem in 2038
3698
3699 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3700
3701         * gst/gstcaps.c: (gst_caps_intersect):
3702           Fix guint j diving under 0
3703
3704 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3705
3706         * configure.ac:
3707         * win32/common/config.h:
3708         * win32/common/config.h.in:
3709           check for process.h, declares getpid() on Windows
3710         * gst/gstinfo.c:
3711           include process.h if we have it
3712         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
3713         * gst/gstmemchunk.h:
3714           fix signedness issues
3715         * win32/common/libgstreamer.def:
3716           fix get_type's
3717
3718 2005-10-16  Julien MOUTTE  <julien@moutte.net>
3719
3720         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
3721         fix. Because of unsigned ints, caps intersection was going nuts and
3722         trying to access structures with G_MAXUINT index. That fixes
3723         videotestsrc ! ffmpegcolorspace ! fakesink
3724         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
3725         consistency.
3726
3727 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3728
3729         * configure.ac:
3730           use the gettext macro
3731         * gst/elements/gstelements.c:
3732         * gst/gst.c:
3733         * gst/indexers/gstindexers.c:
3734           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
3735         * win32/common/config.h:
3736           updated config.h
3737         * win32/common/config.h.in:
3738           add the template to generate config.h
3739         * win32/common/gstenumtypes.c:
3740         * win32/common/gstversion.h:
3741           updated copies
3742
3743 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3744
3745         * gst/gst.c: (gst_version):
3746         * gst/gstversion.h.in:
3747           add the nano
3748
3749 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3750
3751         * gst/gstevent.h:
3752           Oops, add missing closing bracket.
3753
3754 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3755
3756         * configure.ac:
3757           use common m4's for argument checking
3758
3759 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3760
3761         * docs/gst/gstreamer-sections.txt:
3762         * gst/gstevent.h:
3763           Add GST_EVENT_TYPE_NAME() macro.
3764
3765 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3766
3767         * gst/gstinfo.c:
3768         * gst/gstpluginfeature.c:
3769         * gst/gsttask.c:
3770           privatize more symbols
3771
3772 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3773
3774         * configure.ac:
3775           add srcdir, builddir includes to GST_ALL_CFLAGS, since
3776           everything that uses GStreamer API should have the includes
3777
3778 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3779
3780         * docs/gst/gstreamer-sections.txt:
3781         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
3782         * gst/gstvalue.h:
3783           give each value a _get_type, removes the DATA exports
3784
3785 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3786
3787         * gst/gst.c:
3788         * gst/gst.h:
3789           remove _gst_registry_auto_load, not used anymore
3790         * gst/gstbin.c: (gst_bin_get_type):
3791         * gst/gstbin.h:
3792         * gst/gstelement.c: (gst_element_get_type):
3793         * gst/gstelement.h:
3794         * gst/gstobject.c: (gst_object_get_type):
3795         * gst/gstobject.h:
3796         * gst/gstpad.c: (gst_pad_get_type):
3797         * gst/gstpad.h:
3798           make _get_type functions similar, fixes data export from library
3799
3800 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3801
3802         * configure.ac:
3803           correctly make conditionals
3804         * gst/elements/Makefile.am:
3805         * gst/elements/gstelements.c:
3806           fix typo causing fdsrc not to build
3807
3808 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3809
3810         * testsuite/Makefile.am:
3811         * testsuite/bytestream/.cvsignore:
3812         * testsuite/bytestream/Makefile.am:
3813         * testsuite/bytestream/filepadsink.c:
3814         * testsuite/bytestream/gstbstest.c:
3815         * testsuite/bytestream/test1.c:
3816         * testsuite/bytestream/testfile1:
3817         * testsuite/caps/normalisation.c:
3818         * testsuite/caps/random.c: (main):
3819         * testsuite/cleanup/.cvsignore:
3820         * testsuite/cleanup/Makefile.am:
3821         * testsuite/cleanup/cleanup1.c:
3822         * testsuite/cleanup/cleanup2.c:
3823         * testsuite/cleanup/cleanup3.c:
3824         * testsuite/cleanup/cleanup4.c:
3825         * testsuite/cleanup/cleanup5.c:
3826         * testsuite/controller/interpolator.c:
3827         * testsuite/debug/printf_extension.c: (main):
3828         * testsuite/elements/tee.c:
3829         * testsuite/negotiation/.cvsignore:
3830         * testsuite/negotiation/Makefile.am:
3831         * testsuite/negotiation/pad_link.c:
3832         * testsuite/pad/Makefile.am:
3833         * testsuite/pad/chainnopull.c:
3834         * testsuite/pad/getnopush.c:
3835         * testsuite/pad/link.c:
3836         * testsuite/refcounting/sched.c: (create_pipeline):
3837         * testsuite/registry/Makefile.am:
3838         * testsuite/registry/gst-print-formats.c:
3839         * testsuite/schedulers/.cvsignore:
3840         * testsuite/schedulers/142183-2.c:
3841         * testsuite/schedulers/142183.c:
3842         * testsuite/schedulers/143777-2.c:
3843         * testsuite/schedulers/143777.c:
3844         * testsuite/schedulers/147713.c:
3845         * testsuite/schedulers/147819.c:
3846         * testsuite/schedulers/147894-2.c:
3847         * testsuite/schedulers/147894.c:
3848         * testsuite/schedulers/Makefile.am:
3849         * testsuite/schedulers/group_link.c:
3850         * testsuite/schedulers/queue_link.c:
3851         * testsuite/schedulers/relink.c:
3852         * testsuite/schedulers/unlink.c:
3853         * testsuite/schedulers/unref.c:
3854         * testsuite/schedulers/useless_iteration.c:
3855         * testsuite/states/bin.c:
3856           clean out/remove some stuff from the testsuite directories
3857
3858 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3859
3860         * configure.ac:
3861           check for some headers
3862         * gst/elements/Makefile.am:
3863         * gst/elements/gstelements.c:
3864           don't compile fdsrc without sys/socket.h
3865         * gst/indexers/Makefile.am:
3866         * gst/indexers/gstindexers.c: (plugin_init):
3867           don't compile fileindex without mmap
3868
3869 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3870
3871         * configure.ac:
3872           reorganize
3873           clean up
3874           document more
3875           remove cruft
3876         * check/Makefile.am:
3877         * docs/gst/Makefile.am:
3878         * examples/helloworld/Makefile.am:
3879         * gst/Makefile.am:
3880         * gst/base/Makefile.am:
3881         * gst/check/Makefile.am:
3882         * gst/elements/Makefile.am:
3883         * gst/indexers/Makefile.am:
3884         * gst/parse/Makefile.am:
3885         * libs/gst/controller/Makefile.am:
3886         * libs/gst/dataprotocol/Makefile.am:
3887         * examples/helloworld/helloworld.c: (event_loop):
3888           compile fixes, though it's not being compiled currently
3889
3890 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3891
3892         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
3893           Add some simple tests for the new taglist date API.
3894
3895 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3896
3897         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
3898         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
3899           Beautify 'last-message' output: print 'none' for buffer timestamps
3900           and durations if none is set; improve alignment with next messages.
3901
3902 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3903
3904         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
3905         * gst/gstpluginfeature.h:
3906         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
3907         * gst/gstregistry.h:
3908         * docs/gst/gstreamer-sections.txt:
3909           Add new API to check plugin feature version requirements.
3910
3911         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
3912           Some basic tests for the above.         
3913
3914 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3915
3916         * gst/gststructure.c: (gst_structure_to_string):
3917           guard against NULL printf - happens when for example
3918           a message structure with GstClock gets serialized
3919
3920 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3921
3922         * gst/base/gstcollectpads.c: (gst_collectpads_event):
3923           Fix presumable copy'n'pasto.
3924
3925 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3926
3927         * gst/elements/gstfakesrc.h:
3928         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
3929         * gst/elements/gsttypefindelement.c:
3930           fix some signedness
3931         * gst/elements/gstfilesink.c: (gst_file_sink_render):
3932           I wonder if this could actually write +2GB files before
3933
3934 2005-10-13  Andy Wingo  <wingo@pobox.com>
3935
3936         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
3937         Fix Timmeke Waymans bug.
3938         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
3939         string of the proper length to gst_caps_from_string. There's a
3940         potential for, before this fix, that this could cause someone
3941         connecting over the network to cause a segfault if the payload is
3942         not NUL-terminated.
3943
3944 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3945
3946         * docs/design/draft-push-pull.txt:
3947         * docs/design/part-overview.txt:
3948         * docs/random/TODO-pre-0.9:
3949         * docs/random/old/ChangeLog.gstreamer:
3950         * gst/base/gstpushsrc.c:
3951         * gst/gstclock.c:
3952           fixed typos
3953
3954 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3955
3956         * gst/glib-compat.c: (gst_flags_get_first_value):
3957         * gst/glib-compat.h:
3958         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
3959         (gst_value_compare_double), (gst_value_serialize_flags):
3960           GLib 2.6 g_flags_get_first_value has a bug that triggers an
3961           infinite loop
3962
3963 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3964
3965         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3966         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3967           fix up debugging
3968         * tools/gst-launch.c: (event_loop):
3969           print out clock nicely
3970
3971 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3972
3973         * docs/gst/gstreamer-sections.txt:
3974         * gst/gsttaglist.h:
3975         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
3976         (gst_tag_list_get_date_index):
3977           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
3978           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
3979
3980 2005-10-13  Julien MOUTTE  <julien@moutte.net>
3981
3982         * gst/base/gstcollectpads.c: (gst_collectpads_event),
3983         (gst_collectpads_chain):
3984         * gst/base/gstcollectpads.h: Handle newsegment and store informations
3985         in CollectData.
3986
3987 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3988
3989         * docs/gst/gstreamer-sections.txt:
3990         * gst/gst.c:
3991         * gst/gsterror.h:
3992         * tools/gst-inspect.c: (main):
3993         * tools/gst-launch.c: (main):
3994         * tools/gst-run.c: (main):
3995         * tools/gst-xmlinspect.c: (main):
3996           fix GOption context leaks
3997           doc fixes
3998
3999 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4000
4001         * gst/gstbus.c:
4002           use HAVE_UNISTD_H
4003         * win32/common/config.h:
4004           update config
4005         * win32/vs6/grammar.dsp:
4006         * win32/vs6/libgstelements.dsp:
4007         * win32/vs6/libgstreamer.dsp:
4008           update vs6 files
4009
4010 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4011
4012         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4013         * gst/base/gstbasesrc.c: (gst_base_src_query):
4014           fix more guint64<->gdouble conversions
4015
4016 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4017
4018         * Makefile.am:
4019           add win32-update target
4020         * win32/common/gstconfig.h:
4021         * win32/common/gstenumtypes.c:
4022         * win32/common/gstenumtypes.h:
4023         * win32/common/gstversion.h:
4024           add files that visual studio can't generate
4025
4026 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4027
4028         * Makefile.am:
4029           add a win32-update target
4030         * configure.ac:
4031
4032 2005-10-12  Wim Taymans  <wim@fluendo.com>
4033
4034         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4035         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
4036         * gst/gstelement.c: (gst_element_commit_state),
4037         (gst_element_set_state):
4038         Protect flags with proper lock.
4039         unref provided cached clock in dispose.
4040
4041 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4042
4043         * gst/gst.c:
4044         * gst/gstminiobject.h:
4045         * gst/gstpad.h:
4046         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
4047           removed unused flags from miniobject
4048           doc fixes
4049
4050 2005-10-12  Wim Taymans  <wim@fluendo.com>
4051
4052         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4053         (gst_file_sink_event), (gst_file_sink_render):
4054         Flush before seeking.
4055
4056 2005-10-12  Andy Wingo  <wingo@pobox.com>
4057
4058         * gst/gst.c (gst_init_check): Ignore unknown options, as has
4059         always been the case.
4060
4061 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4062
4063         * check/gst/gstbin.c: (GST_START_TEST):
4064         * docs/gst/gstreamer-sections.txt:
4065         * gst/base/gstbasesink.c: (gst_base_sink_init):
4066         * gst/base/gstbasesrc.c: (gst_base_src_init),
4067         (gst_base_src_get_range), (gst_base_src_check_get_range),
4068         (gst_base_src_start), (gst_base_src_stop):
4069         * gst/base/gstbasesrc.h:
4070         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
4071         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4072         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
4073         (bin_bus_handler):
4074         * gst/gstbin.h:
4075         * gst/gstbuffer.h:
4076         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
4077         * gst/gstbus.h:
4078         * gst/gstelement.c: (gst_element_is_locked_state),
4079         (gst_element_set_locked_state), (gst_element_commit_state),
4080         (gst_element_set_state):
4081         * gst/gstelement.h:
4082         * gst/gstindex.c: (gst_index_init):
4083         * gst/gstindex.h:
4084         * gst/gstminiobject.h:
4085         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
4086         (gst_object_set_parent):
4087         * gst/gstobject.h:
4088         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4089         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4090         * gst/gstpad.h:
4091         * gst/gstpadtemplate.h:
4092         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4093         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4094         * gst/gstpipeline.h:
4095         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4096         (gst_file_index_commit):
4097         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4098         * testsuite/pad/link.c: (gst_test_src_init),
4099         (gst_test_filter_init), (gst_test_sink_init):
4100         * testsuite/states/locked.c: (main):
4101           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
4102           moved bitshift from macro to enum definition
4103
4104 2005-10-12  Wim Taymans  <wim@fluendo.com>
4105
4106         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
4107         * gst/elements/gstfilesink.c: (gst_file_sink_event),
4108         (gst_file_sink_render):
4109         Some more debugging info.
4110
4111 2005-10-12  Wim Taymans  <wim@fluendo.com>
4112
4113         * docs/design/part-states.txt:
4114         * tools/gst-launch.c: (main):
4115         Some doc updates.
4116         Revert non-intentional change.
4117
4118 2005-10-12  Wim Taymans  <wim@fluendo.com>
4119
4120         * check/gst/gstbin.c: (GST_START_TEST):
4121         * check/gst/gstelement.c: (GST_START_TEST):
4122         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4123         * check/gst/gstghostpad.c: (GST_START_TEST):
4124         * check/gst/gstpipeline.c: (GST_START_TEST):
4125         * check/pipelines/simple_launch_lines.c: (run_pipeline):
4126         * check/states/sinks.c: (GST_START_TEST):
4127         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4128         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4129         (gst_bin_remove_func), (gst_bin_get_state_func),
4130         (gst_bin_recalc_state), (gst_bin_change_state_func),
4131         (bin_bus_handler):
4132         * gst/gstelement.c: (gst_element_get_state_func),
4133         (gst_element_get_state), (gst_element_abort_state),
4134         (gst_element_commit_state), (gst_element_set_state),
4135         (gst_element_change_state), (gst_element_change_state_func):
4136         * gst/gstelement.h:
4137         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4138         (gst_pipeline_provide_clock_func):
4139         * gst/gstutils.c: (gst_element_link_pads_filtered):
4140         * tools/gst-launch.c: (main):
4141         * tools/gst-typefind.c: (main):
4142         Use GstClockTime in _get_state() instead of GTimeVal.
4143         Remove old code in gstutils.c
4144
4145 2005-10-12  Andy Wingo  <wingo@pobox.com>
4146
4147         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4148         removed.
4149
4150         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4151         there is no task. Shouldn't affect any code, as nothing in our
4152         plugins checks this return value.
4153         (gst_pad_stop_task): Also take the stream lock if the pad has no
4154         task. Docs updated.
4155
4156 2005-10-12  Wim Taymans  <wim@fluendo.com>
4157
4158         * gst/gstpad.c: (pre_activate), (post_activate),
4159         (gst_pad_activate_pull), (gst_pad_activate_push):
4160         Cleanup activation code. Reset old state if
4161         activation failed.
4162
4163 2005-10-12  Wim Taymans  <wim@fluendo.com>
4164
4165         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4166         (gst_base_sink_change_state):
4167         No need to prerol after receiving EOS.
4168
4169         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4170         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4171         * gst/elements/gstidentity.c: (gst_identity_event):
4172         Print events more verbosely.
4173
4174 2005-10-12  Wim Taymans  <wim@fluendo.com>
4175
4176         * check/Makefile.am:
4177         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4178         * check/states/sinks2.c:
4179         Moved sinks2 testcode in sinks check.
4180
4181         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4182         (gst_bin_remove_func), (gst_bin_recalc_state),
4183         (gst_bin_change_state_func), (bin_bus_handler):
4184         Fix potential race condition when _get_state() iterated over an
4185         ASYNC element right before it posted a state completion.
4186
4187         * gst/gstclock.h:
4188         Do proper cast here.
4189
4190         * gst/gstevent.c: (gst_event_new_newsegment),
4191         (gst_event_parse_newsegment):
4192         A playback rate of 0.0 is not allowed.
4193
4194 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4195
4196         * win32/common/config.h:
4197         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4198         (_trewinddir), (_ttelldir), (_tseekdir):
4199         * win32/common/dirent.h:
4200         * win32/common/gtchar.h:
4201         * win32/common/libgstbase.def:
4202         * win32/common/libgstreamer.def:
4203         * win32/vs6/grammar.dsp:
4204         * win32/vs6/gst_inspect.dsp:
4205         * win32/vs6/gst_launch.dsp:
4206         * win32/vs6/gstreamer.dsw:
4207         * win32/vs6/libgstbase.dsp:
4208         * win32/vs6/libgstelements.dsp:
4209         * win32/vs6/libgstreamer.dsp:
4210           Visual Studio 6 project files, and a new common directory.
4211           Phear.
4212
4213 2005-10-11  Wim Taymans  <wim@fluendo.com>
4214
4215         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4216         (gst_base_sink_do_sync), (gst_base_sink_query),
4217         (gst_base_sink_change_state):
4218         * gst/base/gstbasesink.h:
4219         Correctly parse newsegment info.
4220
4221 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4222
4223         * gst/gst.c: (init_post):
4224           split plugin paths correctly
4225
4226 2005-10-11  Wim Taymans  <wim@fluendo.com>
4227
4228         * check/gst/gstevent.c: (GST_START_TEST):
4229         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4230         (gst_base_sink_change_state):
4231         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4232         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4233         * gst/elements/gstfilesink.c: (gst_file_sink_event):
4234         * gst/gstevent.c: (gst_event_new_newsegment),
4235         (gst_event_parse_newsegment):
4236         * gst/gstevent.h:
4237         Added extra flag to newsegment for future API freeze.
4238         Updated check and base elements.
4239
4240 2005-10-11  Julien MOUTTE  <julien@moutte.net>
4241
4242         * gst/base/gstcollectpads.c: (gst_collectpads_init),
4243         (gst_collectpads_add_pad), (gst_collectpads_pop),
4244         (gst_collectpads_event), (gst_collectpads_chain):
4245         * gst/base/gstcollectpads.h: Handle EOS correctly.
4246
4247 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4248
4249         * tools/gst-launch.c: (main):
4250           more null protecting
4251
4252 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4253
4254         * gst/gst-i18n-lib.h:
4255           check for ENABLE_NLS, not GETTEXT_PACKAGE
4256         * gst/gstregistry.c: (gst_registry_add_plugin),
4257         (gst_registry_scan_path_level),
4258         (_gst_registry_remove_cache_plugins):
4259           protect possibly NULL strings
4260         * gst/parse/types.h:
4261           config.h already included before
4262         * tools/gst-inspect.c: (main):
4263           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4264           check for ENABLE_NLS, not GETTEXT_PACKAGE
4265         * tools/gst-launch.c: (main):
4266           check for ENABLE_NLS, not GETTEXT_PACKAGE
4267
4268 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4269
4270         * configure.ac:
4271           if we don't have glib, fail before testing 2.8
4272         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4273           fix a leak, should fix plugins-base testsuite
4274
4275 2005-10-11  Andy Wingo  <wingo@pobox.com>
4276
4277         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4278         take the mode we're going to as an arg. Go head and set the mode
4279         and flushing flags now, so that if the activate function starts a
4280         thread all the flags will be in the right state.
4281         (post_activate): Renamed also. Just handle making sure streaming
4282         finishes for the deactivation case, and setting the deactivated
4283         mode.
4284         (gst_pad_set_active): Complain loudly if deactivation fails.
4285         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4286         (gst_pad_activate_push): Adapt to pre/post_activate changes,
4287         remove the terrible hack.
4288
4289 2005-10-11  Wim Taymans  <wim@fluendo.com>
4290
4291         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4292         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4293         (gst_bin_recalc_state), (gst_bin_change_state_func),
4294         (gst_bin_dispose), (bin_bus_handler):
4295         * gst/gstbin.h:
4296         Prepare to make current EOS message queue more generic.
4297         Fix some typos.
4298
4299         * gst/gstevent.c: (gst_event_new_newsegment),
4300         (gst_event_parse_newsegment):
4301         * gst/gstevent.h:
4302         Rename base to stream_time.
4303
4304         * gst/gstmessage.h:
4305         Fix typo in docs.
4306
4307 2005-10-11  Wim Taymans  <wim@fluendo.com>
4308
4309         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4310         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
4311         (gst_bin_change_state_func), (bin_bus_handler):
4312         * gst/gstbin.h:
4313         Work on proper clock selection.
4314
4315 2005-10-11  Edward Hervey  <edward@fluendo.com>
4316
4317         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
4318         * libs/gst/controller/gstcontroller.h:
4319         Added GList* version of _remove_properties() in order to be able to wrap
4320         it in bindings.
4321
4322 2005-10-11  Wim Taymans  <wim@fluendo.com>
4323
4324         * docs/design/part-states.txt:
4325         Some more docs.
4326
4327         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
4328         (gst_bin_change_state_func), (bin_bus_handler):
4329         Doc updates. Don't distribute the same clock over and over again.
4330
4331         * gst/gstclock.c:
4332         * gst/gstclock.h:
4333         Doc updates.
4334
4335         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
4336         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
4337         (gst_pad_send_event):
4338         * gst/gstpad.h:
4339         Make probe emission threadsafe again.
4340         Register quarks and move _get_name() from utils.
4341         Doc updates.
4342
4343         * gst/gstpipeline.c: (gst_pipeline_class_init),
4344         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4345         Only redistribute the clock of it changed.
4346
4347         * gst/gstsystemclock.h:
4348         Doc updates. 
4349
4350         * gst/gstutils.c:
4351         * gst/gstutils.h:
4352         Moved the _flow_get_name() to GstPad.
4353
4354 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4355
4356         * check/gst-libs/gdp.c: (GST_START_TEST):
4357         * check/gst/gstcaps.c: (GST_START_TEST):
4358         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
4359         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
4360         (gst_dp_packet_from_caps):
4361           fix more valgrind warnings before turning up the heat
4362
4363 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4364
4365         * gst/parse/grammar.y:
4366           some cleanup before the hacking
4367
4368 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4369
4370         * gst/base/gstbasesrc.c: (gst_base_src_query):
4371           use conversions
4372         * gst/gstutils.c: (gst_guint64_to_gdouble),
4373         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
4374         * gst/gstutils.h:
4375           externalize, basesrc uses it
4376           obviously the implementation needs testing
4377
4378 2005-10-10  Wim Taymans  <wim@fluendo.com>
4379
4380         * tests/sched/Makefile.am:
4381         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
4382         (make_pipeline3), (make_pipeline4), (print_elem), (main):
4383
4384 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4385
4386         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
4387           apparently converting from guint64 to double is not implemented
4388           on MSVC
4389
4390 2005-10-10  Wim Taymans  <wim@fluendo.com>
4391
4392         * check/Makefile.am:
4393         * check/generic/states.c: (GST_START_TEST):
4394         * check/gst/gstbin.c: (GST_START_TEST):
4395         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4396         * check/states/sinks.c: (GST_START_TEST):
4397         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
4398         (main):
4399         Check fixes, use API as stated in design docs, remove hacks.
4400
4401         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4402         (gst_base_sink_change_state):
4403         Catch stopping our task while we're shutting down.
4404
4405         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
4406         (gst_bin_remove_func), (gst_bin_get_state_func),
4407         (gst_bin_recalc_state), (gst_bin_change_state_func),
4408         (bin_bus_handler):
4409         * gst/gstbin.h:
4410         * gst/gstelement.c: (gst_element_init),
4411         (gst_element_get_state_func), (gst_element_abort_state),
4412         (gst_element_commit_state), (gst_element_lost_state),
4413         (gst_element_set_state), (gst_element_change_state),
4414         (gst_element_change_state_func):
4415         * gst/gstelement.h:
4416         New state change algorithm (see #318116)
4417
4418         * gst/gstpipeline.c: (gst_pipeline_class_init),
4419         (gst_pipeline_init), (gst_pipeline_set_property),
4420         (gst_pipeline_get_property), (do_pipeline_seek),
4421         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4422         * gst/gstpipeline.h:
4423         Remove crude state change hacks.
4424
4425         * gst/gstutils.h:
4426         Remove crude hacks.
4427
4428         * tools/gst-launch.c: (main):
4429         Fixes for state change. Needs some more work to fully use the
4430         new stuff.
4431
4432 2005-10-10  Andy Wingo  <wingo@pobox.com>
4433
4434         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
4435
4436         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
4437         this flag, but it's not even in GLib 2.6. Odd. Hack around the
4438         issue.
4439
4440 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4441
4442         * gst/gstiterator.c: (gst_iterator_new):
4443           Fix my previous commit: GTypes passed to gst_iterator_new()
4444           can be fundamental types.
4445
4446 2005-10-10  Wim Taymans  <wim@fluendo.com>
4447
4448         * gst/gstelement.c: (gst_element_iterate_pad_list),
4449         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
4450         (gst_element_iterate_sink_pads):
4451         Use src/sink pads lists for the respective iterators instead
4452         of filtering.
4453
4454 2005-10-10  Andy Wingo  <wingo@pobox.com>
4455
4456         Merged in popt removal + GOption addition patch from Ronald, bug
4457         #169772.
4458
4459         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
4460         GstElement macros around, remove popt-related symbols, add goption
4461         stuff.
4462
4463         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
4464         
4465         * docs/gst/Makefile.am:
4466         * docs/libs/Makefile.am: No POPT_CFLAGS.
4467         
4468         * examples/manual/Makefile.am:
4469         * docs/manual/basics-init.xml: Doc updates with an example.
4470         
4471         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4472         (gst_init), (parse_one_option), (parse_goption_arg):
4473         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
4474         bit of hand merging and debugging to get the GOption stuff working
4475         tho.
4476         
4477         * tests/Makefile.am:
4478         * tools/Makefile.am:
4479         * tools/gst-inspect.c: (main):
4480         * tools/gst-launch.c: (main):
4481         * tools/gst-run.c: (main):
4482         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
4483
4484 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4485
4486         * gst/gstiterator.c: (gst_iterator_new):
4487           Add assertions to make sure passed GType is likely to really
4488           be a GType (as the compiler won't catch it if the size and
4489           GType arguments get mixed up, see #318447).
4490
4491 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
4492
4493         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4494
4495         * gst/gstbin.c: (gst_bin_iterate_sorted):
4496           Pass GType and size arguments to gst_iterator_new() in the right
4497           order (maybe we should make _new() take the GType as first argument
4498           just like _new_list()?) (#318447).
4499           
4500
4501 2005-10-10  Wim Taymans  <wim@fluendo.com>
4502
4503         * gst/gstelement.c: (gst_element_finalize):
4504         And free the GStaticRecMutex too
4505
4506 2005-10-10  Andy Wingo  <wingo@pobox.com>
4507
4508         * gst/gstelement.c (gst_element_init, gst_element_finalize):
4509         Allocate and free the mutex properly.
4510
4511         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
4512         New macros.
4513         (GstElement): The state_lock is now recursive. Rebuild your
4514         plugins, suckers. Old macros adapted.
4515
4516         * docs/gst/gstreamer-sections.txt: Doc updates.
4517
4518         * gst/gstutils.h:
4519         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
4520         (g_static_rec_cond_wait): Ported from state changes patch, while
4521         we wait on bug #317802 to be solved in a well-distributed GLib.
4522
4523         * gst/gstelement.c (gst_element_change_state_func): Renamed from
4524         gst_element_change_state, variable name changes.
4525         (gst_element_change_state): Split out of gst_element_set_state in
4526         preparation for the state change merge. Doesn't pay attention to
4527         the 'transition' argument.
4528         (gst_element_set_state): Updates, hopefully purely cosmetic.
4529         (gst_element_sync_state_with_parent): MT-safety. Ported from the
4530         state change patch.
4531         (gst_element_get_state_func): Renamed from get_state, cosmetic
4532         changes.
4533
4534 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4535
4536         * gst/elements/gstelements.c:
4537         * win32/GStreamer.vcproj:
4538         * win32/config.h:
4539         * win32/dirent.c: (_tseekdir):
4540         * win32/gst-inspect.vcproj:
4541         * win32/gst-launch.vcproj:
4542         * win32/gstconfig.h:
4543         * win32/gstelements.vcproj:
4544         * win32/gstenumtypes.c: (gst_object_flags_get_type):
4545         * win32/gstreamer.def:
4546         * win32/msvc71.sln:
4547           updates for the win32 build (patch from Sebastien Moutte)
4548
4549 2005-10-10  Andy Wingo  <wingo@pobox.com>
4550
4551         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
4552         gst_bin_get_state, cleaned up (but no logic changes).
4553         (bin_element_is_sink): Comment updates.
4554         (sink_iterator_filter): Remove needless cast.
4555         (gst_bin_iterate_sinks): Doc update.
4556         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
4557         cleaned up (but no logic changes).
4558
4559         * check/states/sinks.c (test_src_sink): Cleanups from the state
4560         change patch.
4561         (test_livesrc_sink): Sync on the state.
4562
4563         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
4564         the state change patch.
4565
4566         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
4567         change patch.
4568
4569         * check/gst/gstbin.c: Merge in some style fixes and additional
4570         checks from Wim's state change patch.
4571
4572 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4573
4574         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4575         (gst_type_find_helper):
4576           Check whether we have the requested data already in our list of
4577           cached buffers before pulling a new buffer; also make the buffer
4578           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
4579
4580 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4581
4582         * gst/gstcaps.c:
4583         * gst/gstevent.c:
4584           doc updates
4585         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
4586           don't use long long, it's not portable.  Replacing with
4587           gint64 seems to work; let's hope no skeletons fall out of the closet.
4588
4589 2005-10-10  Andy Wingo  <wingo@pobox.com>
4590
4591         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
4592
4593 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
4594
4595         * docs/gst/gstreamer-sections.txt:
4596         * gst/gstevent.c:
4597         * gst/gstevent.h:
4598         * gst/gstinfo.c:
4599         * gst/gstinfo.h:
4600         * gst/gstmessage.c: (gst_message_parse_state_changed):
4601         * gst/gstpad.c:
4602         * gst/gstpad.h:
4603           more docs, fix compilation
4604
4605 2005-10-09  Philippe Khalaf <burger@speedy.org>
4606         * gst/gstmessage.c:
4607           Fixed a few forgotten variables on previous commit
4608
4609 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4610
4611         * gst/base/gsttypefindhelper.c: (helper_find_peek):
4612           Fix evil typefind crasher: getrange() might return a short
4613           buffer at the end of a file, but gst_type_find_peek() must
4614           either return the full data as requested or NULL, but
4615           never a short buffer.
4616
4617 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4618
4619         * gst/gstmessage.c: (gst_message_new_state_changed),
4620         (gst_message_parse_state_changed):
4621         * gst/gstmessage.h:
4622           don't use "new", it's a C++ keyword
4623
4624 2005-10-08  Wim Taymans  <wim@fluendo.com>
4625
4626         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
4627         * gst/gstelement.c: (gst_element_post_message):
4628         * gst/gstpipeline.c: (gst_pipeline_change_state):
4629         Small docs and debug updates.
4630
4631 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4632
4633         * docs/gst/gstreamer-sections.txt:
4634         * gst/gstelementfactory.c:
4635         * gst/gstevent.c:
4636         * gst/gsttaglist.c:
4637           more docs
4638
4639 2005-10-08  Wim Taymans  <wim@fluendo.com>
4640
4641         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
4642         (gst_bin_dispose), (bin_bus_handler):
4643         Fix typos, add comments.
4644         Clear EOS list when going to PAUSED from any direction and do it
4645         in a threadsafe way.
4646         Get base time in a threadsafe way too.
4647         Fix confusing debug in the change_state function.
4648         Various other small cleanups.
4649         
4650         * gst/gstelement.c: (gst_element_post_message):
4651         Fix very verbose bus posting code.
4652
4653         * gst/gstpipeline.c: (gst_pipeline_class_init),
4654         (gst_pipeline_set_property), (gst_pipeline_get_property),
4655         (gst_pipeline_change_state):
4656         Small ARG_ -> PROP_ cleanup
4657
4658 2005-10-08  Wim Taymans  <wim@fluendo.com>
4659
4660         * gst/gstbin.c: (is_eos), (bin_bus_handler):
4661         Do a less CPU demanding EOS check because we can.
4662
4663 2005-10-08  Wim Taymans  <wim@fluendo.com>
4664
4665         * libs/gst/dataprotocol/dataprotocol.c:
4666         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
4667         (gst_dp_packet_from_event):
4668         * libs/gst/dataprotocol/dataprotocol.h:
4669         * libs/gst/dataprotocol/dp-private.h:
4670         It's about time we bump the version number.
4671         Since event types don't fit in the guint8 anymore describing
4672         the payload type, make payload type 16 bits wide.
4673
4674 2005-10-08  Wim Taymans  <wim@fluendo.com>
4675
4676         * docs/design/part-TODO.txt:
4677         * docs/design/part-clocks.txt:
4678         * docs/design/part-events.txt:
4679         * docs/design/part-gstbin.txt:
4680         * docs/design/part-gstelement.txt:
4681         * docs/design/part-gstpipeline.txt:
4682         * docs/design/part-live-source.txt:
4683         * docs/design/part-messages.txt:
4684         * docs/design/part-overview.txt:
4685         * docs/design/part-states.txt:
4686         Many doc updates.
4687
4688 2005-10-08  Wim Taymans  <wim@fluendo.com>
4689
4690         * gst/gstevent.c:
4691         * gst/gstevent.h:
4692         Fix event quark registration.
4693         Add some space between events so we can insert them in the
4694         right groups.
4695
4696 2005-10-08  Wim Taymans  <wim@fluendo.com>
4697
4698         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4699         (gst_base_sink_handle_buffer):
4700         Better log message.
4701
4702         * gst/gstbus.h:
4703         * gst/gstelement.h:
4704         More docs.
4705
4706         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4707         (gst_queue_set_property), (gst_queue_get_property):
4708         * gst/gstqueue.h:
4709         Remove old unused properties.
4710
4711 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4712         * docs/gst/gstreamer-sections.txt:
4713         * gst/gstmessage.c:
4714         * gst/gstmessage.h:
4715         * gst/gstminiobject.c:
4716         * gst/gstminiobject.h:
4717         * gst/gstobject.h:
4718         * gst/gstpad.h:
4719         * gst/gstutils.h:
4720           lots of new docs and doc fixes
4721
4722 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4723
4724         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
4725         * gst/gstplugin.h:
4726         * gst/gstregistry.c: (gst_registry_lookup_locked),
4727         (gst_registry_scan_path_level):
4728         * gst/gstregistryxml.c: (load_plugin):
4729           Only ever load one plugin for a given plugin basename.
4730           This ensures correct overriding of GST_PLUGIN_PATH over
4731           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
4732           system installed plugins.
4733
4734 2005-10-08  Wim Taymans  <wim@fluendo.com>
4735
4736         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4737         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
4738         Prepare for doing QOS.
4739
4740 2005-10-08  Wim Taymans  <wim@fluendo.com>
4741
4742         * check/gst/gstbin.c: (GST_START_TEST):
4743         * check/pipelines/cleanup.c: (GST_START_TEST):
4744         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
4745         Allow new clock message too.
4746
4747 2005-10-08  Wim Taymans  <wim@fluendo.com>
4748
4749         * gst/gstmessage.c: (gst_message_new_error),
4750         (gst_message_new_warning), (gst_message_new_tag),
4751         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4752         (gst_message_new_clock_lost), (gst_message_new_new_clock),
4753         (gst_message_new_segment_start), (gst_message_new_segment_done),
4754         (gst_message_parse_state_changed),
4755         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
4756         (gst_message_parse_new_clock):
4757         * gst/gstmessage.h:
4758         Also carry the clock in question.
4759
4760 2005-10-08  Wim Taymans  <wim@fluendo.com>
4761
4762         * gst/gstmessage.c: (gst_message_new_custom),
4763         (gst_message_new_eos), (gst_message_new_error),
4764         (gst_message_new_warning), (gst_message_new_tag),
4765         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4766         (gst_message_new_new_clock), (gst_message_new_segment_start),
4767         (gst_message_new_segment_done), (gst_message_parse_state_changed),
4768         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
4769         * gst/gstmessage.h:
4770         Clean up.
4771         Added clock related messages.
4772
4773         * gst/gstpipeline.c: (gst_pipeline_change_state):
4774         Post message when the clock changed.
4775
4776         * tools/gst-launch.c: (event_loop):
4777         Print new clock.
4778
4779 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
4780
4781         * tools/gst-inspect.c: (print_element_properties_info):
4782           Can't pass NULL strings to g_print() on windows.
4783
4784 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4785
4786         * docs/Makefile.am:
4787         * docs/gst/Makefile.am:
4788         * docs/gst/gstreamer-docs.sgml:
4789         * docs/gst/running.xml:
4790         * docs/version.entities.in:
4791           add a chapter on running GStreamer.
4792           document GST_DEBUG and GST_PLUGIN* env vars
4793
4794 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4795
4796         * Makefile.am:
4797           remove include dir
4798         * configure.ac:
4799           remove PLUGINS_BUILDDIR stuff
4800         * gst/gst.c: (init_post):
4801           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
4802         * idiottest.mak:
4803           remove, it was condescending and not needed
4804
4805 2005-10-08  Wim Taymans  <wim@fluendo.com>
4806
4807         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
4808         (gst_base_sink_handle_object), (gst_base_sink_event),
4809         (gst_base_sink_wait), (gst_base_sink_handle_event),
4810         (gst_base_sink_change_state):
4811         * gst/base/gstbasesink.h:
4812         Repost EOS message while going to PLAYING if still EOS.
4813         Make sure that when receiving a FLUSH_START we don't attempt
4814         to sync on the clock anymore.
4815
4816 2005-10-08  Wim Taymans  <wim@fluendo.com>
4817
4818         * tools/gst-launch.c: (event_loop):
4819         Better message printout.
4820
4821 2005-10-08  Wim Taymans  <wim@fluendo.com>
4822
4823         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
4824         (gst_bin_child_proxy_get_children_count):
4825         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
4826         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
4827         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
4828         (gst_child_proxy_set_valist):
4829         * gst/parse/grammar.y:
4830         Make ChildProxy threadsafe and fix mem leaks.
4831
4832 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4833
4834         * gst/gst.c: (init_post):
4835           debug the GST_PLUGIN_ env vars
4836
4837 2005-10-08  Wim Taymans  <wim@fluendo.com>
4838
4839         * check/gst/gstbin.c: (GST_START_TEST):
4840         * check/gst/gstmessage.c: (GST_START_TEST):
4841         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4842         * gst/gstelement.c: (gst_element_commit_state),
4843         (gst_element_lost_state):
4844         * gst/gstmessage.c: (gst_message_new_state_changed),
4845         (gst_message_parse_state_changed):
4846         * gst/gstmessage.h:
4847         * tools/gst-launch.c: (event_loop):
4848         Added extra field to STATE_CHANGE message with the pending
4849         state, which will be different from the new state soon.
4850
4851 2005-10-08  Wim Taymans  <wim@fluendo.com>
4852
4853         * gst/gstbus.c: (gst_bus_pop):
4854         * gst/gstclock.c:
4855         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
4856         Small cleanups and doc updates.
4857
4858 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4859
4860         * gst/gst.c: (init_pre):
4861         * gst/gstbin.c: (gst_bin_add_func):
4862           log distributing clocks and base time
4863         * gst/gstregistry.c: (gst_registry_add_plugin),
4864         (gst_registry_scan_path_level), (gst_registry_scan_path):
4865           clean up the debugging output a little
4866         * gst/gstutils.c: (gst_element_state_get_name):
4867           warn about a memleak (I've actually seen this be used, though
4868           it was probably a bug)
4869
4870 2005-10-07  Wim Taymans  <wim@fluendo.com>
4871
4872         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4873         (gst_base_src_init), (gst_base_src_default_newsegment),
4874         (gst_base_src_newsegment), (gst_base_src_do_seek),
4875         (gst_base_src_loop), (gst_base_src_start):
4876         * gst/base/gstbasesrc.h:
4877         Make the newsegment event customizable by subclasses.
4878
4879 2005-10-07  Wim Taymans  <wim@fluendo.com>
4880
4881         * gst/gstevent.c: (gst_event_new_buffersize),
4882         (gst_event_parse_buffersize):
4883         * gst/gstevent.h:
4884         New event for future idea.
4885
4886 2005-10-07  Andy Wingo  <wingo@pobox.com>
4887
4888         * gst/gstelement.c (gst_element_post_message): Doc update.
4889
4890         * docs/gst/gstreamer-sections.txt: Update.
4891
4892         * gst/gstmessage.c (gst_message_new_application): Made into a
4893         function like honest API calls.
4894         (gst_message_new_element): New message type.
4895
4896         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
4897
4898         * check/elements/fakesrc.c (test_no_preroll): New check, checks
4899         that setting a live fakesrc to PAUSED returns NO_PREROLL both
4900         times.
4901
4902         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
4903         NO_PREROLL from gst_element_change_state to fall through.
4904
4905 2005-10-07  Wim Taymans  <wim@fluendo.com>
4906
4907         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
4908         (gst_ghost_pad_do_activate_push):
4909         Activating a ghostpad with no internal pad in push mode
4910         is ok.
4911
4912 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4913
4914         * gst/gstobject.h:
4915           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
4916           Fixes compilation on Windows.
4917
4918 2005-10-07  Michael Smith <msmith@fluendo.com>
4919
4920         * tools/gst-inspect.c:
4921           Print out feature and plugin count at the end when printing out
4922           all features.
4923
4924 2005-10-04  Michael Smith <msmith@fluendo.com>
4925
4926         * gst/gsterror.c: (_gst_stream_errors_init):
4927           Add another error string used in a few existing plugins.
4928
4929         * gst/gstplugin.c:
4930         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4931         * tools/gst-inspect.c: (print_element_info):
4932           When a feature disappears from a plugin (and the feature exists in
4933           the cached registry file), things went horribly wrong. This isn't a
4934           complete fix, we should actually be removing the 'missing' features
4935           from the features list when we load the actual plugin. That's not
4936           yet implemented. 
4937
4938 2005-10-04  Johan Dahlin  <johan@gnome.org>
4939
4940         * check/gst/gstiterator.c: (GST_START_TEST):
4941         * gst/gstbin.c: (gst_bin_iterate_elements),
4942         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
4943         * gst/gstelement.c: (gst_element_iterate_pads):
4944         * gst/gstformat.c: (gst_format_iterate_definitions):
4945         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4946         (gst_iterator_new_list), (gst_iterator_filter):
4947         * gst/gstiterator.h:
4948         * gst/gstquery.c: (gst_query_type_iterate_definitions):
4949         Add a GType to GstIterator, update callsites and tests.
4950
4951 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4952
4953         * gst/gstpad.c: (gst_pad_event_default_dispatch):
4954           give events a chance to be handled by event probes when the pad
4955           is not linked
4956
4957 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4958
4959         * gst/gstevent.c: (gst_event_type_get_name),
4960         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
4961         * gst/gstevent.h:
4962           add string representations for event types
4963
4964 2005-10-06  Wim Taymans  <wim@fluendo.com>
4965
4966         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
4967         Don't use NULL pointers.
4968
4969 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4970
4971         * gst/gst_private.h:
4972         * gst/gstbus.c:
4973         * gst/gstelement.c:
4974         * gst/gstinfo.c:
4975         * gst/gstpluginfeature.c:
4976           widen the debug category in output to fit the biggest one we have
4977           add a bus category and use it
4978           play with the colors
4979           fix up some categories
4980
4981 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4982
4983         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
4984           add push activation of sink ghost pads.
4985           Andye, please verify
4986
4987 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4988
4989         * gst/gstutils.c: (gst_element_link_pads):
4990           fix a bug in the case where neither element has a pad
4991         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
4992           add a test for that case
4993
4994 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4995
4996         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
4997           emit have-data before checking for peers.  This allows
4998           for probe handlers to connect elements.  This helps autopluggers.
4999         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
5000         (gst_pad_suite):
5001           add six checks, linked/unlinked with no/true/false probe
5002
5003 2005-10-04  Wim Taymans  <wim@fluendo.com>
5004
5005         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
5006         (gst_fake_sink_event), (gst_fake_sink_preroll),
5007         (gst_fake_sink_render), (gst_fake_sink_change_state):
5008         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
5009         (gst_fake_src_get_property), (gst_fake_src_create),
5010         (gst_fake_src_stop):
5011         * gst/elements/gstidentity.c: (gst_identity_stop):
5012         Protect last_message with lock.
5013
5014 2005-10-04  Edward Hervey  <edward@fluendo.com>
5015
5016         * gst/gstformat.h: 
5017         Added precision in the comments for GST_FORMAT_DEFAULT
5018
5019 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
5020
5021         * tools/gst-launch.c: (main):
5022           Don't try to run erroneous pipelines.
5023
5024 2005-10-04  Julien MOUTTE  <julien@moutte.net>
5025
5026         * gst/gstbus.c: We don't need this header.
5027
5028 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5029
5030         * configure.ac:
5031           back to development
5032
5033 === release 0.9.3 ===
5034
5035 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5036
5037         * README:
5038         * configure.ac:
5039           Releasing 0.9.3, "Unregistered"
5040
5041 2005-10-03  Andy Wingo  <wingo@pobox.com>
5042
5043         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
5044         whereby calling a pad's activatepush() function can start a thread
5045         that starts to push or pull before the pad gets the FLUSHING flag
5046         unset. Hack around it by holding the stream lock until the flag is
5047         set. Need to replace this with a proper solution. Together with
5048         the ghost pad fixes, this fixes mp3 playing/tagreading.
5049
5050         * docs/design/part-gstghostpad.txt: Add a note about activation of
5051         proxy pads outside of ghost pads.
5052
5053         * gst/gstghostpad.c: Implement the ghost pad activation design.
5054
5055 2005-10-02  Andy Wingo  <wingo@pobox.com>
5056
5057         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
5058         It is volatile, after all.
5059
5060         * docs/design/part-gstghostpad.txt: Flesh out activation with
5061         ghost pads.
5062
5063         * gst/base/gstbasesrc.c (gst_base_src_init): Use
5064         GST_DEBUG_FUNCPTR.
5065
5066 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5067
5068         * configure.ac:
5069           Fix (unused) AM_CONDITIONAL tests.
5070
5071 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
5072
5073         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5074
5075         * gst/gstutils.c: (gst_pad_query_convert):
5076           Add assertion that makes sure src_val is >=0, just like
5077           gst_query_new_convert() has. (#315895)
5078
5079 2005-09-30  Edward Hervey  <edward@fluendo.com>
5080
5081         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
5082         Let's not iterate pads we're not interested in, it avoids getting 
5083         sky-high refcounts on sinkpad.
5084
5085 2005-09-30  Wim Taymans  <wim@fluendo.com>
5086
5087         * gst/gstelement.c: (gst_element_set_state),
5088         (gst_element_change_state):
5089         Small tweak, element in ASYNC remains ASYNC.
5090
5091 2005-09-30  Wim Taymans  <wim@fluendo.com>
5092
5093         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5094         Only error is an error.
5095
5096         * gst/gstbin.c: (gst_bin_change_state):
5097         Better debugging.
5098
5099         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
5100         Also call pad_block in pad alloc.
5101
5102         * gst/gstutils.c: (gst_flow_get_name):
5103         Better debugging.
5104
5105 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5106
5107         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5108         (gst_base_src_get_range):
5109           Fix documentation typos. Add some more debug info.
5110
5111 2005-09-29  David Schleef  <ds@schleef.org>
5112
5113         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5114           more end-user friendly.
5115         * tools/gst-inspect.c: (main): Check if command-line argument is
5116           a file and attempt to load that file as a plugin.
5117
5118 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5119
5120         * check/gst/gstbin.c:
5121         * check/states/sinks.c:
5122           fix tests for the new warning
5123         * check/gst/gstpipeline.c:
5124           add a test for pipeline and bus interaction
5125         * gst/gstelement.c:
5126           elements should be NULL if they get disposed; add a warning if not
5127
5128 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5129
5130         * gst/gstobject.c:
5131           for 2.6 refcounting, make debug log more correct by printing
5132           the actual refcounts at the time of swap (Wim)
5133
5134 2005-09-29  Andy Wingo  <wingo@pobox.com>
5135
5136         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5137         removes signal watches previously added via
5138         gst_bus_add_signal_watch.
5139         (gst_bus_add_signal_watch): Don't return the source id, just store
5140         it on the bus if there wasn't an id already.
5141
5142         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5143         add_signal_watch and remove_signal_watch.
5144
5145 2005-09-29  Edward Hervey  <edward@fluendo.com>
5146
5147         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
5148         Better if we actually iterate the list :)
5149
5150 2005-09-29  Wim Taymans  <wim@fluendo.com>
5151
5152         * check/gst/gstbin.c: (GST_START_TEST):
5153         Change for new bus API.
5154
5155         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5156         (send_messages), (GST_START_TEST), (gstbus_suite):
5157         Change for new bus signal API.
5158
5159         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5160         (gst_bus_source_prepare), (gst_bus_source_check),
5161         (gst_bus_create_watch), (gst_bus_add_watch_full),
5162         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5163         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5164         * gst/gstbus.h:
5165         Remove support for multiple GSources operating on different
5166         message types as it is too complex and unneeded when using
5167         signals.
5168         Added support for receiving signals from the bus.
5169
5170 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5171
5172         * docs/libs/tmpl/gstdataprotocol.sgml:
5173         * docs/manual/advanced-dataaccess.xml:
5174         * gst/elements/gstcapsfilter.c:
5175         * gst/gstutils.c:
5176           rename filter-caps to caps property
5177
5178 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5179
5180         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5181           More robust fraction string parsing.
5182
5183         * docs/pwg/appendix-porting.xml:
5184           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5185
5186 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5187
5188         * gst/gstcaps.c: (gst_caps_do_simplify):
5189           Thou shalt not free a structure and then continue using it
5190           in the next loop iteration.
5191
5192         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5193         (gst_caps_suite):
5194           Add test case for caps simplification.
5195
5196 2005-09-29  Wim Taymans  <wim@fluendo.com>
5197
5198         * check/gst/gstbin.c: (GST_START_TEST):
5199         Oops.
5200
5201 2005-09-29  Wim Taymans  <wim@fluendo.com>
5202
5203         * check/gst/gstbin.c: (GST_START_TEST):
5204         Add bus to bin.
5205
5206         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5207         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5208         (find_element), (gst_bin_sort_iterator_next),
5209         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5210         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5211         (gst_bin_change_state), (gst_bin_dispose):
5212         A bin does not have a bus, it gets the bus from the parent.
5213
5214         * gst/gstelement.c: (gst_element_requires_clock),
5215         (gst_element_provides_clock), (gst_element_is_indexable),
5216         (gst_element_is_locked_state), (gst_element_change_state),
5217         (gst_element_set_bus_func):
5218         Small cleanups.
5219
5220         * gst/gstpipeline.c: (gst_pipeline_class_init),
5221         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5222         The pipeline provides a bus.
5223
5224 2005-09-28  Johan Dahlin  <johan@gnome.org>
5225
5226         * gst/gstmessage.c (gst_message_parse_state_changed): Use
5227         gst_structure_get_enum instead of gst_structure_get_int
5228
5229         * gst/gststructure.c (gst_structure_get_enum): Impl.
5230
5231         * gst/gststructure.h (gst_structure_get_enum): Add
5232
5233         * docs/gst/gstreamer-sections.txt: Ditto
5234
5235         * gst/gstmessage.c (gst_message_new_state_changed): Use
5236         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5237         which does introspection.
5238         Reviewed by Christian Schaller
5239
5240 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5241
5242         * gst/gstinfo.c: (gst_debug_log_default):
5243           don't do dummy g_strdup()s
5244         * libs/gst/controller/gstcontroller.c:
5245         (on_object_controlled_property_changed),
5246         (gst_controlled_property_new), (gst_controller_new_valist),
5247         (gst_controller_new_list),
5248         (gst_controller_remove_properties_valist), (gst_controller_set),
5249         (gst_controller_get), (gst_controller_sync_values),
5250         (gst_controller_get_value_array), (_gst_controller_class_init),
5251         (gst_controller_get_type):
5252         * libs/gst/controller/gstcontroller.h:
5253         * libs/gst/controller/gstinterpolation.c:
5254         (gst_controlled_property_find_timed_value_node):
5255           convert // to /**/ comments
5256
5257 2005-09-28  Wim Taymans  <wim@fluendo.com>
5258
5259         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5260         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5261         (gst_bus_sync_signal_handler):
5262         * gst/gstbus.h:
5263         Added async-message and sync-message signals to the bus.
5264         Added helper BusFunc to emit signals for all posted messages.
5265
5266         * gst/gstmessage.c: (gst_message_type_get_name),
5267         (gst_message_type_to_quark), (gst_message_get_type):
5268         * gst/gstmessage.h:
5269         Register quarks for message names.
5270
5271 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5272
5273         * docs/libs/gstreamer-libs-sections.txt:
5274         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5275         (gst_controller_new_list):
5276         * libs/gst/controller/gstcontroller.h:
5277           added another constructor for language bindings
5278
5279 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5280
5281         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5282           add another check
5283         * gst/gstbus.c:
5284           add some doc
5285         * gst/gstinfo.c: (_gst_debug_init):
5286           slightly more readable color for refcount debugging
5287
5288 2005-09-28  Wim Taymans  <wim@fluendo.com>
5289
5290         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5291         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5292         (find_element), (gst_bin_sort_iterator_next),
5293         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5294         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5295         (gst_bin_change_state), (gst_bin_dispose):
5296         Small doc fixes. get_clock -> provide_clock.
5297
5298         * gst/gstelement.c: (gst_element_class_init),
5299         (gst_element_provides_clock), (gst_element_provide_clock),
5300         (gst_element_get_clock), (gst_element_commit_state),
5301         (gst_element_lost_state):
5302         * gst/gstelement.h:
5303         Make get/set_clock() symetric. Add provide_clock vmethod since
5304         that is actually what this function does.
5305
5306         * gst/gstpipeline.c: (gst_pipeline_class_init),
5307         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
5308         (gst_pipeline_get_clock):
5309         get_clock -> provide_clock.
5310
5311 2005-09-28  Andy Wingo  <wingo@pobox.com>
5312
5313         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
5314         lieu of real docs...
5315
5316         * gst/elements/gstfdsrc.c: Cleaned up a bit.
5317
5318 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
5319
5320         * gst/elements/gstcapsfilter.c:
5321         * gst/elements/gstfakesink.c:
5322         * gst/elements/gstfakesrc.c:
5323         * gst/elements/gstfdsink.c:
5324         * gst/elements/gstfdsrc.c:
5325         * gst/elements/gstfilesink.c:
5326         * gst/elements/gstfilesrc.c:
5327         * gst/elements/gstidentity.c:
5328         * gst/elements/gsttee.c:
5329         * gst/elements/gsttypefindelement.c:
5330           Make element details static.
5331
5332 2005-09-28  Wim Taymans  <wim@fluendo.com>
5333
5334         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5335         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5336         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5337         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5338         (gst_bin_change_state), (gst_bin_dispose):
5339         Some documentation updates.
5340         Clean up dispose handlers.
5341
5342         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
5343         * gst/gstpad.c: (gst_pad_dispose):
5344         Clean up dispose handler.
5345
5346         * gst/gstpipeline.c: (gst_pipeline_change_state):
5347         Removed spurious UNLOCK.
5348
5349 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
5350
5351         * docs/gst/gstreamer-sections.txt:
5352         * gst/base/gstbasesrc.h:
5353         * gst/gstelement.h:
5354         * gst/gstevent.h:
5355         * gst/gstobject.h:
5356         * gst/gstpad.h:
5357         * gst/gstpipeline.c:
5358         * gst/gstpipeline.h:
5359         * gst/gstutils.h:
5360         * gst/gstxml.h:
5361           added two new functions to the docs
5362                 documents all undocumented GstXXXFlags
5363                 completed some incomplete docs 
5364
5365 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5366
5367         * gst/gstbin.c: (gst_bin_dispose):
5368         * gst/gstelement.c: (gst_element_dispose):
5369           remove now useless and leaky resurrection code in dispose
5370         * gst/base/gstbasesrc.c: (gst_base_src_init):
5371         * gst/gstelementfactory.c: (gst_element_factory_create):
5372         * gst/gstobject.c: (gst_object_set_parent):
5373           add some debugging
5374
5375 2005-09-27  Wim Taymans  <wim@fluendo.com>
5376
5377         * docs/design/part-TODO.txt:
5378         Update TODO.
5379
5380         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5381         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5382         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5383         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5384         (gst_bin_change_state):
5385         * gst/gstelement.h:
5386         Remove element variable, we keep element info in the iterator now.
5387
5388 2005-09-27  Andy Wingo  <wingo@pobox.com>
5389
5390         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
5391         values.
5392
5393 2005-09-27  Wim Taymans  <wim@fluendo.com>
5394
5395         * check/gst/gstbin.c: (GST_START_TEST):
5396         Enable check that works now.
5397
5398         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5399         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5400         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5401         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5402         (gst_bin_change_state):
5403         * gst/gstbin.h:
5404         Redid the state change algorithm using a topological sort algo.
5405         Handles all cases correctly.
5406         Exposed iterator for state change order.
5407
5408         * gst/gstelement.h:
5409         Temp storage for state changes. Need to get rid of this soon.
5410
5411 2005-09-27  Wim Taymans  <wim@fluendo.com>
5412
5413         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
5414         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
5415         (link_fold_func), (gst_pad_proxy_setcaps):
5416         Leak fixes, the fold functions need to unref the passed object and
5417         _get_parent_*() returns ref to parent.
5418
5419 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5420
5421         * check/gst/gstbuffer.c: (test_make_writable):
5422           Plug leak in test case and fix 'make check-valgrind'
5423
5424 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5425
5426         * gst/gstbuffer.c: (gst_subbuffer_init):
5427           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
5428           works correctly in all circumstances (we could have just copied
5429           the parent buffer's readonly flag, but conceptually it seems
5430           cleaner to mark all subbuffers as read-only). (based on patch
5431           by Alessandro Decina, #314710).
5432         
5433         * check/gst/gstbuffer.c: (create_read_only_buffer),
5434         (test_make_writable), (test_subbuffer_make_writable),
5435         (gst_test_suite):
5436           Add some tests for gst_buffer_make_writable().
5437
5438 2005-09-27  Wim Taymans  <wim@fluendo.com>
5439
5440         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
5441         use gst_object_has_ancestor().
5442
5443         * gst/gstobject.c: (gst_object_has_ancestor):
5444         * gst/gstobject.h:
5445         gst_object_has_ancestor() copied from gstbin.c as it is a
5446         usefull function.
5447
5448         * tests/instantiate/create.c: (create_all_elements):
5449         * tests/lat.c: (handoff_src), (handoff_sink):
5450         * tests/sched/runxml.c: (main):
5451         * tests/seeking/seeking1.c: (main):
5452         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
5453         (main):
5454         Fix compilation of some tests.
5455
5456 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5457
5458         * gst/gsterror.h:
5459           Remove comment. GST_TYPE_G_ERROR is here to stay,
5460           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
5461           (#316961, #300610).
5462
5463 2005-09-26  Wim Taymans  <wim@fluendo.com>
5464
5465         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5466         Added check that shows error in state change order.
5467
5468 2005-09-26  Wim Taymans  <wim@fluendo.com>
5469
5470         * gst/gstbin.c: (gst_bin_change_state):
5471         Make state change function use 3 queues again, we were
5472         adding elements in the wrong order.
5473
5474         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
5475         Some debug info,
5476
5477         * gst/gstpad.c: (gst_pad_dispose):
5478         Added some debug info first.
5479
5480 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
5481
5482         * docs/design/draft-push-pull.txt:
5483         * docs/design/part-events.txt:
5484         * docs/design/part-overview.txt:
5485         * docs/design/part-scheduling.txt:
5486           Replace all _pull_region() with _pull_range()
5487           
5488 2005-09-26  Andy Wingo  <wingo@pobox.com>
5489
5490         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
5491
5492         * check/gst-libs/controller.c: Update for controller api change.
5493
5494         * configure.ac: 
5495         * tests/Makefile.am:
5496         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
5497         over by GLib bug 118439.
5498         
5499         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
5500         routines to a function.
5501
5502         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
5503
5504         * libs/gst/controller/gsthelper.c:
5505         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
5506         (gst_object_sync_values): Renamed from sink_values. Ugh.
5507
5508         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
5509
5510         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
5511         Renamed from controller_key, as it is exported.
5512
5513         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
5514
5515 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5516
5517         * gst/Makefile.am:
5518         * gst/gst.h:
5519         * gst/gstpad.h:
5520         * gst/gstpadtemplate.h:
5521         * gst/gstquery.c:
5522         * gst/gstquery.h:
5523         * gst/gstqueryutils.c:
5524         * gst/gstqueryutils.h:
5525           remove queryutils headers after moving the two used functions
5526           to gstquery.  also fixes build problem for gstsiddec
5527
5528 2005-09-26  Michael Smith <msmith@fluendo.com>
5529
5530         * tools/gst-launch.1.in:
5531         Correct documentation in manpage of debug syntax
5532
5533 2005-09-26  Wim Taymans  <wim@fluendo.com>
5534
5535         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
5536         (gst_base_src_is_seekable), (gst_base_src_change_state):
5537         Some more debugging info.
5538
5539 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5540
5541         * docs/gst/gstreamer-sections.txt:
5542         * gst/base/gstbasetransform.h:
5543         * gst/gstindex.h:
5544           added more docs
5545
5546 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5547
5548         * docs/gst/.cvsignore:
5549         * docs/gst/tmpl/.cvsignore:
5550         * docs/gst/tmpl/gstpipeline.sgml:
5551         * docs/gst/tmpl/gstplugin.sgml:
5552         * gst/gstpipeline.c:
5553         * gst/gstplugin.c:
5554         * gst/gstplugin.h:
5555           inlined the last two docs files
5556           removed the tmpl directory from cvs (no more conflicts here!)
5557
5558 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5559
5560         * docs/gst/gstreamer-sections.txt:
5561         * docs/gst/tmpl/.cvsignore:
5562         * docs/gst/tmpl/gstpad.sgml:
5563         * docs/gst/tmpl/gstpadtemplate.sgml:
5564         * gst/Makefile.am:
5565         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
5566         (gst_pad_finalize), (gst_pad_set_pad_template):
5567         * gst/gstpad.h:
5568         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5569         (gst_pad_template_class_init), (gst_pad_template_init),
5570         (gst_pad_template_dispose), (name_is_valid),
5571         (gst_static_pad_template_get), (gst_pad_template_new),
5572         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
5573         (gst_pad_template_pad_created):
5574         * gst/gstpadtemplate.h:
5575           inlined two more docs
5576           factored gstpadtemplate out of gstpad
5577
5578 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
5579
5580         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5581         (test_children_state_change_order_semi_sink):
5582           Fix test case: we can't rely on a fixed state change order when
5583           going from READY => PAUSED because the sink might commit its 
5584           new state first when the first buffer created by the source 
5585           reaches the sink before the source has finished its change state.
5586           (Test case still fails at times, see #316856, comment 5 onwards)
5587
5588 2005-09-24  Wim Taymans  <wim@fluendo.com>
5589
5590         * docs/design/part-events.txt:
5591         * docs/design/part-gstbus.txt:
5592         * docs/design/part-gstpipeline.txt:
5593         * docs/design/part-messages.txt:
5594         * docs/design/part-overview.txt:
5595         * docs/design/part-segments.txt:
5596         * gst/gstbin.c:
5597         * gst/gstbuffer.c:
5598         * gst/gstclock.c:
5599         * gst/gstelement.c:
5600         * gst/gstevent.c:
5601         * gst/gstfilter.c:
5602         * gst/gstiterator.c:
5603         Various documentation updates.
5604
5605 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5606
5607         * gst/gstclock.h:
5608           Well, that's embarassing.  Luckily we weren't using
5609           GST_CLOCK_DIFF anywhere.
5610
5611 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5612
5613         * common/gtk-doc.mak:
5614           don't fail on building XML, FC4 slave shows a bunch of doc
5615           missing bits that I don't get
5616         * gst/gstpad.c:
5617         * gst/gstpipeline.c:
5618         * gst/gststructure.c:
5619           some doc updates
5620
5621 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5622
5623         * docs/design/part-gstbin.txt:
5624         * docs/design/part-gstbus.txt:
5625         * gst/gstbus.c:
5626           Add blurb about how the bus goes into flushing mode and
5627           drops all messages when its bin goes from READY into NULL 
5628           state.
5629
5630 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5631
5632         * docs/gst/gstreamer-sections.txt:
5633         * gst/gststructure.c: (gst_structure_get_clock_time):
5634         * gst/gststructure.h:
5635           add a method to get a GstClockTime out of a structure
5636
5637 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5638
5639         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5640         (test_children_state_change_order_semi_sink), (gst_bin_suite):
5641           Added test to check state change order in bins (can still be made
5642           to fail here under heavy disk load; bails out with 'Push on pad
5643           fakesink:sink0, but it was not activated in push mode').
5644
5645         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
5646           Fix state change order when there is only a semi sink (#316856)
5647
5648         * gst/gstbus.c: (gst_bus_class_init):
5649           Use _class_peek_parent(), not _class_ref(); fix docs to say
5650           'default main context' instead of 'mainloop' where that is
5651           what's meant.
5652
5653         * gst/gstelement.c: (gst_element_commit_state),
5654         (gst_element_set_state):
5655           Fix typos in debug messages
5656
5657 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5658
5659         * docs/README:
5660         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
5661         * gst/gstpluginfeature.c:
5662         * gst/gstutils.c:
5663           various doc updates
5664         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5665           change an assert into an error until it gets fixed properly
5666
5667 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
5668
5669         * docs/gst/gstreamer-sections.txt:
5670         * docs/gst/tmpl/.cvsignore:
5671         * docs/gst/tmpl/gstelement.sgml:
5672         * docs/gst/tmpl/gstinfo.sgml:
5673         * docs/gst/tmpl/gstobject.sgml:
5674         * gst/gstelement.c:
5675         * gst/gstelement.h:
5676         * gst/gstinfo.c:
5677         * gst/gstinfo.h:
5678         * gst/gstobject.c: (gst_object_class_init):
5679         * gst/gstobject.h:
5680           inlined 3 more biiiig doc files and added some missing docs on the fly
5681
5682 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5683
5684         * check/gst/.cvsignore:
5685         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
5686         * gst/gstregistryxml.c: (load_plugin),
5687         (gst_registry_xml_save_plugin):
5688           put back source in registry.  add checks for find_plugin.
5689         * testsuite/states/bin.c: (assert_state), (empty_bin),
5690         (test_adding_one_element), (main):
5691         * testsuite/states/locked.c: (main):
5692           some compile/run fixes
5693
5694 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5695
5696         * check/gst/gstvalue.c: (GST_START_TEST):
5697           fix leaks in the test itself
5698
5699 2005-09-22  Wim Taymans  <wim@fluendo.com>
5700
5701         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5702         (gst_base_sink_send_event), (gst_base_sink_peer_query),
5703         (gst_base_sink_query):
5704         Prepare for more accurate position reporting and query
5705         handling.
5706
5707         * gst/gstelement.c: (gst_element_send_event),
5708         (gst_element_set_state):
5709         Add some comment.
5710
5711 2005-09-22  Wim Taymans  <wim@fluendo.com>
5712
5713         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
5714         (gst_query_parse_segment):
5715         * gst/gstquery.h:
5716         More documentation.
5717         Add segment query for future use.
5718
5719 2005-09-22  Wim Taymans  <wim@fluendo.com>
5720
5721         * gst/gstbin.c: (gst_bin_add_func):
5722         Some more debug info.
5723
5724         * gst/gstelement.c: (gst_element_send_event):
5725         Simplify send_event
5726
5727         * gst/gstelement.h:
5728         Don't know how flags got broken.
5729
5730         * gst/gstquery.h:
5731         Added new query.
5732
5733 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5734
5735         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
5736           Add simplistic test suite for GST_TYPE_DATE serialisation and
5737           deserialisation.
5738
5739 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5740
5741         * docs/gst/gstreamer-sections.txt:
5742         * gst/gststructure.c: (gst_structure_set_valist),
5743         (gst_structure_get_date):
5744         * gst/gststructure.h:
5745         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
5746         (gst_date_copy), (gst_value_compare_date),
5747         (gst_value_serialize_date), (gst_value_deserialize_date),
5748         (gst_value_transform_date_string),
5749         (gst_value_transform_string_date), (_gst_value_initialize):
5750         * gst/gstvalue.h:
5751           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
5752           bunch of utility functions along with a hack that checks that
5753           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
5754           is required. Part of the grand scheme in #170777.
5755
5756 2005-09-22  Andy Wingo  <wingo@pobox.com>
5757
5758         * gst/gstconfig.h.in: Psych out gtk-doc.
5759
5760         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
5761
5762         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
5763
5764         * tools/gst-inspect.c (print_element_list): Plug some
5765         inconsequential leaks.
5766
5767         * gst/gstregistry.c (gst_registry_get_default): Doc.
5768
5769         * check/gst/gstplugin.c: 
5770         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
5771         * gst/gstelementfactory.c (gst_element_factory_create): 
5772         * gst/gstindexfactory.c (gst_index_factory_create): Update for
5773         refcount changes.
5774
5775         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
5776         (gst_plugin_feature_load): Doc, don't eat refs.
5777
5778         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
5779         (gst_plugin_list_free): Doc.
5780         (gst_plugin_load_file): Doc updates.
5781
5782         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
5783         accessors returning refcounted objects, return a ref.
5784
5785         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
5786         accessor for caps. IDEMPOTENCE. Oh yes.
5787
5788 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
5789
5790         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5791
5792         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
5793         (_gst_debug_register_funcptr):
5794           Add mutex to serialise access to the hash table with
5795           the function pointer => function name string mapping;
5796           make that hash table static scope (#316809).
5797
5798         * gst/registries/.cvsignore:
5799           Remove left-over file.
5800
5801 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5802
5803         * docs/pwg/appendix-porting.xml:
5804           And something about newsegment events and caps-on-buffers to
5805           the porting guide (feel free to improve).
5806
5807 2005-09-21  Andy Wingo  <wingo@pobox.com>
5808
5809         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
5810         data and event probes on the same pad.
5811         (test_buffer_probe_once): Test that removing probes from within
5812         the probe functions works.
5813
5814 2005-09-21  Andy Wingo  <wingo@pobox.com>
5815
5816         * check/gst/gstutils.c: New file.
5817         (test_buffer_probe_n_times): A simple buffer probe test. More to
5818         come, foolios.
5819
5820         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
5821         have-data::buffer, not have-data.
5822         (gst_pad_add_event_probe): Likewise for have-data::event.
5823         (gst_pad_add_data_probe): More docs. The part about 'resolving the
5824         peer' isn't quite right yet though.
5825         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
5826         (gst_pad_remove_data_probe): Change to take the guint handler_id
5827         as their arg, not the function+data, which is more glib-like.
5828
5829         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
5830         the signal emission to indicate if the data is a buffer or an
5831         event.
5832         (gst_pad_get_type): Initialize buffer and event quarks.
5833         (gst_pad_class_init): have-data is now a detailed signal, yes it
5834         is.
5835
5836 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5837
5838         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
5839         * gst/gstutils.c: (gst_util_set_value_from_string),
5840         (gst_util_set_object_arg):
5841           Don't put functional code in g_return_if_fail() or
5842           g_return_val_if_fail() statements, otherwise things will 
5843           break when G_DISABLE_CHECKS is defined during compilation.
5844
5845 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5846
5847         * docs/gst/tmpl/.cvsignore:
5848         * docs/gst/tmpl/gstvalue.sgml:
5849         * gst/gstvalue.c:
5850         * gst/gstvalue.h:
5851           inlied another one and added  some obvious docs
5852
5853 2005-09-21  Wim Taymans  <wim@fluendo.com>
5854
5855         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5856         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
5857         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
5858         (gst_fdsrc_get_property), (gst_fdsrc_create):
5859         * gst/elements/gstfdsrc.h:
5860         Properly implement fdsrc. Removed signal and timeout,
5861         better implemented somewhere else.
5862
5863 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5864
5865         * docs/gst/tmpl/.cvsignore:
5866         * docs/gst/tmpl/gstimplementsinterface.sgml:
5867         * gst/gstinterface.c:
5868           inlined more docs
5869
5870 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5871
5872         * docs/gst/gstreamer-sections.txt:
5873         * docs/gst/tmpl/.cvsignore:
5874         * docs/gst/tmpl/gstenumtypes.sgml:
5875           remove obsolete doc file
5876
5877 2005-09-21  David Schleef  <ds@schleef.org>
5878
5879         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
5880         little beer, fix a little leak.
5881
5882 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5883
5884         * docs/gst/gstreamer-docs.sgml:
5885         * docs/gst/gstreamer-sections.txt:
5886         * docs/gst/tmpl/.cvsignore:
5887         * gst/Makefile.am:
5888         * gst/gst.h:
5889         * gst/gstbin.c:
5890         * gst/gstelement.h:
5891         * gst/gstindex.c: (gst_index_class_init):
5892         * gst/gstindex.h:
5893         * gst/gstindexfactory.c: (gst_index_factory_get_type),
5894         (gst_index_factory_class_init), (gst_index_factory_init),
5895         (gst_index_factory_finalize), (gst_index_factory_new),
5896         (gst_index_factory_destroy), (gst_index_factory_find),
5897         (gst_index_factory_create), (gst_index_factory_make):
5898         * gst/gstindexfactory.h:
5899         * gst/gstpluginfeature.c:
5900         * gst/gstpluginfeature.h:
5901         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5902           more docs inlined, splitted gstindex.{c,h}
5903
5904 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5905
5906         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5907           fix a leak
5908
5909 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5910
5911         * gst/elements/gstfilesink.c: (gst_file_sink_init):
5912           Set sync to FALSE by default.
5913
5914 2005-09-20  Wim Taymans  <wim@fluendo.com>
5915
5916         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5917         (gst_base_sink_init):
5918         Make sync property settable from subclass.
5919
5920         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5921         (gst_fake_sink_change_state):
5922         Set sync to FALSE by default.
5923
5924 2005-09-20  Wim Taymans  <wim@fluendo.com>
5925
5926         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
5927         * tools/gst-launch.c: (main):
5928         The timeout handler should have lower priority than the source
5929         so we don't timeout before popping a message with 0 timeout.
5930         Dump error messages after failed state change.
5931
5932 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5933
5934         * tools/gst-inspect.c: (print_element_properties_info):
5935           Fix two typos.
5936
5937 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5938
5939         * check/gst/gstevent.c:
5940         * gst/elements/gstfakesink.c:
5941         * gst/elements/gstfakesink.h:
5942           remove the sync property from fakesink.
5943           has the side effect of setting sync TRUE
5944           for fakesink, which is a change.  Anyone who knows how
5945           to fix this nicely in a GObject-y way, feel free.
5946
5947 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5948
5949         * docs/gst/gstreamer-docs.sgml:
5950           remove probe refsection
5951
5952 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5953
5954         * check/Makefile.am:
5955           disable valgrinding the controller test again
5956         * docs/gst/gstreamer-sections.txt:
5957           update for api-changes
5958
5959 2005-09-20  Wim Taymans  <wim@fluendo.com>
5960
5961         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5962         (gst_base_sink_set_property), (gst_base_sink_get_property),
5963         (gst_base_sink_do_sync):
5964         * gst/base/gstbasesink.h:
5965         Added sync property to basesink to disable clock sync.
5966
5967 2005-09-20  Andy Wingo  <wingo@pobox.com>
5968
5969         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
5970         eating the caller's refcount.
5971
5972         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
5973         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
5974         refcount.
5975
5976         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
5977         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
5978         of GLib 2.8 public, so we can know which refcount to check in
5979         tests.
5980
5981         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
5982         (gst_object_init): Only set the gst refcount if we're going ahead
5983         with the refcount hack.
5984
5985 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5986
5987         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
5988         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5989           more leaks plumbed, added more debug-logging
5990         * gst/gstmacros.h:
5991           whitespace fix
5992
5993 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5994
5995         * gst/gstmessage.c:
5996           remove include of gstmemchunk.h
5997
5998 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5999
6000         * gst/gstclock.c: (_gst_clock_id_free):
6001           Commit from the Political Party For More Atomic CVS Commits,
6002           so that people don't waste too much of their day fishing
6003           out obvious leaks out of massive commits.
6004           Oh, and fix a pretty damn obvious leak in the memchunk
6005           removal code.
6006
6007 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6008
6009         * check/Makefile.am:
6010         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6011           plug mem-leak, re-add to valgrindable tests
6012
6013 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6014
6015         * gst/gstplugin.h:
6016           unbreak the build for those who have chronic arthritis
6017           and typing "make check" is just too taxing on the hands
6018
6019 2005-09-20  Andy Wingo  <wingo@pobox.com>
6020
6021         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
6022         really want it out, you should fix plugins at the same time.
6023
6024 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
6025
6026         * configure.ac:
6027         * docs/gst/gstreamer-sections.txt:
6028         * gst/gstobject.c:
6029           added missing symbols to api docs
6030           disable ref-count hack if we have glib >= 2.8
6031
6032 2005-09-19  David Schleef  <ds@schleef.org>
6033
6034         * docs/gst/Makefile.am: Ignore a few more internal headers
6035         * docs/gst/gstreamer-docs.sgml: Remove old sections
6036         * docs/gst/gstreamer-sections.txt: Remove old sections
6037         * docs/gst/tmpl/gstobject.sgml: update
6038         * docs/gst/tmpl/gstplugin.sgml: update
6039         * docs/gst/tmpl/gstpluginfeature.sgml: update
6040         * docs/random/ds/0.9-suggested-changes: update.
6041         * gst/Makefile.am: remove memchunk and trashstack, since they're
6042           not used.
6043         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
6044         * gst/gst.h: don't include some headers
6045         * gst/gstchildproxy.c: add gstmarshal.h
6046         * gst/gstclock.c: Don't use memchunks
6047         * gst/gstminiobject.c: Add some docs
6048         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
6049         * gst/gstobject.h: same
6050         * gst/gstplugin.c: include gstmacros.h
6051         * gst/gstplugin.h: don't include gstmacros.h, since it's private
6052         * gst/gstquery.c: don't use memchunks
6053         * gst/gstregistry.c: rename gst_registry_deinit()
6054         * gst/gstregistry.h: same
6055
6056 2005-09-19  David Schleef  <ds@schleef.org>
6057
6058         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
6059         * docs/libs/gstreamer-libs-sections.txt:
6060         * docs/libs/tmpl/gstgetbits.sgml:
6061         * docs/libs/tmpl/gstputbits.sgml:
6062
6063 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6064
6065         * win32/gstenumtypes.c:
6066         * win32/gstenumtypes.h:
6067           Update.
6068
6069 2005-09-19  Wim Taymans  <wim@fluendo.com>
6070
6071         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
6072         Automatically PAUSE and RESUME a pipeline when a flushing seek
6073         is performed.
6074
6075 2005-09-19  Andy Wingo  <wingo@pobox.com>
6076
6077         * gst/gstregistry.h: Spacing fixen.
6078
6079 2005-09-19  Wim Taymans  <wim@fluendo.com>
6080
6081         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
6082         Handle state change failure more correctly.
6083
6084 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6085
6086         * check/Makefile.am:
6087         * check/pipelines/cleanup.c: (run_pipeline):
6088         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6089         (GST_START_TEST):
6090           enable cleanup again after fixing the leak
6091         * docs/README:
6092           some more info on docs
6093
6094 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6095
6096         * check/Makefile.am:
6097           re-enable tests now that leaks are plugged
6098         * check/gst/gst.c:
6099         * check/gst/gstbin.c:
6100         * check/gst/gstpipeline.c:
6101           add some more tests while fixing leaks
6102         * common/check.mak:
6103           make sure binaries are uptodate when valgrinding/gdbing
6104         * gst/gst.c:
6105         * gst/gstelementfactory.c:
6106           remove a ref too many, and add a FIXME for when we get
6107           round to disposing of classes
6108         * gst/gstplugin.c:
6109           fix the refcounting when loading a plugin from a file and
6110           the code pretends that the pointer is the same even though
6111           of course it can change
6112         * gst/gstpluginfeature.c:
6113           unref plugins marked cached (a bit confusing as a name)
6114           as the docs state should be done
6115           various doc additions to explain refcounting
6116         * gst/gstregistry.c:
6117         * gst/gstregistryxml.c:
6118           debugging
6119
6120 2005-09-19  Wim Taymans  <wim@fluendo.com>
6121
6122         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6123         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6124         (send_messages), (GST_START_TEST), (gstbus_suite):
6125         * check/gst/gstpipeline.c: (GST_START_TEST):
6126         * check/pipelines/cleanup.c: (run_pipeline):
6127         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6128         (GST_START_TEST):
6129         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6130         (gst_bus_source_check), (gst_bus_source_dispatch),
6131         (gst_bus_create_watch), (gst_bus_add_watch_full),
6132         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6133         * gst/gstbus.h:
6134         * tools/gst-launch.c: (event_loop):
6135         * tools/gst-md5sum.c: (event_loop):
6136         GstBusHandler -> GstBusFunc, return value has the same meaning as
6137         any other GSource (FALSE == remove source).
6138         _add_watch() and _add_watch_full() now take a MessageType mask to
6139         only handle specific types of messages.
6140         _poll() returns the GstMessage instead of the message type to avoid
6141         race conditions.
6142         _have_pending() takes a MessageType mask now too.
6143         Added testsuite for multiple bus watches.
6144         Fix testsuites and applications for new bus API.
6145
6146 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6147
6148         * check/Makefile.am:
6149           mark a bunch of the tests as to fix until we fix them
6150
6151 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6152
6153         * common/check.mak:
6154           use GST_PLUGIN settings for valgrind tests as well, so we're
6155           valgrinding the correct thing
6156         * gst/gst.c: (init_post):
6157           plug another leak
6158
6159 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6160
6161         * gst/gst.c: (init_post), (gst_deinit):
6162         * gst/gstelementfactory.c: (gst_element_factory_class_init),
6163         (gst_element_factory_finalize), (gst_element_factory_cleanup):
6164         * gst/gstindex.c: (gst_index_factory_class_init),
6165         (gst_index_factory_finalize):
6166         * gst/gstobject.c: (gst_object_dispose):
6167         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6168         (gst_plugin_load_file), (gst_plugin_desc_free):
6169         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6170         (gst_plugin_feature_finalize):
6171         * gst/gstregistry.c: (gst_registry_class_init),
6172         (gst_registry_init), (gst_registry_finalize),
6173         (gst_registry_get_default), (gst_registry_deinit):
6174         * gst/gstregistry.h:
6175         * gst/gstregistryxml.c: (load_feature), (load_plugin):
6176           various cleanups and memleak plugging.  make valgrind is happy now.
6177
6178 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6179
6180         * common/check.mak:
6181           add a check-valgrind target
6182
6183 2005-09-18  David Schleef  <ds@schleef.org>
6184
6185         * tools/gst-inspect.c: Revert the GOption code.
6186
6187 2005-09-17  David Schleef  <ds@schleef.org>
6188
6189         * check/Makefile.am: Fix environment variables.
6190         * check/gst/gstplugin.c: Fix for API changes.
6191         * tools/gst-inspect.c: Fix for API changes.
6192         * tools/gst-xmlinspect.c: Fix for API changes.
6193         * gst/gstelementfactory.c:
6194         * gst/gstplugin.c:
6195         * gst/gstplugin.h:
6196         * gst/gstpluginfeature.c:
6197         * gst/gstpluginfeature.h:
6198         * gst/gstregistry.c:
6199         * gst/gstregistry.h:
6200         * gst/gstregistryxml.c:
6201         * gst/gsttypefind.c:
6202         * gst/gsttypefindfactory.c:
6203         * gst/indexers/gstfileindex.c:
6204         * gst/indexers/gstmemindex.c:
6205         * gst/schedulers/Makefile.am:
6206           Change registry to keep track of both plugins and features,
6207           removing the feature tracking from plugins themselves.
6208
6209 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6210
6211         * check/Makefile.am:
6212         * tools/gst-register.1.in:
6213           remove gst-register
6214
6215 2005-09-15  David Schleef  <ds@schleef.org>
6216
6217         * check/gst/gstplugin.c:
6218         * gst/gstelementfactory.c:
6219         * gst/gstplugin.c:
6220         * gst/gstpluginfeature.c:
6221         * gst/gstregistry.c:
6222           Getting tired of debugging.  Disabled all the unreffing of
6223           plugins and features, which fixes the segfaults, but of
6224           course leaks like crazy.  At least playbin works.
6225
6226 2005-09-15  David Schleef  <ds@schleef.org>
6227
6228         * check/gst/gstplugin.c: (register_check_elements),
6229         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6230         More testing
6231         * gst/elements/gsttypefindelement.c: Fix refcounting.
6232         * gst/gsttypefind.c:
6233         * gst/gsttypefindfactory.c:
6234         * gst/gsttypefindfactory.h:
6235
6236 2005-09-15  David Schleef  <ds@schleef.org>
6237
6238         * gst/gstindex.c: get refcounting correct.
6239         * gst/gstregistry.c: Handle the case where a feature/plugin is
6240           not found.
6241
6242 2005-09-15  David Schleef  <ds@schleef.org>
6243
6244         * check/Makefile.am:
6245         * check/gst/gstplugin.c: Add test
6246         * gst/gstplugin.c: Fix problems noticed by testsuite
6247         * gst/gstplugin.h:
6248         * gst/gstregistry.c: 
6249         * gst/gstregistry.h:
6250
6251 2005-09-15  David Schleef  <ds@schleef.org>
6252
6253         * gst/gstplugin.c: Implement semi-decent recounting and locking
6254           in plugins and plugin features.
6255         * gst/gstplugin.h:
6256         * gst/gstpluginfeature.c:
6257         * gst/gstpluginfeature.h:
6258         * gst/gstregistry.c:
6259
6260 2005-09-15  Michael Smith <msmith@fluendo.com>
6261
6262         * gst/gstregistry.c: (gst_registry_get_feature_list):
6263           Implement this. Makes oggdemux work; decodebin still broken.
6264
6265 2005-09-14  David Schleef  <ds@schleef.org>
6266
6267         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6268           #316076)
6269         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6270         * gst/check/Makefile.am:
6271         * libs/gst/controller/Makefile.am:
6272         * libs/gst/dataprotocol/Makefile.am:
6273
6274 2005-09-14  David Schleef  <ds@schleef.org>
6275
6276         * configure.ac: Remove getbits library.  Nothing uses it, and
6277           it should be in something like liboil if someone did want
6278           to use it.
6279         * libs/gst/Makefile.am:
6280         * libs/gst/getbits/Makefile.am:
6281         * libs/gst/getbits/gbtest.c:
6282         * libs/gst/getbits/getbits.c:
6283         * libs/gst/getbits/getbits.h:
6284         * libs/gst/getbits/gstgetbits_generic.c:
6285         * libs/gst/getbits/gstgetbits_i386.s:
6286         * libs/gst/getbits/gstgetbits_inl.h:
6287
6288 2005-09-14  David Schleef  <ds@schleef.org>
6289
6290         * gst/Makefile.am: Dist glib-compat.h
6291
6292 2005-09-14  David Schleef  <ds@schleef.org>
6293
6294         * configure.ac: Remove gst/registries, since it's no longer used.
6295         * gst/registries/Makefile.am:
6296         * gst/registries/gstlibxmlregistry.c:
6297         * gst/registries/gstlibxmlregistry.h:
6298         * gst/registries/gstxmlregistry.c:
6299         * gst/registries/gstxmlregistry.h:
6300         * gst/registries/registrytest.c:
6301
6302 2005-09-14  David Schleef  <ds@schleef.org>
6303
6304         * gst/glib-compat.h:
6305         * gst/gstregistryxml.c:
6306           Convergence is near.  Seriously.
6307
6308 2005-09-14  David Schleef  <ds@schleef.org>
6309
6310         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6311         * gst/glib-compat.h:
6312           Attempt #4 to appease the buildbots.
6313
6314 2005-09-14  David Schleef  <ds@schleef.org>
6315
6316         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6317           Attempt #3.
6318
6319 2005-09-14  David Schleef  <ds@schleef.org>
6320
6321         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6322         Attempt #2.
6323
6324 2005-09-14  David Schleef  <ds@schleef.org>
6325
6326         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
6327           the new functions.
6328
6329 2005-09-14  David Schleef  <ds@schleef.org>
6330
6331         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6332         * gst/glib-compat.h: Add some functions that are in newer versions
6333           of glib than we care to require.
6334         * gst/gstregistryxml.c: Use them.
6335
6336 2005-09-14  David Schleef  <ds@schleef.org>
6337
6338         * po/POTFILES.in: remove gst-register.c
6339
6340 2005-09-14  David Schleef  <ds@schleef.org>
6341
6342         * docs/gst/gstreamer-docs.sgml:
6343         * docs/gst/gstreamer-sections.txt:
6344         * docs/gst/gstreamer.types:
6345         * docs/gst/tmpl/gstelement.sgml:
6346         * docs/gst/tmpl/gstplugin.sgml:
6347         * docs/gst/tmpl/gstpluginfeature.sgml:
6348           Documentation updates for registry changes.
6349
6350 2005-09-14  David Schleef  <ds@schleef.org>
6351
6352         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
6353           because we don't require glib-2.8.
6354
6355 2005-09-14  David Schleef  <ds@schleef.org>
6356
6357         * gst/gstregistryxml.c: Added.  Essentially moved out of the
6358           registries directory.
6359
6360 2005-09-14  David Schleef  <ds@schleef.org>
6361
6362         * check/Makefile.am:
6363         * check/generic/states.c:
6364         * gst/Makefile.am:
6365         * gst/gst.c:
6366         * gst/gst.h:
6367         * gst/gst_private.h:
6368         * gst/gstelementfactory.c:
6369         * gst/gstindex.c:
6370         * gst/gstinfo.c:
6371         * gst/gstplugin.c:
6372         * gst/gstplugin.h:
6373         * gst/gstpluginfeature.c:
6374         * gst/gstpluginfeature.h:
6375         * gst/gstregistry.c:
6376         * gst/gstregistry.h:
6377         * gst/gstregistrypool.c: remove
6378         * gst/gstregistrypool.h: remove
6379         * gst/gsttypefind.c:
6380         * gst/gsttypefindfactory.c:
6381         * gst/gsturi.c:
6382         * tools/Makefile.am:
6383         * tools/gst-compprep.c:
6384         * tools/gst-inspect.c:
6385         * tools/gst-register.c: remove
6386         * tools/gst-xmlinspect.c:
6387           Registry rewrite.  Changes registry from being a file created
6388           by a tool into a simple cache file created automatically by 
6389           libgstreamer.  Removed gst-register (because it's no longer
6390           needed).  Remove registry pools, because we only have one
6391           registry implementation (XML).  Fix up other subsystems as
6392           necessary.
6393
6394 2005-09-13  Michael Smith <msmith@fluendo.com>
6395
6396         * gst/gstconfig.h.in:
6397           Don't Use windows linking attributes for MinGW. Fixes #316157
6398
6399 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6400
6401         * gst/gstutils.c: (set_state_async_thread_func),
6402         (gst_element_set_state_async):
6403           Apparently people think it's better if this function doesn't
6404           try to set the state to whatever state was asked for on the first
6405           call to this function for any object.  Seriously.
6406
6407 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6408
6409         * check/gst/gstpipeline.c: (GST_START_TEST):
6410         * docs/gst/gstreamer-sections.txt:
6411         * gst/gstutils.c: (set_state_async_thread_func),
6412         (gst_element_set_state_async):
6413         * gst/gstutils.h:
6414           add a "gst_element_set_state_async" method that
6415           sets the state and starts a thread to make sure the state
6416           change completes as best as it can
6417
6418 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6419
6420         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6421           codify design+behaviour in testsuite after discussion
6422
6423 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6424
6425         * docs/gst/tmpl/gstelement.sgml:
6426         * docs/manual/appendix-quotes.xml:
6427           add a quote
6428         * gst/gstelement.c: (gst_element_set_state):
6429           add some debug
6430
6431 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
6432
6433         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6434         (gst_base_transform_prepare_output_buf),
6435         (gst_base_transform_handle_buffer):
6436         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
6437         (gst_capsfilter_prepare_buf):
6438           Remove the requirement for sub-classes to call the parent
6439           implementation of prepare_output_buffer with a wrapper function.
6440           
6441         * gst/gsttaglist.h:
6442         * gst/gsttagsetter.h:
6443           Fix #define wrapper
6444
6445 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
6446
6447         * docs/gst/gstreamer-sections.txt:
6448           more doc cleanups
6449
6450 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6451
6452         * docs/gst/gstreamer-sections.txt:
6453         * docs/gst/tmpl/gstelement.sgml:
6454         * docs/gst/tmpl/gstplugin.sgml:
6455         * gst/gstminiobject.c:
6456         * gst/gstvalue.h:
6457           docs now stop throwing warnings
6458
6459 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6460
6461         * docs/gst/gstreamer-sections.txt:
6462         * docs/gst/gstreamer.types:
6463         * docs/gst/tmpl/gstpad.sgml:
6464         * docs/gst/tmpl/gsttypes.sgml:
6465         * gst/base/gstadapter.h:
6466         * gst/base/gstbasesink.h:
6467         * gst/base/gstbasesrc.h:
6468         * gst/gstbin.h:
6469         * gst/gstbuffer.h:
6470         * gst/gstbus.h:
6471         * gst/gstcaps.h:
6472         * gst/gstclock.h:
6473         * gst/gstelement.h:
6474         * gst/gstevent.h:
6475         * gst/gstmessage.h:
6476         * gst/gstpad.h:
6477         * gst/gststructure.c:
6478         * gst/registries/gstlibxmlregistry.h:
6479           various documentation fixes
6480
6481 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6482
6483         * docs/gst/gstreamer-sections.txt:
6484         * docs/gst/tmpl/gstvalue.sgml:
6485           rearrange gstvalue section
6486         * gst/gstutils.c: (gst_element_state_get_name):
6487           NONE -> VOID
6488         * gst/gstvalue.c: (_gst_value_initialize):
6489         * gst/gstvalue.h:
6490           doc updates
6491
6492 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
6493
6494         * check/gst-libs/controller.c:
6495           Header include fix.
6496         * gst/base/gstbasetransform.c:
6497         (gst_base_transform_default_prepare_buf),
6498         (gst_base_transform_handle_buffer):
6499         * gst/base/gstbasetransform.h:
6500           Some more basetransform changes and fixes to enable sub-classes
6501           that modify buffer metadata only.
6502         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6503         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
6504         (gst_capsfilter_prepare_buf):
6505           If the output pad has fixed allowed caps and input buffers 
6506           don't have any, set the fixed caps on outgoing buffers.
6507
6508 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
6509         * check/elements/identity.c: (GST_START_TEST):
6510           Make the error a little clearer when the test fails because
6511           identity made a copy of the buffer.
6512         * docs/gst/gstreamer-sections.txt:
6513           New symbols in gstbasetransform.h
6514         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6515         (gst_base_transform_init), (gst_base_transform_transform_size),
6516         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6517         (gst_base_transform_default_prepare_buf),
6518         (gst_base_transform_get_unit_size),
6519         (gst_base_transform_buffer_alloc),
6520         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
6521         (gst_base_transform_change_state),
6522         (gst_base_transform_set_passthrough),
6523         (gst_base_transform_set_in_place),
6524         (gst_base_transform_is_in_place):
6525         * gst/base/gstbasetransform.h:
6526           Change BaseTransform to separate in_place operate from same_caps
6527           output. in_place implies that the element can perform the transform
6528           on incoming buffers in-place, even if the caps on the output are
6529           different.
6530           Sub-class elements can now implement special buffer allocation
6531           methods for outgoing buffers if they wish to.
6532           Big documentation addition.
6533         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
6534         * gst/elements/gstelements.c:
6535           Changes for basetransform modifications.
6536         * gst/elements/Makefile.am:
6537         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
6538           Compile fix. Extra debug output.
6539
6540 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6541
6542         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
6543         (gst_pad_suite):
6544           add tests for valid pad naming
6545         * gst/check/gstcheck.c: (gst_check_log_message_func),
6546         (gst_check_log_critical_func):
6547           add ASSERT_WARNING
6548           remove printing of code, it is fragile when the code contains
6549           % and the line number is enough info
6550         * gst/check/gstcheck.h:
6551         * gst/gstpad.c: (gst_pad_template_new):
6552           fix memleaks
6553
6554 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6555
6556         * configure.ac:
6557           say what CHECK flags we use
6558         * docs/libs/gstreamer-libs.types:
6559         * libs/gst/controller/Makefile.am:
6560         * libs/gst/controller/gst-controller.c:
6561         * libs/gst/controller/gst-controller.h:
6562         * libs/gst/controller/gst-helper.c:
6563         * libs/gst/controller/gst-interpolation.c:
6564         * libs/gst/controller/gstcontroller.c:
6565         * libs/gst/controller/gsthelper.c:
6566         * libs/gst/controller/gstinterpolation.c:
6567         * tools/gst-inspect.c: (print_plugin_info):
6568           we don't use dashes in header names
6569
6570 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6571
6572         * check/Makefile.am:
6573         * check/gst/.cvsignore:
6574         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
6575         (gst_pipeline_suite), (main):
6576           adding a test for pipelines and state changes
6577         * gst/gstutils.c: (get_state_func):
6578           add some debugging
6579         * gstreamer.spec.in:
6580           fix up spec file
6581
6582 2005-09-08  Michael Smith <msmith@fluendo.com>
6583
6584         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
6585         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
6586         (gst_file_src_is_seekable), (gst_file_src_get_size),
6587         (gst_file_src_start):
6588         * gst/elements/gstfilesrc.h:
6589           Various fixes for unseekable, unmmapable, and non-normal files, so
6590           that fallback to read() rather than mmap() works.
6591         * gst/gstevent.c: (gst_event_new_newsegment):
6592           Allow newsegment events with segment_start == segment_end, as will
6593           correctly happen if you use filesrc on a zero-size file, for
6594           example.
6595
6596 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6597
6598         * gst/gstplugin.c: (gst_plugin_load_file):
6599           Call g_module_close when we don't load the module
6600
6601         * gst/registries/gstlibxmlregistry.c:
6602         (gst_xml_registry_get_property):
6603           Port leak fix from 0.8
6604
6605 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6606
6607         * docs/gst/gstreamer-docs.sgml:
6608         * docs/gst/tmpl/.cvsignore:
6609         * docs/gst/tmpl/gsttrace.sgml:
6610         * docs/gst/tmpl/gsttrashstack.sgml:
6611         * gst/Makefile.am:
6612         * gst/gst.h:
6613         * gst/gstelement.h:
6614         * gst/gstevent.h:
6615         * gst/gstmessage.c:
6616         * gst/gstmessage.h:
6617         * gst/gsttag.c:
6618         * gst/gsttag.h:
6619         * gst/gsttaginterface.c:
6620         * gst/gsttaginterface.h:
6621         * gst/gsttaglist.c:
6622         * gst/gsttaglist.h:
6623         * gst/gsttagsetter.c:
6624         * gst/gsttagsetter.h:
6625         * gst/gsttrace.c:
6626         * gst/gsttrace.h:
6627         * gst/gsttrashstack.c:
6628           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
6629           inlined docs for gsttrace, gsttrashstack
6630
6631 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6632
6633         * gst/Makefile.am:
6634         * gst/elements/gstbufferstore.h:
6635         * gst/elements/gsttypefindelement.c:
6636         * gst/elements/gsttypefindelement.h:
6637         * gst/gst.h:
6638         * gst/gsttypefind.c:
6639         * gst/gsttypefind.h:
6640         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
6641         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
6642         (gst_type_find_factory_dispose),
6643         (gst_type_find_factory_unload_thyself),
6644         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
6645         (gst_type_find_factory_get_caps),
6646         (gst_type_find_factory_get_extensions),
6647         (gst_type_find_factory_call_function):
6648         * gst/gsttypefindfactory.h:
6649         * gst/registries/gstlibxmlregistry.c:
6650         * gst/registries/gstxmlregistry.c:
6651           splitted gsttypefind into gsttypefind, gsttypefindfactory
6652
6653 2005-09-07  Andy Wingo  <wingo@pobox.com>
6654
6655         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
6656         condition whereby the pad's task function is entered before the
6657         pad_mode variable was set.
6658
6659 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6660
6661         * gst/gstpad.c: (gst_pad_alloc_buffer):
6662           Catch misbehaving pad_alloc functions that don't
6663           set up caps and do it for them.
6664
6665 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6666
6667         * check/pipelines/simple_launch_lines.c: (run_pipeline):
6668           test for pipe!=NULL
6669         * docs/gst/tmpl/.cvsignore:
6670         * docs/gst/tmpl/gstmemchunk.sgml:
6671         * docs/gst/tmpl/gstparse.sgml:
6672         * docs/gst/tmpl/gsttaglist.sgml:
6673         * docs/gst/tmpl/gsttagsetter.sgml:
6674         * docs/gst/tmpl/gsttypefind.sgml:
6675         * docs/gst/tmpl/gsttypefindfactory.sgml:
6676         * gst/gstmemchunk.c:
6677         * gst/gstparse.c:
6678         * gst/gsttag.c:
6679         * gst/gsttaginterface.c:
6680         * gst/gsttypefind.c:
6681         * gst/gsttypefind.h:
6682           inlined more docs
6683
6684 === release 0.9.2 ===
6685
6686 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6687
6688         * NEWS:
6689         * RELEASE:
6690         * configure.ac:
6691           releasing 0.9.2, "South"
6692
6693 2005-09-05  Andy Wingo  <wingo@pobox.com>
6694
6695         * gst/registries/gstxmlregistry.h:
6696         * gst/registries/gstxmlregistry.c: Um... resurrect...
6697         
6698         * gst/registries/gstxmlregistry.h:
6699         * gst/registries/gstxmlregistry.c: and update to newer API.
6700         Incidentally they should be a bit faster now that they don't have
6701         to parse the caps.
6702         
6703 2005-09-05  Andy Wingo  <wingo@pobox.com>
6704
6705         * gst/registries/gstxmlregistry.h:
6706         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
6707         replaced by the libxml registry a while back
6708
6709 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6710
6711         * docs/gst/tmpl/gstplugin.sgml:
6712         * gst/elements/gstelements.c:
6713         * gst/gst.c:
6714         * gst/gstplugin.c: (gst_plugin_register_func),
6715         (gst_plugin_desc_copy), (gst_plugin_desc_free),
6716         (gst_plugin_get_source):
6717         * gst/gstplugin.h:
6718         * gst/registries/gstlibxmlregistry.c: (load_plugin),
6719         (gst_xml_registry_save_plugin):
6720         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
6721         (gst_xml_registry_save_plugin):
6722         * tools/gst-inspect.c: (print_plugin_info):
6723           add a "source" plugin description field, to represent the source
6724           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
6725           will set it to PACKAGE, which is automake's idea of the name of
6726           the source project.
6727
6728 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6729
6730         * Makefile.am:
6731         * autogen.sh:
6732         * configure.ac:
6733         * docs/Makefile.am:
6734         * docs/faq/Makefile.am:
6735         * docs/gst/tmpl/gstelement.sgml:
6736         * docs/gst/tmpl/gsttypes.sgml:
6737         * docs/htmlinstall.mak:
6738         * docs/manual/Makefile.am:
6739         * docs/pwg/Makefile.am:
6740           reorganize doc build a little
6741           split out docbook and gtk-doc stuff
6742           have two separate --enable's and enable them through autogen
6743           but disable by default in configure (to be similar to other
6744           projects)
6745         * gstreamer.spec.in:
6746           clean up docs install
6747         * po/af.po:
6748         * po/az.po:
6749         * po/ca.po:
6750         * po/cs.po:
6751         * po/de.po:
6752         * po/en_GB.po:
6753         * po/fr.po:
6754         * po/it.po:
6755         * po/nb.po:
6756         * po/nl.po:
6757         * po/ru.po:
6758         * po/sq.po:
6759         * po/sr.po:
6760         * po/sv.po:
6761         * po/tr.po:
6762         * po/uk.po:
6763         * po/vi.po:
6764           translation updates
6765
6766 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
6767
6768         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
6769           Add comment.
6770           
6771         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6772         (gst_fake_sink_change_state):
6773           Make state change function thread-safe.
6774           
6775         * gst/gstpad.c: (gst_pad_alloc_buffer):
6776           Set offset on generic buffer allocated by fallback.
6777
6778 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
6779
6780         * docs/gst/gstreamer-sections.txt:
6781         * docs/gst/tmpl/gstelement.sgml:
6782         * gst/gstpad.c:
6783         * libs/gst/controller/gst-controller.c:
6784         (gst_controlled_property_set_interpolation_mode),
6785         (gst_controlled_property_new),
6786         (gst_controller_find_controlled_property):
6787          run the wingo-magic script against the docs
6788
6789 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6790
6791         * docs/gst/gstreamer-docs.sgml:
6792         * docs/gst/gstreamer-sections.txt:
6793         * docs/gst/tmpl/.cvsignore:
6794         * docs/gst/tmpl/gstelementdetails.sgml:
6795         * docs/gst/tmpl/gstelementfactory.sgml:
6796         * gst/gst.c:
6797         * gst/gstbus.c:
6798         * gst/gstelementfactory.c:
6799         * gst/gstelementfactory.h:
6800           merged elementdetails docs into elementfactory docs
6801           inlined both
6802
6803 2005-09-02  Andy Wingo  <wingo@pobox.com>
6804
6805         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
6806         consider this enum an enum and not a flags.
6807
6808 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6809
6810         * docs/gst/gstreamer-docs.sgml:
6811         * docs/gst/tmpl/.cvsignore:
6812         * docs/gst/tmpl/gstghostpad.sgml:
6813         * docs/gst/tmpl/gstiterator.sgml:
6814         * docs/gst/tmpl/gstmacros.sgml:
6815         * docs/gst/tmpl/gstrealpad.sgml:
6816         * docs/gst/tmpl/gstregistry.sgml:
6817         * docs/gst/tmpl/gstregistrypool.sgml:
6818         * docs/gst/tmpl/gststructure.sgml:
6819         * docs/gst/tmpl/gstsystemclock.sgml:
6820         * docs/gst/tmpl/gsttrace.sgml:
6821         * gst/gstghostpad.c:
6822         * gst/gstmacros.h:
6823         * gst/gstmemchunk.c:
6824         * gst/gstmemchunk.h:
6825         * gst/gstqueue.c:
6826         * gst/gstregistry.c:
6827         * gst/gstregistrypool.c:
6828         * gst/gststructure.c:
6829         * gst/gstsystemclock.c:
6830           more docs inlined
6831
6832 2005-09-02  Andy Wingo  <wingo@pobox.com>
6833
6834         * gst/gstelement.h (GstState): Renamed from GstElementState,
6835         changed to be a normal enum instead of flags.
6836         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
6837         munged to be GST_STATE_CHANGE_*.
6838         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
6839         work with the new state representation.
6840         (GstStateChange): New enumeration of possible state transitions.
6841         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
6842         (GstElementClass::change_state): Pass the GstStateChange along as
6843         an argument. Helps language bindings, so they don't have to use
6844         tricky lock-needing macros like GST_STATE_CHANGE ().
6845
6846         * scripts/update-states (file): New script. Run it on a file to
6847         update it for state naming and API changes. Updates files in
6848         place.
6849
6850         * All files updated for the new API.
6851
6852 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6853
6854         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
6855         * gst/gstutils.c: (gst_util_set_value_from_string),
6856         (gst_util_set_object_arg):
6857           fix a bunch of unchecked return values
6858         * tools/gst-complete.c: (main):
6859         * gstreamer.spec.in:
6860           clean up a little
6861
6862 2005-09-01  Wim Taymans  <wim@fluendo.com>
6863
6864         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6865         (gst_base_sink_event), (gst_base_sink_do_sync),
6866         (gst_base_sink_handle_event):
6867         * gst/base/gstbasesink.h:
6868         Handle newsegments more correctly.
6869
6870         * gst/gstbus.c:
6871         Fix docs.
6872
6873         * gst/gstevent.c: (gst_event_new_newsegment):
6874         A newsegment cannot have a start_time of -1
6875
6876 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
6877
6878         * win32/gstenumtypes.c:
6879         * win32/gstenumtypes.h:
6880           Update
6881
6882 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6883
6884         * libs/gst/controller/gst-controller.c:
6885         (gst_controlled_property_set_interpolation_mode),
6886         (gst_controlled_property_new):
6887          fixed boolean again
6888
6889 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
6890
6891         * docs/faq/gst-uninstalled:
6892           add -good
6893         * gst/gstevent.c:
6894         * gst/gstevent.h:
6895           remove wrong docs
6896         * gst/gstutils.c: (gst_element_link_filtered):
6897         * gst/gstutils.h:
6898           add gst_element_link_filtered
6899
6900 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6901
6902         * docs/gst/gstreamer-docs.sgml:
6903         * docs/gst/gstreamer-sections.txt:
6904         * docs/gst/tmpl/.cvsignore:
6905         * docs/gst/tmpl/gsterror.sgml:
6906         * docs/gst/tmpl/gstfilter.sgml:
6907         * docs/gst/tmpl/gsturihandler.sgml:
6908         * docs/gst/tmpl/gsturitype.sgml:
6909         * docs/gst/tmpl/gstutils.sgml:
6910         * docs/gst/tmpl/gstxml.sgml:
6911         * gst/gsterror.c:
6912         * gst/gsterror.h:
6913         * gst/gstfilter.c:
6914         * gst/gsturi.c:
6915         * gst/gsturitype.c:
6916         * gst/gstutils.c:
6917         * gst/gstxml.c:
6918           inlined more docs, fixed double id-ref
6919
6920 2005-08-31  Wim Taymans  <wim@fluendo.com>
6921
6922         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6923         (gst_base_transform_handle_buffer):
6924         Passthrough elements don't need the caps as they don't care.
6925
6926 2005-08-31  Wim Taymans  <wim@fluendo.com>
6927
6928         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6929         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
6930         Don't leak refcounts on buffers.
6931
6932 2005-08-31  Wim Taymans  <wim@fluendo.com>
6933
6934         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
6935         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
6936         (gst_base_transform_chain), (gst_base_transform_change_state):
6937         * gst/base/gstbasetransform.h:
6938         Handle the case where we are not negotiated more gracefully.
6939
6940 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
6941
6942         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
6943         (gst_file_src_map_region):
6944           Set READONLY flag on mmap'ed buffers, otherwise
6945           gst_buffer_make_writable() won't work properly (#314708).
6946
6947 2005-08-31  Wim Taymans  <wim@fluendo.com>
6948
6949         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
6950         passthrough elements can even do inplace on non writable
6951         buffers (as they don't touch them).
6952
6953 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6954
6955         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
6956         (gst_test_mono_source_set_property),
6957         (gst_test_mono_source_class_init), (GST_START_TEST),
6958         (gst_controller_suite):
6959           more tests (hehe I have the most)
6960         * gst/gstbus.c:
6961           describe popping messages whenusing mulltiple sources
6962         * libs/gst/controller/gst-controller.c:
6963         (gst_controlled_property_set_interpolation_mode),
6964         (gst_controlled_property_new):
6965         * libs/gst/controller/gst-controller.h:
6966         * libs/gst/controller/gst-interpolation.c:
6967           implement boolean properties
6968
6969 2005-08-31  Wim Taymans  <wim@fluendo.com>
6970
6971         * gst/gstminiobject.c: (gst_mini_object_ref):
6972         Cannot assert that the refcount has to be positive
6973         since a disposed object can be resurrected.
6974
6975 2005-08-31  Wim Taymans  <wim@fluendo.com>
6976
6977         * gst/gstpad.c: (gst_pad_init):
6978         Revert change, need to first fix badly behaving 
6979         apps.
6980
6981 2005-08-30  Wim Taymans  <wim@fluendo.com>
6982
6983         * check/elements/fakesrc.c: (setup_fakesrc):
6984         * check/elements/identity.c: (setup_identity):
6985         Activate pads before using them.
6986
6987 2005-08-30  Wim Taymans  <wim@fluendo.com>
6988
6989         * gst/base/gstadapter.c: (gst_adapter_flush):
6990         Flushing out 0 bytes is ok for this function.
6991
6992         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6993         no newsegment gives a warning and sets the start/stop to 
6994         invalid.
6995
6996         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
6997         (gst_base_transform_set_passthrough):
6998         Some debug info.
6999
7000         * gst/gstminiobject.c: (gst_mini_object_ref):
7001         Check refcount here too.
7002
7003         * gst/gstpad.c: (gst_pad_init):
7004         Pads are initially flushing and refusing data.
7005
7006         * gst/gstutils.c: (gst_element_link_pads_filtered):
7007         When adding a capsfilter element make sure it has the
7008         same state as the parent bin.
7009
7010 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7011
7012         * docs/gst/tmpl/.cvsignore:
7013         * docs/gst/tmpl/gstformat.sgml:
7014         * docs/gst/tmpl/gstversion.sgml:
7015         * gst/gstbus.h:
7016         * gst/gstformat.c:
7017         * gst/gstformat.h:
7018         * gst/gstversion.h.in:
7019           more docs and two more inlined
7020
7021 2005-08-30  Wim Taymans  <wim@fluendo.com>
7022
7023         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
7024         Don't sync to clock.
7025
7026 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7027
7028         * docs/gst/gstreamer-sections.txt:
7029           ultral33t func10ns deserve to appear in the docs actually
7030         * docs/gst/tmpl/.cvsignore:
7031         * docs/gst/tmpl/gstcompat.sgml:
7032         * docs/gst/tmpl/gstconfig.sgml:
7033         * gst/check/gstcheck.c:
7034         * gst/gstcompat.h:
7035         * gst/gstconfig.h.in:
7036           inlined more docs
7037
7038 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7039
7040         * docs/gst/tmpl/.cvsignore:
7041         * docs/gst/tmpl/gstquery.sgml:
7042         * docs/gst/tmpl/gstutils.sgml:
7043         * gst/gstquery.c:
7044         * gst/gstquery.h:
7045           inlined and extended docs
7046
7047 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7048
7049         * check/gst-libs/controller.c: (GST_START_TEST),
7050         (gst_controller_suite):
7051           more tests
7052         * docs/gst/tmpl/gstutils.sgml:
7053         * docs/libs/gstreamer-libs-sections.txt:
7054         * docs/libs/tmpl/gstdataprotocol.sgml:
7055           include path fixes
7056         * examples/controller/audio-example.c: (main):
7057           controller example works now
7058         * gst/gstclock.h:
7059           doc fixes
7060         * tools/gst-inspect.c: (print_element_properties_info):
7061           show param spec flags
7062
7063 2005-08-29  Andy Wingo  <wingo@pobox.com>
7064
7065         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
7066
7067 2005-08-28  Andy Wingo  <wingo@pobox.com>
7068
7069         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
7070         as having two arguments instead of just one. Allows superclasses
7071         to access information on subclasses -- see the terrible for() loop
7072         in gtype.c:g_type_create_instance for the reason why. All callers
7073         changed.
7074
7075 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7076
7077         * docs/design/part-messages.txt:
7078           update info
7079         * docs/gst/tmpl/.cvsignore:
7080         * docs/gst/tmpl/gstcaps.sgml:
7081         * docs/gst/tmpl/gstclock.sgml:
7082         * gst/gstbus.c:
7083         * gst/gstcaps.c:
7084         * gst/gstcaps.h:
7085         * gst/gstclock.c:
7086         * gst/gstclock.h:
7087         * gst/gstmessage.c:
7088           added descriptions for bus and message
7089           inline caps and clock docs
7090
7091 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7092
7093         * gst/gstmessage.c:
7094         * gst/gstmessage.h:
7095           doc fixes
7096
7097 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7098
7099         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7100           fix div-by-zero
7101
7102 2005-08-26  Andy Wingo  <wingo@pobox.com>
7103
7104         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
7105         element_set_state's return val.
7106         (test_2_elements): Add test that's been disabled for months.
7107
7108         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
7109         can-activate-pull properties.
7110
7111         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
7112         can-activate-pull properties. Implement is_seekable so fakesrc can
7113         operate in pull mode.
7114
7115         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7116         properties.
7117         (gst_base_sink_activate, gst_base_sink_activate_pull)
7118         (gst_base_sink_activate_push): Make activation mode choosing work.
7119         Cleanups.
7120         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7121         is right. Make pull mode work. Post an eos before pausing in pull
7122         mode.
7123         (gst_base_sink_change_state): Pay attention to the core's
7124         change_state() return val.
7125         
7126         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7127         has-getrange properties. Cleanups.
7128         
7129         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7130         has_getrange and replace with can_activate_pull and
7131         can_activate_push.
7132
7133         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7134         locking comments. Remove has_loop, has_chain and replace with
7135         can_activate_pull and can_activate_push.
7136
7137 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
7138
7139         * configure.ac:
7140         * examples/Makefile.am:
7141         * examples/metadata/Makefile.am:
7142         * examples/metadata/read-metadata.c: (message_loop),
7143         (have_pad_handler), (make_pipeline), (print_tag), (main):
7144           Add metadata reading example that loops over a list of filenames,
7145           dumping any tags found.
7146
7147         * gst/gstbus.c: (gst_bus_dispose):
7148         * gst/gstelement.c: (gst_element_dispose):
7149           Release a few potentially-held references in dispose.
7150
7151 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7152
7153         * docs/gst/tmpl/gstminiobject.sgml:
7154           do *not* add tmpl/*.sgml files to CVS!
7155
7156 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7157
7158         * libs/gst/bytestream/.cvsignore:
7159         * libs/gst/bytestream/Makefile.am:
7160         * libs/gst/bytestream/adapter.c:
7161         * libs/gst/bytestream/adapter.h:
7162         * libs/gst/bytestream/bytestream.c:
7163         * libs/gst/bytestream/bytestream.h:
7164         * libs/gst/bytestream/filepad.c:
7165         * libs/gst/bytestream/filepad.h:
7166           removing obsolete files
7167
7168 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7169
7170         * docs/gst/gstreamer-docs.sgml:
7171         * docs/libs/gstreamer-libs-docs.sgml:
7172           disabed additional index entries again, as this makes docs-gen just
7173           slow and they aren't useful yet
7174         * docs/libs/gstreamer-libs-sections.txt:
7175           little -section.txt cleanup for libs
7176
7177 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7178
7179         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7180         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7181           fix up some debugging
7182         (gst_base_transform_get_unit_size),
7183         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7184         (gst_base_transform_handle_buffer):
7185         * gst/base/gstbasetransform.h:
7186           handle and store timed NEWSEGMENT events so that subclasses that
7187           calculate time by counting samples have a segment_start time they
7188           need to add to their timestamps - see audioresample
7189
7190 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7191
7192         * gst/gstbin.h:
7193           removed ';' from the end of macro defs
7194         * docs/gst/gstreamer-docs.sgml:
7195         * docs/gst/gstreamer-sections.txt:
7196         * docs/gst/tmpl/.cvsignore:
7197         * gst/gstbus.h:
7198         * gst/gstelement.c: (gst_element_class_init),
7199         (gst_element_set_state), (activate_pads),
7200         (gst_element_save_thyself):
7201         * gst/gstevent.c: (gst_event_new_newsegment):
7202         * gst/gstevent.h:
7203         * gst/gstiterator.c:
7204         * gst/gstiterator.h:
7205         * gst/gstpad.c:
7206         * gst/gstprobe.h:
7207         * gst/gstutils.c: (gst_pad_query_convert):
7208         * gst/gstutils.h:
7209           fixed parameter name mismatches between source, header and docs
7210           added some more docs, resolved the last batch of unused elements in
7211           docs (now someone needs to doc them)
7212
7213 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7214
7215         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7216         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7217           don't walk through the plugins backwards.  Where is all this
7218           reversed logic coming from ?
7219
7220 2005-08-25  Wim Taymans  <wim@fluendo.com>
7221
7222         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7223         (gst_base_transform_transform_size),
7224         (gst_base_transform_configure_caps),
7225         (gst_base_transform_get_unit_size),
7226         (gst_base_transform_buffer_alloc),
7227         (gst_base_transform_change_state):
7228         * gst/base/gstbasetransform.h:
7229         Cache caps unit_size.
7230         Make sure we cannot negotiate up and downstream at the
7231         same time.
7232
7233 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7234
7235         * gst/gst.c: (init_pre), (init_post):
7236           register the installed plugin path after the env var
7237         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7238         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7239           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7240           directories, so the tests can prefer uninstalled over installed
7241
7242 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7243
7244         * gst/base/gstbasetransform.h:
7245           comment
7246         * gst/gstpad.c:
7247           add to docs
7248
7249 2005-08-25  Wim Taymans  <wim@fluendo.com>
7250
7251         * gst/gstbin.c: (bin_bus_handler):
7252         Be a bit more conservative about the posted message.
7253         
7254         * gst/gstbus.c: (gst_bus_post):
7255         Some cleanups, warn wrong return values.
7256
7257 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
7258
7259         * check/gst/gstbin.c: (GST_START_TEST):
7260         * gst/gstbin.c: (bin_bus_handler):
7261         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7262         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7263         (gst_message_new_warning), (gst_message_new_tag),
7264         (gst_message_new_state_changed), (gst_message_new_segment_start),
7265         (gst_message_new_segment_done), (gst_message_new_custom):
7266         * gst/gstmessage.h:
7267         * tools/gst-launch.c: (event_loop):
7268         * tools/gst-md5sum.c: (event_loop):
7269           Revert unpopular change for GST_MESSAGE_SRC to GObject.
7270
7271 2005-08-25  Wim Taymans  <wim@fluendo.com>
7272
7273         * check/generic/states.c: (GST_START_TEST):
7274         Cleanup can be done at the end.
7275
7276         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7277         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7278         (gst_task_get_state), (gst_task_start), (gst_task_pause):
7279         Oh boy.. Thanks for finding this, Thomas. 
7280
7281 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7282
7283         * docs/gst/gstreamer.types:
7284           added missing types
7285
7286 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7287
7288         * docs/gst/gstreamer-docs.sgml:
7289         * docs/gst/gstreamer-sections.txt:
7290         * docs/gst/tmpl/.cvsignore:
7291         * gst/gstbin.c:
7292         * gst/gstiterator.c:
7293         * gst/gstutils.c:
7294         * gst/registries/gstxmlregistry.h:
7295           added missing classes and symbols (123 more to go)
7296           removed removed symbols from section file
7297           fixed many doc-comments
7298
7299 2005-08-24  Wim Taymans  <wim@fluendo.com>
7300
7301         * check/generic/states.c: (GST_START_TEST):
7302         Make sure all tasks are stopped.
7303
7304         * check/gst/gstbin.c: (GST_START_TEST):
7305         Unref after usage for proper valgrinding.
7306
7307         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
7308         Really wait for the task to stop before destroying the
7309         mutex.
7310
7311         * gst/gstqueue.c: (gst_queue_sink_activate_push),
7312         (gst_queue_src_activate_push):
7313         Small cleanups. Don't stop the task when we did not start
7314         it.
7315
7316         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
7317         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7318         (gst_task_get_state), (gst_task_start), (gst_task_pause),
7319         (gst_task_join):
7320         * gst/gsttask.h:
7321         Protect the stream lock with the object lock.
7322         Disallow setting the stream lock when running.
7323         Add cleanup_all to wait for the threadpool to finish.
7324         Remove code to autoallocate a mutex if none was provided.
7325         Add _join() to wait for a task to stop.
7326         Protect the thread pool with a global lock.
7327
7328 2005-08-24  Wim Taymans  <wim@fluendo.com>
7329
7330         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7331         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7332         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
7333         * gst/base/gstbasesink.h:
7334         Handle newsegment events correctly.
7335         Drop buffers out of the segment range.
7336
7337 2005-08-22  Andy Wingo  <wingo@pobox.com>
7338
7339         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
7340         macro, implements an interface and gstimplementsinterface for a
7341         new type.
7342
7343 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7344
7345         * check/Makefile.am:
7346         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
7347           add a test that does a bunch of state changes on elements
7348           needs some fixing for valgrind
7349         * check/states/sinks.c: (gst_object_suite):
7350           whitespace
7351         * gst/gstcaps.h:
7352           add prototype for gst_caps_is_equal_fixed
7353         * gst/gstplugin.c:
7354         * gst/gstregistrypool.c:
7355           doc fixes
7356
7357 2005-08-24  Andy Wingo  <wingo@pobox.com>
7358
7359         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
7360         convert a negative value. Doesn't make much sense. Mostly this is
7361         here to force callers to ensure -1 maps to -1.
7362
7363 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7364
7365         * docs/pwg/advanced-types.xml:
7366           Well done to Michael for catching my deliberate introduction
7367           of this spelling mistake. 
7368         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
7369         * gst/gstelement.h:
7370           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
7371           unlink pads before removing the element from the bin.
7372
7373 2005-08-24  Andy Wingo  <wingo@pobox.com>
7374
7375         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
7376         the same thing as GST_DEBUG=*:4.
7377         (parse_debug_level, parse_debug_category): New helper parsers.
7378
7379 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7380
7381         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7382         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
7383         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
7384         (gst_base_transform_buffer_alloc),
7385         (gst_base_transform_handle_buffer):
7386           use gboolean return values and pointers to size so we can use the
7387           full GST_BUFFER_SIZE range (guint) for buffer sizes
7388           use GstPadDirection for transform_caps
7389         * gst/base/gstbasetransform.h:
7390           rename get_size to get_unit_size since that's what it is
7391         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
7392           use GstPadDirection for transform_caps
7393         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7394         * gst/gstutils.h:
7395           cleanup and debugging
7396
7397 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7398
7399         * gst/gstelement.c: (gst_element_class_init),
7400         (gst_element_set_state), (activate_pads),
7401         (gst_element_save_thyself):
7402         * tools/gst-compprep.c: (main):
7403         * tools/gst-inspect.c: (print_element_properties_info):
7404         * tools/gst-xmlinspect.c: (print_element_properties):
7405           Fixed long standing mem-leak
7406
7407 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7408
7409         * check/gst/gstbin.c: (GST_START_TEST):
7410         * gst/gstbin.c: (bin_bus_handler):
7411         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7412         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7413         (gst_message_new_warning), (gst_message_new_tag),
7414         (gst_message_new_state_changed), (gst_message_new_segment_start),
7415         (gst_message_new_segment_done), (gst_message_new_custom):
7416         * gst/gstmessage.h:
7417         * tools/gst-launch.c: (event_loop):
7418         * tools/gst-md5sum.c: (event_loop):
7419           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
7420           that applications can sensibly post custom messages with references
7421           to their own objects.
7422
7423 2005-08-24  Andy Wingo  <wingo@pobox.com>
7424
7425         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
7426         already.
7427
7428 2005-08-24  Wim Taymans  <wim@fluendo.com>
7429
7430         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7431         (gst_base_transform_transform_caps),
7432         (gst_base_transform_transform_size),
7433         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7434         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7435         (gst_base_transform_handle_buffer):
7436         * gst/base/gstbasetransform.h:
7437         Many fixes and new features added by Thomas. Can now also do
7438         transforms with variable sizes and a custom fixate_caps function.
7439
7440 2005-08-24  Wim Taymans  <wim@fluendo.com>
7441
7442         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7443         Some debugging.
7444
7445         * gst/gstclock.h:
7446         Cast to ClockTime before formatting to time.
7447
7448         * gst/gstutils.h:
7449         Cleanups.
7450
7451 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7452
7453         * check/gst-libs/controller.c: (GST_START_TEST),
7454         (gst_controller_suite):
7455         * docs/gst/tmpl/gstcaps.sgml:
7456         * docs/gst/tmpl/gstghostpad.sgml:
7457         * docs/gst/tmpl/gstquery.sgml:
7458         * docs/gst/tmpl/gstutils.sgml:
7459         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
7460         (gst_object_sink_values), (gst_object_get_value_arrays),
7461         (gst_object_get_value_array):
7462           gracefully handle helper method calls to objects that are not beeing
7463           controlled, added test case for that          
7464
7465 2005-08-23  Wim Taymans  <wim@fluendo.com>
7466
7467         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
7468         (gst_event_new_newsegment), (gst_event_parse_newsegment),
7469         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
7470         (gst_event_parse_qos), (gst_event_new_seek),
7471         (gst_event_parse_seek):
7472         * gst/gstevent.h:
7473         Some more debugging output and doc cleanups.
7474
7475         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7476         Fix possible deadlock.
7477
7478 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7479
7480         * docs/gst/gstreamer-docs.sgml:
7481         * docs/gst/gstreamer-sections.txt:
7482         * docs/gst/gstreamer.types:
7483         * docs/gst/tmpl/.cvsignore:
7484         * gst/gstbin.h:
7485         * gst/gstbus.c:
7486         * gst/gstelement.c:
7487         * gst/gstevent.h:
7488           added 100 symbols from gstreamer-unused.txt to the right sections
7489           fixed more broken comments
7490           added GstBus to docs
7491
7492 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7493
7494         * docs/gst/gstreamer-sections.txt:
7495         * docs/gst/tmpl/.cvsignore:
7496         * docs/gst/tmpl/gstbin.sgml:
7497         * docs/gst/tmpl/gstbuffer.sgml:
7498         * gst/base/gstbasesrc.c:
7499         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
7500         * gst/gstbuffer.c:
7501         * gst/gstbuffer.h:
7502         * tools/gst-launch.1.in:
7503           inlined more doc comments, added missing comments and fixed comments
7504           fixed typos
7505
7506 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7507
7508         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7509           some debugging
7510         * gst/gstcaps.h:
7511           whitespace fixes
7512         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
7513           more debugging
7514         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
7515         * gst/gststructure.h:
7516           add a fixate function for booleans; add a FIXME that these func
7517           names should probably be gst_structure_fixate_*
7518
7519 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7520
7521         * docs/gst/gstreamer-docs.sgml:
7522         * docs/gst/gstreamer-sections.txt:
7523         * gst/Makefile.am:
7524         * gst/gstbin.c: (gst_bin_get_type),
7525         (gst_bin_child_proxy_get_child_by_index),
7526         (gst_bin_child_proxy_get_children_count),
7527         (gst_bin_child_proxy_init):
7528         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
7529         (gst_child_proxy_get_child_by_index),
7530         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
7531         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
7532         (gst_child_proxy_get), (gst_child_proxy_set_property),
7533         (gst_child_proxy_set_valist), (gst_child_proxy_set),
7534         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
7535         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
7536         * gst/gstchildproxy.h:
7537         * gst/parse/grammar.y:
7538         * tools/gst-inspect.c: (print_interfaces),
7539         (print_element_properties_info), (print_element_info):
7540           ported gstchildproxy over from 0.8
7541           ported gst-inspect fixes and enhancements over from 0.8
7542
7543 2005-08-22  Wim Taymans  <wim@fluendo.com>
7544
7545         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7546         (gst_base_transform_handle_buffer):
7547         Also call the transform function if we have ANY caps.
7548
7549         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
7550         Fix debug info.
7551
7552 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7553
7554         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
7555           Don't pretend to handle seek events if the source is not seekable
7556
7557 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7558
7559         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7560           Remove extra parameter to debug output
7561
7562         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7563         (gst_base_src_do_seek), (gst_base_src_activate_push):
7564           Fix seek event handling.
7565
7566         * gst/gstpipeline.c: (gst_pipeline_change_state):
7567         * gst/gstqueue.c: (gst_queue_handle_sink_event),
7568         (gst_queue_src_activate_push):
7569           Don't start the src pad task on FLUSH_STOP if the pad
7570           isn't linked.
7571           Debug changes.
7572
7573 2005-08-22  Wim Taymans  <wim@fluendo.com>
7574
7575         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
7576         Added check for gst_static_caps_get() refcounting.
7577
7578 2005-08-22  Wim Taymans  <wim@fluendo.com>
7579
7580         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
7581         Make _static_caps_get() refcounting sane.
7582         
7583         * gst/gstelement.c: (gst_element_set_state):
7584         Add g_return_val_if_fail() to protect against segfaults.
7585
7586 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
7587
7588         * docs/gst/tmpl/gstevent.sgml:
7589         * gst/gstevent.c:
7590         * gst/gstevent.h:
7591           inlined remaining docs, added missing doc comments
7592
7593 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7594
7595         * check/gst/gstbin.c: (GST_START_TEST):
7596           since we don't know when preroll is done, use refcount range
7597           check for the sink
7598         * gst/check/gstcheck.h:
7599           add macro for checking refcount range
7600
7601 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7602
7603         * check/Makefile.am:
7604           clean up environment for when registry gets built versus
7605           when actual tests are run; valgrind seems to not report
7606           leaks if GST_PLUGIN_PATH is set to some specific values
7607         * check/gst/gstbin.c: (GST_START_TEST):
7608           add more refcounting checks; maybe this exposes a
7609           preroll lock bug ?
7610         * common/check.mak:
7611         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7612         * gst/check/gstcheck.h:
7613         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
7614         (gst_bin_change_state):
7615         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
7616           add/fix debugging/whitespace
7617
7618 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7619
7620         * check/gst/gstevent.c: (event_probe), (test_event),
7621         (GST_START_TEST):
7622          Er, don't call gst_bin_watch_for_state_change you idiot.
7623
7624 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7625
7626         * check/Makefile.am:
7627           Use CHECK_CFLAGS and CHECK_LIBS
7628         * check/gst/gstevent.c: (event_probe), (test_event),
7629         (GST_START_TEST):
7630           Don't leak events.
7631         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7632         (gst_base_src_start), (gst_base_src_stop),
7633         (gst_base_src_activate_push), (gst_base_src_activate_pull),
7634         (gst_base_src_change_state):
7635           Sprinkle gst_base_src_stop liberally around error paths to fix
7636           problems reusing a source after failed state changes.
7637         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7638         (helper_find_suggest), (gst_type_find_helper):
7639           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
7640         * gst/gstevent.h:
7641         * docs/gst/tmpl/gstevent.sgml:
7642           Migrate part of the docs from the SGML file. Wait for ensonic to
7643           tell me how I did it wrong ;)
7644         * tools/gst-typefind.c: (main):
7645           Extra robustness to state changes between files.
7646
7647 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7648
7649         * check/Makefile.am:
7650           don't valgrind the controller test - it's leaking - Stefan, HELP
7651         * gst/check/gstcheck.c: (gst_check_message_error),
7652         (gst_check_chain_func), (gst_check_setup_element),
7653         (gst_check_teardown_element), (gst_check_setup_src_pad),
7654         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
7655         (gst_check_teardown_sink_pad):
7656         * gst/check/gstcheck.h:
7657           add a bunch of methods to set up elements, and src and sink pads
7658         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
7659         * check/elements/identity.c: (setup_identity), (cleanup_identity),
7660         (GST_START_TEST):
7661           use them
7662         * gst/gstmessage.c:
7663         * gst/gsttag.h:
7664           whitespace/doc fixes
7665
7666 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7667
7668         * gst/gstelement.h:
7669           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
7670           be handled by the application and not always printed as well
7671
7672 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7673
7674         * check/Makefile.am:
7675           set GST_TOOLS_DIR
7676         * gst/check/gstcheck.c: (gst_check_message_error):
7677         * gst/check/gstcheck.h:
7678           add a fail_unless_equals_int
7679           add fail_unless for error messages
7680
7681 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7682
7683         * check/Makefile.am:
7684         * check/gst.supp:
7685         * common/Makefile.am:
7686         * common/check.mak:
7687         * common/gst.supp:
7688           factor out some of the common stuff so we can use it
7689
7690 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7691
7692         * check/Makefile.am:
7693         * check/gst/gstiterator.c: (GST_START_TEST):
7694         * check/gst/gstsystemclock.c: (GST_START_TEST),
7695         (gst_systemclock_suite):
7696         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7697         * gst/gstclock.c:
7698           valgrind more tests
7699
7700 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7701
7702         * check/elements/.cvsignore:
7703         * check/elements/gstfakesrc.c:
7704           rename to name of element
7705         * check/elements/identity.c: (chain_func), (event_func),
7706         (setup_identity), (cleanup_identity), (GST_START_TEST),
7707         (identity_suite), (main):
7708           add a test for identity
7709         * check/Makefile.am:
7710         * pkgconfig/Makefile.am:
7711         * pkgconfig/gstreamer-check.pc.in:
7712         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7713         * gst/check:
7714         * gst/Makefile.am:
7715         * configure.ac:
7716           move the check stuff to a library that gets installed
7717         * check/gst-libs/controller.c: (GST_START_TEST):
7718         * check/gst-libs/gdp.c:
7719         * check/gst/gst.c: (GST_START_TEST):
7720         * check/gst/gstbin.c:
7721         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7722         * check/gst/gstbus.c:
7723         * check/gst/gstcaps.c: (GST_START_TEST):
7724         * check/gst/gstelement.c:
7725         * check/gst/gstghostpad.c:
7726         * check/gst/gstiterator.c:
7727         * check/gst/gstmessage.c:
7728         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
7729         * check/gst/gstobject.c:
7730         * check/gst/gstpad.c: (GST_START_TEST):
7731         * check/gst/gststructure.c: (GST_START_TEST):
7732         * check/gst/gstsystemclock.c: (GST_START_TEST),
7733         (gst_systemclock_suite):
7734         * check/gst/gsttag.c: (gst_tag_suite):
7735         * check/gst/gstvalue.c:
7736         * check/pipelines/cleanup.c:
7737         * check/pipelines/simple_launch_lines.c:
7738         * check/states/sinks.c:
7739           change include statement
7740
7741         * docs/gst/gstreamer-sections.txt:
7742         * docs/gst/tmpl/gstpad.sgml:
7743           document more pad stuff
7744         * gst/gstminiobject.c: (gst_mini_object_ref),
7745         (gst_mini_object_unref):
7746           debug refcounting
7747
7748 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
7749
7750         * docs/gst/tmpl/gst.sgml:
7751         * gst/gst.c:
7752           eliminate another tmpl file, fix spelling in the long-description
7753
7754 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7755
7756         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7757         (test_event), (timediff), (gstevents_suite):
7758           Should fix build on 64-bit arch's
7759
7760 2005-08-18  Andy Wingo  <wingo@pobox.com>
7761
7762         Make sure that when a pipeline goes to PLAYING, that data has
7763         actually hit the sink.
7764
7765         * check/states/sinks.c (test_sink): A sink that doesn't get any
7766         data shouldn't return SUCCESS for going to either PLAYING or
7767         PAUSED. Test also the return values on the way back down.
7768
7769         * gst/gstelement.c (gst_element_set_state): When changing the
7770         state of an element currently changing state asynchronously, go to
7771         lost-state after commiting the pending state. Makes future calls
7772         to get_state continue to return ASYNC.
7773
7774         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
7775         ASYNC when going to PLAYING if we still don't have preroll, as can
7776         happen with live sources.
7777
7778 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7779
7780         * docs/pwg/advanced-types.xml:
7781           Hack long paragraph into 2 chunks as a workaround for buggy
7782           jadetex version in sid and breezy that loops infinitely and
7783           eats all RAM.
7784
7785 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7786
7787         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7788         (test_event), (timediff), (gstevents_suite):
7789           Provide more error margin in clock measurements to allow for 
7790           g_get_current_time inaccuracies.
7791
7792 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7793
7794         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7795         (test_event), (timediff), (gstevents_suite):
7796            Fix error message output so I might be able to tell why the
7797            test works here but fails on the build farm.
7798
7799 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7800
7801         * check/Makefile.am:
7802         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7803         (test_event), (timediff), (gstevents_suite), (main):
7804           I wrote a test!
7805
7806         * docs/design/part-seeking.txt:
7807           Spelling correction
7808
7809         * docs/gst/tmpl/gstevent.sgml:
7810         * docs/gst/tmpl/gstfakesrc.sgml:
7811           Docs updates.
7812
7813         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7814           Treat a buffer-without-newsegment the same as a receiving 
7815           a newsegment not in time format, and disable syncing to the clock
7816           with a warning.
7817
7818         * gst/gstbus.c: (gst_bus_set_sync_handler):
7819           Assert if anyone tries to replace the existing sync_handler for bus, 
7820           as only the owner should be setting it.
7821
7822         * gst/gstevent.h:
7823           Have a fixed set of custom event enums with events identified by
7824           their structure name (as in 0.8), rather than a free-for-all
7825           allowing collisions between enum values from different plugins.
7826
7827         * gst/gstpad.c: (gst_pad_class_init):
7828           Docs change.
7829           
7830         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7831           Handle out-of-band downstream events from the sending thread.
7832
7833 2005-08-17  Andy Wingo  <wingo@pobox.com>
7834
7835         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
7836         play-timeout==0 to mean no timeout at all. In that case, don't
7837         bother with a get_state or a warning, just return directly, even
7838         if it's ASYNC.
7839
7840         * gst/base/gstbasetransform.c: Debug changes.
7841
7842         * gst/gstutils.h:
7843         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
7844         ensure bins post state change messages. A bit of a hack but I can't
7845         think of a way to avoid it.
7846
7847         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
7848
7849 2005-08-16  Andy Wingo  <wingo@pobox.com>
7850
7851         * gst/base/gstadapter.h:
7852         * gst/base/gstadapter.c (gst_adapter_take): New function, like
7853         peek() but you own the data. Not terribly efficient atm.
7854
7855 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7856
7857         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
7858         (gst_element_found_tags):
7859         * gst/gstutils.h:
7860           Add two utility functions for tag handling.
7861
7862 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7863
7864         * docs/manual/advanced-dataaccess.xml:
7865         * docs/manual/basics-helloworld.xml:
7866           Fix docs to use _bin_add() before _link(), which fixes the examples
7867           with recent core versions (reported by Madhan Raj M
7868           <raj_madan@rediffmail.com>, #313199).
7869
7870 2005-08-16  Wim Taymans  <wim@fluendo.com>
7871
7872         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7873         Added subtract checks.
7874
7875         * docs/design/part-events.txt:
7876         Some more docs about newsegment
7877
7878         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
7879         Fix FIXME
7880
7881         * gst/gstcaps.c: (gst_caps_to_string):
7882         Add comments, cleanups.
7883         
7884         * gst/gstelement.c: (gst_element_save_thyself):
7885         cleanups
7886         
7887         * gst/gstvalue.c: (gst_value_collect_int_range),
7888         (gst_string_unwrap), (gst_value_union_int_int_range),
7889         (gst_value_union_int_range_int_range),
7890         (gst_value_intersect_int_int_range),
7891         (gst_value_intersect_int_range_int_range),
7892         (gst_value_intersect_double_double_range),
7893         (gst_value_intersect_double_range_double_range),
7894         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
7895         (gst_value_subtract_int_range_int),
7896         (gst_value_subtract_double_range_double),
7897         (gst_value_subtract_double_range_double_range),
7898         (gst_value_subtract_from_list), (gst_value_subtract_list),
7899         (gst_value_can_compare), (gst_value_compare_fraction):
7900         Cleanups, add comments, remove unneeded asserts.
7901
7902 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7903
7904         * tools/gst-launch.c: (event_loop):
7905           don't convert NULL structures to strings
7906
7907 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
7908
7909         * docs/gst/gstreamer-sections.txt:
7910           made some defines private
7911         * docs/gst/tmpl/gstconfig.sgml:
7912         * docs/gst/tmpl/gstqueue.sgml:
7913         * docs/gst/tmpl/gsttaglist.sgml:
7914         * docs/gst/tmpl/gsttypes.sgml:
7915         * docs/gst/tmpl/gstutils.sgml:
7916         * docs/pwg/appendix-porting.xml:
7917         * gst/base/gstbasesink.h:
7918         * gst/base/gstbasesrc.c:
7919         * gst/base/gstbasesrc.h:
7920         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
7921         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
7922         * gst/gstelement.c: (gst_element_class_init):
7923         * gst/gstpad.c: (gst_pad_class_init):
7924         * gst/gstqueue.c: (gst_queue_class_init):
7925         * gst/gstxml.c: (gst_xml_class_init):
7926           documented all undocumented signal inline
7927         * libs/gst/controller/gst-controller.h:
7928           added padding
7929
7930 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7931
7932         * docs/pwg/appendix-porting.xml:
7933           Document _set_link_function -> _set_setcaps_function.
7934
7935 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7936
7937         * check/Makefile.am:
7938           add a .check target for running the check
7939         * check/gst-libs/controller.c: (GST_START_TEST):
7940           cosmetic fixups
7941         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7942           complete checks for gstbuffer; would be nice if I could get the
7943           gcov stuff to work so I can see if I actually completed gstbuffer.c
7944         * check/gstcheck.h:
7945           add ASSERT_BUFFER_REFCOUNT
7946
7947 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
7948
7949         * docs/gst/gstreamer-sections.txt:
7950         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
7951         * gst/gsttag.h:
7952           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
7953           spew out a warning if a tag that is already registered
7954           is re-registered, unless it is re-registered with a 
7955           different type (#308438).
7956
7957 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
7958
7959         * docs/pwg/appendix-porting.xml:
7960         * docs/pwg/building-state.xml:
7961           Add some paragraphs about state changes in 0.9 to the PWG
7962           and the porting guide, in particular about the new meaning
7963           of GST_STATE_PAUSED and how to write state change functions
7964           with concurrent access by multiple threads in mind.
7965
7966 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
7967
7968         * docs/gst/gstreamer-docs.sgml:
7969         * docs/libs/gstreamer-libs-docs.sgml:
7970           added deprecation and since indexes
7971         * libs/gst/controller/gst-controller.c:
7972         * libs/gst/controller/gst-helper.c:
7973           added since tags
7974
7975
7976 2005-08-11  Wim Taymans  <wim@fluendo.com>
7977
7978         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
7979         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
7980         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
7981         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
7982         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
7983         (gst_ghost_pad_set_target):
7984         Actually implement (re)setting the target on a ghostpad
7985         as described in the docs.
7986
7987 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7988
7989         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
7990           Check whether GST_DEBUG_NO_COLOR environment variable is
7991           set and disable coloured debug output if that is the case.
7992
7993 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7994
7995         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7996         (gst_type_find_helper):
7997           The memory returned by gst_type_find_peek() needs to
7998           stay valid until the end of a typefind function, and
7999           typefind functions may keep results from different 
8000           offsets around, so we can't just unref the buffer from
8001           the previous _peek(), but have to save all buffers 
8002           returned by _peek() until typefinding is done and only
8003           free them then.
8004
8005 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
8006
8007         * docs/gst/gstreamer-sections.txt:
8008         * gst/gstutils.h:
8009           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
8010
8011 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8012
8013         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8014           Fix a pretty good memleak.
8015
8016 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8017
8018         * gst/gstiterator.h:
8019           Fix wrong include and 'make distcheck'.
8020
8021 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8022
8023         * gst/gstbin.c: (bin_bus_handler):
8024           Use gst_element_post_message() instead.
8025
8026 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8027
8028         * gst/base/gstadapter.h:
8029         * gst/base/gstbasesink.h:
8030         * gst/base/gstbasesrc.h:
8031         * gst/base/gstbasetransform.h:
8032         * gst/base/gstcollectpads.h:
8033         * gst/base/gstpushsrc.h:
8034         * gst/gstiterator.h:
8035           Add padding to our base elements' class and instance structs and
8036           to GstIterator (you will need to rebuild all plugins and apps!)
8037
8038 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8039
8040         * gst/gstbin.c: (bin_bus_handler):
8041           Make default message forwarding from child->bus to bin->bus
8042           threadsafe and make it not emit warnings if the parent has no bus.
8043
8044 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8045
8046         * gst/gstelement.c: (activate_pads):
8047           On paused->ready, set pad->caps to NULL, as is the documented
8048           behaviour in this state change. Fixes playback of series of
8049           media files when visualization is enabled in Totem.
8050
8051 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8052
8053         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8054           Allow NULL as filter-caps (which means "any").
8055
8056 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8057
8058         * docs/libs/gstreamer-libs-sections.txt:
8059         * libs/gst/controller/gst-controller.c:
8060         * libs/gst/controller/gst-controller.h:
8061         * libs/gst/controller/gst-helper.c:
8062           adding more entries to the docs and fix small doc-bugs
8063
8064 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8065
8066         * docs/gst/gstreamer-docs.sgml:
8067         * docs/gst/gstreamer-sections.txt:
8068         * docs/gst/gstreamer.types:
8069         * docs/gst/tmpl/gstbasesink.sgml:
8070         * docs/gst/tmpl/gstbasesrc.sgml:
8071         * docs/gst/tmpl/gstbasetransform.sgml:
8072         * docs/gst/tmpl/gstfakesrc.sgml:
8073         * gst/base/gstcollectpads.c:
8074         * gst/base/gstcollectpads.h:
8075         * libs/gst/controller/gst-controller.c:
8076         * libs/gst/controller/gst-controller.h:
8077         * libs/gst/controller/gst-helper.c:
8078         * libs/gst/controller/gst-interpolation.c:
8079         * libs/gst/controller/lib.c:
8080           added long/short desc for controller docs
8081           added collectpads base class docs
8082           added correct includes to base-class docs
8083
8084 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8085
8086         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8087         (gst_test_mono_source_set_property),
8088         (gst_test_mono_source_class_init), (GST_START_TEST),
8089         (gst_controller_suite):
8090         * docs/gst/gstreamer-docs.sgml:
8091         * docs/gst/gstreamer-sections.txt:
8092         * docs/gst/gstreamer.types:
8093         * docs/libs/gstreamer-libs-docs.sgml:
8094         * docs/libs/gstreamer-libs-sections.txt:
8095         * gst/base/gstadapter.c:
8096         * libs/gst/controller/gst-controller.c:
8097         (gst_controlled_property_new), (gst_controlled_property_free),
8098         (gst_controller_new_valist),
8099         (gst_controller_remove_properties_valist),
8100         (gst_controller_sink_values), (_gst_controller_finalize):
8101         * libs/gst/controller/gst-controller.h:
8102         * libs/gst/controller/gst-helper.c:
8103         (gst_object_control_properties), (gst_object_uncontrol_properties),
8104         (gst_object_get_controller), (gst_object_set_controller),
8105         (gst_object_sink_values), (gst_object_get_value_arrays),
8106         (gst_object_get_value_array):
8107           more tests (and fixes) for the controller
8108           more docs for the controller
8109           integrated companies docs for the adapter 
8110
8111 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8112
8113         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8114         (GST_START_TEST), (fakesrc_suite):
8115           add tests for sizetype
8116
8117 2005-08-04  Andy Wingo  <wingo@pobox.com>
8118
8119         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8120         fixes buffer_alloc proxying among other things.
8121
8122         * gst/base/gstbasetransform.c:
8123         * gst/base/gstbasetransform.h:
8124         Revert patch to gstbasetransform from 7-28 removing
8125         delay_configure.
8126
8127         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8128         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8129         Semantics changed, should return not the size of the output buffer
8130         but the byte size of a buffer with a given caps.
8131
8132         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8133         debug object.
8134         (gst_base_transform_configure_caps): Don't set out_size here: (in,
8135         out) are not the pad caps until setcaps finishes.
8136         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8137         not-in-place case as well. Deal with changing from in-place to
8138         not-in-place within calling pad_alloc_buffer. Still a bit
8139         concerned about the overhead here...
8140
8141 2005-08-03  Andy Wingo  <wingo@pobox.com>
8142
8143         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8144         fixating is an error.
8145
8146 2005-08-04  Edward Hervey  <edward@fluendo.com>
8147
8148         * gst/base/gstadapter.h: 
8149         Added gst_adapter_get_type() to the header
8150
8151 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8152
8153         * check/Makefile.am:
8154         * check/gst-libs/controller.c:
8155         * libs/gst/controller/gst-controller.c:
8156         (gst_controller_new_valist):
8157           added check test suite for the controller
8158         * gst/base/gstpushsrc.c:
8159           fixed a doc typo
8160
8161 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8162
8163         * docs/gst/Makefile.am:
8164         * docs/gst/gstreamer-docs.sgml:
8165         * docs/gst/gstreamer-sections.txt:
8166         * docs/gst/gstreamer.types:
8167         * docs/gst/tmpl/gstfakesrc.sgml:
8168         * gst/base/README:
8169         * gst/base/gstbasesink.c:
8170         * gst/base/gstbasesink.h:
8171         * gst/base/gstbasesrc.c:
8172         * gst/base/gstbasesrc.h:
8173         * gst/base/gstbasetransform.c:
8174         * gst/base/gstpushsrc.c:
8175         * gst/base/gstpushsrc.h:
8176           add short/long description docs to base classes
8177           add pushsrc to the docs
8178           remove consolidated doc fragments
8179
8180 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8181
8182         * configure.ac:
8183         * docs/libs/Makefile.am:
8184         * docs/libs/gstreamer-libs-docs.sgml:
8185         * docs/libs/gstreamer-libs-sections.txt:
8186         * docs/libs/gstreamer-libs.types:
8187         * examples/Makefile.am:
8188         * examples/controller/.cvsignore:
8189         * examples/controller/Makefile.am:
8190         * examples/controller/audio-example.c: (main):
8191         * libs/gst/Makefile.am:
8192         * libs/gst/controller/.cvsignore:
8193         * libs/gst/controller/Makefile.am:
8194         * libs/gst/controller/gst-controller.c:
8195         (on_object_controlled_property_changed), (gst_timed_value_compare),
8196         (gst_timed_value_find),
8197         (gst_controlled_property_set_interpolation_mode),
8198         (gst_controlled_property_new), (gst_controlled_property_free),
8199         (gst_controller_find_controlled_property),
8200         (gst_controller_new_valist), (gst_controller_new),
8201         (gst_controller_remove_properties_valist),
8202         (gst_controller_remove_properties), (gst_controller_set),
8203         (gst_controller_set_from_list), (gst_controller_unset),
8204         (gst_controller_get), (gst_controller_get_all),
8205         (gst_controller_sink_values), (gst_controller_get_value_arrays),
8206         (gst_controller_get_value_array),
8207         (gst_controller_set_interpolation_mode),
8208         (_gst_controller_finalize), (_gst_controller_init),
8209         (_gst_controller_class_init), (gst_controller_get_type):
8210         * libs/gst/controller/gst-controller.h:
8211         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8212         (g_object_uncontrol_properties), (g_object_get_controller),
8213         (g_object_set_controller), (g_object_sink_values),
8214         (g_object_get_value_arrays), (g_object_get_value_array):
8215         * libs/gst/controller/gst-interpolation.c:
8216         (gst_controlled_property_find_timed_value_node),
8217         (interpolate_none_get), (interpolate_trigger_get),
8218         (interpolate_trigger_get_value_array):
8219         * libs/gst/controller/lib.c: (gst_controller_init):
8220         * pkgconfig/Makefile.am:
8221         * pkgconfig/gstreamer-control-uninstalled.pc.in:
8222         * pkgconfig/gstreamer-control.pc.in:
8223         * testsuite/Makefile.am:
8224         * testsuite/controller/.cvsignore:
8225         * testsuite/controller/Makefile.am:
8226         * testsuite/controller/interpolator.c: (main):
8227           added controller code
8228           removed dparam pc files
8229
8230 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8231         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8232         (gst_collectpads_stop):
8233           Broadcast the condition when shutting down, to make sure we wake all
8234           threads up. Shut down pads on finalize, for safety.
8235
8236 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8237         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8238         (gst_base_transform_handle_buffer),
8239         (gst_base_transform_change_state):
8240           Handle PAUSED->READY->PAUSED transition after negotiation
8241           occurred already.
8242         * gst/gstmessage.c: (gst_message_init):
8243           Extra piece of debug for new messages.
8244
8245 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
8246
8247         * configure.ac:
8248         * docs/gst/tmpl/gstbasesrc.sgml:
8249         * docs/gst/tmpl/gstelement.sgml:
8250         * docs/gst/tmpl/gstevent.sgml:
8251         * docs/gst/tmpl/gstfakesrc.sgml:
8252         * docs/gst/tmpl/gstformat.sgml:
8253         * docs/gst/tmpl/gstghostpad.sgml:
8254         * docs/gst/tmpl/gstpad.sgml:
8255         * docs/gst/tmpl/gstquery.sgml:
8256         * docs/gst/tmpl/gststructure.sgml:
8257         * docs/gst/tmpl/gsttaglist.sgml:
8258         * docs/gst/tmpl/gstvalue.sgml:
8259         * docs/libs/gstreamer-libs-docs.sgml:
8260         * docs/libs/gstreamer-libs-sections.txt:
8261         * docs/libs/gstreamer-libs.types:
8262         * libs/gst/Makefile.am:
8263         * libs/gst/control/.cvsignore:
8264         * libs/gst/control/Makefile.am:
8265         * libs/gst/control/control.c:
8266         * libs/gst/control/control.h:
8267         * libs/gst/control/dparam.c:
8268         * libs/gst/control/dparam.h:
8269         * libs/gst/control/dparam_smooth.c:
8270         * libs/gst/control/dparam_smooth.h:
8271         * libs/gst/control/dparamcommon.h:
8272         * libs/gst/control/dparammanager.c:
8273         * libs/gst/control/dparammanager.h:
8274         * libs/gst/control/dplinearinterp.c:
8275         * libs/gst/control/dplinearinterp.h:
8276         * libs/gst/control/unitconvert.c:
8277         * libs/gst/control/unitconvert.h:
8278         * testsuite/Makefile.am:
8279         * testsuite/dynparams/.cvsignore:
8280         * testsuite/dynparams/Makefile.am:
8281         * testsuite/dynparams/dparamstest.c:
8282         * tools/Makefile.am:
8283         * tools/gst-inspect.c: (print_element_info), (main):
8284         * tools/gst-xmlinspect.c: (print_element_info), (main):
8285           deactivate and remove dparams (libgstcontrol)
8286
8287 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8288
8289         * gst/elements/gsttypefindelement.c:
8290         (gst_type_find_element_have_type), (gst_type_find_element_init),
8291         (stop_typefinding), (gst_type_find_element_handle_event),
8292         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8293         * gst/elements/gsttypefindelement.h:
8294           Set caps on all outgoing buffers, not just the first one.
8295
8296 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8297
8298         * gst/elements/gsttypefindelement.c:
8299         (gst_type_find_element_have_type),
8300         (gst_type_find_element_check_set_buffer_caps),
8301         (gst_type_find_element_init), (stop_typefinding),
8302         (gst_type_find_element_handle_event),
8303         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8304         * gst/elements/gsttypefindelement.h:
8305           Set caps on first outgoing buffer when we've found the type.
8306
8307 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8308
8309         * docs/gst/gstreamer-docs.sgml:
8310         * docs/gst/gstreamer-sections.txt:
8311         * docs/gst/tmpl/gstscheduler.sgml:
8312         * docs/gst/tmpl/gstschedulerfactory.sgml:
8313           Remove some old cruft from docs.
8314
8315 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
8316
8317         * gst/gstpad.h:
8318           Fix inline docs for GstPadLinkReturn.
8319           
8320         * gst/gststructure.c: (gst_structure_has_name):
8321         * gst/gststructure.h:
8322         * docs/gst/gstreamer-sections.txt:
8323           New API: gst_structure_has_name().
8324
8325 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
8326
8327         * configure.ac:
8328           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
8329           and _LARGEFILE_SOURCE in config.h as required. Do not 
8330           export those flags in our .pc files any longer (#142209).
8331
8332           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
8333
8334         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
8335         (gst_file_sink_do_seek), (gst_file_sink_event),
8336         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8337           Redo seek/tell calls with large file support in mind; add some
8338           debugging messages; add log message that tells us when large
8339           file support is unavailable or not enabled for some reason.
8340
8341         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
8342           Add log message that tells us when large file support 
8343           is unavailable or not enabled for some reason.
8344
8345 2005-07-29  Wim Taymans  <wim@fluendo.com>
8346
8347         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8348         Added test for removing an element with ghostpad from a bin.
8349         Fixed test as current implementation does the right thing.
8350
8351         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
8352         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
8353         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
8354         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
8355         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
8356         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8357         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8358         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8359         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
8360         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
8361         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
8362         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
8363         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8364         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
8365         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
8366         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8367         * gst/gstghostpad.h:
8368         Clean up ghostpads, remove properties for internal stuff.
8369         Make threadsafe.
8370         Fix refcounting.
8371         Prepare for switching targets, not all use cases work yet.
8372
8373 2005-07-29  Wim Taymans  <wim@fluendo.com>
8374
8375         * docs/design/part-gstghostpad.txt:
8376         Small update.
8377
8378         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8379         (gst_bin_remove_func):
8380         Unlinking pads while holding the bin LOCK is not a good
8381         idea.
8382
8383         * gst/gstpad.c: (gst_pad_class_init),
8384         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
8385         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
8386         No prob setting template after creating the pad.
8387
8388 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
8389
8390         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
8391         (gst_bus_peek), (gst_bus_source_dispatch),
8392         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
8393         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
8394           gst_bus_poll may be called from other threads. Handle
8395           this nicely by not making poll_data disappear off the
8396           stack once gst_bus_poll returns.
8397           gst_bus_peek now increments the refcount on the returned
8398           message.
8399
8400 2005-07-29  Wim Taymans  <wim@fluendo.com>
8401
8402         * docs/design/part-gstghostpad.txt:
8403         Overview of current GhostPad datastructures and use
8404         cases for changing the target.
8405
8406 2005-07-28  Wim Taymans  <wim@fluendo.com>
8407
8408         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8409         Added checks for hierarchy consistency whan adding linked
8410         elements to bins.
8411
8412         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8413         Added check to test element scheduling without bin/pipeline.
8414
8415         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8416         First add elements to bin, then link.
8417         
8418         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8419         (gst_bin_remove_func):
8420         Unlink pads from elements added/removed from bin to maintain
8421         hierarchy consistency.
8422
8423 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8424
8425         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8426         (gst_base_transform_handle_buffer):
8427         * gst/base/gstbasetransform.h:
8428           Remove broken delay_configure (fixes renegotiation of software
8429           scaling pipelines); remove some leftover printf()s.
8430
8431 2005-07-28  Wim Taymans  <wim@fluendo.com>
8432
8433         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8434         Added some more tests for wrong hierarchy
8435
8436         * docs/design/part-overview.txt:
8437         Some updates.
8438
8439         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
8440         Cleanups.
8441
8442         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
8443         (gst_element_dispose):
8444         Some more cleanups.
8445
8446         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8447         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
8448         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8449         (gst_pad_set_caps), (gst_pad_send_event):
8450         Check for correct hierarchy when linking pads. Moving to
8451         strict requirement for ghostpads when linking elements in
8452         different bins.
8453
8454         * gst/gstpad.h:
8455         Clean ups. Added WRONG_HIERARCHY return value.
8456
8457 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8458
8459         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8460           Better debug if no transform is possible.
8461
8462 2005-07-27  Wim Taymans  <wim@fluendo.com>
8463
8464         * docs/random/wtay/network-transp:
8465         Some old doc I had.
8466
8467 2005-07-27  Wim Taymans  <wim@fluendo.com>
8468
8469         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8470         (gst_dp_event_from_packet):
8471         Fix serialization of seek events.
8472
8473 2005-07-27  Wim Taymans  <wim@fluendo.com>
8474
8475         * check/gst-libs/gdp.c: (GST_START_TEST):
8476         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8477         Fix compilation and fix event serialization.
8478
8479 2005-07-27  Wim Taymans  <wim@fluendo.com>
8480
8481         * CHANGES-0.9:
8482         * docs/design/part-TODO.txt:
8483         * docs/design/part-events.txt:
8484         Some docs updates
8485
8486         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8487         (gst_base_sink_event), (gst_base_sink_do_sync),
8488         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8489         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8490         (gst_base_src_do_seek), (gst_base_src_event_handler),
8491         (gst_base_src_loop):
8492         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8493         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8494         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8495         (gst_base_transform_event), (gst_base_transform_handle_buffer),
8496         (gst_base_transform_set_passthrough),
8497         (gst_base_transform_is_passthrough):
8498         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8499         * gst/elements/gstfilesink.c: (gst_file_sink_event):
8500         Event updates.
8501
8502         * gst/gstbuffer.h:
8503         Use faster casts.
8504
8505         * gst/gstelement.c: (gst_element_seek):
8506         * gst/gstelement.h:
8507         Update gst_element_seek.
8508
8509         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
8510         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
8511         (gst_event_new_flush_start), (gst_event_new_flush_stop),
8512         (gst_event_new_eos), (gst_event_new_newsegment),
8513         (gst_event_parse_newsegment), (gst_event_new_tag),
8514         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
8515         (gst_event_parse_qos), (gst_event_new_seek),
8516         (gst_event_parse_seek), (gst_event_new_navigation):
8517         * gst/gstevent.h:
8518         Make GstEvent use GstStructure. Add parsing code, make sure the
8519         API is sufficiently generic.
8520         Mark possible directions of events and serialization.
8521
8522         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
8523         (_gst_message_copy), (gst_message_new_segment_start),
8524         (gst_message_new_segment_done), (gst_message_new_custom),
8525         (gst_message_parse_segment_start),
8526         (gst_message_parse_segment_done):
8527         Small cleanups.
8528
8529         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8530         (gst_pad_set_caps), (gst_pad_send_event):
8531         Update for new events. 
8532         Catch events sent in wrong directions.
8533
8534         * gst/gstqueue.c: (gst_queue_link_src),
8535         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
8536         (gst_queue_handle_src_query):
8537         Event updates.
8538
8539         * gst/gsttag.c:
8540         * gst/gsttag.h:
8541         Remove event code from this file.
8542
8543         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8544         (gst_dp_event_from_packet):
8545         Event updates.
8546
8547 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8548
8549         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
8550         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8551         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
8552           Make debugging actually useful.
8553
8554 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8555
8556         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
8557         (gst_pad_fixate_caps):
8558           Implement default fixation once again, so that gst_pad_fixate()
8559           actually does anything at all. This probably needs to be some
8560           sort of a last resort, and use profile-based fixation first, but
8561           since that doesn't exist yet, this is the best we have. Fixes
8562           visualization in Totem.
8563
8564 2005-07-22  Wim Taymans  <wim@fluendo.com>
8565
8566         * docs/design/part-events.txt:
8567         Small update.
8568
8569         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8570         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
8571         (gst_base_sink_activate_pull):
8572         Some more comments.
8573
8574         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
8575         (gst_fake_src_create):
8576         Fix handoff marshall.
8577
8578         * gst/elements/gstidentity.c: (gst_identity_class_init),
8579         (gst_identity_transform_ip):
8580         We're a real inplace element.
8581
8582         * gst/gstbus.c: (gst_bus_post):
8583         Added some comments.
8584
8585         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
8586         * tests/muxing/case1.c: (main):
8587         * tests/sched/dynamic-pipeline.c: (main):
8588         * tests/sched/interrupt1.c: (main):
8589         * tests/sched/interrupt2.c: (main):
8590         * tests/sched/interrupt3.c: (main):
8591         * tests/sched/runxml.c: (main):
8592         * tests/sched/sched-stress.c: (main):
8593         * tests/seeking/seeking1.c: (event_received), (main):
8594         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
8595         (main):
8596         * tests/threadstate/threadstate3.c: (main):
8597         * tests/threadstate/threadstate4.c: (main):
8598         * tests/threadstate/threadstate5.c: (main):
8599         Fix the tests.
8600
8601 2005-07-21  Wim Taymans  <wim@fluendo.com>
8602
8603         * docs/design/part-seeking.txt:
8604         Some small additions.
8605
8606         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8607         (gst_base_sink_get_times), (gst_base_sink_do_sync),
8608         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8609         * gst/base/gstbasesink.h:
8610         discont values are gint64, handle the math correctly.
8611
8612         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8613         Make the basesrc report error if the source pad is not linked.
8614
8615         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8616         (gst_queue_loop), (gst_queue_handle_src_query),
8617         (gst_queue_src_activate_push):
8618         Make queue collect data even if the srcpad is not linked.
8619         Start pushing out data as soon as it is linked.
8620
8621         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
8622         * gst/gstutils.h:
8623         Added gst_flow_get_name() to ease error reporting.
8624
8625 2005-07-20  Wim Taymans  <wim@fluendo.com>
8626
8627         * gst/gstmessage.c: (gst_message_new_segment_start),
8628         (gst_message_new_segment_done), (gst_message_parse_segment_start),
8629         (gst_message_parse_segment_done):
8630         * gst/gstmessage.h:
8631         Added a bunch of messages for advanced seeking.
8632
8633         * gst/parse/grammar.y:
8634         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
8635         (gst_dpman_state_changed):
8636         Fix some new-pad -> pad-added signals
8637
8638 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8639
8640         * docs/manual/appendix-porting.xml:
8641         * docs/pwg/appendix-porting.xml:
8642           Document new-pad/state-change signal renames and the FixedList
8643           type rename.
8644
8645 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8646
8647         * docs/manual/advanced-autoplugging.xml:
8648         * docs/manual/basics-helloworld.xml:
8649         * docs/manual/basics-pads.xml:
8650         * docs/random/ds/0.9-suggested-changes:
8651         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
8652         * gst/gstelement.h:
8653         * gst/gstevent.h:
8654         * gst/gstformat.h:
8655         * gst/gstquery.h:
8656         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8657         (gst_structure_parse_array), (gst_structure_parse_value):
8658         * gst/gstvalue.c: (gst_type_is_fixed),
8659         (gst_value_list_prepend_value), (gst_value_list_append_value),
8660         (gst_value_list_get_size), (gst_value_list_get_value),
8661         (gst_value_transform_array_string), (gst_value_serialize_array),
8662         (gst_value_deserialize_array), (gst_value_intersect_array),
8663         (gst_value_is_fixed), (_gst_value_initialize):
8664         * gst/gstvalue.h:
8665           GstElement::new-pad -> pad-added, GstElement::state-change ->
8666           state-changed, GstValueFixedList -> GstValueArray, add format and
8667           flags as their own arguments in gst_element_seek() (should improve
8668           "bindeability"), remove function generators since they don't work
8669           under a whole bunch of compilers (they were deprecated already
8670           anyway).
8671
8672 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8673
8674         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
8675         (_gst_debug_register_funcptr):
8676         * gst/gstinfo.h:
8677           Fix illegal cast on some platforms (#309253).
8678
8679 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8680
8681         * gst/gstmessage.c: (gst_message_new_custom):
8682         * gst/gstmessage.h:
8683           Add _new_custom, make _new_application a macro to _new_custom.
8684
8685 2005-07-20  Wim Taymans  <wim@fluendo.com>
8686
8687         * gst/base/gstbasesrc.c: (gst_base_src_init),
8688         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8689         * gst/base/gstbasesrc.h:
8690         Add a gboolean to decide when to push out a discont.
8691
8692         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8693         (gst_queue_loop), (gst_queue_handle_src_query),
8694         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
8695         (gst_queue_set_property), (gst_queue_get_property):
8696         Some cleanups.
8697
8698         * tests/threadstate/threadstate1.c: (main):
8699         Make a thread test compile and run... very silly..
8700
8701
8702 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8703
8704         * docs/manual/appendix-porting.xml:
8705           Mention removal of libgstgconf-0.9.la and existence of gconf
8706           elements.
8707
8708 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8709
8710         * docs/pwg/advanced-clock.xml:
8711         * docs/pwg/appendix-porting.xml:
8712         * docs/pwg/intro-preface.xml:
8713         * docs/pwg/other-base.xml:
8714         * docs/pwg/other-manager.xml:
8715         * docs/pwg/other-nton.xml:
8716         * docs/pwg/other-ntoone.xml:
8717         * docs/pwg/other-oneton.xml:
8718         * docs/pwg/pwg.xml:
8719           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
8720           demuxer), remove n-to-n (was never written), fix some code examples
8721           and links and update the porting section to include all this.
8722
8723 2005-07-19  Wim Taymans  <wim@fluendo.com>
8724
8725         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
8726         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
8727         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
8728         (gst_queue_src_activate_push), (gst_queue_change_state),
8729         (gst_queue_get_property):
8730         * gst/gstqueue.h:
8731         Propagate GstFlowReturn more intelligently upstream and output
8732         an ERROR/EOS when streaming stopped due to fatal error.
8733
8734 2005-07-19  Wim Taymans  <wim@fluendo.com>
8735
8736         * tools/gst-launch.c: (check_intr), (event_loop), (main):
8737         Don't block forever for the state change to complete, the
8738         pipeline already did with a sensible timeout.
8739
8740 2005-07-19  Wim Taymans  <wim@fluendo.com>
8741
8742         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8743         Make sure we never call the create function is we
8744         got deactivated.
8745
8746 2005-07-19  Andy Wingo  <wingo@pobox.com>
8747
8748         * gst/parse/parse.l: Attempt to solve bug #172815.
8749
8750 2005-07-19  Wim Taymans  <wim@fluendo.com>
8751
8752         * docs/design/part-clocks.txt:
8753         * docs/design/part-events.txt:
8754         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
8755         Small docs updates.
8756         Only update the seeking values when we are not
8757         busy streaming.
8758
8759 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8760
8761         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8762           Oops, ignore the result of gst_pad_push_event here.
8763
8764 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8765
8766         * gst/base/gstbasesrc.c: (gst_base_src_loop),
8767         (gst_base_src_activate_push):
8768           Send discont event from the loop function, as pads
8769           aren't activated yet in the activate_push handler.
8770
8771         * gst/gstbin.c: (bin_bus_handler):
8772           Don't leak element name.
8773
8774 2005-07-18  Andy Wingo  <wingo@pobox.com>
8775
8776         * configure.ac: Use AS_LIBTOOL_TAGS.
8777
8778 2005-07-18  Wim Taymans  <wim@fluendo.com>
8779
8780         * docs/gst/gstreamer.types:
8781         Remove deleted types.
8782
8783 2005-07-18  Wim Taymans  <wim@fluendo.com>
8784
8785         * check/elements/gstfakesrc.c: (GST_START_TEST):
8786         * configure.ac:
8787         * gst/Makefile.am:
8788         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
8789         (init_popt_callback):
8790         * gst/gst.h:
8791         * gst/gst_private.h:
8792         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
8793         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
8794         * gst/gstbin.h:
8795         * gst/gstbus.h:
8796         * gst/gstconfig.h.in:
8797         * gst/gstelement.c: (gst_element_class_init),
8798         (gst_element_set_base_time), (gst_element_get_base_time),
8799         (iterator_fold_with_resync), (gst_element_change_state),
8800         (gst_element_dispose), (gst_element_get_bus):
8801         * gst/gstelement.h:
8802         * gst/gstelementfactory.h:
8803         * gst/gsterror.c: (_gst_core_errors_init):
8804         * gst/gsterror.h:
8805         * gst/gstevent.h:
8806         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8807         * gst/gstindex.c:
8808         * gst/gstinfo.c: (_gst_debug_init):
8809         * gst/gstmessage.c: (_gst_message_copy):
8810         * gst/gstmessage.h:
8811         * gst/gstminiobject.h:
8812         * gst/gstobject.c:
8813         * gst/gstobject.h:
8814         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8815         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
8816         * gst/gstpad.h:
8817         * gst/gstparse.h:
8818         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8819         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8820         (gst_pipeline_get_last_stream_time):
8821         * gst/gstpipeline.h:
8822         * gst/gstpluginfeature.h:
8823         * gst/gstquery.h:
8824         * gst/gstscheduler.c:
8825         * gst/gstscheduler.h:
8826         * gst/gststructure.h:
8827         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
8828         (gst_task_finalize), (gst_task_func), (gst_task_create),
8829         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
8830         (gst_task_stop), (gst_task_pause):
8831         * gst/gsttask.h:
8832         * gst/gsttypefind.h:
8833         * gst/gsttypes.h:
8834         * gst/registries/gstlibxmlregistry.c: (load_feature),
8835         (gst_xml_registry_load), (gst_xml_registry_save_feature):
8836         * gst/registries/gstxmlregistry.c:
8837         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
8838         * gst/schedulers/threadscheduler.c:
8839         * libs/gst/control/dparammanager.h:
8840         * tools/gst-inspect.c: (print_element_list),
8841         (print_plugin_features), (print_element_features):
8842         * tools/gst-xmlinspect.c: (print_element_list),
8843         (print_plugin_info), (main):
8844         Removed plugable schedulers.
8845         Removed Scheduler/Manager from elements.
8846         Removed gsttypes.h, rearranged includes.
8847         Removed dependency pad<->element, element<>pipeline, and
8848         various others,  fix includes.
8849         implement gst_pad_get_parent() with gst_object_get_parent()
8850         Make GstTask sefcontained.
8851         Fix _get_state() on GstBin, it did not return ASYNC with a 0
8852         timeout.
8853         Fix endless loop in iterator_fold_with_resync.
8854
8855
8856 2005-07-18  Wim Taymans  <wim@fluendo.com>
8857
8858         * gst/Makefile.am:
8859         * gst/gstarch.h:
8860         Remove old file.
8861
8862 2005-07-18  Wim Taymans  <wim@fluendo.com>
8863
8864         * gst/Makefile.am:
8865         No more cothreads.h
8866
8867 2005-07-18  Wim Taymans  <wim@fluendo.com>
8868
8869         * gst/cothreads.c:
8870         * gst/cothreads.h:
8871         Let's remove these.
8872
8873 2005-07-18  Wim Taymans  <wim@fluendo.com>
8874
8875         * docs/design/part-dynamic.txt:
8876         * docs/design/part-events.txt:
8877         * docs/design/part-seeking.txt:
8878         Some more docs in the works.
8879
8880         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8881         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
8882         (gst_base_transform_setcaps), (gst_base_transform_get_size),
8883         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8884         (gst_base_transform_handle_buffer),
8885         (gst_base_transform_sink_activate_push),
8886         (gst_base_transform_src_activate_pull),
8887         (gst_base_transform_set_passthrough),
8888         (gst_base_transform_is_passthrough):
8889         Refcounting fixes.
8890
8891         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
8892         Cleanups.
8893
8894         * gst/gstevent.c: (gst_event_finalize):
8895         Set SRC to NULL.
8896
8897         * gst/gstutils.c: (gst_element_unlink),
8898         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
8899         (gst_pad_proxy_setcaps):
8900         * gst/gstutils.h:
8901         Add _get_parent_element() to get a pads parent as an element.
8902
8903 2005-07-18  Wim Taymans  <wim@fluendo.com>
8904
8905         * check/gst/gstbin.c: (GST_START_TEST):
8906         Remove bogus test.
8907
8908 2005-07-18  Wim Taymans  <wim@fluendo.com>
8909
8910         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8911         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8912         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8913         (gst_base_sink_event), (gst_base_sink_do_sync),
8914         (gst_base_sink_chain), (gst_base_sink_loop),
8915         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
8916         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
8917         Refcounting fixes.
8918         Fix logic for returning ASYNC when not prerolled.
8919
8920 2005-07-18  Wim Taymans  <wim@fluendo.com>
8921
8922         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8923         Fix nasty refcount bug.
8924
8925 2005-07-16 Philippe Khalaf <burger@speedy.org>
8926
8927         * gst/elements/gstfdsrc.c:
8928         * gst/elements/gstfdsrc.h:
8929         * gst/elements/gstelements.c:
8930         * gst/elements/Makefile.am:
8931         Ported fdsrc to 0.9.
8932
8933 2005-07-16  Wim Taymans  <wim@fluendo.com>
8934
8935         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8936         (gst_base_sink_do_sync):
8937         Fix compile error.
8938
8939 2005-07-16  Wim Taymans  <wim@fluendo.com>
8940
8941         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8942         (gst_base_sink_event), (gst_base_sink_get_times),
8943         (gst_base_sink_do_sync), (gst_base_sink_change_state):
8944         * gst/base/gstbasesink.h:
8945         Store and use discont values when syncing buffers as described
8946         in design docs.
8947         
8948         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8949         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
8950         (gst_base_src_activate_push):
8951         Push discont event when starting.
8952
8953         * gst/elements/gstidentity.c: (gst_identity_transform):
8954         Small cleanups.
8955
8956         * gst/gstbin.c: (gst_bin_change_state):
8957         Small cleanups in base_time  distribution.
8958
8959         * gst/gstelement.c: (gst_element_set_base_time),
8960         (gst_element_get_base_time), (gst_element_change_state):
8961         * gst/gstelement.h:
8962         Added methods for the base_time of the element.
8963         Some MT fixes.
8964
8965         * gst/gstpipeline.c: (gst_pipeline_send_event),
8966         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8967         (gst_pipeline_get_last_stream_time):
8968         * gst/gstpipeline.h:
8969         MT fixes.
8970         Handle seeking as described in design doc, remove stream_time
8971         hack.
8972         Cleanups clock and stream_time selection code. Added accessors
8973         for the stream_time.
8974         
8975
8976 2005-07-16  Andy Wingo  <wingo@pobox.com>
8977
8978         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
8979         (#305291).
8980
8981 2005-07-16  Wim Taymans  <wim@fluendo.com>
8982
8983         * check/gst/gstbin.c: (GST_START_TEST):
8984         Make elements silent as the deep_notify refs the
8985         parent, which might make the test fail.
8986
8987         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8988         Don't hold the lock for too long.
8989
8990 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
8991
8992         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
8993           Don't unref the caps we passed to gst_caps_make_writable() after
8994           passing them. gst_caps_make_writable() will do that for us.
8995
8996 2005-07-15  Andy Wingo  <wingo@pobox.com>
8997
8998         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
8999         (#157311).
9000
9001         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
9002         own marshalling function for the handoff signal. Properly type the
9003         buffer as a buffer. Fixes some warnings. Should do a more general
9004         solution.
9005         (gst_identity_class_init): Plug into the right marshaller.
9006
9007 2005-07-15  Wim Taymans  <wim@fluendo.com>
9008
9009         * docs/design/part-TODO.txt:
9010         * docs/design/part-clocks.txt:
9011         * docs/design/part-element-sink.txt:
9012         * docs/design/part-events.txt:
9013         * docs/design/part-gstpipeline.txt:
9014         Updated docs, mostly DISCONT related.
9015
9016 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
9017
9018         * docs/pwg/building-pads.xml:
9019           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
9020
9021 2005-07-15  Andy Wingo  <wingo@pobox.com>
9022
9023         * tools/gst-typefind.c: Update, add copyright block.
9024
9025         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
9026         Normalize and truncate caps before fixation.
9027
9028         * gst/gstcaps.h:
9029         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
9030         discards all but the first structure from its argument.
9031
9032 2005-07-15  Wim Taymans  <wim@fluendo.com>
9033
9034         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9035         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
9036         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9037         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9038         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
9039         (gst_base_transform_chain), (gst_base_transform_change_state),
9040         (gst_base_transform_set_passthrough),
9041         (gst_base_transform_is_passthrough):
9042         * gst/base/gstbasetransform.h:
9043         Make passthrough work using the bufferpools.
9044         Changed API a bit, subclasses have to write into a buffer
9045         provided by the base class.
9046         More debug info in nego functions.
9047         
9048         * gst/elements/gstidentity.c: (gst_identity_init),
9049         (gst_identity_transform):
9050         Port to new base class.
9051
9052 2005-07-15  Wim Taymans  <wim@fluendo.com>
9053
9054         * gst/gstmessage.c: (gst_message_new_state_changed):
9055         * tools/gst-launch.c: (event_loop), (main):
9056         Totally dump messages in -launch with the -m option.
9057         Fix message name for State messages,
9058
9059 2005-07-14  Wim Taymans  <wim@fluendo.com>
9060
9061         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9062         Post error messages on errors.
9063
9064 2005-07-14  Wim Taymans  <wim@fluendo.com>
9065
9066         * gst/gstcaps.c: (gst_caps_do_simplify):
9067         Remove debug info.
9068
9069         * gst/gsterror.h:
9070         Define error for stream stopped.
9071
9072         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9073         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
9074         Do proper return values.
9075
9076         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9077         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
9078         (gst_pad_get_range):
9079         Better return values.
9080
9081         * gst/gstpad.h:
9082         Reorganise return values, add macro to check for fatal errors.
9083
9084         * gst/gstqueue.c: (gst_queue_chain):
9085         Return proper GstFlowReturn values,
9086
9087 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9088
9089         * docs/gst/gstreamer-sections.txt:
9090         * docs/gst/gstreamer.types:
9091         * docs/gst/tmpl/gst.sgml:
9092         * docs/gst/tmpl/gstbasesink.sgml:
9093         * docs/gst/tmpl/gstbasesrc.sgml:
9094         * docs/gst/tmpl/gstbasetransform.sgml:
9095         * docs/gst/tmpl/gstbin.sgml:
9096         * docs/gst/tmpl/gstbuffer.sgml:
9097         * docs/gst/tmpl/gstcaps.sgml:
9098         * docs/gst/tmpl/gstclock.sgml:
9099         * docs/gst/tmpl/gstcompat.sgml:
9100         * docs/gst/tmpl/gstconfig.sgml:
9101         * docs/gst/tmpl/gstelement.sgml:
9102         * docs/gst/tmpl/gstelementdetails.sgml:
9103         * docs/gst/tmpl/gstelementfactory.sgml:
9104         * docs/gst/tmpl/gstenumtypes.sgml:
9105         * docs/gst/tmpl/gsterror.sgml:
9106         * docs/gst/tmpl/gstevent.sgml:
9107         * docs/gst/tmpl/gstfakesink.sgml:
9108         * docs/gst/tmpl/gstfakesrc.sgml:
9109         * docs/gst/tmpl/gstfilesink.sgml:
9110         * docs/gst/tmpl/gstfilesrc.sgml:
9111         * docs/gst/tmpl/gstfilter.sgml:
9112         * docs/gst/tmpl/gstformat.sgml:
9113         * docs/gst/tmpl/gstghostpad.sgml:
9114         * docs/gst/tmpl/gstimplementsinterface.sgml:
9115         * docs/gst/tmpl/gstindex.sgml:
9116         * docs/gst/tmpl/gstindexfactory.sgml:
9117         * docs/gst/tmpl/gstinfo.sgml:
9118         * docs/gst/tmpl/gstiterator.sgml:
9119         * docs/gst/tmpl/gstmacros.sgml:
9120         * docs/gst/tmpl/gstmemchunk.sgml:
9121         * docs/gst/tmpl/gstminiobject.sgml:
9122         * docs/gst/tmpl/gstobject.sgml:
9123         * docs/gst/tmpl/gstpad.sgml:
9124         * docs/gst/tmpl/gstpadtemplate.sgml:
9125         * docs/gst/tmpl/gstparse.sgml:
9126         * docs/gst/tmpl/gstpipeline.sgml:
9127         * docs/gst/tmpl/gstplugin.sgml:
9128         * docs/gst/tmpl/gstpluginfeature.sgml:
9129         * docs/gst/tmpl/gstquery.sgml:
9130         * docs/gst/tmpl/gstqueue.sgml:
9131         * docs/gst/tmpl/gstregistry.sgml:
9132         * docs/gst/tmpl/gstregistrypool.sgml:
9133         * docs/gst/tmpl/gstscheduler.sgml:
9134         * docs/gst/tmpl/gstschedulerfactory.sgml:
9135         * docs/gst/tmpl/gststructure.sgml:
9136         * docs/gst/tmpl/gstsystemclock.sgml:
9137         * docs/gst/tmpl/gsttaglist.sgml:
9138         * docs/gst/tmpl/gsttagsetter.sgml:
9139         * docs/gst/tmpl/gsttrace.sgml:
9140         * docs/gst/tmpl/gsttrashstack.sgml:
9141         * docs/gst/tmpl/gsttypefind.sgml:
9142         * docs/gst/tmpl/gsttypefindfactory.sgml:
9143         * docs/gst/tmpl/gsttypes.sgml:
9144         * docs/gst/tmpl/gsturihandler.sgml:
9145         * docs/gst/tmpl/gsturitype.sgml:
9146         * docs/gst/tmpl/gstutils.sgml:
9147         * docs/gst/tmpl/gstvalue.sgml:
9148         * docs/gst/tmpl/gstversion.sgml:
9149         * docs/gst/tmpl/gstxml.sgml:
9150         * docs/libs/tmpl/gstcontrol.sgml:
9151         * docs/libs/tmpl/gstdataprotocol.sgml:
9152         * docs/libs/tmpl/gstdparam.sgml:
9153         * docs/libs/tmpl/gstdplinint.sgml:
9154         * docs/libs/tmpl/gstdpman.sgml:
9155         * docs/libs/tmpl/gstdpsmooth.sgml:
9156         * docs/libs/tmpl/gstgetbits.sgml:
9157         * docs/libs/tmpl/gstunitconvert.sgml:
9158         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9159         (gst_push_src_base_init), (gst_push_src_class_init),
9160         (gst_push_src_init), (gst_push_src_create):
9161         * gst/base/gstpushsrc.h:
9162         * gst/elements/gstelements.c:
9163         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9164         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9165         (gst_fake_sink_init), (gst_fake_sink_set_property),
9166         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9167         (gst_fake_sink_event), (gst_fake_sink_preroll),
9168         (gst_fake_sink_render), (gst_fake_sink_change_state):
9169         * gst/elements/gstfakesink.h:
9170         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9171         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9172         (gst_fake_src_base_init), (gst_fake_src_class_init),
9173         (gst_fake_src_init), (gst_fake_src_event_handler),
9174         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9175         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9176         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9177         (gst_fake_src_create_buffer), (gst_fake_src_create),
9178         (gst_fake_src_start), (gst_fake_src_stop):
9179         * gst/elements/gstfakesrc.h:
9180         * gst/elements/gstfilesink.c: (_do_init),
9181         (gst_file_sink_base_init), (gst_file_sink_class_init),
9182         (gst_file_sink_init), (gst_file_sink_dispose),
9183         (gst_file_sink_set_location), (gst_file_sink_set_property),
9184         (gst_file_sink_get_property), (gst_file_sink_open_file),
9185         (gst_file_sink_close_file), (gst_file_sink_query),
9186         (gst_file_sink_event), (gst_file_sink_render),
9187         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9188         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9189         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9190         * gst/elements/gstfilesink.h:
9191         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9192         (gst_file_src_class_init), (gst_file_src_init),
9193         (gst_file_src_finalize), (gst_file_src_set_location),
9194         (gst_file_src_set_property), (gst_file_src_get_property),
9195         (gst_file_src_map_region), (gst_file_src_map_small_region),
9196         (gst_file_src_create_mmap), (gst_file_src_create_read),
9197         (gst_file_src_create), (gst_file_src_is_seekable),
9198         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9199         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9200         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9201         (gst_file_src_uri_handler_init):
9202         * gst/elements/gstfilesrc.h:
9203           more autistic cleanliness in functions/names/defines
9204
9205 2005-07-13  Andy Wingo  <wingo@pobox.com>
9206
9207         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9208         source couldn't negotiate.
9209
9210         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9211         connections again.
9212
9213         * gst/gstutils.h:
9214         * gst/gstutils.c (gst_element_link_pads_filtered): New old
9215         function. I am channeling Hades. Put your boots on suckers!!!
9216
9217 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9218
9219         * testsuite/caps/Makefile.am:
9220         * testsuite/caps/value_compare.c:
9221         * testsuite/caps/value_intersect.c:
9222         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9223           move two testsuite apps over to the check dir
9224
9225 2005-07-12  Wim Taymans  <wim@fluendo.com>
9226
9227         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9228         Added more debug info in the negotiate process.
9229
9230         * gst/gstmessage.h:
9231         Prepare for segment playback.
9232
9233         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9234         Better debugging.
9235
9236         * gst/gstutils.c:
9237         Some more docs.
9238
9239         * tools/gst-launch.c: (main):
9240         NULL pipeline on errors.
9241
9242 2005-07-12  Andy Wingo  <wingo@pobox.com>
9243
9244         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9245         not it comes from a malloc region. Make sure our copy gets freed.
9246
9247 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9248
9249         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9250         * check/gst/gstmessage.c: (GST_START_TEST):
9251         * check/gst/gststructure.c: (GST_START_TEST),
9252         (gst_structure_suite), (main):
9253           more testing
9254         * gst/gstelement.c: (gst_element_message_full):
9255           clean up GError and debug string now that they get copied
9256         * gst/gstmessage.c: (gst_message_new_error),
9257         (gst_message_new_warning), (gst_message_parse_error),
9258         (gst_message_parse_warning):
9259           use GST_TYPE_G_ERROR for structure_new, and take copies of
9260           arguments, so that we don't mess up refcounting
9261
9262 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9263
9264         * check/Makefile.am:
9265           add per-test valgrind targets
9266         * check/gst-libs/gdp.c: (GST_START_TEST),
9267         (gst_data_protocol_suite), (main):
9268           clean up
9269
9270 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9271
9272         * check/Makefile.am:
9273           instate more valgrindable tests
9274         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9275         (GST_START_TEST), (fakesrc_suite):
9276         * check/gst/gstpad.c: (GST_START_TEST):
9277         * check/gst/gststructure.c: (GST_START_TEST):
9278           fix test leaks
9279         * docs/gst/tmpl/gstminiobject.sgml:
9280         * gst/gstpad.c: (gst_pad_finalize):
9281           fix the static mutex leak
9282
9283 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9284
9285         * check/Makefile.am:
9286           add two more tests for valgrinding
9287         * check/gst/gstvalue.c: (GST_START_TEST):
9288           test refcount of deserialized buffer, found a leak
9289         * docs/gst/gstreamer-docs.sgml:
9290         * docs/gst/gstreamer-sections.txt:
9291         * docs/gst/gstreamer.types:
9292         * docs/gst/tmpl/gstminiobject.sgml:
9293           add miniobject to docs
9294         * gst/gstminiobject.c:
9295           add some docs
9296         * gst/gstvalue.c: (gst_value_deserialize_buffer),
9297         (gst_string_unwrap):
9298           fix a hard-to-find invalid write for one of the tests
9299           fix a leak for deserialized buffers
9300
9301 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9302
9303         * docs/pwg/advanced-events.xml:
9304         * docs/pwg/advanced-request.xml:
9305         * docs/pwg/advanced-scheduling.xml:
9306         * docs/pwg/appendix-porting.xml:
9307         * docs/pwg/building-boiler.xml:
9308         * docs/pwg/intro-preface.xml:
9309         * docs/pwg/other-ntoone.xml:
9310           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
9311           of example code and explanation for pad activation, loop() and
9312           getrange() functions and a bit more. Remove old comments pointing
9313           to loop-functions.
9314         * examples/pwg/Makefile.am:
9315           Add loop/getrange examples.
9316
9317 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9318
9319         * configure.ac:
9320           check for valgrind binary + some fixes
9321         * check/gst.supp:
9322           valgrind suppressions for the tests
9323         * check/Makefile.am:
9324           add a valgrind: target that valgrinds the unit tests
9325         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
9326         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9327         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9328         * check/gst/gstghostpad.c:
9329           added some cleanup
9330         * check/gst/gstdata.c:
9331           removed
9332         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
9333         (thread_unref), (gst_mini_object_suite), (main):
9334           added
9335         * gst/gst.c: (gst_deinit):
9336         * gst/gst.h:
9337           add a method to clean up.
9338         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9339         (gst_system_clock_obtain):
9340           allow for disposing the system clock.
9341         * tools/gst-launch.c: (main):
9342           deinit
9343
9344 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9345
9346         * docs/gst/tmpl/gstbasesrc.sgml:
9347         * docs/gst/tmpl/gstfakesrc.sgml:
9348         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9349         (gst_base_src_init), (gst_base_src_set_property),
9350         (gst_base_src_get_property), (gst_base_src_get_range),
9351         (gst_base_src_start):
9352         * gst/base/gstbasesrc.h:
9353           add num-buffers property
9354         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9355         (gst_fakesrc_init), (gst_fakesrc_set_property),
9356         (gst_fakesrc_get_property), (gst_fakesrc_create),
9357         (gst_fakesrc_start):
9358           remove num-buffers property
9359
9360 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9361
9362         * docs/gst/gstreamer-sections.txt:
9363         * docs/gst/tmpl/gstbasesink.sgml:
9364         * docs/gst/tmpl/gstbasesrc.sgml:
9365         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9366         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9367         (gst_base_sink_finalize), (gst_base_sink_set_clock),
9368         (gst_base_sink_set_property), (gst_base_sink_get_property),
9369         (gst_base_sink_handle_object), (gst_base_sink_event),
9370         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9371         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
9372         (gst_base_sink_loop), (gst_base_sink_deactivate),
9373         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
9374         (gst_base_sink_change_state):
9375         * gst/base/gstbasesink.h:
9376         * gst/base/gstbasesrc.h:
9377         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
9378         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9379         (gst_filesink_init):
9380           more macro splitting
9381
9382 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9383
9384         * gst/gstelement.c: (gst_element_get_bus):
9385           add debug
9386         * tools/gst-launch.c: (check_intr), (event_loop):
9387           fix bus leaks
9388
9389 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9390
9391         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9392           fix a caps leak
9393
9394 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9395
9396         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9397         (gst_base_src_finalize):
9398           add finalize method and clean up properly
9399         * gst/gstpipeline.c: (gst_pipeline_dispose):
9400           add debug
9401
9402 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9403
9404         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
9405         (gst_bin_suite):
9406           add more things to check
9407         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9408         * gst/gstelement.c:
9409           more debug
9410
9411 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9412
9413         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9414         (GST_START_TEST), (fakesrc_suite):
9415         * check/gst-libs/gdp.c: (GST_START_TEST):
9416         * check/gst/gst.c: (GST_START_TEST):
9417         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9418         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9419         * check/gst/gstbus.c: (GST_START_TEST):
9420         * check/gst/gstcaps.c: (GST_START_TEST):
9421         * check/gst/gstdata.c: (GST_START_TEST):
9422         * check/gst/gstelement.c: (GST_START_TEST):
9423         * check/gst/gstghostpad.c: (GST_START_TEST):
9424         * check/gst/gstiterator.c: (GST_START_TEST):
9425         * check/gst/gstmessage.c: (GST_START_TEST):
9426         * check/gst/gstobject.c: (GST_START_TEST):
9427         * check/gst/gstpad.c: (GST_START_TEST):
9428         * check/gst/gststructure.c: (GST_START_TEST):
9429         * check/gst/gstsystemclock.c: (GST_START_TEST),
9430         (gst_systemclock_suite):
9431         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9432         * check/gst/gstvalue.c: (GST_START_TEST):
9433         * check/pipelines/cleanup.c: (GST_START_TEST):
9434         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9435         * check/states/sinks.c: (GST_START_TEST):
9436         * check/gstcheck.c: (gst_check_init):
9437         * check/gstcheck.h:
9438           add debugging category
9439           use GST_START_TEST now, so we add a debug line
9440
9441 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9442
9443         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
9444           add test for state change message on a bin
9445         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
9446           add another test
9447         * gst/gstbin.c: (gst_bin_init):
9448         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
9449         * gst/gstelement.c: (gst_element_post_message),
9450         (gst_element_set_state):
9451         * gst/gstelementfactory.c: (gst_element_factory_create):
9452         * gst/gstmessage.c: (gst_message_new):
9453         * gst/gstscheduler.c:
9454           various debugging additions and cleanups
9455
9456 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9457
9458         * check/Makefile.am:
9459         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
9460         (main):
9461           adding tests for elements
9462         * gst/gstelement.c: (gst_element_dispose):
9463
9464 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9465
9466         * gst/registries/gstlibxmlregistry.c: (load_feature):
9467           plug more leaks.  A simple gst_init() now is leakfree, yay.
9468
9469 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9470
9471         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
9472         (gst_xml_registry_load):
9473           plug another memleak
9474
9475 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9476
9477         * configure.ac:
9478           use GST_SET_ERROR_CFLAGS
9479         * docs/faq/cvs.xml:
9480           change to ERROR_CFLAGS
9481
9482 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9483
9484         * configure.ac:
9485           make GST_ERROR_CFLAGS overridable and re-enable Werror
9486         * docs/faq/cvs.xml:
9487           add a note about error CFLAGS
9488         * docs/gst/tmpl/gstfakesrc.sgml:
9489         * gst/elements/gstfakesrc.c:
9490           comment out some unused code
9491         * gst/gst.c: (split_and_iterate):
9492         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
9493         (load_feature):
9494           plug some memleaks
9495
9496 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9497
9498         * common/Makefile.am:
9499         * common/gtk-doc.mak:
9500         * docs/gst/Makefile.am:
9501           factor out gtk-doc.mak
9502
9503 2005-07-07  Wim Taymans  <wim@fluendo.com>
9504
9505         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
9506         (gst_thread_scheduler_dispose):
9507         Unlock the STREAM_LOCK completely.
9508
9509 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9510
9511         * check/Makefile.am:
9512         * check/elements/.cvsignore:
9513         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9514         (START_TEST), (fakesrc_suite), (main):
9515         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9516         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
9517         (gst_fakesrc_create), (gst_fakesrc_start):
9518         * gst/elements/gstfakesrc.h:
9519           adding a first element test
9520
9521 2005-07-07  Andy Wingo  <wingo@pobox.com>
9522
9523         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
9524         debug message.
9525
9526 2005-07-07  Wim Taymans  <wim@fluendo.com>
9527
9528         * gst/gstquery.c:
9529         * gst/gstquery.h:
9530         Remove old types
9531
9532 2005-07-07  Wim Taymans  <wim@fluendo.com>
9533
9534         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
9535         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
9536         Allow subclasses to implement their own negotiation.
9537
9538 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9539
9540         * docs/design/part-gstbin.txt:
9541         * docs/design/part-gstpipeline.txt:
9542           Update design notes to reflect the movement of
9543           responsibility for bus handling from GstPipeline to
9544           GstBin
9545
9546 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9547
9548         * configure.ac:
9549           Remove unnecessary queue2/3/4 examples.
9550
9551 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9552
9553         * examples/Makefile.am:
9554         * examples/helloworld/helloworld.c: (event_loop), (main):
9555         * examples/queue/queue.c: (event_loop), (main):
9556         * examples/queue2/queue2.c: (main):
9557           Update a couple of the examples to work again.
9558
9559         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9560         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
9561          Spelling corrections and extra debug.
9562         
9563         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
9564         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
9565         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
9566         * gst/gstbin.h:
9567         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9568         (gst_pipeline_change_state):
9569         * gst/gstpipeline.h:
9570           Move the bus handler for children to the GstBin, and create a
9571           separate bus for receiving messages from children to the one the
9572           bus sends 'upwards' on.
9573
9574 2005-07-06  Wim Taymans  <wim@fluendo.com>
9575
9576         * gst/base/README:
9577         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9578         (gst_base_sink_handle_object), (gst_base_sink_loop),
9579         (gst_base_sink_change_state):
9580         * gst/base/gstbasesink.h:
9581         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9582         (gst_base_src_init), (gst_base_src_setcaps),
9583         (gst_base_src_getcaps), (gst_base_src_loop),
9584         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
9585         (gst_base_src_start), (gst_base_src_change_state):
9586         * gst/base/gstbasesrc.h:
9587         Make basesrc negotiate.
9588         Handle the case where preroll fails in basesink.
9589         Update README.
9590
9591 2005-07-06  Wim Taymans  <wim@fluendo.com>
9592
9593         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
9594         Implement the fixate function.
9595         Clean up acceptcaps.
9596
9597 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9598
9599         * docs/pwg/building-filterfactory.xml:
9600         * docs/pwg/pwg.xml:
9601           Remove never-written filter-factory chapter; I'll add the various
9602           base classes to part 4 ("other element types") later on.
9603
9604 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9605
9606         * docs/pwg/advanced-negotiation.xml:
9607         * docs/pwg/building-boiler.xml:
9608         * docs/pwg/building-pads.xml:
9609         * docs/pwg/pwg.xml:
9610         * examples/pwg/Makefile.am:
9611           Add a chapter on caps negotiation, simplify the original code
9612           samples a bit w.r.t. caps negotiation, add link to the advanced
9613           section. Add a bunch of examples showing different use cases of
9614           different types of caps negotiation. Upstream renegotiation isn't
9615           fully documented yet since nobody knows how that works.
9616
9617 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9618
9619         * check/gst/gstpad.c:
9620         * check/gstcheck.c:
9621         * gst/gstpad.c: (gst_pad_get_internal_links_default):
9622           if pad has no parent, return NULL as list of internal links
9623
9624 2005-07-05  Andy Wingo  <wingo@pobox.com>
9625
9626         * gst/elements/gstfilesrc.c:
9627         * gst/elements/gstfakesrc.c: 
9628         * gst/base/gstpushsrc.c:
9629         * gst/base/gstbasesrc.h: 
9630         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
9631         
9632 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
9633
9634         * Makefile.am:
9635           better report generation target (lcov needs a patch)
9636
9637 2005-07-05  Andy Wingo  <wingo@pobox.com>
9638
9639         * gst/elements, testsuite: Null if we got it...
9640
9641 2005-07-05  Wim Taymans  <wim@fluendo.com>
9642
9643         * configure.ac:
9644         * libs/gst/dataprotocol/Makefile.am:
9645         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
9646         * libs/gst/dataprotocol/dataprotocol.h:
9647         * pkgconfig/Makefile.am:
9648         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
9649         * pkgconfig/gstreamer-dataprotocol.pc.in:
9650         Ported dataprotol to 0.9. 
9651         Added pkgconfig files.
9652
9653 2005-07-05  Andy Wingo  <wingo@pobox.com>
9654
9655         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
9656         Default to returning TRUE for the case when tranform_caps returns
9657         a fixed caps, like for identity or volume.
9658
9659         * check/gst/gstbus.c (pound_bus_with_messages): 
9660         * check/gst/gstmessage.c (START_TEST): 
9661         * check/pipelines/simple_launch_lines.c (got_handoff): Application
9662         message API change.
9663
9664         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
9665         logic weaks here: always run transform_caps, trying passthrough
9666         operation only if the original caps intersects with the transform.
9667
9668         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
9669         source and sink caps.
9670
9671         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
9672         Intersect the peer caps with the pad template before going into
9673         transform_caps.
9674         (gst_base_transform_transform_caps): More debugging.
9675
9676         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
9677         src argument.
9678
9679 2005-07-04  Edward Hervey  <edward@fluendo.com>
9680
9681         * gst/gstutils.c:
9682         * gst/gstutils.h:
9683         (gst_pad_add_*_probe): now returns the signal id for better wrapping
9684         in bindings.
9685
9686 2005-07-04  Andy Wingo  <wingo@pobox.com>
9687
9688         * check/gst/gstpad.c: Only set explicit caps on pads.
9689
9690 2005-07-01  Andy Wingo  <wingo@pobox.com>
9691
9692         * tests/network-clock.scm: Commentary update.
9693
9694         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
9695         Didn't really make sense, not implementable with basetransform,
9696         etc.
9697         (gst_identity_transform): Unref inbuf via make_writable. Feeble
9698         attempt at implementing the sync property, needs an unlock method.
9699
9700         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
9701         New func, by default returns the same caps (the identity
9702         transformation).
9703         (gst_base_transform_getcaps): Uses transform_caps to return
9704         something sensible.
9705         (gst_base_transform_setcaps): Complicated logic to get caps on
9706         both pads, even if they are different, and to call set_caps once
9707         for every time both pads get their caps set.
9708         (gst_base_transform_handle_buffer): Give the ref to the transform
9709         function. Allows in-place modification of the buffer.
9710
9711         * gst/base/gstbasetransform.h (transform_caps): New class method.
9712         Given caps on one side, what can I do on the other.
9713         (set_caps): Take two caps, one for each side of the element.
9714
9715         * gst/gstpad.h:
9716         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
9717         caps in place. This is safe because we can check the mutability of
9718         the caps, and a good idea because fixate functions are just called
9719         as a matter of last resort. (Not actually implemented.)
9720         (gst_pad_set_caps): If the caps we're setting is actually the same
9721         as the existing pad caps, just update the pointer without calling
9722         setcaps. Assert that caps is either NULL or fixed, as per the
9723         docs.
9724
9725         * gst/gstghostpad.c: Update for fixate changes.
9726
9727 2005-07-02  Andy Wingo  <wingo@pobox.com>
9728
9729         * gst/gstcaps.c:
9730         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
9731         two refcounts makes it immutable, which is enough. Doc more.
9732
9733 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
9734
9735         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
9736           Put the mini_object into GValue as a mini_object,
9737           not a gpointer, since that's how we declared
9738           the signal.
9739
9740 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9741
9742         * examples/pwg/Makefile.am:
9743           Fix buildbot again.
9744
9745 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9746
9747         * docs/pwg/building-testapp.xml:
9748           Add extra check.
9749         * examples/pwg/Makefile.am:
9750           Fix buildbot.
9751
9752 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9753
9754         * configure.ac:
9755         * examples/Makefile.am:
9756         * examples/pwg/Makefile.am:
9757         * examples/pwg/extract.pl:
9758           Enable building the PWG examples.
9759         * docs/pwg/advanced-interfaces.xml:
9760           Add URI interface stub.
9761         * docs/pwg/advanced-types.xml:
9762         * docs/pwg/other-autoplugger.xml:
9763         * docs/pwg/appendix-porting.xml:
9764         * docs/pwg/pwg.xml:
9765           Add porting guide (mostly stubs), remove autoplugging (see ADM).
9766         * docs/pwg/building-boiler.xml:
9767         * docs/pwg/building-chainfn.xml:
9768         * docs/pwg/building-pads.xml:
9769         * docs/pwg/building-props.xml:
9770         * docs/pwg/building-state.xml:
9771         * docs/pwg/building-testapp.xml:
9772           Update the building-*.xml parts for 0.9 changes. All examples
9773           code blocks compile in examples/pwg/*.
9774
9775 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9776
9777         * docs/manual/advanced-autoplugging.xml:
9778         * docs/manual/appendix-checklist.xml:
9779         * docs/manual/appendix-integration.xml:
9780         * docs/manual/highlevel-components.xml:
9781           Fix playbin/decodebin examples, update docs a bit, mention bus
9782           instead of signals in various places, mention kmplayer and
9783           kaffeine since they have a working GStreamer backend in the KDE
9784           section.
9785
9786 2005-06-30  Wim Taymans  <wim@fluendo.com>
9787
9788         * CHANGES-0.9:
9789         * docs/design/draft-ghostpads.txt:
9790         * docs/design/draft-push-pull.txt:
9791         * docs/design/draft-query.txt:
9792         * docs/design/part-TODO.txt:
9793         * docs/design/part-query.txt:
9794         Added CHANGES-0.9 doc, updated status of other docs.
9795         
9796         * gst/gstquery.h:
9797         Remove "hmm" macro
9798
9799 2005-06-30  Wim Taymans  <wim@fluendo.com>
9800
9801         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9802         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9803         (gst_base_sink_change_state):
9804         * gst/base/gstbasesink.h:
9805         Some tweaks, only EOS and a buffer complete a preroll.
9806
9807 2005-06-30  Andy Wingo  <wingo@pobox.com>
9808
9809         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
9810         activate_push down to the internal pad as well.
9811
9812 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
9813
9814         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9815
9816         * gst/gsttaginterface.c:
9817           Some documentation fixes (#307394 and #307397).
9818
9819 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
9820
9821         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9822
9823         * gst/gstvalue.c: (gst_value_intersect_list):
9824           Fix memleak (#309125).
9825
9826 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9827
9828         * docs/manual/advanced-dataaccess.xml:
9829           Fix fakesrc example to compile; doesn't work, bug somewhere...?
9830         * docs/manual/basics-pads.xml:
9831           Add reference for filtered caps to above chapter.
9832
9833 2005-06-30  Wim Taymans  <wim@fluendo.com>
9834
9835         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
9836         (gst_bin_change_state):
9837         Probes are gone.
9838         Lame attempt at making the state change function a bit
9839         more readable.
9840
9841 2005-06-30  Wim Taymans  <wim@fluendo.com>
9842
9843         * docs/design/part-clocks.txt:
9844         * docs/design/part-element-sink.txt:
9845         * docs/design/part-events.txt:
9846         * docs/design/part-preroll.txt:
9847         * docs/design/part-states.txt:
9848         Some more tweeks and additions to the docs.
9849
9850 2005-06-30  Wim Taymans  <wim@fluendo.com>
9851
9852         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9853         (default_have_data), (gst_pad_class_init), (gst_pad_init),
9854         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9855         (gst_pad_check_pull_range), (gst_pad_get_range),
9856         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
9857         * gst/gstpad.h:
9858         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
9859         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9860         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9861         (gst_pad_remove_buffer_probe):
9862         Removed atomic operations, use existing LOCK.
9863         Move exception handling out of main code path.
9864
9865 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9866
9867         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9868         (silly_return_true_function), (gst_pad_class_init),
9869         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9870         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
9871         (gst_pad_send_event):
9872           Fix accumulator, add default value by using _emitv() instead
9873           of _emit() for signal emission.
9874
9875 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9876
9877         * docs/manual/advanced-dataaccess.xml:
9878         * examples/manual/Makefile.am:
9879           Add probe example.
9880         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
9881           Make work (??).
9882
9883 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
9884
9885         * gst/elements/gstfilesink.c: (gst_filesink_render):
9886           Simplify code so that we don't have to handle short
9887           writes and return GST_FLOW_ERROR if an error occured.
9888
9889 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9890
9891         * docs/gst/gstreamer-docs.sgml:
9892           Remove probes more.
9893
9894 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9895
9896         * docs/gst/gstreamer-sections.txt:
9897         * docs/gst/tmpl/gstpad.sgml:
9898         * docs/gst/tmpl/gstprobe.sgml:
9899         * gst/Makefile.am:
9900         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9901         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
9902         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
9903         (gst_pad_push_event), (gst_pad_send_event):
9904         * gst/gstpad.h:
9905         * gst/gstutils.c: (gst_pad_add_data_probe),
9906         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9907         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9908         (gst_pad_remove_buffer_probe):
9909         * gst/gstutils.h:
9910           Remove old probes, add new g-signal-based probes and some utility
9911           functions.
9912
9913 2005-06-29  Edward Hervey  <edward@fluendo.com>
9914
9915         * gst/gstelementfactory.c:
9916         * gst/gstutils.h:
9917         * gst/gstutils.c:
9918         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
9919         the definition to the header file.
9920
9921 2005-06-29  Andy Wingo  <wingo@pobox.com>
9922
9923         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
9924         plugins from the source directory.
9925
9926 2005-06-29  Wim Taymans  <wim@fluendo.com>
9927
9928         * docs/gst/tmpl/gstbuffer.sgml:
9929         * docs/gst/tmpl/gstclock.sgml:
9930         Some fixings for blantently wrong text.
9931
9932 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9933
9934         * check/Makefile.am:
9935         * gst/gst.c: (add_path_func), (init_pre):
9936         * gst/gstregistry.c: (gst_registry_add_path):
9937           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
9938           only scan the GST_PLUGIN_PATH locations, and not add
9939           system locations
9940
9941 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9942
9943         * docs/gst/gstreamer-sections.txt:
9944         * docs/gst/tmpl/gstbasesrc.sgml:
9945         * gst/gstelement.c:
9946         * gst/gstelement.h:
9947         * gst/gstevent.c:
9948         * gst/gstutils.c:
9949           doc fixes
9950
9951 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9952
9953         * docs/manual/advanced-autoplugging.xml:
9954           Fix autoplugging example.
9955
9956 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9957
9958         * docs/manual/advanced-autoplugging.xml:
9959         * docs/manual/mime-world.fig:
9960           Try to get autoplugging working, fix type detection. Fix text
9961           in hello-world image.
9962
9963 2005-06-29  Wim Taymans  <wim@fluendo.com>
9964
9965         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9966         (gst_base_sink_change_state):
9967         Small debug line.
9968
9969         * gst/gstclock.h:
9970         map SIGNAL and BROADCAST to the right function.
9971
9972         * gst/gstobject.h:
9973         Remove redundant braces.
9974
9975         * gst/gstpad.c: (gst_pad_set_caps):
9976         Don't call setcaps function when reseting caps to NULL.
9977
9978         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9979         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
9980         (gst_system_clock_id_unschedule):
9981         Use BROADCAST as this is what we do.
9982
9983 2005-06-29  Wim Taymans  <wim@fluendo.com>
9984
9985         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9986         We are actually prerolling before commiting the state
9987         change. 
9988
9989 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9990
9991         * docs/manual/advanced-clocks.xml:
9992         * docs/manual/advanced-interfaces.xml:
9993         * docs/manual/advanced-metadata.xml:
9994         * docs/manual/advanced-position.xml:
9995         * docs/manual/advanced-schedulers.xml:
9996         * docs/manual/advanced-threads.xml:
9997         * docs/manual/appendix-porting.xml:
9998         * docs/manual/basics-bins.xml:
9999         * docs/manual/basics-bus.xml:
10000         * docs/manual/basics-elements.xml:
10001         * docs/manual/basics-helloworld.xml:
10002         * docs/manual/basics-pads.xml:
10003         * docs/manual/highlevel-components.xml:
10004         * docs/manual/manual.xml:
10005         * docs/manual/thread.fig:
10006           Update (until threads/scheduling) Application Development Manual;
10007           remove GstThread, add GstBus, add simple porting checklist, add
10008           documentation for tag writing, clocks, make all examples until this
10009           part compile and run.
10010         * examples/manual/Makefile.am:
10011           Update from changes to Application Development Manual; add bus
10012           example, remove thread example.
10013
10014 2005-06-28  Wim Taymans  <wim@fluendo.com>
10015
10016         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
10017         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
10018         (gst_bus_source_dispatch):
10019         Add debugging messages.
10020         Make internal methods static.
10021         Handle the case where the bus is flushed in the handler.
10022         
10023         * gst/gstelement.c: (gst_element_get_bus):
10024         Fix refcount in _get_bus();
10025
10026         * gst/gstpipeline.c: (gst_pipeline_change_state),
10027         (gst_pipeline_get_clock_func):
10028         Clock refcounting fixes.
10029         Handle the case where preroll timed out more gracefully.
10030         
10031         * gst/gstsystemclock.c: (gst_system_clock_dispose):
10032         Clean up the internal thread in dispose. This is needed
10033         for subclasses that actually get disposed.
10034         
10035         * gst/schedulers/threadscheduler.c:
10036         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10037         (gst_thread_scheduler_dispose):
10038         Free thread pool in dispose.
10039
10040 2005-06-28  Andy Wingo  <wingo@pobox.com>
10041
10042         * tests/network-clock-utils.scm (debug, print-event): New utils.
10043
10044         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
10045         (*packet-loss*): Unified loss probability.
10046         (network-time): Report out-of-band events.
10047
10048         * tests/plot-data: Add support for out-of-band events. Hack it
10049         into this script instead of passing it down the pipe; should fix
10050         this later.
10051
10052 2005-06-28  Wim Taymans  <wim@fluendo.com>
10053
10054         * docs/gst/gstreamer.types:
10055         * docs/gst/tmpl/gstbasesrc.sgml:
10056         * docs/gst/tmpl/gstpad.sgml:
10057         Docs fixes.
10058
10059 2005-06-28  Wim Taymans  <wim@fluendo.com>
10060
10061         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10062         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
10063         (gst_proxy_pad_do_fixatecaps):
10064         Correctly proxy the check_pull_range function.
10065
10066 2005-06-28  Andy Wingo  <wingo@pobox.com>
10067
10068         * tests/network-clock.scm: Removed need for slib.
10069         
10070 2005-06-28  Wim Taymans  <wim@fluendo.com>
10071
10072         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
10073         (gst_basesink_preroll_queue_flush):
10074         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
10075         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
10076         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10077         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10078         (gst_proxy_pad_set_property):
10079         * gst/gstpad.c:
10080         * gst/gstpad.h:
10081         * gst/gstqueue.c: (gst_queue_init):
10082         The deprecated pad loop function is removed now.
10083
10084 2005-06-28  Andy Wingo  <wingo@pobox.com>
10085
10086         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
10087         New parameters, simulate network packet loss.
10088
10089         * tests/network-clock-utils.scm: Initialize the RNG.
10090
10091 2005-06-28  Wim Taymans  <wim@fluendo.com>
10092
10093         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
10094         (gst_basesink_event), (gst_basesink_deactivate):
10095         Flushing the preroll queue always needs to unlock the waiters.
10096
10097 2005-06-28  Edward Hervey  <edward@fluendo.com>
10098
10099         * gst/gstpipeline.c: (gst_pipeline_send_event): 
10100         Wheen a seek was successful on a pipeline, set the stream_time to the
10101         seek offset in order to have a synchronized stream_time.
10102
10103 2005-06-28  Wim Taymans  <wim@fluendo.com>
10104
10105         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10106         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10107         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
10108         (gst_proxy_pad_do_fixatecaps):
10109         Call wrapper function instead of just calling the function
10110         pointers. This takes care of any locking and whatmore.
10111
10112 2005-06-28  Wim Taymans  <wim@fluendo.com>
10113
10114         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10115         (gst_pad_pull_range):
10116         * gst/gstpad.h:
10117         CONNECTED -> LINKED.
10118
10119 2005-06-28  Andy Wingo  <wingo@pobox.com>
10120
10121         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10122         source-munging commit!!!
10123
10124         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
10125         (gst_object_sink): Take gpointer arguments, not GstObject --
10126         avoids casts. Like GLib.
10127
10128         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10129         activate.
10130
10131 2005-06-27  Andy Wingo  <wingo@pobox.com>
10132
10133         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10134         remaining buffer.
10135
10136         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10137         returns a sorted copy of the trace list.
10138         (gst_alloc_trace_print_live): New API, only prints traces with
10139         live objects. Sort the list.
10140         (gst_alloc_trace_print_all): Sort the list.
10141         (gst_alloc_trace_print): Align columns.
10142
10143         * gst/elements/gstttypefindelement.c:
10144         * gst/elements/gsttee.c:
10145         * gst/base/gstbasesrc.c:
10146         * gst/base/gstbasesink.c:
10147         * gst/base/gstbasetransform.c:
10148         * gst/gstqueue.c: Adapt for pad activation changes.
10149
10150         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10151         sched.
10152         (gst_pipeline_dispose): Drop ref on sched.
10153
10154         * gst/gstpad.c (gst_pad_init): Set the default activate func.
10155         (gst_pad_activate_default): Push mode by default.
10156         (pre_activate_switch, post_activate_switch): New stubs, things to
10157         do before and after switching activation modes on pads.
10158         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10159         the pad's activate function to choose which mode to activate.
10160         Shortcut on deactivation and call the right function directly.
10161         (gst_pad_activate_pull): New API, (de)activates a pad in pull
10162         mode.
10163         (gst_pad_activate_push): New API, same for push mode.
10164         (gst_pad_set_activate_function) 
10165         (gst_pad_set_activatepull_function) 
10166         (gst_pad_set_activatepush_function): Setters for new API.
10167
10168         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10169         Trace all miniobjects.
10170         (gst_mini_object_make_writable): Unref the arg if we copy, like
10171         gst_caps_make_writable.
10172
10173         * gst/gstmessage.c (_gst_message_initialize): No trace init.
10174
10175         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
10176         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10177         Adapt for new pad API.
10178
10179         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10180
10181         * gst/gstelement.h:
10182         * gst/gstelement.c (gst_element_iterate_src_pads) 
10183         (gst_element_iterate_sink_pads): New API functions.
10184         
10185         * gst/gstelement.c (iterator_fold_with_resync): New utility,
10186         should fold into gstiterator.c in some form.
10187         (gst_element_pads_activate): Simplified via use of fold and
10188         delegation of decisions to gstpad->activate.
10189
10190         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10191         help in debugging.
10192
10193         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10194         class once in init, like gstmessage. Didn't run into this issue
10195         but it seems correct. Don't initialize a trace, gstminiobject does
10196         that.
10197
10198         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10199         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10200         to the bus.
10201         (assert_live_count): New util function, uses alloc traces to check
10202         cleanup.
10203
10204         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10205         To be modified when unlink drops the internal pad.
10206
10207 2005-06-27  Wim Taymans  <wim@fluendo.com>
10208
10209         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10210         (gst_bin_change_state):
10211         Cleanup the get_state() function a little, make sure it
10212         iterates the same set of elements.
10213         Added stub iterate_state_order().
10214
10215 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10216
10217         * docs/gst/gstreamer-docs.sgml:
10218         * docs/gst/gstreamer-sections.txt:
10219         * docs/gst/gstreamer.types:
10220         * docs/gst/tmpl/gstbasesink.sgml:
10221         * docs/gst/tmpl/gstbasesrc.sgml:
10222         * docs/gst/tmpl/gstbasetransform.sgml:
10223         * docs/gst/tmpl/gstelement.sgml:
10224         * docs/gst/tmpl/gstiterator.sgml:
10225         * gst/base/gstbasesrc.c:
10226         * gst/base/gstbasesrc.h:
10227         * gst/base/gstbasetransform.h:
10228         * gst/gstelement.c:
10229         * gst/gstiterator.h:
10230           adding basetransform and iterator docs
10231
10232 2005-06-27  Andy Wingo  <wingo@pobox.com>
10233
10234         * docs/design/part-activation.txt: Notes on how activation should
10235         work -- not quite implemented yet.
10236
10237 2005-06-25  Wim Taymans  <wim@fluendo.com>
10238
10239         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10240         At least get the chain function correct, needs more
10241         fixing.
10242
10243 2005-06-25  Wim Taymans  <wim@fluendo.com>
10244
10245         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10246         (gst_basesink_handle_object), (gst_basesink_event),
10247         (gst_basesink_do_sync), (gst_basesink_handle_event),
10248         (gst_basesink_change_state):
10249         * gst/gsttask.h:
10250         Right, two problems here: ghostpads don't take locks and
10251         glib _rec_mutex_lock_full() with depth==0 still locks.
10252         Catch illegal locking and g_warn them.
10253
10254 2005-06-25  Wim Taymans  <wim@fluendo.com>
10255
10256         * check/states/sinks.c: (START_TEST), (gst_object_suite):
10257         Have to check for completion now...
10258
10259 2005-06-25  Wim Taymans  <wim@fluendo.com>
10260
10261         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10262         (gst_basesink_handle_object), (gst_basesink_event),
10263         (gst_basesink_do_sync), (gst_basesink_handle_event),
10264         (gst_basesink_change_state):
10265         * gst/gstpad.h:
10266         Unlock STREAM_LOCK whatever the recursion was.
10267
10268 2005-06-25  Wim Taymans  <wim@fluendo.com>
10269
10270         * gst/base/gstbasesink.c: (gst_basesink_set_property),
10271         (gst_basesink_preroll_queue_empty),
10272         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10273         (gst_basesink_event), (gst_basesink_do_sync),
10274         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10275         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10276         (gst_basesink_change_state):
10277         Reworked the base sink, handle event and buffer serialisation
10278         correctly and removed possible deadlock.
10279         Handle EOS correctly.
10280
10281 2005-06-25  Wim Taymans  <wim@fluendo.com>
10282
10283         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10284         (gst_pipeline_change_state):
10285         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10286         Allow elements to post EOS in the state change function.
10287         Fix up -launch, make it exit the poll loop when the
10288         pipeline actually changed state.
10289         Fix up warning parsing in -launch.
10290
10291 2005-06-25  Wim Taymans  <wim@fluendo.com>
10292
10293         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10294         (gst_tee_sink_activate):
10295         Core takes STREAM_LOCK for us now.
10296
10297 2005-06-25  Wim Taymans  <wim@fluendo.com>
10298
10299         * gst/gstelement.c: (gst_element_get_state_func),
10300         (gst_element_set_state):
10301         * gst/gstelement.h:
10302         * gst/gstmessage.c: (gst_message_parse_error),
10303         (gst_message_parse_warning):
10304         Keep track of current target state while performing a state
10305         change so that subclasses can do something interesting.
10306         Fix parsing of warning/error messages when GError is NULL.
10307
10308 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10309
10310         * docs/gst/Makefile.am:
10311         * docs/gst/gstreamer-docs.sgml:
10312         * docs/gst/gstreamer-sections.txt:
10313         * docs/gst/gstreamer.types:
10314         * docs/gst/tmpl/gstbasesink.sgml:
10315         * docs/gst/tmpl/gstbasesrc.sgml:
10316         * docs/gst/tmpl/gstbin.sgml:
10317         * docs/gst/tmpl/gstcompat.sgml:
10318         * docs/gst/tmpl/gstfakesink.sgml:
10319         * docs/gst/tmpl/gstfakesrc.sgml:
10320         * docs/gst/tmpl/gstfilesink.sgml:
10321         * docs/gst/tmpl/gstfilesrc.sgml:
10322         * docs/gst/tmpl/gstindex.sgml:
10323         * docs/manual/appendix-quotes.xml:
10324         * gst/base/gstbasesrc.h:
10325         * gst/elements/gstfakesrc.h:
10326         * gst/gstmessage.h:
10327           start pulling in base classes and elements in our docs
10328
10329 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
10330
10331         * docs/gst/Makefile.am:
10332         * docs/libs/Makefile.am:
10333           fixed make distcheck with gtk-doc 1.3
10334
10335 2005-06-23  Wim Taymans  <wim@fluendo.com>
10336
10337         * gst/gstelement.c: (gst_element_get_state_func),
10338         (gst_element_set_state), (gst_element_change_state):
10339         When the state did not change, also report NO_PREROLL
10340         when it matters.
10341
10342 2005-06-23  Wim Taymans  <wim@fluendo.com>
10343
10344         * gst/gstpad.c: (gst_pad_event_default):
10345         * gst/gstqueue.c: (gst_queue_loop):
10346         No unsafe task pausing please.
10347
10348 2005-06-23  Wim Taymans  <wim@fluendo.com>
10349
10350         * gst/schedulers/threadscheduler.c:
10351         (gst_thread_scheduler_task_start),
10352         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
10353         Ref the task before pushing it on the threadpool. This
10354         makes sure that we have a ref when the threadfunction is
10355         actually called.
10356
10357 2005-06-23  Andy Wingo  <wingo@pobox.com>
10358
10359         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
10360         offset is greater than the file's size.
10361
10362         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
10363         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
10364         * gst/gstobject.c (gst_object_class_init): Make the class lock
10365         recursive. Wim won't let me drop deep_notify. Decodebin works
10366         again, whoopdy doo.
10367
10368         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
10369         internal pad, and hacks accordingly. Doesn't do it on the target
10370         pad because we change its caps. Probably catches all cases of
10371         interest tho.
10372         (gst_ghost_pad_set_property): Connect to notify::caps as
10373         appropritate.
10374
10375         * tests/network-clock.scm (plot-simulation): Pipe data to the
10376         elite python skript.
10377
10378         * tests/network-clock-utils.scm (define-parameter): New macro,
10379         defines a parameter that can be set via the command line.
10380         (set-parameter!, parse-parameter-arguments): Command line args
10381         parser.
10382
10383         * tests/plot-data: Simple matplotlib-based plotter, takes input on
10384         stdin.
10385
10386 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
10387
10388         * gst/elements/gsttypefindelement.c:
10389         (gst_type_find_element_handle_event):
10390           Don't restart typefinding on a discont.
10391         * gst/gstelement.c: (gst_element_set_state):
10392           Debug spelling fix.
10393         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
10394           Allow changing mode of an active pad.
10395           Debug output fixes.
10396         * gst/registries/gstlibxmlregistry.c: (load_feature):
10397           Don't cast a static pad template to a normal pad template.
10398
10399 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10400
10401         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10402         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10403           remove gst_strtoll completely, since it didn't actually do
10404           anything more than what g_ascii_strtoull already does.
10405           check for range errors when deserializing
10406           do a cast for the unsigned cases; but further fixing needs
10407           a decision on what the interpretation of "(int)" and
10408           deserialization should be for values that fall outside the
10409           type's boundaries (ie, refuse, or interpret as casting)
10410
10411 2005-06-23  Wim Taymans  <wim@fluendo.com>
10412
10413         * check/Makefile.am:
10414         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
10415         * docs/design/part-live-source.txt:
10416         * docs/design/part-states.txt:
10417         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10418         (gst_basesrc_set_live), (gst_basesrc_is_live),
10419         (gst_basesrc_get_range), (gst_basesrc_activate),
10420         (gst_basesrc_change_state):
10421         * gst/base/gstbasesrc.h:
10422         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10423         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10424         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
10425         * gst/gstelement.c: (gst_element_get_state_func),
10426         (gst_element_set_state):
10427         * gst/gstelement.h:
10428         * gst/gsttypes.h:
10429         * tools/gst-launch.c: (event_loop), (main):
10430         Added support for live sources and other elements that
10431         cannot do preroll.
10432         Updated design docs, added live-source design doc.
10433         Implemented live source functionality in basesrc
10434         Fix error condition in _bin_get_state()
10435         Implement live source handling in -launch.
10436         Added check for live sources.
10437         Fixed case in GstBin where elements were changed state
10438         multiple times.
10439
10440
10441 2005-06-23  Andy Wingo  <wingo@pobox.com>
10442
10443         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
10444         borken refcounting.
10445
10446         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
10447         gst_caps_replace takes care of this for us.
10448
10449         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
10450         gst_pad_set_caps on the target, not just its setcaps() function.
10451
10452         * tests/network-clock.scm: 
10453         * tests/network-clock-utils.scm: A network clock simulator.
10454         Something of an algorithmic testbed before doing something in C.
10455
10456 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10457
10458         * check/Makefile.am:
10459         * check/gst/capslist.h:
10460           copy over from 0.8, and add two with bitmasks specified with
10461           (int) 0xFF...
10462         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10463           add test to parse everything from capslist.h
10464         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
10465         (main):
10466           add test for structure deserialization
10467         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10468           add tests for deserialization of strings to int types
10469         * gst/gststructure.c: (gst_structure_nth_field_name):
10470         * gst/gststructure.h:
10471           add a way to get the name of a field referenced by index
10472         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10473           instead of checking if the resulting long long lies between
10474           min and max, we check if the long long would fit into
10475           a number of bytes for the final type.
10476           This fixes cases where a string represents 2^32 - 1, which
10477           when cast to int would be the (valid) -1, but is bigger than
10478           G_MAXINT
10479
10480 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10481
10482         * gst/parse/grammar.y:
10483           add a log line for type deserialization
10484
10485 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10486
10487         * check/gst/gstvalue.c: (START_TEST):
10488         * gst/gstvalue.c: (gst_value_deserialize):
10489           return long long, not int, so gint64 deserialization actually
10490           works.  Is there any flag that makes the compiler check this ?
10491           Fixes #308559
10492
10493 2005-06-22  Wim Taymans  <wim@fluendo.com>
10494
10495         * gst/gstbuffer.h:
10496         Added convenience macros for setting buffers in GValue.
10497
10498 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10499
10500         * check/gst/.cvsignore:
10501         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10502           add a test deserializing int64, and comment part out because
10503           it fails, yay !
10504
10505 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10506
10507         * check/Makefile.am:
10508         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
10509         * testsuite/Makefile.am:
10510         * testsuite/caps/Makefile.am:
10511         * testsuite/caps/value_serialize.c:
10512         * testsuite/test_gst_init.c:
10513           move a value_serialize test over
10514
10515 2005-06-20  Wim Taymans  <wim@fluendo.com>
10516
10517         * gst/gstpad.c:
10518         Small doc updates.
10519         
10520         * gst/gstvalue.c: (gst_value_compare_buffer),
10521         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
10522         (gst_value_compare_flags), (gst_value_serialize_flags),
10523         (gst_value_deserialize_flags), (_gst_value_initialize):
10524         Fix serialisation of buffers, they are not boxed types anymore
10525
10526 2005-06-20  Wim Taymans  <wim@fluendo.com>
10527
10528         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10529         Testcase to show error in buffer-on-caps serialisation.
10530
10531 2005-06-20  Andy Wingo  <wingo@pobox.com>
10532
10533         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
10534         will be adding to later.
10535
10536         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
10537         if its socks fill with rocks.
10538         (gst_system_clock_obtain): Set the name on object construction.
10539         Avoid double-checked locking.
10540
10541 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
10542
10543         * gst/gsturi.c: (gst_element_make_from_uri):
10544           Fix potential endless loop.
10545
10546 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10547
10548         * check/Makefile.am:
10549           add gsttag
10550         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
10551         (main):
10552           move over from testsuite dir and clean up
10553         * configure.ac:
10554         * gst/gsttag.c:
10555         * testsuite/Makefile.am:
10556         * testsuite/tags/.cvsignore:
10557         * testsuite/tags/Makefile.am:
10558         * testsuite/tags/merge.c:
10559           remove testsuite/tags
10560
10561 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10562
10563         * docs/gst/gstreamer-sections.txt:
10564         * docs/gst/tmpl/gstenumtypes.sgml:
10565         * win32/gstenumtypes.c:
10566           clean up documentation build a little
10567
10568 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10569
10570         * check/gstcheck.h:
10571           add macros for checking refcounts on objects and caps
10572         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
10573           add some more unit tests
10574         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
10575         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
10576           fix leaked refcounts (I hope :)) so unittest works
10577         * gst/gstpad.h:
10578           whitespace removal
10579
10580 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10581
10582         * configure.ac: back to HEAD
10583
10584 === release 0.9.1 ===
10585
10586 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10587
10588         * NEWS:
10589         * RELEASE:
10590           updated
10591
10592 2005-06-17  Andy Wingo  <wingo@pobox.com>
10593
10594         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
10595         assert; it's always possible that the pad gets deactivated in
10596         between the checks in gstpad.c and the implementation. Rely on
10597         finish_preroll() to return a FLUSHING or similar instead of on the
10598         assert.
10599         
10600         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
10601         clock and post an EOS message if we come out of finish_preroll in
10602         the playing state.
10603
10604 2005-06-16  David Schleef  <ds@schleef.org>
10605
10606         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
10607         (gst_capsfilter_set_property): Allow NULL as possible value
10608         for filter_caps property, indicating GST_CAPS_ANY.
10609
10610 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10611
10612         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
10613           fix debug output
10614         * gst/schedulers/Makefile.am:
10615           use libgst prefix
10616         * gstreamer.spec.in:
10617           fix spec for it
10618
10619 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10620
10621         * gstreamer.spec.in:
10622           clean up
10623
10624 2005-06-08  Andy Wingo  <wingo@pobox.com>
10625
10626         * gst/gstutils.c: RPAD fixes all around.
10627         (gst_element_link_pads): Refcounting fixes.
10628
10629         * tools/gst-inspect.c:
10630         * tools/gst-xmlinspect.c:
10631         * parse/grammar.y:
10632         * gst/base/gsttypefindhelper.c:
10633         * gst/base/gstbasesink.c:
10634         * gst/gstqueue.c: RPAD fixes.
10635
10636         * gst/gstghostpad.h:
10637         * gst/gstghostpad.c: New ghost pad implementation as full proxy
10638         pads. The tricky thing is they provide both source and sink
10639         interfaces, since they proxy the internal pad for the external
10640         pad, and vice versa. Implement with lower-level ProxyPad objects,
10641         with the interior proxy pad as a child of the exterior ghost pad.
10642         Should write a doc on this.
10643         
10644         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
10645         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
10646         gst_object API.
10647         
10648         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
10649         pads are real pads. No ghost pads in this file. Not documenting
10650         the myriad s/RPAD/PAD/ and REALIZE fixes.
10651         (gst_pad_class_init): Add properties for "direction" and
10652         "template". Both are construct-only, so they can't change during
10653         the life of the pad. Fixes properly deriving from GstPad.
10654         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
10655         derived objects, just set properties when creating the objects via
10656         g_object_new.
10657         (gst_pad_get_parent): Implement as a function, return NULL if the
10658         parent is not an element.
10659         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
10660         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
10661         
10662         * gst/gstobject.c (gst_object_class_init): Make name a construct
10663         property. Don't set it in the object init.
10664
10665         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
10666         with UNKNOWN direction.
10667         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
10668         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
10669         (gst_element_remove_pad): Remove ghost-pad special cases.
10670         (gst_element_pads_activate): Remove rpad cruft.
10671
10672         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
10673         catch the pad's-parent-not-an-element case.
10674
10675         * gst/gst.h: Include gstghostpad.h.
10676
10677         * gst/gst.c (init_post): No more real, ghost pads.
10678
10679         * gst/Makefile.am: Add gstghostpad.[ch].
10680
10681         * check/Makefile.am:
10682         * check/gst/gstbin.c:
10683         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
10684         into a bin creates ghost pads, and that the refcounts are right.
10685         Partly moved from gstbin.c.
10686
10687 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10688
10689         * check/gst-libs/.cvsignore:
10690         * check/gst/.cvsignore:
10691         * check/pipelines/.cvsignore:
10692           ignore more
10693         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
10694         (START_TEST), (cleanup_suite), (main):
10695           add some tests related to cleanup after running pipelines
10696
10697 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10698
10699         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
10700           add a testsuite for GstBuffer
10701
10702 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10703
10704         * gst/gstminiobject.h:
10705           add defines for accessing the refcount
10706
10707 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
10708
10709         * Makefile.am: added support for html unit test coverage reports
10710
10711 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
10712
10713         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
10714           Free existing caps if the capsfilter changes. Add a FIXME about
10715           setting those caps on the pads.
10716
10717         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
10718           Before adding a ghost pad to a parent bin, check that there isn't
10719           already one for the element on the bin. Prevents infinite recursion
10720           when using decodebin in parse pipelines. Andy says he'll rewrite the
10721           way this works anyway, so ignore the hack.
10722
10723 2005-06-02  Andy Wingo  <wingo@pobox.com>
10724
10725         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
10726         file size, pass it on to the type find helper.
10727
10728         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
10729         segment_start and segment_end properly according to the seek
10730         method. Segment_end is still a bit flaky because offset can be
10731         negative for CUR and END cases, but it takes -1 as an "unset"
10732         value.
10733
10734 2005-06-02  Wim Taymans  <wim@fluendo.com>
10735
10736         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
10737         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
10738         (gst_basesink_activate):
10739         * gst/base/gstbasesink.h:
10740         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10741         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10742         (gst_pad_query), (gst_pad_start_task):
10743         * gst/gstpad.h:
10744         * gst/gstqueue.c: (gst_queue_bufferalloc),
10745         (gst_queue_handle_sink_event), (gst_queue_chain):
10746         Bufferalloc: return GstFlowReturn to more accuratly report
10747         why allocation failed.
10748
10749 2005-06-02  Wim Taymans  <wim@fluendo.com>
10750
10751         * gst/gstpipeline.c: (gst_pipeline_send_event):
10752         Take snapshot of state without blocking.
10753
10754 2005-06-02  Wim Taymans  <wim@fluendo.com>
10755
10756         * docs/design/part-TODO.txt:
10757         * docs/design/part-caps.txt:
10758         * docs/design/part-clocks.txt:
10759         * docs/design/part-negotiation.txt:
10760         * docs/design/part-preroll.txt:
10761         Small doc updates 
10762
10763 2005-05-30  Wim Taymans  <wim@fluendo.com>
10764
10765         * gst/elements/gstidentity.c: (gst_identity_event),
10766         (gst_identity_transform), (gst_identity_get_property):
10767         Protect last_message property as it is accessed from
10768         multiple threads.
10769
10770 2005-05-30  Wim Taymans  <wim@fluendo.com>
10771
10772         * gst/gstelement.c: (gst_element_init),
10773         (gst_element_pads_activate), (gst_element_change_state):
10774         Slicker pad activation code.
10775
10776 2005-05-30  Wim Taymans  <wim@fluendo.com>
10777
10778         * gst/Makefile.am:
10779         * gst/gstelement.h:
10780         * gst/gstelementfactory.h:
10781         * gst/gsttypes.h:
10782         Move elementfactory methods to separate .h file.
10783
10784 2005-05-30  Wim Taymans  <wim@fluendo.com>
10785
10786         * docs/design/part-overview.txt:
10787         * gst/gstsystemclock.h:
10788         Small typo fixes, doc updates.
10789
10790 2005-05-30  Wim Taymans  <wim@fluendo.com>
10791
10792         * gst/gst.c: (gst_init_get_popt_table), (init_post),
10793         (init_popt_callback):
10794         Remove cpu-opt flag.
10795
10796 2005-05-30  Wim Taymans  <wim@fluendo.com>
10797
10798         * gst/gstbuffer.c: (gst_subbuffer_finalize),
10799         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
10800         * gst/gstbuffer.h:
10801         Avoid typechecking in places where not needed.
10802         Added accessor for malloc_data.
10803
10804 2005-05-30  Wim Taymans  <wim@fluendo.com>
10805
10806         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
10807         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
10808         (gst_pad_configure_sink), (gst_pad_configure_src),
10809         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
10810         (gst_pad_start_task):
10811         Propagate errors from _set_caps() in configure_src/sink
10812         functions instead of returning TRUE.
10813         FLUSH events can travel up and downstream
10814
10815
10816 2005-05-30  Wim Taymans  <wim@fluendo.com>
10817
10818         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10819         (gst_basesink_activate):
10820         Handle EOS in preroll.
10821
10822 2005-05-30  Wim Taymans  <wim@fluendo.com>
10823
10824         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10825         (gst_queue_loop), (gst_queue_handle_src_event):
10826         Remove old pieces of code
10827         Flushing the queue in an upstream event is a very bad idea.
10828
10829 2005-05-26  Andy Wingo  <wingo@pobox.com>
10830
10831         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
10832         gst_value_set_mini_object so as to add a ref on the object (which
10833         will be removed when the value is unset).
10834
10835         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
10836         arg type in ::handoff.
10837
10838         * gst/gstelement.c (gst_element_change_state): Also deactivate
10839         pads in READY->NULL, just in case the element didn't make it to
10840         PAUSED. Wingo tested, Wim approved.
10841
10842 2005-05-26  Wim Taymans  <wim@fluendo.com>
10843
10844         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10845         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10846         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
10847         A flushing pad cannot be used to alloc_buffer from.
10848
10849 2005-05-26  Wim Taymans  <wim@fluendo.com>
10850
10851         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
10852         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
10853         (gst_bus_source_dispatch), (gst_bus_source_finalize),
10854         (gst_bus_create_watch), (gst_bus_add_watch_full):
10855         * gst/gstbus.h:
10856         Implement a real GSource and use g_main_context_wakeup() to
10857         signal new messages instead of the socketpair.
10858
10859 2005-05-25  Wim Taymans  <wim@fluendo.com>
10860
10861         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
10862         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
10863         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10864         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10865         (gst_pad_send_event), (gst_pad_start_task):
10866         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
10867         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
10868         (gst_queue_sink_activate), (gst_queue_src_activate),
10869         (gst_queue_change_state):
10870         * gst/gstqueue.h:
10871         Fix state changes for non sinks. We now change sinks, then elements
10872         with unconnected srcpads, then the rest.
10873         More efficient queue unlocking in flush and state changes.
10874         Set the pad activate mode even if it does not have an activate
10875         function.
10876
10877 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10878
10879         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
10880           Don't go in pull mode for non-seekable sources.
10881         * gst/elements/gsttypefindelement.h:
10882         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10883         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
10884         (free_entry), (stop_typefinding),
10885         (gst_type_find_element_handle_event), (find_peek),
10886         (gst_type_find_element_chain), (do_pull_typefind),
10887         (gst_type_find_element_change_state):
10888           Allow typefinding (w/o seeking) in push-mode, simplified version
10889           of what was in 0.8.
10890         * gst/gstutils.c: (gst_buffer_join):
10891         * gst/gstutils.h:
10892           gst_buffer_join() from 0.8.
10893
10894 2005-05-25  Wim Taymans  <wim@fluendo.com>
10895
10896         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10897         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10898         (gst_pad_send_event), (gst_pad_start_task):
10899         Disable attempt at mode switching until it is figured out.
10900
10901 2005-05-25  Wim Taymans  <wim@fluendo.com>
10902
10903         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
10904         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10905         (gst_basesink_finish_preroll), (gst_basesink_chain),
10906         (gst_basesink_loop), (gst_basesink_activate),
10907         (gst_basesink_change_state):
10908         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
10909         (gst_basesrc_get_range), (gst_basesrc_loop),
10910         (gst_basesrc_activate):
10911         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10912         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
10913         (gst_real_pad_init), (gst_real_pad_set_property),
10914         (gst_real_pad_get_property), (gst_pad_set_active),
10915         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
10916         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
10917         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
10918         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
10919         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10920         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
10921         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
10922         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10923         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
10924         (gst_pad_stop_task):
10925         * gst/gstpad.h:
10926         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10927         (gst_queue_loop), (gst_queue_src_activate):
10928         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
10929         (gst_task_get_state):
10930         * gst/gsttask.h:
10931         * gst/schedulers/threadscheduler.c:
10932         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
10933         Implement gst_pad_pause/start/stop_task(), take STREAM lock
10934         in task function.
10935         Remove ACTIVE pad flag, use FLUSHING everywhere
10936         Added _pad_chain(), _pad_get_range() to call chain/getrange 
10937         functions.
10938         Add locks around IS_FLUSHING when reading.
10939         Take STREAM lock in chain(), get_range() functions so plugins
10940         don't need to take it anymore.
10941         
10942
10943
10944 2005-05-25  Wim Taymans  <wim@fluendo.com>
10945
10946         * tools/gst-launch.c: (event_loop):
10947         Unref message after using its contents instead of
10948         before.
10949
10950 2005-05-24  Wim Taymans  <wim@fluendo.com>
10951
10952         * docs/design/draft-ghostpads.txt:
10953         * docs/design/draft-push-pull.txt:
10954         * docs/design/draft-query.txt:
10955         * docs/design/part-overview.txt:
10956         Docs updates, added general overview doc.
10957
10958 2005-05-21  David Schleef  <ds@schleef.org>
10959
10960         * docs/gst/tmpl/old/GstBin.sgml:
10961         * docs/gst/tmpl/old/GstBuffer.sgml:
10962         * docs/gst/tmpl/old/GstCaps.sgml:
10963         * docs/gst/tmpl/old/GstClock.sgml:
10964         * docs/gst/tmpl/old/GstCompat.sgml:
10965         * docs/gst/tmpl/old/GstData.sgml:
10966         * docs/gst/tmpl/old/GstElement.sgml:
10967         * docs/gst/tmpl/old/GstEvent.sgml:
10968         * docs/gst/tmpl/old/GstIndex.sgml:
10969         * docs/gst/tmpl/old/GstStructure.sgml:
10970         * docs/gst/tmpl/old/GstTag.sgml:
10971         * docs/gst/tmpl/old/cothreads.sgml:
10972         * docs/gst/tmpl/old/cothreads_compat.sgml:
10973         * docs/gst/tmpl/old/gettext.sgml:
10974         * docs/gst/tmpl/old/gobject2gtk.sgml:
10975         * docs/gst/tmpl/old/grammar.tab.sgml:
10976         * docs/gst/tmpl/old/gst-i18n-app.sgml:
10977         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
10978         * docs/gst/tmpl/old/gst_private.sgml:
10979         * docs/gst/tmpl/old/gstaggregator.sgml:
10980         * docs/gst/tmpl/old/gstarch.sgml:
10981         * docs/gst/tmpl/old/gstatomic_impl.sgml:
10982         * docs/gst/tmpl/old/gstbufferstore.sgml:
10983         * docs/gst/tmpl/old/gstdata_private.sgml:
10984         * docs/gst/tmpl/old/gstdisksink.sgml:
10985         * docs/gst/tmpl/old/gstdisksrc.sgml:
10986         * docs/gst/tmpl/old/gstelementfactory.sgml:
10987         * docs/gst/tmpl/old/gstextratypes.sgml:
10988         * docs/gst/tmpl/old/gstfakesink.sgml:
10989         * docs/gst/tmpl/old/gstfakesrc.sgml:
10990         * docs/gst/tmpl/old/gstfdsink.sgml:
10991         * docs/gst/tmpl/old/gstfdsrc.sgml:
10992         * docs/gst/tmpl/old/gstfilesink.sgml:
10993         * docs/gst/tmpl/old/gstfilesrc.sgml:
10994         * docs/gst/tmpl/old/gsthttpsrc.sgml:
10995         * docs/gst/tmpl/old/gstidentity.sgml:
10996         * docs/gst/tmpl/old/gstindexfactory.sgml:
10997         * docs/gst/tmpl/old/gstmarshal.sgml:
10998         * docs/gst/tmpl/old/gstmd5sink.sgml:
10999         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
11000         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
11001         * docs/gst/tmpl/old/gstpadtemplate.sgml:
11002         * docs/gst/tmpl/old/gstpipefilter.sgml:
11003         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
11004         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
11005         * docs/gst/tmpl/old/gstshaper.sgml:
11006         * docs/gst/tmpl/old/gstspider.sgml:
11007         * docs/gst/tmpl/old/gstspideridentity.sgml:
11008         * docs/gst/tmpl/old/gststatistics.sgml:
11009         * docs/gst/tmpl/old/gsttee.sgml:
11010         * docs/gst/tmpl/old/gsttimecache.sgml:
11011         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
11012         * docs/gst/tmpl/old/gstxmlregistry.sgml:
11013         * docs/gst/tmpl/old/gthread-cothreads.sgml:
11014         * docs/gst/tmpl/old/types.sgml:
11015           I didn't intend to add these or check them in.
11016
11017 2005-05-19  David Schleef  <ds@schleef.org>
11018
11019         * configure.ac: Use -no-common everywhere.  In a sane world, it
11020           would be the default in libtool, because without it, you can't
11021           build DLLs on Windows.
11022         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
11023         * docs/gst/gstreamer-sections.txt:
11024         * docs/gst/tmpl/gstcpu.sgml:
11025         * docs/gst/tmpl/gstdata.sgml:
11026         * docs/gst/tmpl/gstthread.sgml:
11027
11028 2005-05-19  David Schleef  <ds@schleef.org>
11029
11030         * gst/gstminiobject.c: (gst_value_set_mini_object),
11031         (gst_value_take_mini_object), (gst_value_get_mini_object):
11032         * gst/gstminiobject.h: Add GValue set/get functions.
11033
11034 2005-05-19  Wim Taymans  <wim@fluendo.com>
11035
11036         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
11037         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
11038         (gst_subbuffer_init), (gst_buffer_is_span_fast):
11039         * gst/gstbuffer.h:
11040         * gst/gstbus.c: (gst_bus_post):
11041         * gst/gstelement.c: (gst_element_get_random_pad):
11042         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
11043         Make subbufer unref the parent in finalize.
11044         some more debugging info.
11045
11046
11047 2005-05-19  Wim Taymans  <wim@fluendo.com>
11048
11049         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11050         (gst_basesink_init), (gst_basesink_finalize),
11051         (gst_basesink_activate), (gst_basesink_change_state):
11052         Don't free preroll queue too early.
11053
11054 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11055
11056         * gst/Makefile.am:
11057         * gst/ROADMAP:
11058           Hi, I'm outdated. Please shoot me.
11059
11060 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11061
11062         * gst/gstpipeline.c: (gst_pipeline_send_event):
11063           Do not access variables after they have been deleted.
11064
11065 2005-05-19  Wim Taymans  <wim@fluendo.com>
11066
11067         * tools/gst-inspect.c: (print_plugin_features):
11068         A plugin feature does unfortunatly not use the
11069         object name yet...
11070
11071 2005-05-18  Wim Taymans  <wim@fluendo.com>
11072
11073         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
11074         Port _span() functions to new subbuffers.
11075
11076 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11077
11078         * gst/gstbin.c: (gst_bin_add_func):
11079           Fix clock settery in bins when adding kids after the clock has
11080           been selected.
11081
11082 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11083
11084         * gst/elements/gstidentity.c: (gst_identity_class_init):
11085           Workaround until signals support GstMiniObject.
11086
11087 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
11088
11089         * gst/gstbuffer.c:
11090         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11091
11092 2005-05-18  Wim Taymans  <wim@fluendo.com>
11093
11094         * gst/base/Makefile.am:
11095         * gst/base/gstadapter.c: (gst_adapter_base_init),
11096         (gst_adapter_class_init), (gst_adapter_init),
11097         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
11098         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
11099         (gst_adapter_flush), (gst_adapter_available),
11100         (gst_adapter_available_fast):
11101         * gst/base/gstadapter.h:
11102         Ported and added adapter to the base classes.
11103
11104 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11105
11106         * gst/gst.c:
11107         * gst/gstmessage.c:
11108           Make sure the class is reffed/unreffed once before threads can be
11109           used.  Fixes #304551.
11110
11111 2005-05-17  Wim Taymans  <wim@fluendo.com>
11112
11113         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11114         (gst_basesink_chain_unlocked), (gst_basesink_activate):
11115         * gst/gstminiobject.c: (gst_mini_object_get_type),
11116         (gst_mini_object_free):
11117         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11118         (gst_pad_push), (gst_pad_push_event):
11119         * gst/gstqueue.c: (gst_queue_change_state):
11120         Don't queue buffers in basesink when we are flushing.
11121         Unref buffer when flushing in basesink.
11122         Flush queue when going to READY
11123         Unref buffer when _push() returns an error.
11124         Don't free MiniObject instance when refcount is incremented
11125         in _finalize() so that we can recover objects.
11126
11127 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11128
11129         * docs/manual/advanced-schedulers.xml:
11130         * docs/manual/appendix-checklist.xml:
11131         * docs/pwg/advanced-clock.xml:
11132         * docs/pwg/advanced-interfaces.xml:
11133         * docs/pwg/advanced-request.xml:
11134         * docs/pwg/advanced-types.xml:
11135         * docs/pwg/intro-preface.xml:
11136         * examples/plugins/example.c: (gst_example_get_type),
11137         (gst_example_class_init), (gst_example_chain),
11138         (gst_example_set_property), (gst_example_get_property),
11139         (gst_example_change_state), (plugin_init):
11140         * examples/plugins/example.h:
11141           small doc fixes
11142
11143 2005-05-17  Wim Taymans  <wim@fluendo.com>
11144
11145         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11146         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11147         * gst/gstqueue.c: (gst_queue_change_state):
11148         Clear queue when going to READY.
11149         Remove IN_SETCAPS flag too.
11150
11151 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
11152
11153         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11154           Remove implicit cast from gboolean to GstElementStateReturn;
11155           make sure we still return failure in paused => ready case if
11156           the parent class fails to change state and our own stop 
11157           vfunc succeeds.
11158
11159 2005-05-17  Wim Taymans  <wim@fluendo.com>
11160
11161         * tools/gst-launch.c: (event_loop):
11162         Message was unreffed too soon.
11163
11164 2005-05-16  Andy Wingo  <wingo@pobox.com>
11165
11166         * gst/gstbin.c (sink_iterator_filter): Err... um...
11167
11168         * check/gst/gstbin.c (test_ghost_pads): New test for the
11169         ghosting-if-elements-not-in-same-bin behavior.
11170
11171 2005-05-16  David Schleef  <ds@schleef.org>
11172
11173         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11174         accessing refcount directly.
11175
11176 2005-05-15  David Schleef  <ds@schleef.org>
11177
11178         * check/Makefile.am: remove GstData checks
11179         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11180         * gst/Makefile.am: add miniobject, remove data
11181         * gst/gst.h: add miniobject, remove data
11182         * gst/gstdata.c: remove
11183         * gst/gstdata.h: remove
11184         * gst/gstdata_private.h: remove
11185         * gst/gsttypes.h: remove GstEvent and GstMessage
11186         * gst/gstelement.c: (gst_element_post_message): fix for API changes
11187         * gst/gstmarshal.list: change BOXED -> OBJECT
11188
11189         Implement GstMiniObject.
11190         * gst/gstminiobject.c:
11191         * gst/gstminiobject.h:
11192
11193         Modify to be subclasses of GstMiniObject.
11194         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11195         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11196         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11197         (gst_subbuffer_get_type), (gst_subbuffer_init),
11198         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11199         (gst_buffer_span):
11200         * gst/gstbuffer.h:
11201         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11202         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11203         (_gst_event_copy), (gst_event_new):
11204         * gst/gstevent.h:
11205         * gst/gstmessage.c: (_gst_message_initialize),
11206         (gst_message_get_type), (gst_message_class_init),
11207         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11208         (gst_message_new), (gst_message_new_error),
11209         (gst_message_new_warning), (gst_message_new_tag),
11210         (gst_message_new_state_changed), (gst_message_new_application):
11211         * gst/gstmessage.h:
11212         * gst/gstprobe.c: (gst_probe_perform),
11213         (gst_probe_dispatcher_dispatch):
11214         * gst/gstprobe.h:
11215         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11216         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11217         (_gst_query_copy), (gst_query_new):
11218
11219         Update elements for GstData -> GstMiniObject changes
11220         * gst/gstquery.h:
11221         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11222         (gst_queue_chain), (gst_queue_loop):
11223         * gst/elements/gstbufferstore.c:
11224         (gst_buffer_store_add_buffer_func),
11225         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11226         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11227         (gst_fakesink_render):
11228         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11229         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11230         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11231         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11232         (gst_filesrc_create_read):
11233         * gst/elements/gstidentity.c: (gst_identity_class_init):
11234         * gst/elements/gsttypefindelement.c:
11235         (gst_type_find_element_src_event), (free_entry_buffers),
11236         (gst_type_find_element_handle_event):
11237         * libs/gst/dataprotocol/dataprotocol.c:
11238         (gst_dp_header_from_buffer):
11239         * libs/gst/dataprotocol/dataprotocol.h:
11240         * libs/gst/dataprotocol/dp-private.h:
11241
11242 2005-05-15  David Schleef  <ds@schleef.org>
11243
11244         * gst/elements/gstelements.c: Don't include headers that were
11245         just removed.
11246
11247 2005-05-15  David Schleef  <ds@schleef.org>
11248
11249         * gst/elements/Makefile.am: Remove some elements that don't
11250         need to be in the core (or even exist at all).
11251         * gst/elements/gstaggregator.c:
11252         * gst/elements/gstaggregator.h:
11253         * gst/elements/gstmd5sink.c:
11254         * gst/elements/gstmd5sink.h:
11255         * gst/elements/gstmultifilesrc.c:
11256         * gst/elements/gstmultifilesrc.h:
11257         * gst/elements/gstpipefilter.c:
11258         * gst/elements/gstpipefilter.h:
11259         * gst/elements/gstshaper.c:
11260         * gst/elements/gstshaper.h:
11261         * gst/elements/gststatistics.c:
11262         * gst/elements/gststatistics.h:
11263         * po/POTFILES.in: Remove above files.
11264
11265 2005-05-14  Andy Wingo  <wingo@pobox.com>
11266
11267         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11268         so as to get the refs right.
11269         (sink_iterator_filter): New function, wraps bin_element_is_sink,
11270         unreffing objects that don't pass the filter.
11271
11272         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11273         gst_element_set_bus.
11274         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11275         normal cases, this will destroy the bus.
11276
11277         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11278         object.
11279
11280         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11281         has no sinks.
11282
11283 2005-05-13  Andy Wingo  <wingo@pobox.com>
11284
11285         * gst/gstutils.c (gst_element_link_pads): Instead of calling
11286         gst_pad_link, call pad_link_maybe_ghosting,
11287         (pad_link_maybe_ghosting): Links pads, making sure that the
11288         elements being linked are in the same bin.
11289         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11290         Helpers for pad_link_maybe_ghosting.
11291
11292 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11293
11294         * configure.ac:
11295           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11296
11297 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11298
11299         * docs/design/part-element-source.txt:
11300           Mention GstPushSrc
11301
11302 2005-05-12  Wim Taymans  <wim@fluendo.com>
11303
11304         * gst/base/gstbasesink.c: (gst_basesink_init),
11305         (gst_basesink_activate):
11306         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11307         (gst_basesrc_is_seekable):
11308         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11309         (bin_element_is_sink), (gst_bin_change_state):
11310         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11311         * gst/gstelement.h:
11312         Identify sinks by their flag to avoid overly complicated
11313         checks (fow now).
11314         Do state changes even for elements not reachable from the
11315         sinks.
11316         BaseSink is a sink now :)
11317         Some more debugging info in the basesrc.
11318
11319
11320 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11321
11322         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
11323           Implement _query on a bin, similar to _send_event.
11324
11325 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
11326
11327         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
11328           Discont event offset format should be GST_FORMAT_BYTES,
11329           not GST_FORMAT_TIME.
11330
11331 2005-05-12  Wim Taymans  <wim@fluendo.com>
11332
11333         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
11334         Same fix as Ronald's but without the signal. 
11335
11336 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11337
11338         * gst/gstutils.c: (gst_element_query_position):
11339           No, an element is not a pad.
11340
11341 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11342
11343         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
11344         (gst_bin_get_state):
11345           If a child is removed from a bin while we remove the child from
11346           the bin and while we're retrieving its state, signal this to the
11347           get_state function so we abort the wait (instead of waiting for
11348           a timeout) and can immediately re-iterate over all other elements.
11349
11350 2005-05-12  Wim Taymans  <wim@fluendo.com>
11351
11352         * gst/base/Makefile.am:
11353         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
11354         (gst_basesrc_start):
11355         * gst/base/gstbasesrc.h:
11356         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
11357         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
11358         (gst_pushsrc_init), (gst_pushsrc_create):
11359         * gst/base/gstpushsrc.h:
11360         Added is_seekable to BaseSrc
11361         Added simple PushSrc.
11362
11363 2005-05-11  Wim Taymans  <wim@fluendo.com>
11364
11365         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11366         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11367         (gst_element_link_pads), (gst_element_query_position),
11368         (gst_element_query_convert), (intersect_caps_func),
11369         (gst_pad_query_position), (gst_pad_query_convert):
11370         Fix refcounting in utils function.
11371         No point in trying to activate a pad when it's added, it could
11372         be added from the state change function and then we deadlock, the
11373         element has to decide what to do.
11374
11375 2005-05-10  Andy Wingo  <wingo@pobox.com>
11376
11377         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
11378         *all* the arguments.
11379
11380         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
11381         stream lock if it's a FLUSH_DONE; normal flushes don't get the
11382         lock (according to the docs -- if this is wrong change the docs).
11383
11384         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
11385         flush messages in the NULL state.
11386
11387         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
11388         message immediately and return.
11389         (gst_bus_set_flushing): New function. If a bus is flushing, it
11390         flushes out any queued messages and immediately unrefs new
11391         messages. This is so when an element goes to NULL, all of the
11392         unhandled messages coming from it can be freed, and their
11393         references to the element dropped. In other words: message source
11394         ref considered harmful :P
11395
11396         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
11397         we're finished with it.
11398
11399         * gst/gstmessage.c (gst_message_new_state_changed): 
11400
11401 2005-05-10  Wim Taymans  <wim@fluendo.com>
11402
11403         * gst/gstvalue.c: (gst_value_compare_flags),
11404         (gst_value_serialize_flags), (gst_value_deserialize_flags),
11405         (_gst_value_initialize):
11406         Added flags serialize/deserialize/compare code.
11407
11408 2005-05-09  Andy Wingo  <wingo@pobox.com>
11409
11410         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
11411         Intersect the peer's caps with our caps.
11412
11413 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11414
11415         * gst/base/gsttypefindhelper.c: (helper_find_peek):
11416         * gst/elements/gsttypefindelement.c: (find_peek):
11417           Handle negative offsets better. Fixes decodebin.
11418
11419 2005-05-09  Wim Taymans  <wim@fluendo.com>
11420
11421         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
11422         (gst_base_transform_event):
11423         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
11424         Implement accept_caps.
11425         Fix silly lock/unlock mismatch in base class.
11426
11427 2005-05-09  Wim Taymans  <wim@fluendo.com>
11428
11429         * docs/design/draft-push-pull.txt:
11430         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
11431         * gst/elements/gstfilesink.c: (gst_filesink_init),
11432         (gst_filesink_query):
11433         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11434         (gst_type_find_handle_src_query), (find_element_get_length):
11435         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
11436         * gst/gstelement.h:
11437         * gst/gstmessage.c:
11438         * gst/gstmessage.h:
11439         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
11440         (gst_real_pad_get_caps_unlocked),
11441         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
11442         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11443         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
11444         (gst_real_pad_dispose), (gst_real_pad_finalize),
11445         (gst_pad_load_and_link), (gst_pad_save_thyself),
11446         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
11447         (gst_pad_check_pull_range), (gst_pad_pull_range),
11448         (gst_pad_template_get_type), (gst_pad_template_class_init),
11449         (gst_pad_template_init), (gst_pad_template_dispose),
11450         (name_is_valid), (gst_static_pad_template_get),
11451         (gst_pad_template_new), (gst_static_pad_template_get_caps),
11452         (gst_pad_template_get_caps), (gst_pad_set_element_private),
11453         (gst_pad_get_element_private), (gst_pad_start_task),
11454         (gst_pad_pause_task), (gst_pad_stop_task),
11455         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
11456         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
11457         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
11458         (gst_ghost_pad_new):
11459         * gst/gstpad.h:
11460         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
11461         (gst_query_new_position), (gst_query_set_position),
11462         (gst_query_parse_position), (gst_query_new_convert),
11463         (gst_query_set_convert), (gst_query_parse_convert):
11464         * gst/gstquery.h:
11465         * gst/gstqueryutils.c:
11466         * gst/gstqueryutils.h:
11467         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11468         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11469         (gst_queue_handle_src_query):
11470         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11471         (gst_element_query_position), (gst_element_query_convert),
11472         (intersect_caps_func), (gst_pad_query_position),
11473         (gst_pad_query_convert):
11474         * gst/gstutils.h:
11475         * tools/gst-inspect.c: (print_pad_info):
11476         * tools/gst-xmlinspect.c: (print_element_info):
11477         Remove old query functions. Ported old code.
11478         Added position/convert helper functions to gstutils.
11479         Reordered gstpad.c code, grouping relevant things.
11480         Remove gst_message_new(), always need to speficy a specific
11481         message.
11482
11483
11484 2005-05-09  Andy Wingo  <wingo@pobox.com>
11485
11486         * gst/gstiterator.h: Add some includes.
11487
11488         * gst/gstqueryutils.h: Include more headers.
11489
11490         * gst/gstpad.h:
11491         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
11492         some uses of gst_pad_query.
11493
11494         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
11495         NULL out parameters.
11496         (gst_query_new_position): New proc, allocates a new position
11497         query.
11498
11499         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
11500         gstqueryutils.c to the build.
11501
11502         * gst/gststructure.c (gst_structure_set_valist): Implement with
11503         the generic G_VALUE_COLLECT.
11504         
11505 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
11506
11507         * gst/Makefile.am: (gst_headers):
11508         Added gstqueryutils.h to the list of headers to install, that was
11509         a 'nachty' move wingo :)
11510
11511 2005-05-06  Andy Wingo  <wingo@pobox.com>
11512
11513         * gst/gstquery.h
11514         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
11515         GstData, init a memchunk.
11516         (standard_definitions): Add a few query types, deprecate a few.
11517         (gst_query_get_type): New proc.
11518         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
11519         implementation.
11520         (gst_query_new_application, gst_query_get_structure): New public
11521         procs.
11522
11523         * docs/design/draft-query.txt: Removed LINKS from the query types,
11524         because all the rest can be dispatched to other pads -- seemed
11525         ugly to have a query that couldn't be dispatched. internal_links
11526         is fine as a pad method.
11527
11528         * gst/gstpad.h: Add query2 as a pad method, add the new functions
11529         in gstpad.c, but maintain binary compatibility for the moment.
11530         Will fix before 0.9 is out.
11531
11532         * gst/gstqueryutils.c: 
11533         * gst/gstqueryutils.h: New files, implement 3 methods for each
11534         query type: parse_query, parse_response, and set. Probably need an
11535         allocator as well.
11536
11537         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
11538
11539         * gst/elements/gstfilesink.c (gst_filesink_query2):
11540         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
11541         query_types, and formats methods.
11542
11543         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
11544         (gst_pad_set_query2_function): New functions.
11545         (gst_real_pad_init): Set query2_default as the default query2
11546         function. Basically just dispatches to internally linked pads.
11547
11548         Needs review!
11549         
11550         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
11551         without using the atomic operations. Only one thread can possibly
11552         be accessing the data at this point. Changed so as to avoid
11553         gst_atomic operations.
11554
11555 2005-05-06  Wim Taymans  <wim@fluendo.com>
11556
11557         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
11558         Also set caps if we use the fallback buffer alloc.
11559
11560 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
11561
11562         * docs/gst/Makefile.am:
11563         * docs/gst/gstreamer-docs.sgml:
11564         * docs/gst/gstreamer-sections.txt:
11565         * docs/gst/tmpl/gstatomic.sgml:
11566         * docs/gst/tmpl/gstmemchunk.sgml:
11567         * testsuite/elements/struct_i386.h:
11568         * win32/GStreamer.vcproj:
11569         * win32/Makefile:
11570           Purge GstAtomic stuff from docs and win32 makefiles as well
11571
11572 2005-05-06  Wim Taymans  <wim@fluendo.com>
11573
11574         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
11575         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
11576         * gst/gstpad.c: (gst_pad_peer_get_caps):
11577         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11578         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11579         (gst_queue_src_activate), (gst_queue_change_state):
11580         * gst/gstqueue.h:
11581         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11582         (intersect_caps_func):
11583         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
11584         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
11585         Some fixes for the peer_get_caps() change.
11586
11587 2005-05-06  Wim Taymans  <wim@fluendo.com>
11588
11589         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11590         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
11591         (gst_basesink_activate):
11592         Actually do something with error codes returned from the push
11593         functions.
11594
11595 2005-05-06  Wim Taymans  <wim@fluendo.com>
11596
11597         * docs/design/part-element-sink.txt:
11598         * docs/design/part-element-source.txt:
11599         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11600         (gst_basesink_event), (gst_basesink_activate):
11601         * gst/base/gstbasesink.h:
11602         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
11603         (gst_basesrc_activate):
11604         * gst/base/gstbasesrc.h:
11605         * gst/gstelement.c: (gst_element_pads_activate):
11606         Some more documentation.
11607         Fixed scheduling decision in _pads_activate().
11608
11609 2005-05-05  Andy Wingo  <wingo@pobox.com>
11610
11611         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
11612         the test suite.
11613
11614 2005-05-05  Wim Taymans  <wim@fluendo.com>
11615
11616         * gst/base/Makefile.am:
11617         * gst/base/gstbasesink.h:
11618         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11619         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
11620         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
11621         (gst_collectpads_class_init), (gst_collectpads_init),
11622         (gst_collectpads_finalize), (gst_collectpads_new),
11623         (gst_collectpads_set_function), (gst_collectpads_add_pad),
11624         (find_pad), (gst_collectpads_remove_pad),
11625         (gst_collectpads_is_active), (gst_collectpads_collect),
11626         (gst_collectpads_collect_range), (gst_collectpads_start),
11627         (gst_collectpads_stop), (gst_collectpads_peek),
11628         (gst_collectpads_pop), (gst_collectpads_available),
11629         (gst_collectpads_read), (gst_collectpads_flush),
11630         (gst_collectpads_chain):
11631         * gst/base/gstcollectpads.h:
11632         * gst/elements/Makefile.am:
11633         * gst/elements/gstelements.c:
11634         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11635         (gst_fakesink_get_times), (gst_fakesink_event),
11636         (gst_fakesink_preroll), (gst_fakesink_render):
11637         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
11638         (gst_filesink_init), (gst_filesink_set_location),
11639         (gst_filesink_open_file), (gst_filesink_close_file),
11640         (gst_filesink_pad_query), (gst_filesink_event),
11641         (gst_filesink_render), (gst_filesink_change_state):
11642         * gst/elements/gstfilesink.h:
11643         Added object to help in making collect pad based elements.
11644         Ported filesink.
11645         Make event function in sink baseclass return gboolean.
11646
11647 2005-05-05  Wim Taymans  <wim@fluendo.com>
11648
11649         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
11650         (gst_bin_get_by_name):
11651         * gst/gstbuffer.h:
11652         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
11653         (gst_clock_finalize):
11654         * gst/gstdata.c: (gst_data_replace):
11655         * gst/gstdata.h:
11656         * gst/gstelement.c: (gst_element_request_pad),
11657         (gst_element_pads_activate):
11658         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
11659         (gst_object_unref):
11660         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11661         (gst_pad_set_checkgetrange_function),
11662         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
11663         (gst_pad_check_pull_range), (gst_pad_pull_range),
11664         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11665         (gst_pad_pause_task), (gst_pad_stop_task):
11666         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11667         (gst_element_request_pad), (gst_pad_proxy_getcaps):
11668         Fix name lookup in GstBin.
11669         Added _data_replace() function and _buffer_replace()
11670         Use finalize method to clean up clock.
11671         Fix refcounting on request pads.
11672         Fix pad schedule mode error.
11673         Some more object refcounting debug info,
11674
11675
11676 2005-05-04  Andy Wingo <wingo@pobox.com>
11677
11678         * check/Makefile.am:
11679         * docs/gst/tmpl/gstatomic.sgml:
11680         * docs/gst/tmpl/gstplugin.sgml:
11681         * gst/base/gstbasesink.c: (gst_basesink_activate):
11682         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
11683         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
11684         (gst_basesrc_query), (gst_basesrc_set_property),
11685         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
11686         (gst_basesrc_activate):
11687         * gst/base/gstbasesrc.h:
11688         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
11689         (gst_base_transform_src_activate):
11690         * gst/elements/gstelements.c:
11691         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11692         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11693         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11694         * gst/elements/gsttypefindelement.c: (find_element_get_length),
11695         (gst_type_find_element_checkgetrange),
11696         (gst_type_find_element_activate):
11697         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
11698         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
11699         (gst_caps_load_thyself):
11700         * gst/gstelement.c: (gst_element_pads_activate),
11701         (gst_element_save_thyself), (gst_element_restore_thyself):
11702         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
11703         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
11704         * gst/gstpad.h:
11705         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
11706         (gst_xml_parse_file), (gst_xml_parse_memory),
11707         (gst_xml_get_element), (gst_xml_make_element):
11708         * gst/indexers/gstfileindex.c: (gst_file_index_load),
11709         (_file_index_id_save_xml), (gst_file_index_commit):
11710         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
11711         (read_enum), (load_pad_template), (load_feature), (load_plugin),
11712         (load_paths):
11713         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
11714         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
11715         * tools/gst-complete.c: (main):
11716         * tools/gst-compprep.c: (main):
11717         * tools/gst-inspect.c: (print_element_properties_info):
11718         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
11719         * tools/gst-xmlinspect.c: (print_element_properties):
11720         GCC 4 fixen.
11721         
11722 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11723
11724         * gst/gstplugin.c: (gst_plugin_check_module),
11725         (gst_plugin_check_file), (gst_plugin_load_file):
11726             apply patch from #172526 to make register work on MacOSX
11727
11728 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11729
11730         * docs/gst/tmpl/gstconfig.sgml:
11731         * gst/gstconfig.h.in:
11732           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
11733         * testsuite/debug/printf_extension.c: (main):
11734           Do not use GST_PTR_FORMAT on pointers to types with
11735           sizeof < sizeof(gpointer).  Fixes test on 64-bit
11736         * testsuite/elements/property.h:
11737           use correct printf format
11738
11739 2005-05-02  Wim Taymans  <wim@fluendo.com>
11740
11741         * docs/design/draft-push-pull.txt:
11742         * docs/design/draft-query.txt:
11743         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
11744         (gst_basesrc_start):
11745         Added draft for new query API.
11746         Added draft for better selecting scheduling methods.
11747         Make basesrc ignore length if the subclass does not support
11748         it.
11749
11750 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11751
11752         * gst/Makefile.am:
11753           possible fixes for automake-1.5 - _LIBADD is reserved
11754
11755 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11756
11757         * docs/faq/Makefile.am:
11758         * docs/manual/Makefile.am:
11759         * docs/manuals.mak:
11760         * docs/pwg/Makefile.am:
11761         * gst/Makefile.am:
11762           possible fixes for automake-1.5
11763
11764 2005-04-28  Wim Taymans  <wim@fluendo.com>
11765
11766         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11767         (gst_basesink_pad_getcaps), (gst_basesink_init),
11768         (gst_basesink_do_sync):
11769         * gst/gstclock.c: (gst_clock_entry_new):
11770         * gst/gstevent.c: (gst_event_discont_get_value):
11771         * gst/gstpipeline.c: (pipeline_bus_handler),
11772         (gst_pipeline_change_state):
11773         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
11774         Better debugging of clocking info.
11775         Allow NULL values when getting discont values.
11776
11777 2005-04-27  Wim Taymans  <wim@fluendo.com>
11778
11779         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11780         * check/gst/gstpad.c: (gst_pad_suite):
11781         Increase timeout for checks.
11782
11783 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11784
11785         * check/Makefile.am:
11786           fix the broken rule for cleanup.  Apparently this rule is
11787           only needed on FC2, so maybe this warrants further autotool
11788           inspection.
11789
11790 2005-04-26  Wim Taymans  <wim@fluendo.com>
11791
11792         * gst/gsttrashstack.h:
11793         Ooohh. a nasty one! After having a failed pop() from the stack,
11794         it's possible that the stack is empty. In that case, don't
11795         follow the NULL pointer.
11796
11797 2005-04-25  Wim Taymans  <wim@fluendo.com>
11798
11799         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11800         (gst_pad_set_checkgetrange_function),
11801         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
11802         (gst_pad_check_pull_range), (gst_pad_pull_range),
11803         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11804         (gst_pad_pause_task), (gst_pad_stop_task):
11805         * gst/gstplugin.c: (gst_plugin_load):
11806         * gst/gstplugin.h:
11807         Remove gst_library_load as it does more harm than good with
11808         the new g_module flags.
11809         Revert bogus caps template check in pad linking, pad caps
11810         are important when linking not the template, which is more
11811         general than the current caps.
11812
11813 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11814
11815         * gst/autoplug/.cvsignore:
11816         * gst/autoplug/Makefile.am:
11817         * gst/autoplug/gstsearchfuncs.c:
11818         * gst/autoplug/gstsearchfuncs.h:
11819         * gst/autoplug/gstspider.c:
11820         * gst/autoplug/gstspider.h:
11821         * gst/autoplug/gstspideridentity.c:
11822         * gst/autoplug/gstspideridentity.h:
11823         * gst/autoplug/spidertest.c:
11824           Die, spider, die.
11825
11826 2005-04-25  Wim Taymans  <wim@fluendo.com>
11827
11828         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11829         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11830         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
11831         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
11832         * gst/gstpad.h:
11833         Added stubs for unimplemented functions. 
11834
11835 2005-04-24  David Schleef  <ds@schleef.org>
11836
11837         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
11838         please fix.
11839
11840 2005-04-24  David Schleef  <ds@schleef.org>
11841
11842         Convert everything from GstAtomicInt to g_atomic_int_*, and
11843         remove gstatomic.
11844         * gst/Makefile.am:
11845         * gst/gstatomic.c:
11846         * gst/gstatomic.h:
11847         * gst/gstatomic_impl.h:
11848         * gst/gstbuffer.c:
11849         * gst/gstcaps.c:
11850         * gst/gstcaps.h:
11851         * gst/gstclock.c:
11852         * gst/gstclock.h:
11853         * gst/gstdata.c:
11854         * gst/gstdata.h:
11855         * gst/gstdata_private.h:
11856         * gst/gstevent.c:
11857         * gst/gstinfo.c:
11858         * gst/gstinfo.h:
11859         * gst/gstmessage.c:
11860         * gst/gstobject.c:
11861         * gst/gstobject.h:
11862         * gst/gststructure.c:
11863         * gst/gststructure.h:
11864         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
11865         * gst/gstutils.h:
11866
11867 2005-04-24  David Schleef  <ds@schleef.org>
11868
11869         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
11870         make the regressions tests work.  Remove some code that is no
11871         longer true.
11872         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
11873         Disable warning for pads without templates.
11874
11875 2005-04-24  David Schleef  <ds@schleef.org>
11876
11877         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
11878         functions that handle filtered links.
11879         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
11880         removed functions.
11881         * gst/gstutils.c: Fix/remove utility functions that handle
11882         filtered caps.
11883         * gst/gstutils.h:
11884         * gst/gstvalue.c: Add serialization/deserialization of caps
11885         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
11886         requires fixing so that the filter caps notation creates
11887         a capsfilter element and sets the filter_caps property.  I
11888         think everyone probably wants to keep the shorthand notation.
11889         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
11890         * docs/gst/tmpl/gstpad.sgml:
11891
11892         * gst/elements/gstelements.c: Register capsfilter element.
11893         * gst/Makefile.am: fix spacing
11894         * docs/random/ds/0.9-suggested-changes: random
11895
11896 2005-04-23  David Schleef  <ds@schleef.org>
11897
11898         * gst/elements/Makefile.am:
11899         * gst/elements/gstcapsfilter.c: New element that acts like an
11900         identity, but filters caps.  Will eventually replace filtered
11901         caps in pad linking.
11902         * gst/gstutils.c: (gst_element_create_all_pads): New function
11903         to create all the ALWAYS pads that are registered with an
11904         element class.  This functionality should eventually be
11905         merged in with GstElement initialization.
11906         * gst/gstutils.h:
11907         * testsuite/trigger/README: part of trigger test code that should
11908         have been checked in a long time ago.
11909
11910 2005-04-23  David Schleef  <ds@schleef.org>
11911
11912         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
11913         needed with new versions of libtool (nobody will confirm this),
11914         and hard to carry around.
11915         * gst/autoplug/Makefile.am:
11916         * gst/base/Makefile.am:
11917         * gst/elements/Makefile.am:
11918         * gst/indexers/Makefile.am:
11919         * gst/schedulers/Makefile.am:
11920         * libs/gst/bytestream/Makefile.am:
11921         * libs/gst/control/Makefile.am:
11922         * libs/gst/dataprotocol/Makefile.am:
11923         * libs/gst/getbits/Makefile.am:
11924
11925 2005-04-21  Wim Taymans  <wim@fluendo.com>
11926
11927         * docs/design/draft-push-pull.txt:
11928         * docs/design/part-MT-refcounting.txt:
11929         * docs/design/part-TODO.txt:
11930         * docs/design/part-caps.txt:
11931         * docs/design/part-events.txt:
11932         * docs/design/part-gstbus.txt:
11933         * docs/design/part-gstpipeline.txt:
11934         * docs/design/part-messages.txt:
11935         * docs/design/part-push-pull.txt:
11936         * docs/design/part-query.txt:
11937         Some more docs.
11938
11939 2005-04-21  Wim Taymans  <wim@fluendo.com>
11940
11941         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
11942         (gst_message_new), (gst_message_new_error),
11943         (gst_message_new_warning), (gst_message_new_tag),
11944         (gst_message_new_state_changed), (gst_message_new_application),
11945         (gst_message_get_structure):
11946         * gst/gstmessage.h:
11947         * gst/gststructure.c: (gst_structure_set_parent_refcount),
11948         (gst_structure_copy_conditional):
11949         Use parent refcount in GstMessage to ensure GstStructure
11950         consistency.
11951         Cleaned up headers a bit.
11952         
11953
11954 2005-04-20  Wim Taymans  <wim@fluendo.com>
11955
11956         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11957         (gst_basesink_pad_getcaps), (gst_basesink_init),
11958         (gst_basesink_chain_unlocked):
11959         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
11960         (gst_type_find_helper):
11961         * gst/elements/gsttypefindelement.c:
11962         (gst_type_find_element_have_type), (gst_type_find_element_init),
11963         (stop_typefinding), (gst_type_find_element_handle_event),
11964         (find_suggest), (gst_type_find_element_chain),
11965         (gst_type_find_element_checkgetrange),
11966         (gst_type_find_element_getrange), (do_typefind),
11967         (gst_type_find_element_activate):
11968         * gst/gstbuffer.c: (_gst_buffer_sub_free),
11969         (gst_buffer_default_free), (gst_buffer_default_copy),
11970         (gst_buffer_set_caps):
11971         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
11972         (gst_caps_replace):
11973         * gst/gstmessage.c: (gst_message_new),
11974         (gst_message_new_state_changed):
11975         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11976         (gst_pad_set_checkgetrange_function),
11977         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
11978         (gst_pad_set_caps), (gst_pad_check_pull_range),
11979         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
11980         * gst/gstpad.h:
11981         * gst/gsttypefind.c: (gst_type_find_register):
11982         Make gst_caps_replace() work like other _replace() functions.
11983         Use _caps_replace() where possible.
11984         Make sure _message_new() initialises its field.
11985         Add gst_static_pad_template_get_caps()
11986
11987
11988 2005-04-18  Andy Wingo  <wingo@pobox.com>
11989
11990         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
11991         on the peer, not the pad. I think that was a typo. Pass an extra
11992         arg to see if random access is possible. Activate the pads as
11993         PULL_RANGE if possible.
11994
11995         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
11996
11997         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
11998         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
11999         to PROP_....
12000
12001 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12002
12003         * docs/faq/using.xml:
12004           Add note on gstreamer-properties (#154996).
12005
12006 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12007
12008         * docs/random/bbb/optional-properties:
12009           Some analysis on optional properties.
12010
12011 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12012
12013         * docs/gst/tmpl/gstelementfactory.sgml:
12014         * gst/gstelement.h:
12015         * gst/gstelementfactory.c: (gst_element_factory_init),
12016         (gst_element_factory_cleanup), (gst_element_register),
12017         (__gst_element_factory_add_static_pad_template),
12018         (gst_element_factory_get_static_pad_templates),
12019         (gst_element_factory_can_src_caps),
12020         (gst_element_factory_can_sink_caps):
12021         * gst/registries/Makefile.am:
12022         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
12023         (gst_xml_registry_class_init), (gst_xml_registry_init),
12024         (gst_xml_registry_new), (gst_xml_registry_set_property),
12025         (gst_xml_registry_get_property), (get_time), (make_dir),
12026         (gst_xml_registry_get_perms_func),
12027         (plugin_times_older_than_recurse), (plugin_times_older_than),
12028         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
12029         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
12030         (add_to_char_array), (read_string), (read_uint), (read_enum),
12031         (load_pad_template), (load_feature), (load_plugin), (load_paths),
12032         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
12033         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
12034         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
12035         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
12036         (gst_xml_registry_rebuild):
12037         * gst/registries/gstlibxmlregistry.h:
12038         * tools/gst-compprep.c: (main):
12039         * tools/gst-inspect.c: (print_pad_templates_info):
12040         * tools/gst-xmlinspect.c: (print_element_info):
12041           Use libxml2 for registry parsing, use staticpadtemplates in
12042           elementfactories. Makes gst_init() +/- 10x faster.
12043
12044 2005-04-12  Wim Taymans  <wim@fluendo.com>
12045
12046         * gst/base/Makefile.am:
12047         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12048         (gst_basesink_pad_getcaps), (gst_basesink_init),
12049         (gst_basesink_event), (gst_basesink_change_state):
12050         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12051         (gst_basesrc_init), (gst_basesrc_query),
12052         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12053         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12054         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12055         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12056         (gst_basesrc_stop), (gst_basesrc_activate),
12057         (gst_basesrc_change_state):
12058         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12059         (helper_find_suggest), (gst_type_find_helper):
12060         * gst/base/gsttypefindhelper.h:
12061         * gst/elements/Makefile.am:
12062         * gst/elements/gstelements.c:
12063         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12064         (gst_fakesink_get_times), (gst_fakesink_event),
12065         (gst_fakesink_preroll), (gst_fakesink_render):
12066         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12067         (gst_fakesrc_init), (gst_fakesrc_event_handler),
12068         (gst_fakesrc_get_property), (gst_fakesrc_create),
12069         (gst_fakesrc_start), (gst_fakesrc_stop):
12070         * gst/elements/gstfakesrc.h:
12071         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
12072         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12073         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12074         (gst_filesrc_create_read), (gst_filesrc_create),
12075         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
12076         (gst_filesrc_start):
12077         * gst/elements/gsttypefindelement.c:
12078         (gst_type_find_element_have_type), (gst_type_find_element_init),
12079         (start_typefinding), (stop_typefinding), (push_buffer_store),
12080         (gst_type_find_element_handle_event),
12081         (gst_type_find_element_chain),
12082         (gst_type_find_element_checkgetrange),
12083         (gst_type_find_element_getrange), (do_typefind),
12084         (gst_type_find_element_activate),
12085         (gst_type_find_element_change_state):
12086         * gst/elements/gsttypefindelement.h:
12087         * gst/gstpipeline.c: (pipeline_bus_handler):
12088         Added typefind helper.
12089         Small preroll fix in the base sink.
12090         Disable typefind code in basesrc.
12091         Crude port of typefindelement.
12092         Fakesrc cleanups.
12093
12094
12095 2005-04-11  Wim Taymans  <wim@fluendo.com>
12096
12097         * check/gst/gstbus.c: (gstbus_suite):
12098         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
12099         * check/gstcheck.h:
12100           Fix up the timeout so that the test does not fail.
12101
12102 2005-04-06  Wim Taymans  <wim@fluendo.com>
12103
12104         * gst/base/README:
12105         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12106         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
12107         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12108         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12109         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12110         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12111         (gst_basesrc_stop), (gst_basesrc_activate),
12112         (gst_basesrc_change_state), (basesrc_find_peek),
12113         (basesrc_find_suggest), (gst_basesrc_type_find):
12114         * gst/base/gstbasesrc.h:
12115         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12116         (gst_filesrc_class_init), (gst_filesrc_init),
12117         (gst_filesrc_finalize), (gst_filesrc_set_location),
12118         (gst_filesrc_set_property), (gst_filesrc_get_property),
12119         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12120         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12121         (gst_filesrc_create_read), (gst_filesrc_create),
12122         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12123         * gst/elements/gstfilesrc.h:
12124         * gst/gstelement.c: (gst_element_get_state_func),
12125         (gst_element_lost_state), (gst_element_pads_activate):
12126         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12127         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12128         (gst_pad_pull_range):
12129         * gst/gstpad.h:
12130         More work on the generic source base class, implement seeking,
12131         query.
12132         Make filesrc extend the base source class.
12133         Added gst_pad_set_checkgetrange_function to GstPad.
12134
12135 2005-04-06  Andy Wingo  <wingo@pobox.com>
12136
12137         * pkgconfig/gstreamer-base.pc.in:
12138         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12139
12140         * pkgconfig/Makefile.am:
12141         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12142
12143 2005-04-04  Wim Taymans  <wim@fluendo.com>
12144
12145         * gst/base/Makefile.am:
12146         * gst/base/README:
12147         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12148         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12149         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12150         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12151         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12152         (gst_basesrc_base_init), (gst_basesrc_class_init),
12153         (gst_basesrc_init), (gst_basesrc_get_formats),
12154         (gst_basesrc_get_query_types), (gst_basesrc_query),
12155         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12156         (gst_basesrc_set_property), (gst_basesrc_get_property),
12157         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12158         (gst_basesrc_loop), (gst_basesrc_activate),
12159         (gst_basesrc_change_state):
12160         * gst/base/gstbasesrc.h:
12161         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12162         (gst_fakesrc_class_init), (gst_fakesrc_init),
12163         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12164         (gst_fakesrc_get_property), (gst_fakesrc_create):
12165         * gst/elements/gstfakesrc.h:
12166         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12167         (gst_filesrc_open_file), (gst_filesrc_loop),
12168         (gst_filesrc_activate), (filesrc_find_peek),
12169         (gst_filesrc_type_find):
12170         Made base source class, make fakesrc extend it.
12171         Add comments to basesink class.
12172         Some filesrc cleanup.
12173
12174 2005-03-31  David Schleef  <ds@schleef.org>
12175
12176         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12177         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12178         expected to link against libgstreamer.
12179         * gst/base/Makefile.am: link against libgstreamer
12180         * gst/elements/Makefile.am: same
12181
12182 2005-03-31  Andy Wingo  <wingo@pobox.com>
12183
12184         * tests/instantiate/Makefile.am:
12185         * tests/instantiate/caps.c: Add test to test speed of caps copy
12186         and free.
12187
12188         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12189         GMemChunk to be fair.
12190
12191         * gst/gsttrashstack.h: Remove warning about using the fallback
12192         trash stack implementation, it's still faster than malloc.
12193
12194 2005-03-30  Andy Wingo  <wingo@pobox.com>
12195
12196         * tests/complexity.c: Add a copyright.
12197
12198 2005-03-31  Wim Taymans  <wim@fluendo.com>
12199
12200         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12201         (gst_base_transform_class_init), (gst_base_transform_init),
12202         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12203         (gst_base_transform_get_property),
12204         (gst_base_transform_sink_activate),
12205         (gst_base_transform_src_activate),
12206         (gst_base_transform_change_state):
12207         * gst/base/gstbasetransform.h:
12208         * gst/elements/gstidentity.c: (gst_identity_class_init),
12209         (gst_identity_event), (gst_identity_check_perfect),
12210         (gst_identity_transform), (gst_identity_start),
12211         (gst_identity_stop):
12212         Added start/stop methods to transform base class so subclasses 
12213         don't need to deal with state changes even.
12214
12215 2005-03-31  Wim Taymans  <wim@fluendo.com>
12216
12217         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12218         (gst_event_new_discontinuous), (gst_event_discont_get_value):
12219         * gst/gstevent.h:
12220         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12221         (gst_pad_pull_range):
12222         Added rate to the discont event to prepare for variable speed
12223         and reverse playback.
12224
12225 2005-03-29  David Schleef  <ds@schleef.org>
12226
12227         * configure.ac:
12228         * testsuite/trigger/Makefile.am:
12229         * testsuite/trigger/trigger.c: A little example program to show
12230         how trigger-based elements can work.
12231
12232 2005-03-29  Wim Taymans  <wim@fluendo.com>
12233
12234         * gst/base/Makefile.am:
12235         * gst/base/README:
12236         * gst/base/gstbasesink.c: (gst_basesink_get_type),
12237         (gst_basesink_base_init), (gst_basesink_class_init),
12238         (gst_basesink_pad_getcaps), (gst_basesink_init),
12239         (gst_basesink_activate), (gst_basesink_change_state):
12240         * gst/base/gstbasesink.h:
12241         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12242         (gst_base_transform_base_init), (gst_base_transform_finalize),
12243         (gst_base_transform_class_init), (gst_base_transform_init),
12244         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12245         (gst_base_transform_event), (gst_base_transform_getrange),
12246         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12247         (gst_base_transform_set_property),
12248         (gst_base_transform_get_property),
12249         (gst_base_transform_sink_activate),
12250         (gst_base_transform_src_activate),
12251         (gst_base_transform_change_state):
12252         * gst/base/gstbasetransform.h:
12253         * gst/elements/gstidentity.c: (gst_identity_finalize),
12254         (gst_identity_class_init), (gst_identity_init),
12255         (gst_identity_event), (gst_identity_check_perfect),
12256         (gst_identity_transform), (gst_identity_set_property),
12257         (gst_identity_get_property), (gst_identity_change_state):
12258         * gst/elements/gstidentity.h:
12259         * gst/gstelement.c: (gst_element_get_state_func),
12260         (gst_element_lost_state), (gst_element_pads_activate):
12261         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12262         (gst_pad_check_pull_range), (gst_pad_pull_range):
12263         * gst/gstpad.h:
12264         Simplify pad activation.
12265         Added function to check if pull_range can be performed.
12266         Error out when pulling inactive or flushing pads.
12267         Removed const from refcounted types as it does not make sense.
12268         Simplify pad templates in basesink
12269         Added base class for simple 1-to-1 transforms.
12270         Make identity subclass the base transform.
12271
12272 2005-03-29  Andy Wingo  <wingo@pobox.com>
12273
12274         * docs/libs/gstreamer-libs-overrides.txt: 
12275         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12276         really don't understand what's going on, but like whatever. I want
12277         green buildbot!
12278
12279         * docs/gst/Makefile.am:
12280         * docs/libs/Makefile.am: Dist the overrides files.
12281
12282         * check/Makefile.am (clean-local): Remove .libs directories.
12283
12284         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12285         elements to EXTRA_DIST, so po/ files are happy.
12286
12287         * po/POTFILES.in: Er, remove it here.
12288
12289         * po/POTFILES: Remove gstspider.c.
12290
12291         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12292
12293         * docs/libs/gstreamer-libs-docs.sgml: 
12294         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12295         bytestream.
12296
12297         * tests/complexity.c (main): Set the length of the preroll queue
12298         on the sinks to prevent a lockup.
12299
12300         * libs/gst/dataprotocol/Makefile.am: 
12301         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12302         the same as the one in check/gst-libs/gdp.c.
12303
12304         * po/, docs/gst/: Commit automatic changes to docs and po files.
12305
12306         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12307         the versioned libgstbase.
12308
12309         * check/Makefile.am: Depend on an unversioned gst-register, seems
12310         to make autoconf happier.
12311
12312         * gst/base/Makefile.am: Make libgstbase a versioned lib.
12313
12314 2005-03-28  Wim Taymans  <wim@fluendo.com>
12315
12316         * configure.ac:
12317         * docs/design/part-gstelement.txt:
12318         * docs/design/part-negotiation.txt:
12319         * docs/design/part-preroll.txt:
12320         * docs/design/part-scheduling.txt:
12321         * docs/design/part-states.txt:
12322         * gst/Makefile.am:
12323         * gst/base/Makefile.am:
12324         * gst/base/README:
12325         * gst/base/gstbasesink.c: (gst_basesink_get_template),
12326         (gst_basesink_base_init), (gst_basesink_class_init),
12327         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12328         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12329         (gst_basesink_set_pad_functions),
12330         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
12331         (gst_basesink_set_property), (gst_basesink_get_property),
12332         (gst_base_sink_get_template), (gst_base_sink_get_caps),
12333         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
12334         (gst_basesink_preroll_queue_push),
12335         (gst_basesink_preroll_queue_empty),
12336         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
12337         (gst_basesink_event), (gst_basesink_get_times),
12338         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
12339         (gst_basesink_chain_unlocked), (gst_basesink_chain),
12340         (gst_basesink_loop), (gst_basesink_activate),
12341         (gst_basesink_change_state):
12342         * gst/base/gstbasesink.h:
12343         * gst/elements/Makefile.am:
12344         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
12345         (gst_fakesink_class_init), (gst_fakesink_init),
12346         (gst_fakesink_set_property), (gst_fakesink_get_property),
12347         (gst_fakesink_get_times), (gst_fakesink_event),
12348         (gst_fakesink_preroll), (gst_fakesink_render),
12349         (gst_fakesink_change_state):
12350         * gst/elements/gstfakesink.h:
12351         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12352         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
12353         * gst/gstelement.c: (gst_element_add_pad),
12354         (gst_element_get_state_func), (gst_element_abort_state),
12355         (gst_element_commit_state), (gst_element_lost_state),
12356         (gst_element_set_state), (gst_element_pads_activate):
12357         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
12358         * gst/gstpipeline.c: (gst_pipeline_send_event),
12359         (gst_pipeline_change_state):
12360         Added state change code.
12361         Added/updated docs.
12362         Added sink base class, make fakesink extend the base class.
12363         Small cleanups in GstPipeline.
12364
12365 2005-03-26  David Schleef  <ds@schleef.org>
12366
12367         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
12368         is broken and should be implemented in a different library.
12369         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
12370         * gst/gst.h: remove gstcpu.h
12371         * gst/gstcpu.c: remove
12372         * gst/gstcpu.h: remove
12373         * gst/Makefile.am.future: Remove this file.  It's ancient.
12374
12375 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12376
12377         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12378         (gst_bin_send_event):
12379           Add default event/set_manager handlers. The set_manager handler
12380           takes care that the manager is distributed over kids that were
12381           already in the bin before the manager was set. The event handler
12382           is a utility virtual function that sends the event over all sinks,
12383           so that gst_element_send_event (bin, event); has the expected
12384           behaviour.
12385         * gst/gstpad.c: (gst_pad_event_default):
12386           Re-install default event handling for discontinuities, so that
12387           seeking works without requiring hacks in applications or extra
12388           code in sinks.
12389         * gst/gstpipeline.c: (gst_pipeline_class_init),
12390         (gst_pipeline_send_event):
12391           Half hack, half utility: set a pipeline to PAUSED for seek events,
12392           since that is the only way we can guarantee a/v sync. Means that
12393           you can do gst_element_seek (pipeline, method, pos); on a pipeline
12394           and it "just works".
12395
12396 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12397
12398         * gst/gstpipeline.c: (gst_pipeline_use_clock):
12399           Lock/unlock mismatch.
12400
12401 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12402
12403         * docs/faq/gst-uninstalled:
12404           add gst-plugins-base
12405         * docs/gst/Makefile.am:
12406           don't error out until docs are fixed
12407         * docs/gst/gstreamer.types:
12408           remove thread
12409
12410 2005-03-22  Wim Taymans  <wim@fluendo.com>
12411
12412         * check/Makefile.am:
12413         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
12414         * gst/gststructure.c: (gst_structure_set_valist),
12415         (gst_structure_copy_conditional):
12416         Activated more tests.
12417         Added message test.
12418         Added G_TYPE_POINTER to GstStructure.
12419         
12420
12421 2005-03-22  Wim Taymans  <wim@fluendo.com>
12422
12423         * docs/design/part-TODO.txt:
12424         * docs/design/part-events.txt:
12425         * docs/design/part-gstbin.txt:
12426         * docs/design/part-gstbus.txt:
12427         * docs/design/part-gstpipeline.txt:
12428         * docs/design/part-messages.txt:
12429         * gst/gstbus.c:
12430         * gst/gstmessage.c:
12431         Docs updates
12432
12433 2005-03-21  Wim Taymans  <wim@fluendo.com>
12434
12435         * gst/gstbus.c: (gst_bus_post):
12436         Fix copy-and-paste error.
12437
12438 2005-03-21  Wim Taymans  <wim@fluendo.com>
12439
12440         * check/Makefile.am:
12441         * gst/Makefile.am:
12442         * gst/elements/Makefile.am:
12443         * gst/elements/gstelements.c:
12444         * gst/elements/gstfakesink.c: (gst_fakesink_init),
12445         (gst_fakesink_event), (gst_fakesink_chain):
12446         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12447         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
12448         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
12449         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
12450         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
12451         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
12452         (gst_fakesrc_loop), (gst_fakesrc_activate),
12453         (gst_fakesrc_change_state):
12454         * gst/elements/gstfakesrc.h:
12455         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12456         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
12457         (gst_filesrc_open_file), (gst_filesrc_loop),
12458         (gst_filesrc_activate), (gst_filesrc_change_state),
12459         (filesrc_find_peek), (filesrc_find_suggest),
12460         (gst_filesrc_type_find):
12461         * gst/elements/gstidentity.c: (gst_identity_finalize),
12462         (gst_identity_class_init), (gst_identity_init),
12463         (gst_identity_proxy_getcaps), (identity_queue_push),
12464         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
12465         (gst_identity_getrange), (gst_identity_chain),
12466         (gst_identity_sink_loop), (gst_identity_src_loop),
12467         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
12468         (gst_identity_set_property), (gst_identity_get_property),
12469         (gst_identity_change_state):
12470         * gst/elements/gstidentity.h:
12471         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
12472         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
12473         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
12474         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
12475         (gst_tee_sink_activate):
12476         * gst/elements/gsttee.h:
12477         * gst/gst.c: (gst_register_core_elements), (init_post):
12478         * gst/gst.h:
12479         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
12480         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
12481         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
12482         (gst_bin_change_state):
12483         * gst/gstbin.h:
12484         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
12485         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
12486         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
12487         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
12488         (gst_bus_set_sync_handler), (gst_bus_create_watch),
12489         (bus_watch_callback), (bus_watch_destroy),
12490         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
12491         (poll_timeout), (gst_bus_poll):
12492         * gst/gstbus.h:
12493         * gst/gstcaps.h:
12494         * gst/gstdata.h:
12495         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12496         (gst_element_post_message), (gst_element_message_full),
12497         (gst_element_get_state_func), (gst_element_get_state),
12498         (gst_element_abort_state), (gst_element_commit_state),
12499         (gst_element_lost_state), (gst_element_set_state),
12500         (gst_element_pads_activate), (gst_element_change_state),
12501         (gst_element_dispose), (gst_element_set_manager_func),
12502         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
12503         (gst_element_set_manager), (gst_element_get_manager),
12504         (gst_element_set_bus), (gst_element_get_bus),
12505         (gst_element_set_scheduler), (gst_element_get_scheduler):
12506         * gst/gstelement.h:
12507         * gst/gstevent.c: (gst_event_new_segment_seek),
12508         (gst_event_new_flush):
12509         * gst/gstevent.h:
12510         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
12511         (_gst_message_free), (gst_message_get_type), (gst_message_new),
12512         (gst_message_new_eos), (gst_message_new_error),
12513         (gst_message_new_warning), (gst_message_new_tag),
12514         (gst_message_new_state_changed), (gst_message_new_application),
12515         (gst_message_get_structure), (gst_message_parse_tag),
12516         (gst_message_parse_state_changed), (gst_message_parse_error),
12517         (gst_message_parse_warning):
12518         * gst/gstmessage.h:
12519         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
12520         (gst_real_pad_set_property), (gst_pad_set_active),
12521         (gst_pad_is_active), (gst_pad_set_blocked_async),
12522         (gst_pad_set_blocked), (gst_pad_is_blocked),
12523         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
12524         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
12525         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
12526         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
12527         (gst_pad_link_filtered), (gst_pad_relink_filtered),
12528         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
12529         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
12530         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
12531         (gst_pad_set_caps), (gst_pad_configure_sink),
12532         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
12533         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
12534         (gst_real_pad_dispose), (gst_real_pad_finalize),
12535         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
12536         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12537         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
12538         * gst/gstpad.h:
12539         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
12540         (pipeline_bus_handler), (gst_pipeline_change_state),
12541         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
12542         * gst/gstpipeline.h:
12543         * gst/gstprobe.h:
12544         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
12545         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
12546         (gst_queue_link_src), (gst_queue_bufferalloc),
12547         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
12548         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
12549         (gst_queue_loop), (gst_queue_handle_src_event),
12550         (gst_queue_handle_src_query), (gst_queue_src_activate),
12551         (gst_queue_change_state):
12552         * gst/gstqueue.h:
12553         * gst/gstscheduler.c: (gst_scheduler_init),
12554         (gst_scheduler_dispose), (gst_scheduler_create_task),
12555         (gst_scheduler_factory_create):
12556         * gst/gstscheduler.h:
12557         * gst/gststructure.c: (gst_structure_get_type),
12558         (gst_structure_copy_conditional):
12559         * gst/gststructure.h:
12560         * gst/gsttaginterface.h:
12561         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
12562         (gst_task_init), (gst_task_dispose), (gst_task_create),
12563         (gst_task_get_state), (gst_task_start), (gst_task_stop),
12564         (gst_task_pause):
12565         * gst/gsttask.h:
12566         * gst/gstthread.c:
12567         * gst/gstthread.h:
12568         * gst/gsttypes.h:
12569         * gst/schedulers/Makefile.am:
12570         * gst/schedulers/cothreads_compat.h:
12571         * gst/schedulers/entryscheduler.c:
12572         * gst/schedulers/faircothreads.c:
12573         * gst/schedulers/faircothreads.h:
12574         * gst/schedulers/fairscheduler.c:
12575         * gst/schedulers/gstbasicscheduler.c:
12576         * gst/schedulers/gstoptimalscheduler.c:
12577         * gst/schedulers/gthread-cothreads.h:
12578         * gst/schedulers/threadscheduler.c:
12579         (gst_thread_scheduler_task_get_type),
12580         (gst_thread_scheduler_task_class_init),
12581         (gst_thread_scheduler_task_init),
12582         (gst_thread_scheduler_task_start),
12583         (gst_thread_scheduler_task_stop),
12584         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
12585         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
12586         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
12587         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
12588         (plugin_init):
12589         * libs/gst/Makefile.am:
12590         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
12591         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
12592         (gst_file_pad_parent_set):
12593         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12594         (gst_dp_event_from_packet):
12595         * tests/complexity.c: (main):
12596         * tests/mass_elements.c: (main):
12597         * testsuite/states/locked.c: (message_received), (main):
12598         * testsuite/states/parent.c: (main):
12599         * tools/gst-inspect.c: (print_element_flag_info),
12600         (print_implementation_info), (print_pad_info):
12601         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
12602         (main):
12603         * tools/gst-md5sum.c: (event_loop), (main):
12604         * tools/gst-typefind.c: (main):
12605         * tools/gst-xmlinspect.c: (print_element_info):
12606         Next big merge.
12607         Added GstBus for mainloop integration.
12608         Added GstMessage for sending notifications on the bus.
12609         Added GstTask as an abstraction for pipeline entry points.
12610         Removed GstThread.
12611         Removed Schedulers.
12612         Simplified GstQueue for multithreaded core.
12613         Made _link threadsafe, removed old capsnego.
12614         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
12615         Added pad blocking functions.
12616         Reworked scheduling functions in GstPad to prepare for
12617         scheduling updates soon.
12618         Moved events out of data stream.
12619         Simplified GstEvent types.
12620         Added return values to push/pull.
12621         Removed clocking from GstElement.
12622         Added prototypes for state change function for next merge.
12623         Removed iterate from bins and state change management.
12624         Fixed some elements, disabled others for now.
12625         Fixed -inspect and -launch.
12626         Added check for GstBus.
12627
12628 2005-03-10  Wim Taymans  <wim@fluendo.com>
12629
12630         * docs/design/part-MT-refcounting.txt:
12631         * docs/design/part-clocks.txt:
12632         * docs/design/part-gstelement.txt:
12633         * docs/design/part-gstobject.txt:
12634         * docs/design/part-standards.txt:
12635         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12636         (gst_bin_remove_func), (gst_bin_remove):
12637         * gst/gstbin.h:
12638         * gst/gstbuffer.c:
12639         * gst/gstcaps.h:
12640         * testsuite/clock/clock1.c: (main):
12641         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
12642         (main):
12643         * testsuite/dlopen/loadgst.c: (do_test):
12644         * testsuite/refcounting/bin.c: (add_remove_test1),
12645         (add_remove_test2), (main):
12646         * testsuite/refcounting/element.c: (main):
12647         * testsuite/refcounting/element_pad.c: (main):
12648         * testsuite/refcounting/pad.c: (main):
12649         * tools/gst-launch.c: (sigint_handler_sighandler):
12650         * tools/gst-typefind.c: (main):
12651         Doc updates.
12652         Added doc about clock.
12653         removed gst_bin_iterate_recurse_up(), marked methods
12654         for removal.
12655         Fix more testsuites.
12656
12657 2005-03-09  Wim Taymans  <wim@fluendo.com>
12658
12659         * gst/gstpad.c: (gst_pad_get_direction),
12660         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
12661         (gst_pad_collect_valist):
12662         * testsuite/bins/interface.c: (main):
12663         * testsuite/caps/audioscale.c: (test_caps):
12664         * testsuite/caps/caps.c: (test1), (test2), (test3):
12665         * testsuite/caps/deserialize.c: (main):
12666         * testsuite/caps/enumcaps.c: (main):
12667         * testsuite/caps/filtercaps.c: (main):
12668         * testsuite/caps/intersect2.c: (main):
12669         * testsuite/caps/random.c: (main):
12670         * testsuite/caps/renegotiate.c: (my_fixate), (main):
12671         * testsuite/caps/sets.c: (check_caps):
12672         * testsuite/caps/simplify.c: (check_caps), (main):
12673         * testsuite/caps/subtract.c: (check_caps):
12674         Fix _pad_get_direction wrt ghostpads.
12675         Fix caps testsuite.
12676
12677 2005-03-09  Wim Taymans  <wim@fluendo.com>
12678
12679         * check/Makefile.am:
12680         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
12681         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
12682         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
12683         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
12684         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
12685         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
12686         (gst_bin_remove), (gst_bin_iterate_recurse_up),
12687         (bin_element_is_sink), (gst_bin_iterate_sinks),
12688         (gst_bin_iterate_all_by_interface):
12689         * gst/gstbin.h:
12690         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
12691         (gst_element_change_state), (gst_element_dispose),
12692         (gst_element_finalize), (gst_element_set_loop_function):
12693         * gst/gstelement.h:
12694         * gst/gstiterator.c: (find_custom_fold_func):
12695         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12696         (gst_pad_collectv), (gst_pad_collect_valist),
12697         (gst_pad_template_new):
12698         * gst/gstpipeline.c: (gst_pipeline_class_init),
12699         (gst_pipeline_dispose), (gst_pipeline_set_property),
12700         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
12701         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
12702         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
12703         * gst/gstutils.h:
12704         * gst/schedulers/entryscheduler.c:
12705         * gst/schedulers/gstbasicscheduler.c:
12706         (gst_basic_scheduler_cothreaded_chain),
12707         (gst_basic_scheduler_chain_add_element):
12708         * testsuite/bins/interface.c: (main):
12709         Added GstBin test.
12710         Added GstSystemClock test.
12711         Implemented clock distribution code in GstBin.
12712         Implemented iterate sinks method for future use.
12713         Rearranged gstelement.h
12714         Fix GstIterator comparison bug.
12715         Moved some code to GstPipeline, mostly clocking related.
12716
12717 2005-03-09  Wim Taymans  <wim@fluendo.com>
12718
12719         * configure.ac:
12720         * gst/gst_private.h:
12721         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12722         (gst_bin_remove_func), (gst_bin_remove),
12723         (gst_bin_get_by_name_recurse_up):
12724         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
12725         (gst_clock_id_compare_func), (gst_clock_id_wait),
12726         (gst_clock_id_wait_async), (gst_clock_init),
12727         (gst_clock_adjust_unlocked), (gst_clock_get_time):
12728         * gst/gstelement.h:
12729         * gst/gstinfo.c: (_gst_debug_init):
12730         * gst/gstobject.h:
12731         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12732         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
12733         * gst/gstpad.h:
12734         Bump version number, we're now 0.9.0
12735         Add future debugging category.
12736         Fix NULL _unref() in _get_by_name_recurse_up
12737         Rearrange gstpad.h.
12738         Update some docs.
12739
12740 2005-03-08  Wim Taymans  <wim@fluendo.com>
12741
12742         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
12743         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
12744         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
12745         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
12746         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
12747         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
12748         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
12749         * gst/elements/gstidentity.c: (gst_identity_class_init):
12750         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
12751         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12752         * gst/elements/gstshaper.c: (gst_shaper_class_init):
12753         * gst/elements/gststatistics.c: (gst_statistics_class_init):
12754         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
12755         (gst_tee_link):
12756         * gst/gstelement.c: (gst_element_class_init),
12757         (gst_element_base_class_init), (gst_element_init),
12758         (gst_element_get_random_pad), (gst_element_wait_state_change),
12759         (gst_element_change_state), (gst_element_dispose),
12760         (gst_element_finalize), (gst_element_set_loop_function):
12761         * gst/gstelement.h:
12762         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
12763         * gst/gstthread.c: (gst_thread_class_init),
12764         (gst_thread_release_children_locks), (gst_thread_change_state):
12765         * gst/schedulers/gstbasicscheduler.c:
12766         (gst_basic_scheduler_loopfunc_wrapper),
12767         (gst_basic_scheduler_chain_wrapper),
12768         (gst_basic_scheduler_src_wrapper),
12769         (gst_basic_scheduler_remove_element):
12770         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
12771         Remove threadsafe properties. Fix elements because GObject
12772         complains when installing a property before declaring a
12773         set/get_property handler.
12774         Rearrange gstelement.h file, use STATE macros for state locks.
12775         Free mutexes in the finalize method instead of dispose.
12776
12777 2005-03-08  Wim Taymans  <wim@fluendo.com>
12778
12779         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12780         * gst/gstthread.c: (gst_thread_release_children_locks):
12781         Added parentage check.
12782         Fix build og GstThread again.
12783
12784 2005-03-08  Wim Taymans  <wim@fluendo.com>
12785
12786         * docs/design/part-MT-refcounting.txt:
12787         * docs/design/part-conventions.txt:
12788         * docs/design/part-gstobject.txt:
12789         * docs/design/part-relations.txt:
12790         * docs/design/part-standards.txt:
12791         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12792         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
12793         (gst_bin_get_by_name), (gst_bin_get_by_interface),
12794         (gst_bin_iterate_all_by_interface):
12795         * gst/gstbuffer.h:
12796         * gst/gstclock.h:
12797         * gst/gstelement.c: (gst_element_class_init),
12798         (gst_element_change_state), (gst_element_set_loop_function):
12799         * gst/gstelement.h:
12800         * gst/gstiterator.c:
12801         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
12802         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
12803         (gst_object_dispatch_properties_changed), (gst_object_set_name),
12804         (gst_object_set_parent), (gst_object_unparent),
12805         (gst_object_check_uniqueness):
12806         * gst/gstobject.h:
12807         Docs updates, clean up some headers.
12808
12809 2005-03-07  Wim Taymans  <wim@fluendo.com>
12810
12811         * check/.cvsignore:
12812         * check/Makefile.am:
12813         * check/gst-libs/.cvsignore:
12814         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
12815         * check/gst/.cvsignore:
12816         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
12817         (START_TEST), (gstbus_suite), (main):
12818         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
12819         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
12820         (gst_data_suite), (main):
12821         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
12822         (add_fold_func), (gstiterator_suite), (main):
12823         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
12824         (thread_name_object), (thread_name_object_default),
12825         (gst_object_name_compare), (gst_object_suite), (main):
12826         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
12827         (gst_pad_suite), (main):
12828         * check/gstcheck.c: (gst_check_log_message_func),
12829         (gst_check_log_critical_func), (gst_check_init):
12830         * check/gstcheck.h:
12831         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
12832         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
12833         Added checks.
12834
12835 2005-03-07  Wim Taymans  <wim@fluendo.com>
12836
12837         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
12838         (gst_list_iterator_next), (gst_list_iterator_resync),
12839         (gst_list_iterator_free), (gst_iterator_new_list),
12840         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
12841         (gst_iterator_free), (gst_iterator_push), (filter_next),
12842         (filter_resync), (filter_uninit), (filter_free),
12843         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
12844         (gst_iterator_foreach), (find_custom_fold_func),
12845         (gst_iterator_find_custom):
12846         * gst/gstiterator.h:
12847         Added missing files.
12848
12849 2005-03-07  Wim Taymans  <wim@fluendo.com>
12850
12851         * Makefile.am:
12852         * configure.ac:
12853         * docs/design/part-MT-refcounting.txt:
12854         * docs/design/part-conventions.txt:
12855         * docs/design/part-gstobject.txt:
12856         * docs/design/part-relations.txt:
12857         * examples/mixer/mixer.c: (main):
12858         * examples/thread/thread.c: (eos), (main):
12859         * gst/Makefile.am:
12860         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
12861         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
12862         (gst_spider_plug_from_srcpad):
12863         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
12864         (gst_spider_identity_change_state),
12865         (gst_spider_identity_sink_loop_type_finding):
12866         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
12867         * gst/elements/gstidentity.c: (gst_identity_init):
12868         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
12869         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
12870         * gst/elements/gsttypefindelement.c: (free_entry):
12871         * gst/gst.c:
12872         * gst/gst.h:
12873         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
12874         (gst_bin_set_clock_func), (gst_bin_auto_clock),
12875         (gst_bin_set_index), (gst_bin_set_element_sched),
12876         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
12877         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
12878         (gst_bin_iterate_elements), (iterate_child_recurse),
12879         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
12880         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
12881         (compare_interface), (gst_bin_get_by_interface),
12882         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
12883         * gst/gstbin.h:
12884         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
12885         (gst_buffer_default_free), (gst_buffer_default_copy),
12886         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
12887         (gst_buffer_create_sub):
12888         * gst/gstbuffer.h:
12889         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
12890         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
12891         (gst_caps_unref), (gst_static_caps_get),
12892         (gst_caps_remove_and_get_structure), (gst_caps_append),
12893         (gst_caps_append_structure), (gst_caps_remove_structure),
12894         (gst_caps_copy_nth), (gst_caps_set_simple),
12895         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
12896         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
12897         (gst_caps_structure_intersect_field), (gst_caps_intersect),
12898         (gst_caps_structure_subtract_field), (gst_caps_subtract),
12899         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
12900         (gst_caps_structure_figure_out_union),
12901         (gst_caps_switch_structures), (gst_caps_do_simplify),
12902         (gst_caps_replace), (gst_caps_from_string),
12903         (gst_caps_copy_conditional):
12904         * gst/gstcaps.h:
12905         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
12906         (_gst_clock_id_free), (gst_clock_id_unref),
12907         (gst_clock_id_compare_func), (gst_clock_id_wait),
12908         (gst_clock_id_wait_async), (gst_clock_class_init),
12909         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
12910         (gst_clock_get_time), (gst_clock_set_time_adjust),
12911         (gst_clock_set_property), (gst_clock_get_property):
12912         * gst/gstclock.h:
12913         * gst/gstcompat.h:
12914         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
12915         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
12916         * gst/gstdata.h:
12917         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12918         (gst_element_requires_clock), (gst_element_provides_clock),
12919         (gst_element_set_clock), (gst_element_clock_wait),
12920         (gst_element_wait), (gst_element_set_time_delay),
12921         (gst_element_is_indexable), (gst_element_add_pad),
12922         (gst_element_add_ghost_pad), (gst_element_remove_pad),
12923         (pad_compare_name), (gst_element_get_static_pad),
12924         (gst_element_request_pad), (gst_element_get_request_pad),
12925         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
12926         (gst_element_class_get_pad_template_list),
12927         (gst_element_class_get_pad_template), (gst_element_error_func),
12928         (gst_element_get_random_pad), (gst_element_get_event_masks),
12929         (gst_element_send_event), (gst_element_seek),
12930         (gst_element_get_query_types), (gst_element_query),
12931         (gst_element_get_formats), (gst_element_convert),
12932         (gst_element_is_locked_state), (gst_element_set_locked_state),
12933         (gst_element_sync_state_with_parent), (gst_element_change_state),
12934         (gst_element_finalize), (gst_element_yield),
12935         (gst_element_interrupt), (gst_element_set_scheduler),
12936         (gst_element_get_scheduler), (gst_element_set_loop_function):
12937         * gst/gstelement.h:
12938         * gst/gstevent.h:
12939         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
12940         (gst_format_get_by_nick), (gst_format_get_details),
12941         (gst_format_iterate_definitions):
12942         * gst/gstformat.h:
12943         * gst/gstindex.c: (gst_index_gtype_resolver):
12944         * gst/gstinfo.c:
12945         * gst/gstinfo.h:
12946         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
12947         (gst_mem_chunk_free):
12948         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12949         (gst_object_ref), (gst_object_unref), (gst_object_sink),
12950         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
12951         (gst_object_dispatch_properties_changed),
12952         (gst_object_set_name_default), (gst_object_set_name),
12953         (gst_object_get_name), (gst_object_set_name_prefix),
12954         (gst_object_get_name_prefix), (gst_object_set_parent),
12955         (gst_object_get_parent), (gst_object_unparent),
12956         (gst_object_check_uniqueness), (gst_object_save_thyself),
12957         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
12958         (gst_object_set_property), (gst_object_get_property),
12959         (gst_object_get_path_string):
12960         * gst/gstobject.h:
12961         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
12962         (gst_real_pad_init), (gst_real_pad_get_property),
12963         (gst_pad_custom_new), (gst_pad_get_direction),
12964         (gst_pad_set_active), (gst_pad_is_active),
12965         (gst_pad_set_event_function), (gst_pad_is_linked),
12966         (gst_pad_link_free), (gst_pad_link_intersect),
12967         (gst_pad_link_fixate), (gst_pad_set_caps),
12968         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
12969         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
12970         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
12971         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
12972         (gst_pad_get_caps), (gst_pad_peer_get_caps),
12973         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
12974         (gst_pad_realize), (gst_pad_get_allowed_caps),
12975         (gst_real_pad_dispose), (gst_real_pad_finalize),
12976         (gst_pad_collectv), (gst_pad_collect_valist),
12977         (gst_pad_template_dispose), (gst_pad_template_new),
12978         (gst_pad_get_internal_links):
12979         * gst/gstpad.h:
12980         * gst/gstpipeline.c: (gst_pipeline_dispose),
12981         (gst_pipeline_change_state):
12982         * gst/gstpipeline.h:
12983         * gst/gstplugin.c:
12984         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
12985         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
12986         * gst/gstpluginfeature.h:
12987         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
12988         * gst/gstquery.c: (_gst_query_type_initialize),
12989         (gst_query_type_register), (gst_query_type_get_by_nick),
12990         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
12991         * gst/gstquery.h:
12992         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
12993         * gst/gstscheduler.c: (gst_scheduler_add_element),
12994         (gst_scheduler_factory_create):
12995         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12996         (gst_structure_free), (gst_structure_set_name),
12997         (gst_structure_id_set_value), (gst_structure_set_value),
12998         (gst_structure_set_valist), (gst_structure_remove_field),
12999         (gst_structure_remove_fields),
13000         (gst_structure_remove_fields_valist),
13001         (gst_structure_remove_all_fields), (gst_structure_foreach),
13002         (gst_structure_map_in_place),
13003         (gst_caps_structure_fixate_field_nearest_int),
13004         (gst_caps_structure_fixate_field_nearest_double):
13005         * gst/gststructure.h:
13006         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13007         (gst_system_clock_init), (gst_system_clock_dispose),
13008         (gst_system_clock_async_thread),
13009         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
13010         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
13011         * gst/gstsystemclock.h:
13012         * gst/gsttag.c: (gst_tag_list_add_value_internal),
13013         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
13014         * gst/gsttaginterface.c:
13015         * gst/gstthread.c: (gst_thread_dispose),
13016         (gst_thread_release_children_locks), (gst_thread_change_state),
13017         (gst_thread_main_loop):
13018         * gst/gsttrashstack.h:
13019         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
13020         * gst/gsttypes.h:
13021         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13022         (gst_element_request_pad), (gst_element_get_pad_from_template),
13023         (gst_element_request_compatible_pad),
13024         (gst_element_get_compatible_pad_filtered),
13025         (gst_element_get_compatible_pad), (gst_element_state_get_name),
13026         (gst_element_link_pads_filtered), (gst_element_link_filtered),
13027         (gst_element_link_many), (gst_element_link),
13028         (gst_element_link_pads), (gst_element_unlink_pads),
13029         (gst_element_unlink_many), (gst_element_unlink),
13030         (gst_pad_can_link_filtered), (gst_pad_can_link),
13031         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
13032         (gst_object_default_error), (gst_bin_add_many),
13033         (gst_bin_remove_many), (gst_element_populate_std_props),
13034         (gst_element_class_install_std_props), (gst_buffer_merge),
13035         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
13036         (link_fold_func), (gst_pad_proxy_setcaps):
13037         * gst/gstutils.h:
13038         * gst/gstvalue.c: (gst_value_deserialize_string):
13039         * gst/parse/grammar.y:
13040         * gst/schedulers/gstbasicscheduler.c:
13041         (gst_basic_scheduler_cothreaded_chain),
13042         (gst_basic_scheduler_chain_recursive_add),
13043         (gst_basic_scheduler_pad_link):
13044         * gst/schedulers/gstoptimalscheduler.c:
13045         (get_group_schedule_function),
13046         (gst_opt_scheduler_state_transition),
13047         (gst_opt_scheduler_add_element), (element_get_reachables_func):
13048         * libs/gst/bytestream/bytestream.c:
13049         * libs/gst/dataprotocol/dataprotocol.c:
13050         (gst_dp_header_from_buffer):
13051         * po/nb.po:
13052         * po/ru.po:
13053         * tests/threadstate/threadstate2.c: (eos):
13054         * tools/gst-compprep.c: (main):
13055         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
13056         (print_pad_info), (print_children_info):
13057         * tools/gst-launch.c: (idle_func), (main):
13058         * tools/gst-md5sum.c: (idle_func), (main):
13059         * tools/gst-xmlinspect.c: (print_element_info):
13060         First THREADED backport attempt, focusing on adding locks and
13061         making sure the API is threadsafe. Needs more work. More docs
13062         follow this week.
13063
13064 2005-02-24  Andy Wingo  <wingo@pobox.com>
13065
13066         * tests/bench-complexity.scm:
13067         * tests/complexity.gnuplot: New files, good for running complexity
13068         benchmarks.
13069
13070         * tests/Makefile.am:
13071         * tests/complexity.c: New test, sets up N elements, at each level
13072         teeing into M streams per element. Eeeenteresting.
13073
13074         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
13075         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
13076         running bench-mass_elements.scm.
13077
13078         * tests/bench-mass_elements.scm: New script, runs mass_elements
13079         for various numbers of identities, outputting the results to a
13080         file. Requires guile 1.6. Just for testing.
13081
13082 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13083
13084         * gst/schedulers/fairscheduler.c:
13085           compile with debug disabled
13086
13087 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13088
13089         * configure.ac:
13090           hunting season on 0.9 is now OPEN