gst/: Fix docs again.
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-12-02  Wim Taymans  <wim@fluendo.com>
2
3         * gst/gstregistry.c: (gst_registry_add_path):
4         * gst/gstregistry.h:
5         * gst/gstregistryxml.c:
6         Fix docs again.
7
8 2005-12-02  Wim Taymans  <wim@fluendo.com>
9
10         * gst/gstutils.c: (gst_util_uint64_scale_int64),
11         (gst_util_uint64_scale_int):
12         Small cleanup.
13
14         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15         Add debug log line.
16
17         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
18         Add FIXME.
19
20 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21
22         * win32/MANIFEST:
23         * win32/common/config.h:
24         * win32/vs6/gstreamer.dsw:
25         * win32/vs6/libgstcoreelements.dsp:
26         * win32/vs6/libgstelements.dsp:
27           renamed core elements plugin
28
29 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30
31         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
32         (get_candidates):
33           do piece-wise major/minor comparison so 0.9 < 0.10
34           also allow .exe extensions for tools
35
36 2005-12-02  Michael Smith  <msmith@fluendo.com>
37
38         * gst/gst.c:
39           Escape a % to make gtkdoc happier; bug 322958.
40
41 === release 0.9.7 ===
42
43 2005-12-01   <thomas (at) apestaart (dot) org>
44
45         * configure.ac:
46           releasing 0.9.7, "My Dog Has No Nose"
47
48 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
49
50         * common/gst-xmlinspect.py:
51         * configure.ac:
52         * docs/libs/tmpl/gstdataprotocol.sgml:
53         * docs/random/release:
54         * po/af.po:
55         * po/az.po:
56         * po/bg.po:
57         * po/ca.po:
58         * po/cs.po:
59         * po/de.po:
60         * po/en_GB.po:
61         * po/fr.po:
62         * po/it.po:
63         * po/nb.po:
64         * po/nl.po:
65         * po/ru.po:
66         * po/sq.po:
67         * po/sr.po:
68         * po/sv.po:
69         * po/tr.po:
70         * po/uk.po:
71         * po/vi.po:
72         * win32/common/config.h:
73         * win32/common/config.h.in:
74         * win32/vs6/gst_inspect.dsp:
75         * win32/vs6/gst_launch.dsp:
76         * win32/vs6/libgstbase.dsp:
77         * win32/vs6/libgstelements.dsp:
78         * win32/vs6/libgstreamer.dsp:
79         * win32/vs7/GStreamer.vcproj:
80         * win32/vs7/gst-inspect.vcproj:
81         * win32/vs7/gst-launch.vcproj:
82         * win32/vs7/libgstbase.vcproj:
83           bump GST_MAJORMINOR to 0.10
84           reset libtool version
85
86 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
87
88         * po/LINGUAS:
89         * po/bg.po:
90           Added Bulgarian translation by (Alexander Shopov)
91
92 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
93
94         * tests/check/gst/gstplugin.c:
95           fix test
96
97 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
98
99         * common/gst-xmlinspect.py:
100         * common/gtk-doc-plugins.mak:
101         * configure.ac:
102         * docs/Makefile.am:
103         * docs/gst/Makefile.am:
104         * docs/gst/gstreamer-docs.sgml:
105         * docs/gst/gstreamer-sections.txt:
106         * docs/gst/gstreamer.types:
107         * docs/gst/gstreamer.types.in:
108         * docs/plugins/Makefile.am:
109         * docs/plugins/gstreamer-plugins-docs.sgml:
110         * docs/plugins/gstreamer-plugins-sections.txt:
111         * docs/plugins/gstreamer-plugins.types:
112         * docs/plugins/inspect.stamp:
113         * docs/plugins/inspect/plugin-coreelements.xml:
114         * docs/plugins/inspect/plugin-coreindexers.xml:
115         * docs/plugins/scanobj-build.stamp:
116         * gstreamer.spec.in:
117         * plugins/elements/Makefile.am:
118         * plugins/elements/gstelements.c:
119         * plugins/elements/gstfakesink.c:
120         * plugins/elements/gstfakesrc.c:
121         * plugins/elements/gstfilesink.c:
122         * plugins/elements/gstfilesrc.c:
123         * plugins/elements/gstqueue.c:
124         * plugins/indexers/Makefile.am:
125         * plugins/indexers/gstindexers.c:
126           document core plugins in a separate document just like all the
127           others
128           rename these plugins to something starting with core
129
130 2005-12-01  Andy Wingo  <wingo@pobox.com>
131
132         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
133         padding here before, but it missed the commit.
134
135 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
136
137         * libs/gst/controller/gstinterpolation.c:
138           whitespace prices have crashed, we should feel free to use some now
139           use gst_guint64_to_gdouble
140
141 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
142
143         * libs/gst/controller/gstcontroller.c:
144         * libs/gst/controller/gsthelper.c:
145         * libs/gst/controller/gstinterpolation.c:
146         * libs/gst/controller/lib.c:
147           wrap config.h include
148
149 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
150
151         * docs/gst/gstreamer-sections.txt:
152           update docs
153
154 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
155
156         * plugins/elements/gstelements.c:
157         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
158         (gst_fd_sink__class_init), (gst_fd_sink__init),
159         (gst_fd_sink__chain), (gst_fd_sink__set_property),
160         (gst_fd_sink__get_property):
161         * plugins/elements/gstfdsink.h:
162         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
163         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
164         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
165         (gst_fd_src_unlock), (gst_fd_src_set_property),
166         (gst_fd_src_get_property), (gst_fd_src_create),
167         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
168         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
169         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
170         (gst_fd_src_uri_handler_init):
171         * plugins/elements/gstfdsrc.h:
172         * plugins/elements/gstqueue.c: (gst_queue_get_type):
173           more anal cleanup
174
175 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
176
177         * docs/gst/Makefile.am:
178         * docs/gst/gstreamer.types.in:
179         * gst/Makefile.am:
180           fix the docs build
181
182 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
183
184         * configure.ac:
185         * gst/Makefile.am:
186         * gst/gst.c:
187         * gst/gstplugin.h:
188         * gst/gstregistry.h:
189         * tests/benchmarks/complexity.c:
190         * tests/benchmarks/mass-elements.c:
191         * tests/check/Makefile.am:
192         * tools/Makefile.am:
193         * tools/gst-inspect.c:
194         * tools/gst-xmlinspect.c:
195           various fixes to make
196           --disable-nls --disable-registry --disable-loadsave
197           --disable-parse --disable-gst-debug
198           work and get the core .so down to 360444 bytes after stripping
199
200 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
201
202         * Makefile.am:
203         * configure.ac:
204           descend into tests
205         * docs/random/thomasvs/TODO:
206         * tests/Makefile.am:
207         * tests/README:
208           add a README
209
210 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
211
212         * win32/GStreamer.vcproj:
213         * win32/MANIFEST:
214         * win32/Makefile:
215         * win32/Makefile.inspect:
216         * win32/Makefile.launch:
217         * win32/Makefile.register:
218         * win32/README.txt:
219         * win32/gst-inspect.vcproj:
220         * win32/gst-launch.vcproj:
221         * win32/gst-register.vcproj:
222         * win32/gstelements.vcproj:
223         * win32/gstgetbits.def:
224         * win32/gstgetbits.vcproj:
225         * win32/gstreamer-dbg.def:
226         * win32/gstreamer.def:
227         * win32/libgstbase.def:
228         * win32/libgstbase.vcproj:
229         * win32/link_oldruntime.c:
230         * win32/mman.c:
231         * win32/mman.h:
232         * win32/mman.inl:
233         * win32/msvc71.sln:
234           move even more stuff, win32/ is nice and clean now
235
236 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
237
238         * libs/gst/control/.cvsignore:
239         * win32/MANIFEST:
240         * win32/config.h:
241         * win32/dirent.c:
242         * win32/dirent.h:
243         * win32/gstbytestream.def:
244         * win32/gstbytestream.vcproj:
245         * win32/gstconfig.h:
246         * win32/gstenumtypes.c:
247         * win32/gstenumtypes.h:
248         * win32/gstoptimalscheduler.vcproj:
249         * win32/gstversion.h:
250         * win32/gtchar.h:
251         * win32/testsuite/bins.vcproj:
252         * win32/testsuite/bytestream.vcproj:
253         * win32/testsuite/caps.vcproj:
254         * win32/testsuite/cleanup.vcproj:
255         * win32/testsuite/clock.vcproj:
256         * win32/testsuite/debug.vcproj:
257         * win32/testsuite/dlopen.vcproj:
258         * win32/testsuite/dynparams.vcproj:
259         * win32/testsuite/elements.vcproj:
260         * win32/testsuite/ghostpads.vcproj:
261         * win32/testsuite/indexers.vcproj:
262         * win32/testsuite/negotiation.vcproj:
263         * win32/testsuite/parse.vcproj:
264         * win32/testsuite/plugin.vcproj:
265         * win32/testsuite/refcounting.vcproj:
266         * win32/testsuite/schedulers.vcproj:
267         * win32/testsuite/states.vcproj:
268         * win32/testsuite/tags.vcproj:
269         * win32/testsuite/threads.vcproj:
270           remove old win32 stuff that isn't maintained and should be
271           reorganized
272
273 2005-11-30  Andy Wingo  <wingo@pobox.com>
274
275         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
276         loading the gst.interfaces python module bork.
277
278         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
279         available since GLib 2.2. Fixes #318031.
280
281 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
282
283         * Makefile.am:
284         * check/.cvsignore:
285         * check/Makefile.am:
286         * check/elements/.cvsignore:
287         * check/elements/fakesrc.c:
288         * check/elements/fdsrc.c:
289         * check/elements/identity.c:
290         * check/generic/.cvsignore:
291         * check/generic/states.c:
292         * check/gst-libs/.cvsignore:
293         * check/gst-libs/controller.c:
294         * check/gst-libs/gdp.c:
295         * check/gst/.cvsignore:
296         * check/gst/capslist.h:
297         * check/gst/gst.c:
298         * check/gst/gstbin.c:
299         * check/gst/gstbuffer.c:
300         * check/gst/gstbus.c:
301         * check/gst/gstcaps.c:
302         * check/gst/gstelement.c:
303         * check/gst/gstevent.c:
304         * check/gst/gstghostpad.c:
305         * check/gst/gstiterator.c:
306         * check/gst/gstmessage.c:
307         * check/gst/gstminiobject.c:
308         * check/gst/gstobject.c:
309         * check/gst/gstpad.c:
310         * check/gst/gstpipeline.c:
311         * check/gst/gstplugin.c:
312         * check/gst/gstsegment.c:
313         * check/gst/gststructure.c:
314         * check/gst/gstsystemclock.c:
315         * check/gst/gsttag.c:
316         * check/gst/gstutils.c:
317         * check/gst/gstvalue.c:
318         * check/net/.cvsignore:
319         * check/net/gstnetclientclock.c:
320         * check/net/gstnettimeprovider.c:
321         * check/pipelines/.cvsignore:
322         * check/pipelines/cleanup.c:
323         * check/pipelines/simple_launch_lines.c:
324         * check/pipelines/stress.c:
325         * check/states/.cvsignore:
326         * check/states/sinks.c:
327         * configure.ac:
328         * examples/Makefile.am:
329         * examples/appreader/.cvsignore:
330         * examples/appreader/Makefile.am:
331         * examples/appreader/appreader.c:
332         * examples/controller/.cvsignore:
333         * examples/controller/Makefile.am:
334         * examples/controller/audio-example.c:
335         * examples/cutter/.cvsignore:
336         * examples/cutter/Makefile.am:
337         * examples/cutter/cutter.c:
338         * examples/cutter/cutter.h:
339         * examples/events/Makefile.am:
340         * examples/events/seek.c:
341         * examples/helloworld/.cvsignore:
342         * examples/helloworld/Makefile.am:
343         * examples/helloworld/helloworld.c:
344         * examples/helloworld2/.cvsignore:
345         * examples/helloworld2/Makefile.am:
346         * examples/helloworld2/helloworld2.c:
347         * examples/launch/.cvsignore:
348         * examples/launch/Makefile.am:
349         * examples/launch/mp3parselaunch.c:
350         * examples/launch/mp3play:
351         * examples/manual/.cvsignore:
352         * examples/manual/Makefile.am:
353         * examples/manual/extract.pl:
354         * examples/metadata/Makefile.am:
355         * examples/metadata/read-metadata.c:
356         * examples/mixer/.cvsignore:
357         * examples/mixer/Makefile.am:
358         * examples/mixer/mixer.c:
359         * examples/mixer/mixer.h:
360         * examples/pingpong/.cvsignore:
361         * examples/pingpong/Makefile.am:
362         * examples/pingpong/pingpong.c:
363         * examples/plugins/.cvsignore:
364         * examples/plugins/Makefile.am:
365         * examples/plugins/example.c:
366         * examples/plugins/example.h:
367         * examples/pwg/.cvsignore:
368         * examples/pwg/Makefile.am:
369         * examples/pwg/extract.pl:
370         * examples/queue/.cvsignore:
371         * examples/queue/Makefile.am:
372         * examples/queue/queue.c:
373         * examples/queue2/.cvsignore:
374         * examples/queue2/Makefile.am:
375         * examples/queue2/queue2.c:
376         * examples/queue3/.cvsignore:
377         * examples/queue3/Makefile.am:
378         * examples/queue3/queue3.c:
379         * examples/queue4/.cvsignore:
380         * examples/queue4/Makefile.am:
381         * examples/queue4/queue4.c:
382         * examples/retag/.cvsignore:
383         * examples/retag/Makefile.am:
384         * examples/retag/retag.c:
385         * examples/retag/transcode.c:
386         * examples/thread/.cvsignore:
387         * examples/thread/Makefile.am:
388         * examples/thread/thread.c:
389         * examples/typefind/.cvsignore:
390         * examples/typefind/Makefile.am:
391         * examples/typefind/typefind.c:
392         * examples/xml/.cvsignore:
393         * examples/xml/Makefile.am:
394         * examples/xml/createxml.c:
395         * examples/xml/runxml.c:
396         * tests/Makefile.am:
397         * tests/check/Makefile.am:
398         * testsuite/.cvsignore:
399         * testsuite/Makefile.am:
400         * testsuite/Rules:
401         * testsuite/caps/.cvsignore:
402         * testsuite/caps/Makefile.am:
403         * testsuite/caps/app_fixate.c:
404         * testsuite/caps/audioscale.c:
405         * testsuite/caps/caps.c:
406         * testsuite/caps/caps.h:
407         * testsuite/caps/caps_strings:
408         * testsuite/caps/compatibility.c:
409         * testsuite/caps/deserialize.c:
410         * testsuite/caps/enumcaps.c:
411         * testsuite/caps/eratosthenes.c:
412         * testsuite/caps/filtercaps.c:
413         * testsuite/caps/fixed.c:
414         * testsuite/caps/fraction-convert.c:
415         * testsuite/caps/fraction-multiply-and-zero.c:
416         * testsuite/caps/intersect2.c:
417         * testsuite/caps/intersection.c:
418         * testsuite/caps/normalisation.c:
419         * testsuite/caps/random.c:
420         * testsuite/caps/renegotiate.c:
421         * testsuite/caps/sets.c:
422         * testsuite/caps/simplify.c:
423         * testsuite/caps/string-conversions.c:
424         * testsuite/caps/structure.c:
425         * testsuite/caps/subtract.c:
426         * testsuite/caps/union.c:
427         * testsuite/debug/.cvsignore:
428         * testsuite/debug/Makefile.am:
429         * testsuite/debug/category.c:
430         * testsuite/debug/commandline.c:
431         * testsuite/debug/global.c:
432         * testsuite/debug/output.c:
433         * testsuite/debug/printf_extension.c:
434         * testsuite/dlopen/.cvsignore:
435         * testsuite/dlopen/Makefile.am:
436         * testsuite/dlopen/dlopen_gst.c:
437         * testsuite/dlopen/loadgst.c:
438         * testsuite/elements/.cvsignore:
439         * testsuite/elements/Makefile.am:
440         * testsuite/elements/gst-inspect-check.in:
441         * testsuite/elements/struct_i386.h:
442         * testsuite/elements/struct_size.c:
443         * testsuite/indexers/.cvsignore:
444         * testsuite/indexers/Makefile.am:
445         * testsuite/indexers/cache1.c:
446         * testsuite/indexers/indexdump.c:
447         * testsuite/parse/.cvsignore:
448         * testsuite/parse/Makefile.am:
449         * testsuite/parse/parse1.c:
450         * testsuite/parse/parse2.c:
451         * testsuite/plugin/.cvsignore:
452         * testsuite/plugin/Makefile.am:
453         * testsuite/plugin/README:
454         * testsuite/plugin/dynamic.c:
455         * testsuite/plugin/linked.c:
456         * testsuite/plugin/loading.c:
457         * testsuite/plugin/registry.c:
458         * testsuite/plugin/static.c:
459         * testsuite/plugin/static2.c:
460         * testsuite/plugin/testplugin.c:
461         * testsuite/plugin/testplugin2.c:
462         * testsuite/plugin/testplugin2_s.c:
463         * testsuite/plugin/testplugin_s.c:
464         * testsuite/refcounting/.cvsignore:
465         * testsuite/refcounting/Makefile.am:
466         * testsuite/refcounting/bin.c:
467         * testsuite/refcounting/element.c:
468         * testsuite/refcounting/element_pad.c:
469         * testsuite/refcounting/mainloop.c:
470         * testsuite/refcounting/mem.c:
471         * testsuite/refcounting/mem.h:
472         * testsuite/refcounting/object.c:
473         * testsuite/refcounting/pad.c:
474         * testsuite/refcounting/sched.c:
475         * testsuite/refcounting/thread.c:
476         * testsuite/states/.cvsignore:
477         * testsuite/states/Makefile.am:
478         * testsuite/states/bin.c:
479         * testsuite/states/locked.c:
480         * testsuite/states/parent.c:
481         * testsuite/threads/.cvsignore:
482         * testsuite/threads/159566.c:
483         * testsuite/threads/159852.c:
484         * testsuite/threads/Makefile.am:
485         * testsuite/threads/queue.c:
486         * testsuite/threads/signals.c:
487         * testsuite/threads/staticrec.c:
488         * testsuite/threads/thread.c:
489         * testsuite/threads/threadb.c:
490         * testsuite/threads/threadc.c:
491         * testsuite/threads/threadd.c:
492         * testsuite/threads/threade.c:
493         * testsuite/threads/threadf.c:
494         * testsuite/threads/threadg.c:
495         * testsuite/threads/threadh.c:
496         * testsuite/threads/threadi.c:
497           move all of these under tests
498
499 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
500
501         * configure.ac:
502         * tests/Makefile.am:
503           fix distcheck
504
505 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
506
507         * docs/gst/gstreamer-sections.txt:
508         * tests/sched/.cvsignore:
509         * tests/sched/Makefile.am:
510         * tests/sched/cases/(fs-fs).xml:
511         * tests/sched/cases/(fs-i-fs).xml:
512         * tests/sched/cases/(fs-i-i-fs).xml:
513         * tests/sched/cases/(fs-i-q[i-fs]).xml:
514         * tests/sched/dynamic-pipeline.c:
515         * tests/sched/interrupt1.c:
516         * tests/sched/interrupt2.c:
517         * tests/sched/interrupt3.c:
518         * tests/sched/runtestcases:
519         * tests/sched/runxml.c:
520         * tests/sched/sched-stress.c:
521         * tests/sched/sort.c:
522         * tests/sched/testcases:
523         * tests/sched/testcases1.tc:
524         * tests/seeking/.cvsignore:
525         * tests/seeking/Makefile.am:
526         * tests/seeking/seeking1.c:
527         * tests/threadstate/.cvsignore:
528         * tests/threadstate/Makefile.am:
529         * tests/threadstate/test1.c:
530         * tests/threadstate/test2.c:
531         * tests/threadstate/threadstate1.c:
532         * tests/threadstate/threadstate2.c:
533         * tests/threadstate/threadstate3.c:
534         * tests/threadstate/threadstate4.c:
535         * tests/threadstate/threadstate5.c:
536           remove obsolete tests
537         * configure.ac:
538         * tests/bench-complexity.scm:
539         * tests/bench-mass_elements.scm:
540         * tests/complexity.c:
541         * tests/complexity.gnuplot:
542         * tests/instantiate/.cvsignore:
543         * tests/instantiate/Makefile.am:
544         * tests/instantiate/caps.c:
545         * tests/mass_elements.c:
546         * tests/network-clock-utils.scm:
547         * tests/network-clock.scm:
548         * tests/plot-data:
549         First pass at cleaning up tests/ dir before moving the rest
550         Combined with CVS surgery
551
552 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
553
554         * po/POTFILES.in:
555           queue has moved, update
556
557 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
558
559         * docs/gst/gstreamer-sections.txt:
560           remove double entries from the docs
561         * gst/gst_private.h:
562         * gst/gstinfo.c: (_gst_debug_init):
563           remove the THREAD debug category
564         * gst/Makefile.am:
565         * gst/gstqueue.c:
566         * gst/gstqueue.h:
567         * docs/gst/gstreamer.types:
568         * plugins/elements/gstqueue.c: (gst_queue_get_type),
569         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
570           completely move queue and fix up debugging categories
571
572 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
573
574         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
575           make initialization portable, using LL is not
576
577 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
578
579         * win32/common/gstconfig.h:
580           add large padding
581
582 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
583
584         * win32/common/libgstreamer.def:
585           rename symbols; sort base section
586
587 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
588
589         * gst/gstclock.c: (do_linear_regression):
590           remove crack non-portable handrolled DEBUG macro
591
592 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
593
594         * docs/random/release:
595           update notes
596         * win32/common/gstenumtypes.c: (register_gst_object_flags),
597         (gst_object_flags_get_type), (register_gst_bin_flags),
598         (gst_bin_flags_get_type), (register_gst_buffer_flag),
599         (gst_buffer_flag_get_type), (register_gst_bus_flags),
600         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
601         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
602         (gst_caps_flags_get_type), (register_gst_clock_return),
603         (gst_clock_return_get_type), (register_gst_clock_entry_type),
604         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
605         (gst_clock_flags_get_type), (register_gst_state),
606         (gst_state_get_type), (register_gst_state_change_return),
607         (gst_state_change_return_get_type), (register_gst_state_change),
608         (gst_state_change_get_type), (register_gst_element_flags),
609         (gst_element_flags_get_type), (register_gst_core_error),
610         (gst_core_error_get_type), (register_gst_library_error),
611         (gst_library_error_get_type), (register_gst_resource_error),
612         (gst_resource_error_get_type), (register_gst_stream_error),
613         (gst_stream_error_get_type), (register_gst_event_type_flags),
614         (gst_event_type_flags_get_type), (register_gst_event_type),
615         (gst_event_type_get_type), (register_gst_seek_type),
616         (gst_seek_type_get_type), (register_gst_seek_flags),
617         (gst_seek_flags_get_type), (register_gst_format),
618         (gst_format_get_type), (register_gst_index_certainty),
619         (gst_index_certainty_get_type), (register_gst_index_entry_type),
620         (gst_index_entry_type_get_type),
621         (register_gst_index_lookup_method),
622         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
623         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
624         (gst_index_resolver_method_get_type), (register_gst_index_flags),
625         (gst_index_flags_get_type), (register_gst_debug_level),
626         (gst_debug_level_get_type), (register_gst_debug_color_flags),
627         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
628         (gst_iterator_result_get_type), (register_gst_iterator_item),
629         (gst_iterator_item_get_type), (register_gst_message_type),
630         (gst_message_type_get_type), (register_gst_mini_object_flags),
631         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
632         (gst_pad_link_return_get_type), (register_gst_flow_return),
633         (gst_flow_return_get_type), (register_gst_activate_mode),
634         (gst_activate_mode_get_type), (register_gst_pad_direction),
635         (gst_pad_direction_get_type), (register_gst_pad_flags),
636         (gst_pad_flags_get_type), (register_gst_pad_presence),
637         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
638         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
639         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
640         (gst_plugin_error_get_type), (register_gst_plugin_flags),
641         (gst_plugin_flags_get_type), (register_gst_rank),
642         (gst_rank_get_type), (register_gst_query_type),
643         (gst_query_type_get_type), (register_gst_tag_merge_mode),
644         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
645         (gst_tag_flag_get_type), (register_gst_task_state),
646         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
647         (gst_alloc_trace_flags_get_type),
648         (register_gst_type_find_probability),
649         (gst_type_find_probability_get_type), (register_gst_uri_type),
650         (gst_uri_type_get_type), (register_gst_parse_error),
651         (gst_parse_error_get_type):
652         * win32/common/gstenumtypes.h:
653         * win32/common/gstversion.h:
654           update visual studio generated files
655
656 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
657
658         * win32/vs6/libgstbase.dsp:
659         * win32/vs6/libgstelements.dsp:
660           update project files for new locations
661
662 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
663
664         * Makefile.am:
665           remove some files
666         * README:
667           reinstate and update
668         * DEVEL:
669         * REQUIREMENTS:
670           removed
671         * LICENSE:
672         * docs/random/LICENSE:
673           moved to random
674
675 2005-11-30  Edward Hervey  <edward@fluendo.com>
676
677         * gst/gsttypefind.c: (gst_type_find_register):
678         * gst/gsttypefind.h:
679         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
680         (gst_type_find_factory_dispose):
681         * gst/gsttypefindfactory.h:
682         Fix memory leak in GstTypeFindFactory.
683
684 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
685
686         * gst/gst.c:
687         * plugins/elements/Makefile.am:
688         * plugins/elements/gstelements.c:
689         * plugins/elements/gstqueue.c:
690           move queue from core to the elements plugin
691
692 2005-11-29  Andy Wingo  <wingo@pobox.com>
693
694         * libs/gst/base/gstbasetransform.h: 
695         * libs/gst/base/gstbasesrc.h: 
696         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
697
698         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
699         of pointers by which to pad very extensible base classes (like the
700         ones in libs/gst/base).
701
702 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
703
704         * docs/gst/gstreamer-docs.sgml:
705         * docs/gst/gstreamer-sections.txt:
706         * docs/libs/gstreamer-libs-docs.sgml:
707         * docs/libs/gstreamer-libs-sections.txt:
708           moving documentation from core to lib
709
710 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
711
712         * check/Makefile.am:
713         * configure.ac:
714         * docs/gst/Makefile.am:
715         * gst/Makefile.am:
716         * gst/base/.cvsignore:
717         * gst/base/Makefile.am:
718         * gst/base/README:
719         * gst/base/gstadapter.c:
720         * gst/base/gstadapter.h:
721         * gst/base/gstbasesink.c:
722         * gst/base/gstbasesink.h:
723         * gst/base/gstbasesrc.c:
724         * gst/base/gstbasesrc.h:
725         * gst/base/gstbasetransform.c:
726         * gst/base/gstbasetransform.h:
727         * gst/base/gstcollectpads.c:
728         * gst/base/gstcollectpads.h:
729         * gst/base/gstpushsrc.c:
730         * gst/base/gstpushsrc.h:
731         * gst/base/gsttypefindhelper.c:
732         * gst/base/gsttypefindhelper.h:
733         * gst/check/Makefile.am:
734         * gst/check/gstcheck.c:
735         * gst/check/gstcheck.h:
736         * gst/net/Makefile.am:
737         * gst/net/gstnet.h:
738         * gst/net/gstnetclientclock.c:
739         * gst/net/gstnetclientclock.h:
740         * gst/net/gstnettimepacket.c:
741         * gst/net/gstnettimepacket.h:
742         * gst/net/gstnettimeprovider.c:
743         * gst/net/gstnettimeprovider.h:
744         * libs/gst/Makefile.am:
745         * libs/gst/base/Makefile.am:
746         * libs/gst/base/gstbasetransform.c:
747         * libs/gst/check/Makefile.am:
748         * plugins/elements/Makefile.am:
749         * po/POTFILES.in:
750           CVS surgery + support to move base, check, and net out of gst
751           and into libs/gst
752
753 2005-11-29  Andy Wingo  <wingo@pobox.com>
754
755         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
756
757         * gst/gststructure.h (struct _GstStructure): Only one pointer of
758         padding.
759
760         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
761
762         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
763
764         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
765
766         * gst/gstobject.h: (struct _GstObject): Only one pointer of
767         padding; reduces object size by about 30%. We don't expect
768         anything else to go into gstobject.
769
770         * gst/gstminiobject.h (struct _GstMiniObject)
771         (struct _GstMiniObjectClass): Only one pointer of padding; the
772         payload is only a pointer and two ints anyway. For the class there
773         are only two methods as well.
774         
775         * gst/gstelement.h (struct _GstElementClass): Removed
776         the state_changed signal callback, it is not used.
777
778 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
779
780         * docs/gst/gstreamer.types:
781           fix includes, though they are a little dinky
782
783 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
784
785         * check/Makefile.am:
786           look in the right place for elements, a lot more chance of
787           success
788         * gst/Makefile.am:
789           remove indexers and elements subdirs
790         * plugins/Makefile.am:
791           make indexers conditional
792
793 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
794
795         * Makefile.am:
796         * configure.ac:
797         * plugins/elements/Makefile.am:
798         * plugins/elements/gstcapsfilter.c:
799         * plugins/elements/gstfilesink.c:
800         * plugins/elements/gstfilesrc.c:
801         * plugins/elements/gstidentity.c:
802         * plugins/indexers/Makefile.am:
803           do CVS surgery and related build fixery to move elements
804           and indexers in a new gstreamer/plugins directory, out of the
805           gst/ directory
806
807 2005-11-29  Andy Wingo  <wingo@pobox.com>
808
809         * check/Makefile.am:
810         * pkgconfig/gstreamer-net-uninstalled.pc.in:
811         * pkgconfig/gstreamer-net.pc.in:
812         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
813         #322257.
814
815 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
816
817         * tools/Makefile.am:
818         * tools/gst-complete.1.in:
819         * tools/gst-complete.c:
820         * tools/gst-compprep.1.in:
821         * tools/gst-compprep.c:
822           removing -compprep and -complete
823
824 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
825
826         * gst/gstevent.c: (gst_event_new_new_segment),
827         (gst_event_parse_new_segment):
828         * gst/gstevent.h:
829           fix #320529 - clean up new_segment API and structure.
830           Let's hope everyone was using the methods, and not the structure.
831
832 2005-11-29  Edward Hervey  <edward@fluendo.com>
833
834         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
835         (gst_base_sink_event), (gst_base_sink_do_sync),
836         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
837         Properly handle non GST_FORMAT_TIME segment
838         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
839         Properly handle non GST_FORMAT_TIME segment
840         * gst/gstsegment.c:
841         This function is valid if the accumulator is 0 and the format
842         is different from the requested format.
843         
844 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
845
846         * docs/gst/gstreamer-sections.txt:
847         Add gst_query_new_seeking and gst_query_parse_seeking to the
848         docs.
849
850 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
851
852         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
853           Treat a pad alloc with new caps the same as if we were not
854           negotiated, in order to allow a changing upstream output
855           to produce a new format of data.
856
857 2005-11-29  Edward Hervey  <edward@fluendo.com>
858
859         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
860         (gst_base_transform_event), (gst_base_transform_eventfunc):
861         The event virtual method is now properly implemented, with a default
862         handler
863         Sub classes should call the parent_class event method. They should
864         return FALSE if they had a problem handling the given event, or don't
865         want GstBaseTransform to send that even downstream
866         * gst/elements/gstidentity.c: (gst_identity_class_init),
867         (gst_identity_init), (gst_identity_event),
868         (gst_identity_transform_ip), (gst_identity_set_property),
869         (gst_identity_get_property):
870         * gst/elements/gstidentity.h:
871         Added the single-segment boolean property.
872         If set to TRUE, it will output a single segment of data, starting from
873         0, will eat up all incoming newsegment, and modify the timestamp of the
874         buffers accordingly
875
876 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
877
878         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
879           Don't ref NULL target pad (#322751). Improve docs.
880
881 2005-11-29  Michael Smith  <msmith@fluendo.com>
882
883         * gst/gstregistryxml.c: (load_plugin):
884           Don't crash if we failed to load a feature from a plugin. 
885
886 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
887
888         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
889         (GST_START_TEST):
890           use more check API and less GLib API
891
892 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
893
894         * Makefile.am:
895           don't run checks if we don't have check
896         * common/check.mak:
897           remove the registry when running make torture
898         * docs/gst/gstreamer-sections.txt:
899           remove second multiply
900         * gst/gstqueue.c: (gst_queue_loop):
901           fix a compile warning when disabling debug
902
903 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
904
905         * gst/gstinfo.h:
906         Hey! Let's print the pad name if the pointer != NULL instead
907         of when it == NULL :-)
908
909 2005-11-28  Wim Taymans  <wim@fluendo.com>
910
911         * check/gst/gstutils.c: (GST_START_TEST):
912         Updated check, add some scaling accuracy checking code.
913
914         * gst/gstutils.c: (gst_util_div128_64),
915         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
916         (gst_util_uint64_scale_int):
917         Fix 6 times faster division code. Optimize for common 
918         1/1 and less common X/1 cases.
919
920 2005-11-28  Wim Taymans  <wim@fluendo.com>
921
922         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
923         More checks.
924
925         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
926         (do_linear_regression), (gst_clock_add_observation):
927         Cleanups.
928         Release lock when the clock cannot be slaved.
929         Catch the case where the regression returned an invalid denominator.
930
931         * gst/gstutils.c: (gst_util_div128_64_iterate),
932         (gst_util_div128_64), (gst_util_uint64_scale_int64),
933         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
934         Add protentially more performant non-iterative 128/64 divide function
935         that unfortunatly does not work yet.
936         Shortcut the trivial 0/X = 0 case.
937         Remove the warnings on overflow.
938
939 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
940
941         * gst/gstplugin.c: (gst_plugin_register_func):
942           everything causing a plugin not to load should be at least a WARNING
943
944 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
945
946         * docs/random/ensonic/dparams.txt:
947           some TODOs for the next dev cycle
948         * libs/gst/controller/gstcontroller.c:
949         (gst_controlled_property_set_interpolation_mode),
950         (gst_controlled_property_new):
951         * libs/gst/controller/gstcontroller.h:
952           use base type to assign acccessor functions
953
954 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
955
956         * check/Makefile.am:
957         Oops, that should have been top_srcdir
958
959 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
960
961         * check/Makefile.am:
962         * check/elements/fdsrc.c: (GST_START_TEST):
963         Use a cmdline define to specify the location of a file to use for
964         testing, to avoid breaking distcheck.
965
966 2005-11-28  Andy Wingo  <wingo@pobox.com>
967
968         * gst/gstpad.c (fixate_value): Use array functions for arrays.
969
970 2005-11-28  Edward Hervey  <edward@fluendo.com>
971
972         * tools/gst-launch.c: (main):
973         Clarify the output strings, makes it easier to translate.
974         Fixes #322626
975
976 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
977
978         * gst/Makefile.am:
979           don't try and build net if we don't even have <sys/socket.h>
980
981 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
982
983         * check/Makefile.am:
984         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
985         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
986           Add tests for fdsrc seekability
987
988         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
989         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
990         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
991         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
992         * gst/elements/gstfdsrc.h:
993           fdsrc should not be a 'live' source.
994           Implement seeking on seekable fd's.
995
996         * gst/gstquery.c: (gst_query_new_seeking),
997         (gst_query_parse_seeking):
998         * gst/gstquery.h:
999           Implement SEEKING query functions: 
1000             *_new_seeking and *_parse_seeking
1001
1002 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
1003
1004         * gst/gstelement.c: (gst_element_dispose):
1005           don't loop forever
1006
1007         * gst/gstiterator.c:
1008         * gst/gststructure.c:
1009           doc fixes
1010
1011         * libs/gst/controller/gstcontroller.c:
1012         (gst_controlled_property_set_interpolation_mode):
1013         * libs/gst/controller/gstcontroller.h:
1014         * libs/gst/controller/gstinterpolation.c:
1015         (interpolate_none_get_enum_value_array):
1016           support controlling enums
1017
1018 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1019
1020         * gst/gstvalue.c:
1021           Improve documentation for gst_value_union().
1022
1023         * gst/gstvalue.h:
1024           Change return value for union, intersect and subtract functions
1025           from gint to gboolean.
1026
1027 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1028
1029         * gst/gstvalue.c: (gst_value_serialize_any_list),
1030         (gst_value_transform_any_list_string),
1031         (gst_value_deserialize_list), (gst_value_deserialize_array),
1032         (gst_value_set_int_range), (gst_value_deserialize_int_range),
1033         (gst_value_set_double_range), (gst_value_deserialize_double_range),
1034         (gst_value_set_fraction_range_full),
1035         (gst_value_deserialize_fraction_range),
1036         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
1037         (gst_value_deserialize_boolean),
1038         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
1039         (gst_value_serialize_float), (gst_value_deserialize_float),
1040         (gst_string_wrap), (gst_value_deserialize_string),
1041         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
1042         (gst_value_union_int_range_int_range),
1043         (gst_value_intersect_int_range_int_range),
1044         (gst_value_intersect_double_range_double_range),
1045         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
1046         (gst_value_subtract_int_range_int_range),
1047         (gst_value_subtract_double_double_range),
1048         (gst_value_subtract_double_range_double_range),
1049         (gst_value_deserialize_fraction):
1050         * gst/gstvalue.h:
1051           Use gint, gdouble and gchar in our API instead of int, double and
1052           char (and make usage in gstvalue.c more consistent).
1053
1054 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1055
1056         * check/Makefile.am:
1057         * libs/gst/controller/Makefile.am:
1058         * libs/gst/dataprotocol/Makefile.am:
1059           fix up Makefile.am and remove GST_ENABLE_NEW
1060
1061 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1062
1063         * configure.ac:
1064         * gst/Makefile.am:
1065         * gst/base/Makefile.am:
1066         * gst/check/Makefile.am:
1067         * gst/elements/Makefile.am:
1068         * gst/net/Makefile.am:
1069           update LDFLAGS use some more
1070
1071 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1072
1073         * common/m4/gst-doc.m4:
1074           Fixes #312589
1075
1076 2005-11-26  Edward Hervey  <edward@fluendo.com>
1077
1078         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1079         This shouldn't issue a g_warning since it returns NULL if it
1080         couldn't find the plugin, and all functions using this behave
1081         properly on a NULL return. Switching to a GST_WARNING.
1082
1083 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
1084
1085         * gst/gstbin.c: (gst_bin_handle_message_func):
1086         Don't leak clock messages.
1087
1088 2005-11-25  Wim Taymans  <wim@fluendo.com>
1089
1090         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1091         (gst_util_uint64_scale_int):
1092         Optimisations, remove unneeded vars.
1093
1094 2005-11-25  Wim Taymans  <wim@fluendo.com>
1095
1096         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1097         Added more checks for the high precision uint64 cases.
1098
1099         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1100         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1101         Implement high precision (guint64 * guint64) / guint64.
1102
1103 2005-11-24  Wim Taymans  <wim@fluendo.com>
1104
1105         * gst/base/gstbasesrc.c: (gst_base_src_query):
1106         Fix wrong percentage query.
1107
1108         * gst/gstutils.c: (gst_util_uint64_scale),
1109         (gst_util_uint64_scale_int):
1110         Add some more common cases that can be handled 
1111         efficiently to _scale.
1112
1113 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1114
1115         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
1116         (gst_mini_object_suite):
1117           don't use check calls from threads; check probably isn't
1118           threadsafe and using a lock to make it threadsafe would
1119           defeat the purpose of this check
1120         * gst/check/gstcheck.c:
1121         * gst/check/gstcheck.h:
1122           use GST_DEBUG some more
1123
1124 2005-11-24  Wim Taymans  <wim@fluendo.com>
1125
1126         * gst/gstutils.c: (gst_util_uint64_scale),
1127         (gst_util_uint64_scale_int):
1128         Chain trivial case to _scale_int.
1129
1130 2005-11-24  Wim Taymans  <wim@fluendo.com>
1131
1132         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1133         Added test for scaling.
1134
1135         * gst/gstclock.h:
1136         Small doc fix.
1137
1138         * gst/gstutils.c: (gst_util_uint64_scale_int):
1139         Implemented high precision scaling code.
1140
1141 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
1142
1143         * gst/gstinfo.h:
1144           do not crash on pad==NULL
1145
1146 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1147
1148         Patch by: Stefan Kost
1149
1150         * common/gtk-doc.mak:
1151         * docs/gst/Makefile.am:
1152         * docs/libs/Makefile.am:
1153           Fix distcheck issues for the libraries docs build
1154           Closes #319599.
1155
1156 2005-11-24  Michael Smith <msmith@fluendo.com>
1157
1158         * docs/manual/basics-helloworld.xml:
1159           Fix bug #315027: memory leak in example code in docs.
1160
1161 2005-11-24  Michael Smith <msmith@fluendo.com>
1162
1163         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1164           Unlock the PREROLL_LOCK in a failure case.
1165
1166 2005-11-24  Wim Taymans  <wim@fluendo.com>
1167
1168         * docs/gst/gstreamer-sections.txt:
1169         * gst/base/gstadapter.h:
1170         * gst/base/gstbasesink.h:
1171         * gst/base/gstbasesrc.h:
1172         * gst/base/gstbasetransform.h:
1173         * gst/base/gstpushsrc.h:
1174         * gst/elements/gstfakesink.h:
1175         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1176         * gst/elements/gstfakesrc.h:
1177         * gst/elements/gstfilesink.h:
1178         * gst/elements/gstfilesrc.h:
1179         * gst/gst.c:
1180         * gst/gstbin.c:
1181         * gst/gstbuffer.c: (_gst_buffer_copy):
1182         * gst/gstbus.h:
1183         * gst/gstcaps.c:
1184         * gst/gstchildproxy.c:
1185         * gst/gstclock.c:
1186         * gst/gstelement.c:
1187         * gst/gstelementfactory.c:
1188         * gst/gstelementfactory.h:
1189         * gst/gstevent.c:
1190         * gst/gstghostpad.h:
1191         * gst/gstindex.h:
1192         * gst/gstinterface.h:
1193         * gst/gstminiobject.c:
1194         * gst/gstminiobject.h:
1195         * gst/gstpad.c:
1196         * gst/gstpad.h:
1197         * gst/gstpadtemplate.h:
1198         * gst/gstpipeline.h:
1199         * gst/gstpluginfeature.h:
1200         * gst/gstquery.h:
1201         * gst/gstqueue.h:
1202         * gst/gsttaglist.c:
1203         * gst/gsttaglist.h:
1204         * gst/gsttagsetter.c:
1205         * gst/gsttagsetter.h:
1206         * gst/gsttrace.c:
1207         * gst/gsttrace.h:
1208         * gst/gsttypefind.h:
1209         * gst/gsturi.h:
1210         * gst/gstvalue.c:
1211         * gst/net/gstnetclientclock.c:
1212         * gst/net/gstnetclientclock.h:
1213         * gst/net/gstnettimepacket.c:
1214         * gst/net/gstnettimeprovider.c:
1215         * gst/net/gstnettimeprovider.h:
1216         Doc fixes.
1217
1218 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1219
1220         * configure.ac: back to HEAD
1221
1222 === release 0.9.6 ===
1223
1224 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
1225
1226         * configure.ac:
1227           releasing 0.9.6, "Always On Time"
1228
1229 2005-11-23  Wim Taymans  <wim@fluendo.com>
1230
1231         * docs/gst/gstreamer-sections.txt:
1232         * gst/glib-compat.c:
1233         * gst/gsttagsetter.c:
1234         * gst/gstvalue.c:
1235         * gst/net/gstnetclientclock.c:
1236         * gst/net/gstnettimepacket.h:
1237         Doc updates.
1238
1239 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1240
1241         * docs/faq/using.xml:
1242         * docs/libs/tmpl/gstcontrol.sgml:
1243         * docs/manual/advanced-dparams.xml:
1244         * docs/manual/appendix-checklist.xml:
1245         * docs/manual/basics-elements.xml:
1246         * docs/pwg/other-source.xml:
1247         * docs/random/moving-plugins:
1248         * gst/gstpad.c:
1249         * tools/gst-launch.1.in:
1250           remove mentions of sinesrc
1251
1252 2005-11-23  Michael Smith <msmith@fluendo.com>
1253
1254         * docs/gst/gstreamer-sections.txt:
1255           Update for new API and API changes.
1256         * gst/gstobject.h:
1257           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1258         * gst/gstvalue.c:
1259           Documentation typo fix.
1260         * gst/net/gstnettimepacket.c:
1261           Documentation fixes for arguments.
1262
1263 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
1264
1265         * gst/gststructure.c: (gst_structure_get_fraction),
1266         (gst_structure_parse_value),
1267         (gst_structure_fixate_field_nearest_fraction):
1268         * gst/gststructure.h:
1269         * gst/gstutils.c: (gst_util_uint64_scale_int):
1270         * gst/gstutils.h:
1271         * scripts/update-funcnames:
1272         API Changes. 
1273         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1274         Make gst_structure_fixate_field_nearest_fraction take a numerator
1275         and denominator argument instead of a GValue
1276         add gst_structure_get_fraction helper function.
1277
1278 2005-11-23  Wim Taymans  <wim@fluendo.com>
1279
1280         * docs/design/part-TODO.txt:
1281         Update TODO.
1282
1283         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1284         * gst/net/gstnetclientclock.h:
1285         Use parent fields for timeout and window_size.
1286
1287 2005-11-23  Andy Wingo  <wingo@pobox.com>
1288
1289         * check/net/gstnetclientclock.c (test_functioning): Adjust to
1290         rate_num/rate_denom change.
1291
1292         * gst/net/gstnetclientclock.c
1293         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1294         OBJECT_LOCK. Don't call add_observation with the lock.
1295
1296         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1297         fraction.
1298         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1299         rate fraction.
1300         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1301         deal with rate as a fraction whose numerator and denominator are
1302         GstClockTime values.
1303         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1304         master; the other fields are protected by the SLAVE_LOCK.
1305         (do_linear_regression): Note that this must be called with the
1306         SLAVE_LOCK.
1307         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1308         OBJECT_LOCK. Call set_calibration instead of touching the
1309         variables directly.
1310         (gst_clock_set_property, gst_clock_get_property): Protect
1311         master/slave parameters with the SLAVE_LOCK.
1312
1313         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1314         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1315         note that all of the instance variables that add_observation and
1316         the set_master functions use are protected by that lock and not
1317         the OBJECT_LOCK.
1318         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1319
1320         * gst/gstclock.c (gst_clock_add_observation): No longer requires
1321         the caller to take the object lock.
1322
1323 2005-11-23  Wim Taymans  <wim@fluendo.com>
1324
1325         * gst/gsterror.c: (_gst_core_errors_init):
1326         * gst/gsterror.h:
1327         Add error for clock stuff.
1328
1329         * gst/gstpipeline.c: (gst_pipeline_change_state),
1330         (gst_pipeline_set_clock):
1331         Post clock error when clock cannot be used in a pipeline.
1332
1333 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
1334
1335         * docs/gst/gstreamer-sections.txt:
1336           make two symbols from gstinfo private for the docs
1337         * gst/base/gstcollectpads.h:
1338         * gst/gstutils.c:
1339           fix doc typos, update docs
1340
1341 2005-11-22  Wim Taymans  <wim@fluendo.com>
1342
1343         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1344         (gst_base_sink_wait), (gst_base_sink_do_sync),
1345         (gst_base_sink_handle_event):
1346         * gst/base/gstbasesink.h:
1347         No need to store the clock, the parent element class already
1348         has it.
1349
1350         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
1351         Updates for clock_set returning a gboolean
1352
1353         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
1354         (gst_clock_id_wait_async), (gst_clock_class_init),
1355         (gst_clock_init), (gst_clock_finalize),
1356         (gst_clock_get_internal_time), (gst_clock_get_time),
1357         (gst_clock_slave_callback), (gst_clock_set_master),
1358         (gst_clock_get_master), (do_linear_regression),
1359         (gst_clock_add_observation), (gst_clock_set_property),
1360         (gst_clock_get_property):
1361         * gst/gstclock.h:
1362         Implement master/slave. When setting a clock as a slave, a
1363         periodic timeout is scheduled to sample master and slave times.
1364         Then the slave clock is recalibrated to match offset and rate
1365         of the master clock.
1366         Update logging a bit.
1367         Add flag so that a clock can state that is cannot be slaved to
1368         another clock.
1369
1370         * gst/gstelement.c: (gst_element_set_clock):
1371         * gst/gstelement.h:
1372         The set clock returns a gboolean for when an element cannot
1373         deal with the selected clock in the pipeline. 
1374
1375         * gst/gstpipeline.c: (gst_pipeline_change_state),
1376         (gst_pipeline_set_clock):
1377         * gst/gstpipeline.h:
1378         Handle the case where the selected clock cannot be set on
1379         the pipeline.
1380
1381         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
1382         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1383         (gst_net_client_clock_set_property),
1384         (gst_net_client_clock_get_property),
1385         (gst_net_client_clock_observe_times):
1386         * gst/net/gstnetclientclock.h:
1387         Use regression code in GstClock parent, remove duplicated
1388         functionality.
1389
1390 2005-11-22  Michael Smith <msmith@fluendo.com>
1391
1392         * gst/gstutils.c: (gst_util_clock_time_scale):
1393         * gst/gstutils.h:
1394         * docs/gst/gstreamer-sections.txt:
1395           Rename method to have extra underscore.
1396
1397 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1398
1399         * gst/elements/Makefile.am:
1400         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
1401         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1402         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1403         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
1404         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
1405         * gst/elements/gstfakesrc.h:
1406         * gst/gstqueue.c: (queue_leaky_get_type):
1407           correctly fix GEnumValues so that nick is the short lowercase
1408           dashed tag
1409         * tools/gst-inspect.c: (print_element_properties_info):
1410           also show the nick, since it's useful to use from parse_launch
1411           syntax
1412           Fixes #322139
1413
1414 2005-11-22  Michael Smith <msmith@fluendo.com>
1415
1416         * gst/gstutils.c: (gst_util_clocktime_scale):
1417         * gst/gstutils.h:
1418         * docs/gst/gstreamer-sections.txt:
1419           Add util method for scaling a clocktime by a fraction. Useful 
1420           implementation is left as an exercise for the reader.
1421
1422 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1423
1424         * gst/gstvalue.c: (gst_value_collect_fraction_range):
1425         If needed, allocate storage in the destination value during
1426         collection.
1427
1428 2005-11-22  Edward Hervey  <edward@fluendo.com>
1429
1430         * docs/gst/gstreamer-sections.txt:
1431         * gst/Makefile.am:
1432         * gst/gst.h:
1433         * gst/gsturitype.c:
1434         * gst/gsturitype.h:
1435         * gst/gstutils.c: (gst_util_set_object_arg):
1436         * tools/gst-compprep.c: (main):
1437         * tools/gst-inspect.c: (print_element_properties_info):
1438         Removed GstURI, closes bug #321061
1439
1440 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1441
1442         * check/gst/gststructure.c: (GST_START_TEST):
1443         * gst/gststructure.c: (gst_structure_parse_value):
1444           Oops, broke automatic string type parsing.
1445           Add a test to catch it in future.
1446
1447 2005-11-22  Andy Wingo  <wingo@pobox.com>
1448
1449         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
1450         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
1451         Actually rename the function implementations. Grr.
1452
1453 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1454
1455         * check/gst/capslist.h:
1456           Comment test cases
1457         * check/gst/gststructure.c: (GST_START_TEST),
1458         (gst_structure_suite):
1459           Test automatic value type detection in gst_structure_from_string.
1460         * gst/gststructure.c: (gst_structure_parse_value):
1461           Add fraction as a type we try and guess automatically in
1462           caps/structure strings.
1463
1464 2005-11-22  Andy Wingo  <wingo@pobox.com>
1465
1466         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
1467
1468         * gst/gsttagsetter.h:
1469         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
1470         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
1471         (gst_tag_setter_add_tag_valist)
1472         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
1473         _add_values, _add_valist, and _add_valist_values. Since this is an
1474         interface the function suffixes should be more explicit so
1475         language binding don't end up with element.add_valist ->
1476         gst_tag_setter_add_valist, for example. Fixes #322069.
1477
1478 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1479
1480         * check/gst/gstcaps.c: (GST_START_TEST):
1481           Extend caps string tests to check that a caps to string
1482           conversion is reversible and produces the same caps.
1483
1484         * gst/gststructure.c: (gst_structure_value_get_generic_type):
1485           Output "fraction" as the generic type fraction range, so caps
1486           serialisation and deserialisation works.
1487         * check/gst/capslist.h:
1488         * gst/gstvalue.c: (gst_value_deserialize_fraction):
1489           Support 'MIN' and 'MAX' for deserialising fractions.
1490
1491 2005-11-22  Andy Wingo  <wingo@pobox.com>
1492
1493         * gst/gstevent.h (gst_event_new_new_segment)
1494         (gst_event_parse_new_segment, gst_event_new_buffer_size)
1495         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
1496         Renamed from *_newsegment, *_buffersize, *_notarget.
1497
1498         * scripts/update-funcnames: New script, performs the changes
1499         listed above.
1500
1501 2005-11-22  Wim Taymans  <wim@fluendo.com>
1502
1503         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1504         Make sure the GstFlowReturn is returned.
1505
1506         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
1507         (gst_bus_add_signal_watch):
1508         * gst/gstbus.h:
1509         add gst_bus_add_signal_watch_full.
1510
1511         * gst/gstplugin.c: (gst_plugin_load_file):
1512         Small style cleanup.
1513
1514 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1515
1516         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
1517           Block the fakesrc srcpad when we send an event, to avoid
1518           contention on the stream_lock causing random test failures.
1519
1520 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1521
1522         * check/gst/gstvalue.c: (GST_START_TEST):
1523         * gst/gstvalue.c: (gst_value_fraction_subtract):
1524           Fix subtraction.
1525
1526 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
1527
1528         * gst/gst.h:
1529           include "gstchildproxy.h"
1530         * gst/gstchildproxy.h:
1531         * libs/gst/controller/gstcontroller.h:
1532           use G_GNUC_NULL_TERMINATED
1533
1534 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1535
1536         * check/gst/capslist.h:
1537         * check/gst/gstcaps.c: (GST_START_TEST):
1538         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1539         * gst/gststructure.c: (gst_structure_parse_range),
1540         (gst_structure_fixate_field_nearest_fraction):
1541         * gst/gststructure.h:
1542         * gst/gstvalue.c: (gst_value_init_fraction_range),
1543         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
1544         (gst_value_collect_fraction_range),
1545         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
1546         (gst_value_set_fraction_range_full),
1547         (gst_value_get_fraction_range_min),
1548         (gst_value_get_fraction_range_max),
1549         (gst_value_serialize_fraction_range),
1550         (gst_value_transform_fraction_range_string),
1551         (gst_value_compare_fraction_range),
1552         (gst_value_deserialize_fraction_range),
1553         (gst_value_intersect_fraction_fraction_range),
1554         (gst_value_intersect_fraction_range_fraction_range),
1555         (gst_value_subtract_fraction_fraction_range),
1556         (gst_value_subtract_fraction_range_fraction),
1557         (gst_value_subtract_fraction_range_fraction_range),
1558         (gst_value_collect_fraction), (gst_value_fraction_multiply),
1559         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
1560         (gst_value_transform_string_fraction), (_gst_value_initialize):
1561         * gst/gstvalue.h:
1562           Implement fraction ranges and extend GstFraction to support
1563           arithmetic subtraction, as well as deserialization from integer
1564           strings such as "100"
1565           Add a testsuite as for int and double range set operations
1566
1567 2005-11-21  Andy Wingo  <wingo@pobox.com>
1568
1569         * gst/gsttaglist.h: 
1570         * gst/gstcaps.h: 
1571         * gst/gststructure.h: Add glib-compat.h.
1572
1573 2005-11-21  Wim Taymans  <wim@fluendo.com>
1574
1575         * gst/gstbin.c: (gst_bin_change_state_func):
1576         Fix for #321595
1577
1578 2005-11-21  Wim Taymans  <wim@fluendo.com>
1579
1580         * gst/gstsegment.h:
1581         And add a nice define too.
1582
1583 2005-11-21  Wim Taymans  <wim@fluendo.com>
1584
1585         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
1586         (gst_segment_new), (gst_segment_free), (gst_segment_init),
1587         (gst_segment_set_duration), (gst_segment_set_last_stop),
1588         (gst_segment_set_seek), (gst_segment_set_newsegment),
1589         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1590         (gst_segment_clip):
1591         * gst/gstsegment.h:
1592         Make binding friendly.
1593
1594 2005-11-21  Andy Wingo  <wingo@pobox.com>
1595
1596         * gst/gsttagsetter.h: 
1597         * gst/gsttaglist.h: 
1598         * gst/gststructure.h: 
1599         * gst/gstcaps.h: 
1600         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
1601         #319940.
1602
1603         * gst/gsterror.c (_gst_core_errors_init):
1604         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
1605         category.
1606
1607         * gst/Makefile.am (gst_headers): Add glib-compat.h.
1608         (noinst_HEADERS): noinst the -private.
1609
1610 2005-11-21  Michael Smith <msmith@fluendo.com>
1611
1612         * gst/gstplugin.h:
1613         * gst/gstregistry.h:
1614           Remove unimplemented declarations for which we can see no sensible
1615           use.
1616
1617 2005-11-21  Andy Wingo  <wingo@pobox.com>
1618
1619         * gst/gst.h: Include glib-compat.h.
1620
1621         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
1622
1623         * gst/glib-compat.c: Include the public and the private header.
1624
1625         * gst/glib-compat-private.h: Copied here from glib-compat.h.
1626
1627         * gst/gstvalue.c: 
1628         * gst/gstpad.c: 
1629         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
1630
1631         * check/gst/gstevent.c (create_custom_events): Check that
1632         FLUSH_STOP is serialized.
1633
1634         * check/elements/identity.c (event_func): 
1635         * check/elements/fakesrc.c (event_func): No stream lock, the core
1636         takes it.
1637
1638         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
1639         stream lock taking, yay.
1640
1641         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
1642         ensure that core takes the stream lock.
1643
1644         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
1645         lock name change.
1646
1647         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
1648         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
1649         it already. For the flush start we do take it though so we get the
1650         right preroll state change messages.
1651
1652         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
1653         the stream lock here, the core does it for us.
1654
1655         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
1656         GST_STREAM_GET_LOCK.
1657         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
1658         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
1659         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
1660         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
1661         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
1662         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
1663
1664         * gst/gstpad.c: Update for stream lock name change.
1665
1666         * gst/base/gstbasesink.c: Update for preroll lock name change.
1667
1668 2005-11-21  Wim Taymans  <wim@fluendo.com>
1669
1670         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
1671         (gst_clock_get_master):
1672         * gst/gstclock.h:
1673         * gst/gstsystemclock.c: (gst_system_clock_init):
1674         Convert Clock flags to object flags.
1675         Added methods to manage master/slave clocks.
1676
1677 2005-11-21  Wim Taymans  <wim@fluendo.com>
1678
1679         * check/gst/gstsegment.c: (GST_START_TEST):
1680         * docs/design/part-TODO.txt:
1681         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1682         (gst_base_sink_event), (gst_base_sink_do_sync),
1683         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
1684         (gst_base_sink_query), (gst_base_sink_change_state):
1685         * gst/base/gstbasesink.h:
1686         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
1687         (gst_base_src_default_newsegment),
1688         (gst_base_src_configure_segment), (gst_base_src_do_seek),
1689         (gst_base_src_get_range), (gst_base_src_loop),
1690         (gst_base_src_change_state):
1691         * gst/base/gstbasesrc.h:
1692         * gst/base/gstbasetransform.c:
1693         (gst_base_transform_prepare_output_buf),
1694         (gst_base_transform_event), (gst_base_transform_change_state):
1695         * gst/base/gstbasetransform.h:
1696         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1697         (gst_collect_pads_event):
1698         * gst/base/gstcollectpads.h:
1699         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
1700         (gst_fake_src_create):
1701         * gst/elements/gstfakesrc.h:
1702         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1703         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1704         (gst_segment_set_last_stop), (gst_segment_set_seek),
1705         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
1706         (gst_segment_to_running_time), (gst_segment_clip):
1707         * gst/gstsegment.h:
1708         More segment updates, replace code in plugins with segment
1709         helper functions.
1710
1711 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1712
1713         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
1714         Don't ignore sscanf results
1715
1716 2005-11-21  Andy Wingo  <wingo@pobox.com>
1717
1718         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
1719
1720         * *.h:
1721         * *.c: Ran scripts/update-macros. Oh yes.
1722
1723         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
1724         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
1725         GST_GET_LOCK, etc.
1726
1727         * scripts/update-macros: New script. Run it on your files to
1728         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
1729         well.
1730
1731 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1732
1733         * docs/gst/Makefile.am:
1734         * docs/gst/gstreamer-docs.sgml:
1735         * docs/gst/gstreamer-sections.txt:
1736         * docs/gst/gstreamer.types:
1737         * gst/gstinfo.h:
1738           more docs fixes, add new api to the docs
1739
1740 2005-11-21  Andy Wingo  <wingo@pobox.com>
1741
1742         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
1743         state_broadcast call.
1744
1745         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
1746
1747 2005-11-21  Julien MOUTTE  <julien@moutte.net>
1748
1749         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
1750         function calls for arrays.
1751
1752 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1753
1754         * docs/random/ensonic/media-device-daemon.txt:
1755           wild idea, can this be done?
1756         * docs/gst/gstreamer-sections.txt:
1757         * gst/gsterror.h:
1758         * gst/gstfilter.c:
1759         * gst/gstfilter.h:
1760         * gst/gstplugin.h:
1761         * gst/gstpluginfeature.c:
1762         * gst/gsttrace.c:
1763         * gst/gstvalue.c:
1764         * gst/gstvalue.h:
1765           doc fixes and additions
1766
1767 2005-11-21  Andy Wingo  <wingo@pobox.com>
1768
1769         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
1770         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
1771         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
1772         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
1773         private to the basesrc implementation.
1774
1775         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
1776         behalf of event function if necessary. It should no longer be
1777         necessary to take the stream lock in pad's event functions. Fixes
1778         #320299.
1779
1780 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1781         * docs/gst/gstreamer-sections.txt:
1782         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
1783         (gst_structure_fixate_field_nearest_double),
1784         (gst_structure_fixate_field_boolean):
1785         * gst/gststructure.h:
1786         * win32/common/libgstreamer.def:
1787         * win32/gstreamer.def:
1788
1789         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
1790         (#322027)
1791
1792 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1793
1794         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
1795         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
1796         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
1797         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
1798         (gst_fdsrc_uri_handler_init):
1799         * gst/elements/gstfdsrc.h:
1800           Port fd:// URI handler from 0.8 to fdsrc
1801
1802 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1803
1804         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
1805         (gst_value_serialize_fourcc):
1806         * gst/gstvalue.h:
1807           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
1808           consistent with our other format defines (#320324).
1809
1810 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1811
1812         * gst/gstvalue.c: (gst_value_is_fixed):
1813           Revert previous commit. Value lists are by definition
1814           not fixed, as they are a list of possible values.
1815
1816 2005-11-21  Andy Wingo  <wingo@pobox.com>
1817
1818         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
1819         during the stable series if we need it. Fixes #319178.
1820
1821         * gst/gstevent.c (gst_event_new_filler): Removed.
1822
1823         * check/gst/gstevent.c: Update comment about filler events.
1824
1825 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1826
1827         * gst/gstvalue.c: (gst_value_is_fixed):
1828           Should handle both value arrays and value lists.
1829
1830 2005-11-21  Andy Wingo  <wingo@pobox.com>
1831
1832         patch by: Alessandro Dessina <alessandro nnva org>
1833
1834         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
1835         functions to access arrays. Fixes #321962.
1836
1837 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1838
1839         * docs/gst/gstreamer.types:
1840           gst_collectpads_get_type => gst_collect_pads_get_type.
1841           
1842         * gst/base/gstbasetransform.c:
1843           Remove unused SIGNAL_HANDOFF enum.
1844
1845 2005-11-21  Andy Wingo  <wingo@pobox.com>
1846
1847         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
1848         the event type (upstream, downstream, serialized). Renamed
1849         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
1850         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
1851         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
1852
1853         * gst/gstevent.c: Update for new CUSTOM event names.
1854
1855         * check/gst/gstevent.c: Update check for new CUSTOM event names.
1856
1857         * gst/gstevent.h:
1858         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
1859         bug #319392.
1860
1861 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1862
1863         * docs/gst/gstreamer-sections.txt:
1864         * win32/common/libgstbase.def:
1865         * win32/libgstbase.def:
1866         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1867         (gst_collect_pads_class_init), (gst_collect_pads_init),
1868         (gst_collect_pads_finalize), (gst_collect_pads_new),
1869         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
1870         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
1871         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
1872         (gst_collect_pads_start), (gst_collect_pads_stop),
1873         (gst_collect_pads_peek), (gst_collect_pads_pop),
1874         (gst_collect_pads_available), (gst_collect_pads_read),
1875         (gst_collect_pads_flush), (gst_collect_pads_event),
1876         (gst_collect_pads_chain):
1877         * gst/base/gstcollectpads.h:
1878           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
1879           unimplemented functions as unimplemented. Add padding to
1880           GstCollectData. (#320766, #320423)
1881
1882 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1883
1884         * gst/gstmessage.c:
1885           Improve docs for DURATION message (usage of duration parameter)
1886           (#320113)
1887
1888 2005-11-20  Wim Taymans  <wim@fluendo.com>
1889
1890         * check/Makefile.am:
1891         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
1892         (main):
1893         * gst/Makefile.am:
1894         * gst/gst.h:
1895         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1896         (gst_segment_set_seek), (gst_segment_set_newsegment),
1897         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1898         (gst_segment_clip):
1899         * gst/gstsegment.h:
1900         Added segment helper structure and methods. Not fully implemented
1901         yet.
1902         Added segment check.
1903
1904 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
1905
1906         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1907           Add a deserialisation test for fractions
1908         * examples/metadata/read-metadata.c: (message_loop),
1909         (make_pipeline), (main):
1910           Fix up metadata reading sample.
1911         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1912           Debug format fix
1913         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1914           Don't try and fixate empty caps
1915         * gst/gst_private.h:
1916           Wrap in G_BEGIN_DECLS/G_END_DECLS
1917         * gst/gstvalue.c: (gst_value_collect_fraction),
1918         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
1919         (gst_value_transform_string_fraction),
1920         (gst_value_compare_fraction):
1921           Add some extra guards to ensure that we don't end up 
1922           with an invalid denominator of 0 in a gstfraction and
1923           that fractions always get reduced.
1924
1925 2005-11-20  Wim Taymans  <wim@fluendo.com>
1926
1927         * docs/gst/gstreamer-sections.txt:
1928         * gst/gstbuffer.h:
1929         * gst/gstelement.c:
1930         * gst/gstformat.c:
1931         * gst/gstformat.h:
1932         * gst/gstindex.h:
1933         * gst/gstquery.c:
1934         * gst/gstquery.h:
1935         * gst/gstvalue.c:
1936         Doc fixes.
1937
1938 2005-11-20  Wim Taymans  <wim@fluendo.com>
1939
1940         * docs/design/part-TODO.txt:
1941         * gst/gstcaps.h:
1942         Make a proper enum of the flag.
1943
1944 2005-11-19  Wim Taymans  <wim@fluendo.com>
1945
1946         * docs/design/part-TODO.txt:
1947         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
1948         (gst_format_to_quark), (gst_format_register):
1949         * gst/gstformat.h:
1950         * gst/gstquery.c: (_gst_query_initialize),
1951         (gst_query_type_get_name), (gst_query_type_to_quark),
1952         (gst_query_type_register):
1953         * gst/gstquery.h:
1954         Add type to quark and type to string conversions.
1955
1956 2005-11-19  Andy Wingo  <wingo@pobox.com>
1957
1958         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
1959         #320097.
1960
1961 2005-11-19  Wim Taymans  <wim@fluendo.com>
1962
1963         * docs/design/part-TODO.txt:
1964         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
1965         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
1966         (gst_bin_handle_message_func):
1967         * gst/gstbin.h:
1968         Make message handling overridable.
1969
1970 2005-11-19  Andy Wingo  <wingo@pobox.com>
1971
1972         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
1973
1974         * gst/gstclock.h:
1975         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
1976         be a GstClockTime.
1977         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
1978         is a GstClockTime. Fixes #321710.
1979
1980         * gst/gstclock.h (GstClock): Remove offset property. Add
1981         internal_calibration and external_calibration. Fix padding. Pad
1982         also by GstClockTime so we don't run into problems.
1983
1984         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
1985         (gst_clock_get_rate_offset): Remove.
1986         (gst_clock_set_time_adjust): Remove. Fixes #321712.
1987
1988         * gst/gstutils.h:
1989         * gst/gstutils.c (g_static_rec_cond_wait)
1990         (g_static_rec_cond_timed_wait): Removed, no longer needed.
1991
1992         * gst/gstbin.c: Remove terrible continue_state prototype.
1993
1994         * gst/gstelement.h (gst_element_continue_state): Make public.
1995
1996         * gst/gstelement.h:
1997         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
1998         by continue_state. Fixes #319389.
1999
2000         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
2001         Really fixes #168438. However I don't see anywhere where the
2002         filter function is called... stupid GStreamer...
2003         
2004         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
2005         don't have a dispose function, so it won't get called when the
2006         object is unreffed, but oh well!
2007
2008         * gst/gstindex.c (gst_index_set_filter_full): New API function,
2009         allows a destroy function to be set so user_data can be freed.
2010         Fixes #168438.
2011         (gst_index_set_filter): Call gst_index_set_filter_full.
2012
2013         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
2014
2015         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
2016         string should produce an error, given the lack of a way to
2017         represent NULL strings. Fixes #165650.
2018         
2019         * gst/gstvalue.h: 
2020         * gst/gstvalue.c (gst_value_array_append_value) 
2021         (gst_value_array_prepend_value, gst_value_array_get_size) 
2022         (gst_value_array_get_value): New API, copied from
2023         gst_value_list_*, only operates on arrays.
2024         (gst_value_list_append_value, gst_value_list_prepend_value) 
2025         (gst_value_list_concat, gst_value_list_get_size) 
2026         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
2027
2028         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
2029         init_list, because it works on both.
2030         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
2031         (gst_value_copy_list_or_array): Renamed from copy_list.
2032         (gst_value_free_list_or_array): Renamed from free_list.
2033         (gst_value_collect_list_or_array): Renamed from collect_list.
2034         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
2035         (gst_value_list_or_array_peek_pointer): Renamed from
2036         list_peek_pointer.
2037         (_gst_value_array_value_table, _gst_value_list_value_table):
2038         Update value table functions.
2039         (gst_value_compare_list_or_array): Renamed from compare_list.
2040
2041         * gsttaglist.h: Whoops, foreach function returns void. Also fix
2042         some constness.
2043
2044         * gst/gsttaglist.c:
2045         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
2046         GstTagList*. Fixes #143472.
2047
2048         * gst/gststructure.h: Clarify what the foreach/map functions can
2049         or can't do to their arguments.
2050
2051 2005-11-18  Wim Taymans  <wim@fluendo.com>
2052
2053         * gst/gstclock.c: (gst_clock_set_calibration),
2054         (gst_clock_get_calibration):
2055         Doc and API fixes.
2056         Calibration can be set with internal time equal to current
2057         internal time too.
2058
2059 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2060
2061         * gst/gsterror.c:
2062         * gst/gsterror.h:
2063           document
2064
2065 2005-11-18  Andy Wingo  <wingo@pobox.com>
2066
2067         * configure.ac: 
2068         * pkgconfig/gstreamer-net.pc.in:
2069         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2070         * pkgconfig/Makefile.am: Add net pkgconfig files.
2071
2072 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
2073
2074         * gst/gstcaps.c:
2075         * gst/gstghostpad.c:
2076         * gst/gsttrace.c:
2077         * gst/gstvalue.c:
2078         * gst/gstvalue.h:
2079           docs fixes
2080
2081 2005-11-18  Andy Wingo  <wingo@pobox.com>
2082
2083         * gst/net/gstnetclientclock.c: Turn off debugging.
2084
2085         * check/net/gstnetclientclock.c (test_functioning): Assert that the
2086         times connverge somewhat. Can't make a real test.
2087
2088         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
2089         integer arithmetic. Return the minimum of the domain, which can be
2090         set as "internal" for gst_clock_set_calibration.
2091         (gst_net_client_clock_observe_times): Call _set_calibration.
2092         (gst_net_client_clock_new): Call _set_calibration instead of
2093         rate_offset.
2094
2095         * check/net/gstnetclientclock.c (test_functioning): Use the right
2096         adjustment api.
2097
2098         * gst/gstclock.h:
2099         * gst/gstclock.c (gst_clock_get_calibration) 
2100         (gst_clock_set_calibration): New functions, obsolete the ones I
2101         added yesterday. Doh. Precision issues mean we have to extrapolate
2102         from a point in the more recent past than 1970.
2103         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
2104         obsolete.
2105         (gst_clock_adjust_unlocked): Use the right calibration data.
2106
2107 2005-11-18  Edward Hervey  <edward@fluendo.com>
2108
2109         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
2110         Also reset the ->current_* values in READY->PAUSED
2111
2112 2005-11-18  Andy Wingo  <wingo@pobox.com>
2113
2114         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
2115         Whoops, check the right fd. Also add some debugging.
2116         (gst_net_client_clock_observe_times): Adjust for int64 offset.
2117         (do_linear_regression): Add a crapload of debugging. Subtract off
2118         the minimum values from the input series to discard unneeded bits.
2119         Use only int arithmetic. There is still double arithmetic when
2120         calculating the intercept that needs fixing. Return boolean to
2121         indicate success; FALSE would mean the domain or range is too
2122         great. Still needs fixes.
2123
2124 2005-11-18  Wim Taymans  <wim@fluendo.com>
2125
2126         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2127         For the current position in stream time, we need to subtract
2128         accumulated time.
2129         
2130         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2131         Release lock before calling the callback function of async
2132         entries.
2133
2134 2005-11-18  Andy Wingo  <wingo@pobox.com>
2135
2136         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
2137         Port goes all the way to MAXUINT16.
2138
2139         * gst/net/gstnettimeprovider.c: Make the port range the same as
2140         for the kernel: 0 assigns, otherwise ports are less than
2141         MAXUINT16.
2142
2143         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
2144         port change.
2145
2146         * check/net/gstnetclientclock.c (test_functioning): Add the start
2147         of another test. 
2148
2149 2005-11-18  Wim Taymans  <wim@fluendo.com>
2150
2151         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2152         (gst_bin_remove_func), (bin_bus_handler):
2153         * gst/gstbin.h:
2154         Removing a clock provider from a bin, triggers a clock lost message
2155         so that a new clock will be selected.
2156         Adding a clock to a bin triggers a clock provider message.
2157         Make sure we reselect a clock when we received a clock lost message.
2158         Keep a reference to the element that provided the clock.
2159
2160 2005-11-18  Andy Wingo  <wingo@pobox.com>
2161
2162         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2163         the clock initially so it produces values around the base time.
2164         (gst_net_client_clock_class_init): Typo fix.
2165         (gst_net_client_clock_thread): Add note on when the socket gets
2166         closed.
2167
2168 2005-11-17  Wim Taymans  <wim@fluendo.com>
2169
2170         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2171         Free remote and local time arrays.
2172
2173 2005-11-17  Wim Taymans  <wim@fluendo.com>
2174
2175         * gst/net/gstnetclientclock.c: (do_linear_regression),
2176         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2177         Fix compilation, uninitialized vars and a forgotten continue.
2178
2179 2005-11-17  Andy Wingo  <wingo@pobox.com>
2180
2181         * check/Makefile.am (check_PROGRAMS): 
2182         * check/net/gstnetclientclock.c: Add a most minimal test for the
2183         net client clock. More to come later.
2184
2185         * gst/net/gstnet.h: 
2186         * gst/net/Makefile.am: Add netclientclock.
2187
2188         * gst/net/gstnetclientclock.h:
2189         * gst/net/gstnetclientclock.c: New files, implement an untested
2190         GstClock that takes its time from a network time provider.
2191         Implements the algorithm in network-clock.scm.
2192
2193         * tests/network-clock.scm (*window-size*): Rename from
2194         *queue-length*.
2195         * tests/network-clock.scm (network-time): 
2196         * tests/network-clock-utils.scm (q-push): Update callers.
2197
2198 2005-11-17  Wim Taymans  <wim@fluendo.com>
2199
2200         * gst/gstbin.c: (gst_bin_provide_clock_func),
2201         (gst_bin_sort_iterator_new):
2202         And unref the child too..
2203
2204 2005-11-17  Wim Taymans  <wim@fluendo.com>
2205
2206         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2207         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2208         Refactor the sort iterator so it can be used while holding the
2209         LOCK too.
2210         Make clock selection select a clock closest to the source.
2211
2212 2005-11-17  Michael Smith <msmith@fluendo.com>
2213
2214         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2215         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2216         * gst/gstclock.h:
2217           Anonymous structs are a gcc (and some other compilers) extension, so
2218           don't use them. Since this is only for ABI-compatibility, and our
2219           API/ABI freeze is over in a few days, this whole thing will only
2220           last a few days, so don't bother trying to think up a meaningful
2221           name for the struct.
2222
2223 2005-11-17  Andy Wingo  <wingo@pobox.com>
2224
2225         * gst/gstclock.h (GstClock): Add rate and offset properties,
2226         preserving ABI stability. Add rate/offset accessors. Will file bug
2227         for the freeze break.
2228
2229         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2230         and offset, trying to keep precision and avoiding
2231         underflow/overflow.
2232         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2233         functions. Make gst_clock_set_time_adjust obsolete.
2234         (gst_clock_set_time_adjust): Note that this function is obsolete.
2235         Will file bug soon.
2236
2237         * gst/base/gstbasetransform.h: Make the ABI-stability hack
2238         greppable by using GST_PADDING-1+1.
2239
2240 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
2241
2242         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2243
2244         * gst/gstmessage.c: (gst_message_parse_clock_lost):
2245           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2246
2247         * gst/gstpadtemplate.h:
2248         * gst/gstpluginfeature.h:
2249           Don't use c++ style comments in headers (#321638).
2250
2251 2005-11-16  Andy Wingo  <wingo@pobox.com>
2252
2253         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2254         buffer.
2255
2256         * check/net/gstnettimeprovider.c: Check to see that the time
2257         provider actually provides times. Works, yo!
2258
2259 2005-11-16  Wim Taymans  <wim@fluendo.com>
2260
2261         * check/Makefile.am:
2262         Enable more tests.
2263
2264         * check/elements/fakesrc.c: (GST_START_TEST):
2265         Set element to NULL before disposing it.
2266
2267 2005-11-16  Andy Wingo  <wingo@pobox.com>
2268
2269         * gst/net/Makefile.am:
2270         * gst/net/gstnet.h:
2271         * gst/net/gstnettimeprovider.c: 
2272         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2273         provider, include it from gstnet.h, and add it to the build.
2274
2275         * gst/net/gstnettimepacket.h: 
2276         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2277         sending and receiving.
2278
2279 2005-11-16  Wim Taymans  <wim@fluendo.com>
2280
2281         * check/Makefile.am:
2282         Enable valgrind check.
2283
2284         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2285         (gst_fake_src_alloc_buffer):
2286         Fix memleak.
2287
2288 2005-11-16  Wim Taymans  <wim@fluendo.com>
2289
2290         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2291         Call parent finalize too.
2292
2293 2005-11-16  Wim Taymans  <wim@fluendo.com>
2294
2295         * check/Makefile.am:
2296         Enable valgrind check that should work fine now.
2297
2298         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2299         * gst/gstqueue.c: (gst_queue_init):
2300         Fix memleaks in pad allocation.
2301
2302 2005-11-16  Andy Wingo  <wingo@pobox.com>
2303
2304         * gst/net/Makefile.am:
2305         * gst/net/gstnet.h: New part of core to hold network elements and
2306         objects. Put in core because it exposes API that applications want
2307         to use. The library is named libgstnet-tempname right now because
2308         of the existing libgstnet in gst-plugins-base. Solution is
2309         probably to rename the one in plugins-base; will file a bug for
2310         the freeze break.
2311
2312         * gst/net/gstnettimeprovider.c: 
2313         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2314         get_time call over the network.
2315
2316         * configure.ac: 
2317         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2318
2319         * check/Makefile.am:
2320         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2321         get additions shortly.
2322
2323 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2324
2325         * gst/gstpad.c: (gst_pad_new_from_static_template):
2326         * gst/gstpad.h:
2327           add gst_pad_new_from_static_template functions
2328         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2329         (gst_check_setup_sink_pad):
2330         * gst/elements/gsttee.c: (gst_tee_init):
2331           and use them
2332
2333 2005-11-16  Wim Taymans  <wim@fluendo.com>
2334
2335         * gst/gstpad.c: (gst_pad_pause_task):
2336         Removed warning, it's not really an error either.
2337
2338 2005-11-16  Wim Taymans  <wim@fluendo.com>
2339
2340         * gst/base/gstbasetransform.c:
2341         (gst_base_transform_prepare_output_buf),
2342         (gst_base_transform_event):
2343         Check if the caps are NULL, this can happen if the element
2344         is shutting down and the pad caps are set to NULL.
2345
2346 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2347
2348         * gst/elements/gsttee.c: (gst_tee_init):
2349           fix pad template leak in tee
2350
2351 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2352
2353         * gst/glib-compat.c: (g_value_dup_gst_object):
2354         * gst/glib-compat.h:
2355         * gst/gstpad.c: (gst_pad_set_property):
2356           use gst_object_ref when setting the pad template; this will
2357           trigger the pad template leaks on GLib 2.6 and the slaves
2358
2359 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2360
2361         * gst/glib-compat.c: (gst_flags_get_first_value):
2362         * gst/glib-compat.h:
2363         * gst/gstregistryxml.c:
2364           remove functions copied from GLib 2.6
2365
2366 2005-11-16  Michael Smith <msmith@fluendo.com>
2367
2368         * gst/Makefile.am:
2369           Don't link against VALGRIND_LIBS. That was always the wrong thing to
2370           do, but only breaks with newer valgrind versions. We're not a
2371           valgrind tool, we have no link-time dependencies on libcoregrind.
2372
2373 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2374
2375         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2376           some debug changes
2377         * gst/gstmessage.h:
2378           typo fixes
2379
2380 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2381
2382         * gst/base/gstbasesrc.c: (gst_base_src_init):
2383         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2384         * gst/gstqueue.c: (gst_queue_init):
2385         * gst/gstregistryxml.c: (load_feature):
2386           Revert all these unrefs, they don't even pass make check !
2387
2388 2005-11-15  Johan Dahlin  <johan@gnome.org>
2389
2390         * gst/base/gstbasesrc.c: (gst_base_src_init):
2391         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2392         * gst/gstqueue.c: (gst_queue_init): 
2393         Free pad templates, fixes a couple of leaks.
2394
2395 2005-11-15  Daniel Fischer  <dan at f3c dot com>
2396
2397         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2398
2399         * gst/gstpad.c: (gst_pad_get_property):
2400           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
2401           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
2402           (#321452)
2403
2404 2005-11-15  Wim Taymans  <wim@fluendo.com>
2405
2406         * gst/gstevent.c:
2407         Small doc update.
2408
2409 2005-11-15  Andy Wingo  <wingo@pobox.com>
2410
2411         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
2412
2413         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
2414         using GST_CLOCK_TIME_NONE to disable base time management.
2415         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
2416         time if it was NONE before.
2417         (gst_pipeline_change_state): Only munge the base time if
2418         stream_time != GST_CLOCK_TIME_NONE.
2419
2420         * check/gst/gstpipeline.c (test_base_time): Punt around the
2421         problem of the probe not being called, because that's not the
2422         issue I'm looking at. Add a check that setting stream_time to NONE
2423         disables base time management.
2424         
2425 2005-11-15  Wim Taymans  <wim@fluendo.com>
2426
2427         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2428         segment_stop == -1 at startup.
2429
2430         * gst/base/gstbasetransform.c: (gst_base_transform_event),
2431         (gst_base_transform_change_state):
2432         Init segment values at start.
2433
2434 2005-11-15  Wim Taymans  <wim@fluendo.com>
2435
2436         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2437         0 segment values are 0 in any format.
2438
2439         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2440         * gst/base/gstbasetransform.h:
2441         Parse newsegment correctly in basetransform
2442
2443         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2444         Sync to clock using updated segment values.
2445
2446 2005-11-15  Andy Wingo  <wingo@pobox.com>
2447
2448         * check/gst/gstpipeline.c (test_base_time): Add check that the
2449         base time and stream time are reset correctly.
2450
2451 2005-11-15  Wim Taymans  <wim@fluendo.com>
2452
2453         * docs/design/part-TODO.txt:
2454         Some more TODO items.
2455
2456 2005-11-15  Andy Wingo  <wingo@pobox.com>
2457
2458         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
2459         error if the user selected "no clock" as the clocking method.
2460
2461         * check/gst/gstpipeline.c (test_base_time): New test for buffer
2462         timestamps with live capture.
2463
2464         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
2465         is 0 but we are a live source, timestamp the buffers using the
2466         element's clock.
2467
2468 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
2469
2470         * docs/gst/gstreamer-sections.txt:
2471         * gst/gsterror.c:
2472         * gst/gstghostpad.c:
2473         * gst/gstobject.h:
2474         * gst/gstxml.c:
2475           more section docs
2476
2477 2005-11-14  Wim Taymans  <wim@fluendo.com>
2478
2479         * common/gst.supp:
2480           add suppressions from Wim's Debian machine
2481
2482 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2483
2484         * common/gst.supp:
2485           add suppressions from Andy's AMD64 Ubuntu machine
2486
2487 2005-11-14  Andy Wingo  <wingo@pobox.com>
2488
2489         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
2490         STATE_LOCK not necessary. Fixes #311489.
2491
2492         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
2493         #305291.
2494
2495         * gst/gstindex.c (gst_index_add_object): Note in the docs that
2496         this function is not implemented.
2497
2498 2005-11-14  Julien MOUTTE  <julien@moutte.net>
2499
2500         * gst/base/gstbasetransform.c:
2501         (gst_base_transform_prepare_output_buf):
2502         Ref the source pad caps while we need them.
2503         Fixes (#321386)
2504
2505 2005-11-11  Wim Taymans  <wim@fluendo.com>
2506
2507         * docs/gst/gstreamer-sections.txt:
2508         Added some docs for GstCollectData.
2509
2510         * gst/base/gstadapter.c:
2511         Some small code example fix.
2512
2513         * gst/base/gstcollectpads.c:
2514         * gst/base/gstcollectpads.h:
2515         Document some more.
2516
2517 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2518
2519         * configure.ac: back to HEAD
2520
2521 === release 0.9.5 ===
2522
2523 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
2524
2525         * configure.ac:
2526           releasing 0.9.5, "Bike Lunch Day"
2527
2528 2005-11-11  Wim Taymans  <wim@fluendo.com>
2529
2530         * gst/gstbuffer.c: (_gst_buffer_copy):
2531         Copy more flags.
2532
2533         * gst/gstcaps.c: (gst_caps_is_equal):
2534         Fix some docs.
2535         Make _is_equal fast in the trivial cases.
2536
2537         * gst/gstminiobject.c:
2538         * gst/gstminiobject.h:
2539         More docs. Spifify .h file.
2540
2541         * gst/gstutils.c:
2542         Small doc update.
2543
2544 2005-11-11  Wim Taymans  <wim@fluendo.com>
2545
2546         * gst/base/gstbasetransform.c:
2547         (gst_base_transform_prepare_output_buf),
2548         (gst_base_transform_handle_buffer):
2549         Small cleanups.
2550         If we're processing a buffer and need to allocate an output
2551         buffer, we cannot accept a format change. If we did get a 
2552         format change, we have to alloc a buffer ourselves of the 
2553         right size.
2554
2555 2005-11-11  Wim Taymans  <wim@fluendo.com>
2556
2557         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
2558         While checking the flag for reentrancy in the gstcaps function
2559         is nice to detect recursive invocations, it also makes it 
2560         impossible to call getcaps from multiple threads, which must be
2561         possible. So, checking for recursive calls has to go.
2562
2563 2005-11-11  Michael Smith <msmith@fluendo.com>
2564
2565         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2566           Don't sync on buffers that fall partially outside our current
2567           segment. Prevents an assertion failure/abort playing some files.
2568
2569 2005-11-10  Andy Wingo  <wingo@pobox.com>
2570
2571         * check/gst/gstbin.c (test_message_state_changed_children): Style
2572         fix..
2573
2574         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
2575         gst_bus_poll with the signal watch. Ensures that poll and a signal
2576         watch see the same messages.
2577
2578         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
2579         a poll and a watch at the same time get the same messages.
2580
2581 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2582
2583         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
2584         * gst/gstcaps.c: (gst_caps_intersect):
2585           Don't call gst_caps_do_simplify - it doesn't respect order of caps
2586           and it's not needed.
2587
2588 2005-11-10  Wim Taymans  <wim@fluendo.com>
2589
2590         * docs/design/part-TODO.txt:
2591         Updated todo.
2592
2593 2005-11-10  Wim Taymans  <wim@fluendo.com>
2594
2595         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2596         * gst/base/gstbasesrc.c: (gst_base_src_wait),
2597         (gst_base_src_do_sync), (gst_base_src_get_range):
2598         Implement clock sync in base class.
2599
2600 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2601
2602         patch by: Tim-Philipp Müller <tim at centricular dot net>
2603
2604         * gst/gststructure.c: (gst_structure_parse_field),
2605         (gst_structure_from_string):
2606           Forward-port a 0.8 patch to handle escaped spaces in structure string,
2607           so that gst_parse_launch() can deal with spaces in filtered link
2608           caps (fixes #164479)
2609         * check/gst/capslist.h:
2610         * check/gst/gststructure.c: (GST_START_TEST):
2611           add unit tests for this change
2612
2613 2005-11-10  Wim Taymans  <wim@fluendo.com>
2614
2615         * docs/gst/gstreamer-sections.txt:
2616         * gst/gstelement.c:
2617         * gst/gstelement.h:
2618         Fix docs, move some STATE macros to private.
2619
2620 2005-11-10  Wim Taymans  <wim@fluendo.com>
2621
2622         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
2623         Added check for bug #317341
2624
2625         * gst/gstbuffer.c:
2626         * gst/gstbuffer.h:
2627         Some more spiffifying.
2628
2629         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
2630         Call peer linkfunction if we are a source pad. Totally fixes
2631         #317341
2632
2633         * gst/gstpad.c:
2634         Update docs, source pads should call the peer linkfunction
2635         so they can atomically perform the pad link.
2636
2637 2005-11-09  Wim Taymans  <wim@fluendo.com>
2638
2639         * gst/gstbuffer.c:
2640         * gst/gstbuffer.h:
2641         Uber-spiffy-spiffify some more.
2642
2643 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
2644
2645         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
2646         * gst/elements/gstfilesink.c: (gst_file_sink_init):
2647         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2648         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
2649         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
2650         * gst/gstpad.c: (gst_pad_init):
2651           Use GST_DEBUG_FUNCPTR() more extensively.
2652
2653 2005-11-09  Wim Taymans  <wim@fluendo.com>
2654
2655         * gst/gstobject.c: (gst_object_class_init):
2656         * gst/gstobject.h:
2657         Documentation fixes.
2658
2659 2005-11-09  Edward Hervey  <edward@fluendo.com>
2660
2661         * gst/gsttypefindfactory.c:
2662         Fix docs.
2663         
2664 2005-11-09  Edward Hervey  <edward@fluendo.com>
2665
2666         * gst/base/gsttypefindhelper.c:
2667         * gst/gsttypefind.c:
2668         * gst/gsttypefind.h:
2669         Fix docs.
2670
2671 2005-11-09  Wim Taymans  <wim@fluendo.com>
2672
2673         * gst/gstiterator.c:
2674         Fix revision data.
2675
2676         * gst/gsttask.c:
2677         * gst/gsttask.h:
2678         Fix docs.
2679
2680 2005-11-09  Wim Taymans  <wim@fluendo.com>
2681
2682         * gst/gstevent.h:
2683         * gst/gsturi.h:
2684         Fix docs.
2685
2686 2005-11-09  Wim Taymans  <wim@fluendo.com>
2687
2688         * docs/gst/gstreamer-sections.txt:
2689         Moved the message async delivery private lock and cond
2690         to the private section.
2691
2692         * gst/gstmessage.c:
2693         * gst/gstmessage.h:
2694         Fixed docs.
2695
2696 2005-11-09  Edward Hervey  <edward@fluendo.com>
2697
2698         * docs/gst/gstreamer-sections.txt:
2699         * gst/gsturi.c:
2700         * gst/gsturi.h:
2701         Document GstURIHandler
2702
2703 2005-11-09  Wim Taymans  <wim@fluendo.com>
2704
2705         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
2706         (gst_iterator_find_custom):
2707         * gst/gstiterator.h:
2708         Fix iterator docs.
2709
2710 2005-11-09  Wim Taymans  <wim@fluendo.com>
2711
2712         * gst/gstbin.h:
2713         Document another field.
2714
2715         * gst/gststructure.c:
2716         * gst/gststructure.h:
2717         Document.
2718
2719 2005-11-09  Wim Taymans  <wim@fluendo.com>
2720
2721         * gst/gstbin.h:
2722         Documented structs.
2723
2724 2005-11-09  Wim Taymans  <wim@fluendo.com>
2725
2726         * docs/gst/gstreamer-sections.txt:
2727         Added some new macros.
2728
2729         * gst/gstclock.c:
2730         * gst/gstclock.h:
2731         * gst/gstobject.h:
2732         Docs updates.
2733
2734 2005-11-09  Wim Taymans  <wim@fluendo.com>
2735
2736         * docs/design/part-TODO.txt:
2737         Some more items for the TODO
2738
2739         * gst/gstcaps.c:
2740         * gst/gstcaps.h:
2741         Document GstCaps.
2742
2743 2005-11-09  Andy Wingo  <wingo@pobox.com>
2744
2745         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
2746         to work on something else now tho...
2747
2748         * gst/base/gstadapter.c: More adapter docs.
2749
2750         * gst/elements/gstfilesink.c (gst_file_sink_start) 
2751         (gst_file_sink_stop): New functions, replace the state change
2752         handler.
2753         (gst_file_sink_class_init): Hook up the start and stop functions.
2754         (gst_file_sink_base_init): Don't set the state change handler any
2755         more. It was a bit ugly too, being set from here...
2756         (gst_file_sink_get_property, gst_file_sink_set_property):
2757         Cleanups...
2758         (gst_file_sink_set_location): More robust check that doesn't call
2759         GST_STATE. Ugggggg.
2760
2761 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
2762
2763         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2764           Hold STREAM_LOCK while pushing newsegment or tag events as well.
2765
2766 2005-11-08  Wim Taymans  <wim@fluendo.com>
2767
2768         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2769         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
2770         (gst_base_sink_chain), (gst_base_sink_change_state):
2771         * gst/base/gstbasesink.h:
2772         * gst/base/gstbasesrc.h:
2773         * gst/gstelement.h:
2774         * gst/gstevent.h:
2775         Avoid excessive typechecking in macros.
2776
2777         * gst/gstminiobject.c: (gst_mini_object_get_type),
2778         (gst_mini_object_init), (gst_mini_object_new),
2779         (gst_mini_object_free):
2780         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
2781         (gst_object_finalize):
2782         Remove cruft code, optimize alloc_trace.
2783
2784 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2785
2786         * docs/faq/gst-uninstalled:
2787           fix up PS1 for systems that try to reset it
2788
2789 2005-11-07  Wim Taymans  <wim@fluendo.com>
2790
2791         * gst/base/gstbasesrc.c: (gst_base_src_init),
2792         (gst_base_src_get_range):
2793         Set the segment_end to -1 initially. Fixed typefind.
2794
2795 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2796
2797         * gst/base/gstadapter.c:
2798           Debug category should be 'adapter', not 'GstAdapter'.
2799           
2800         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
2801         (gst_collectpads_class_init), (gst_collectpads_init),
2802         (gst_collectpads_peek), (gst_collectpads_pop),
2803         (gst_collectpads_event), (gst_collectpads_chain):
2804           Add debug category and some debugging output. Use boilerplate
2805           macros. Remove some extraneous words from docs.
2806
2807 2005-11-05  Andy Wingo  <wingo@pobox.com>
2808
2809         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
2810         macro.
2811
2812 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2813
2814         * docs/gst/gstreamer-sections.txt:
2815         * gst/gstcaps.h:
2816         * gst/gstinfo.c:
2817         * gst/gstminiobject.h:
2818         * gst/gstobject.h:
2819         * gst/gstutils.h:
2820           more docs added
2821
2822 2005-11-04  Wim Taymans  <wim@fluendo.com>
2823
2824         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2825         Small update to stop at the configured segment_end
2826         position.
2827
2828 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2829
2830         * gst/gstregistry.c:
2831         * gst/gstregistry.h:
2832           added missing docs
2833
2834 2005-11-04  Edward Hervey  <edward@fluendo.com>
2835
2836         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2837         Check if we are doing a segment seek and have arrived at the
2838         end of that segment.
2839
2840 2005-11-04  Wim Taymans  <wim@fluendo.com>
2841
2842         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
2843         Don't leak a mutex unlock in case of an error.
2844
2845         * gst/gstbus.h:
2846         Doc fixes.
2847
2848 2005-11-04  Wim Taymans  <wim@fluendo.com>
2849
2850         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
2851         (gst_bus_post):
2852         Get the context to wake up only once.
2853
2854 2005-11-03  Wim Taymans  <wim@fluendo.com>
2855
2856         * check/states/sinks.c: (GST_START_TEST):
2857         Uncomment fixed check.
2858
2859         * docs/design/part-TODO.txt:
2860         Updated TODO.
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         If we are going to PLAYING, post the right pending state
2866         when we post the intermediate paused message.
2867
2868         * gst/gstelement.c: (gst_element_continue_state),
2869         (gst_element_set_state_func), (gst_element_change_state):
2870         Don't post state changes that were between the same state
2871         and were not ASYNC.
2872
2873 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2874
2875         * docs/gst/gstreamer-sections.txt:
2876         * gst/gstcaps.h:
2877         * gst/gstinfo.c:
2878         * gst/gstminiobject.h:
2879         * gst/gstobject.h:
2880         * gst/gstutils.h:
2881           more docs and doc style fixes
2882
2883 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2884
2885         * docs/gst/gstreamer-sections.txt:
2886         * gst/gstelement.c:
2887         * gst/gstminiobject.c:
2888         doc fixes
2889
2890 2005-11-03  Andy Wingo  <wingo@pobox.com>
2891
2892         * check/states/sinks.c (test_livesrc_sink): Add checks that the
2893         state-changed messages actually have the right order and the right
2894         values.
2895
2896 2005-11-03  Wim Taymans  <wim@fluendo.com>
2897
2898         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
2899         Added some more checks. Specifically the case where NO_PREROLL
2900         elements are in the pipeline.
2901
2902         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2903         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2904         (gst_base_sink_get_position):
2905         Post READY->PAUSED state change messages too.
2906         Fix bug where VOID was posted as pending state...
2907
2908         * gst/gstbin.c: (gst_bin_recalc_state):
2909         use _element_continue_state() to continue the state change.
2910
2911         * gst/gstelement.c: (gst_element_continue_state),
2912         (gst_element_commit_state), (gst_element_set_state_func),
2913         (gst_element_change_state), (gst_element_change_state_func):
2914         Lots of state change cleanups, assign the STATE_RETURN in
2915         a new continue_state() function that also propagates the
2916         last return value from a state change to the app.
2917         Update some debug statements with proper category.
2918
2919 2005-11-03  Wim Taymans  <wim@fluendo.com>
2920
2921         * docs/design/part-events.txt:
2922         * docs/design/part-gstpipeline.txt:
2923         * docs/design/part-messages.txt:
2924         * docs/design/part-overview.txt:
2925         * docs/design/part-seeking.txt:
2926         * docs/design/part-states.txt:
2927         * docs/design/part-trickmodes.txt:
2928         * docs/manual/advanced-position.xml:
2929         Small docs updates.
2930
2931         * gst/gstobject.h:
2932         People think !! is ugly, this looks better.
2933
2934         * gst/gstpad.c: (gst_pad_set_blocked_async):
2935         Remove !! since it's fixed elsewhere now.
2936
2937 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2938
2939         * gst/gstminiobject.h:
2940         * gst/gstobject.h:
2941           Add !! to _FLAG_IS_SET macros to make the result boolean.
2942
2943 2005-11-03  Edward Hervey  <edward@fluendo.com>
2944
2945         * gst/gstpad.c: (gst_pad_set_blocked_async):
2946         comparing a flag and a gboolean rarely returns coherent results...
2947         Added two characters (!!) to make that work correctly.
2948         
2949 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2950
2951         * gst/gstbus.c: (gst_bus_class_init):
2952           Fix some typos.
2953           
2954         * gst/gstqueue.c: (gst_queue_loop):
2955           Don't assume a miniobject that isn't a buffer is an
2956           event (it could be that there is a refcounting
2957           problem somewhere and the pointer is stale and
2958           refers to an already destroyed miniobject).
2959
2960 2005-11-03  Julien MOUTTE  <julien@moutte.net>
2961
2962         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
2963
2964 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2965
2966         * docs/manual/advanced-position.xml:
2967           Update seek example and explanations to current 0.9 API.
2968
2969         * gst/elements/gsttypefindelement.c:
2970         (gst_type_find_element_activate):
2971           Remove FIXME comment now that the found caps
2972           are unreffed.
2973
2974 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2975
2976         * gst/gstregistryxml.c: (load_feature):
2977           Add another GST_STR_NULL instance
2978
2979 2005-11-02  Edward Hervey  <edward@fluendo.com>
2980
2981         * gst/gstpad.c: (handle_pad_block):
2982         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
2983         
2984 2005-11-02  Wim Taymans  <wim@fluendo.com>
2985
2986         * gst/gstbin.c:
2987         Fix typo in docs.
2988
2989         * gst/gstelement.c: (gst_element_commit_state):
2990         Remove unused value.
2991
2992         * gst/gstiterator.c:
2993         Mention that the returned element is reffed in the docs.
2994
2995 2005-11-02  Wim Taymans  <wim@fluendo.com>
2996
2997         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
2998         (gst_pad_push), (gst_pad_push_event):
2999         Unlock blocked pads when they are flushed.
3000
3001 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3002
3003         * docs/README:
3004         * docs/gst/gstreamer-sections.txt:
3005         * gst/gstbin.c:
3006           doc updates
3007         * gst/gstregistry.c: (gst_registry_scan_path_level):
3008           fix for a nasty little missed situation where an installed plug-in
3009           which was in the cache did not get overridden by an uninstalled one
3010           which was earlier in the plugin path because the newly created plugin
3011           for the uninstalled one (not in the registry) didn't get its
3012           ->registered set to TRUE
3013
3014 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3015
3016         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
3017         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
3018         (gst_collectpads_is_active), (gst_collectpads_collect),
3019         (gst_collectpads_collect_range), (gst_collectpads_start),
3020         (gst_collectpads_stop), (gst_collectpads_peek),
3021         (gst_collectpads_pop), (gst_collectpads_available),
3022         (gst_collectpads_read), (gst_collectpads_flush):
3023           Guard public API with assertions.
3024         
3025         * gst/gstpad.c:
3026           Fix docs for gst_pad_set_link_function().
3027
3028 2005-11-02  Johan Dahlin  <johan@gnome.org>
3029
3030         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
3031         Unref found_caps after we used it.
3032
3033 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3034
3035         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
3036           Don't try to ref NULL.
3037
3038 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3039
3040         * win32/common/config.h.in:
3041           provide a GST_FUNCTION that just gives a string for now
3042
3043 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3044
3045         * win32/common/gstenumtypes.c: (register_gst_object_flags),
3046         (gst_object_flags_get_type), (register_gst_bin_flags),
3047         (gst_bin_flags_get_type), (register_gst_buffer_flag),
3048         (gst_buffer_flag_get_type), (register_gst_bus_flags),
3049         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3050         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
3051         (gst_clock_return_get_type), (register_gst_clock_entry_type),
3052         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3053         (gst_clock_flags_get_type), (register_gst_state),
3054         (gst_state_get_type), (register_gst_state_change_return),
3055         (gst_state_change_return_get_type), (register_gst_state_change),
3056         (gst_state_change_get_type), (register_gst_element_flags),
3057         (gst_element_flags_get_type), (register_gst_core_error),
3058         (gst_core_error_get_type), (register_gst_library_error),
3059         (gst_library_error_get_type), (register_gst_resource_error),
3060         (gst_resource_error_get_type), (register_gst_stream_error),
3061         (gst_stream_error_get_type), (register_gst_event_type),
3062         (gst_event_type_get_type), (register_gst_seek_type),
3063         (gst_seek_type_get_type), (register_gst_seek_flags),
3064         (gst_seek_flags_get_type), (register_gst_format),
3065         (gst_format_get_type), (register_gst_index_certainty),
3066         (gst_index_certainty_get_type), (register_gst_index_entry_type),
3067         (gst_index_entry_type_get_type),
3068         (register_gst_index_lookup_method),
3069         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3070         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3071         (gst_index_resolver_method_get_type), (register_gst_index_flags),
3072         (gst_index_flags_get_type), (register_gst_debug_level),
3073         (gst_debug_level_get_type), (register_gst_debug_color_flags),
3074         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3075         (gst_iterator_result_get_type), (register_gst_iterator_item),
3076         (gst_iterator_item_get_type), (register_gst_message_type),
3077         (gst_message_type_get_type), (register_gst_mini_object_flags),
3078         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3079         (gst_pad_link_return_get_type), (register_gst_flow_return),
3080         (gst_flow_return_get_type), (register_gst_activate_mode),
3081         (gst_activate_mode_get_type), (register_gst_pad_direction),
3082         (gst_pad_direction_get_type), (register_gst_pad_flags),
3083         (gst_pad_flags_get_type), (register_gst_pad_presence),
3084         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3085         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3086         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3087         (gst_plugin_error_get_type), (register_gst_plugin_flags),
3088         (gst_plugin_flags_get_type), (register_gst_rank),
3089         (gst_rank_get_type), (register_gst_query_type),
3090         (gst_query_type_get_type), (register_gst_tag_merge_mode),
3091         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3092         (gst_tag_flag_get_type), (register_gst_task_state),
3093         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3094         (gst_alloc_trace_flags_get_type),
3095         (register_gst_type_find_probability),
3096         (gst_type_find_probability_get_type), (register_gst_uri_type),
3097         (gst_uri_type_get_type), (register_gst_parse_error),
3098         (gst_parse_error_get_type):
3099         * win32/common/gstversion.h:
3100           update win32 copies
3101
3102 2005-11-01  Luca Ognibene  <luogni@tin.it>
3103
3104         * gst/gst.c:
3105           fix docs. popt is dead, long live GOption.
3106
3107 2005-10-31  Wim Taymans  <wim@fluendo.com>
3108
3109         * gst/gstbuffer.h:
3110         Small doc fix.
3111
3112 2005-10-31  Andy Wingo  <wingo@pobox.com>
3113
3114         * Boo!
3115
3116         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
3117
3118         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
3119         need to serialize property notifications on GLib 2.8. GLib 2.6 has
3120         the possibility of deadlocks here if code calling notify() or
3121         set() has a lock that can be taken in another notify handler (ABBA
3122         with class lock and e.g. python GIL state lock).
3123
3124 2005-10-28  Julien MOUTTE  <julien@moutte.net>
3125
3126         * gst/gstbus.c: Doc updates.
3127
3128 2005-10-28  Wim Taymans  <wim@fluendo.com>
3129
3130         * docs/design/part-TODO.txt:
3131         * gst/gstiterator.c:
3132         * gst/gstsystemclock.c:
3133         * gst/gstsystemclock.h:
3134         Doc updates.
3135
3136 2005-10-28  Edward Hervey  <edward@fluendo.com>
3137
3138         * docs/gst/gstreamer-docs.sgml:
3139         * docs/gst/gstreamer-sections.txt:
3140         the GstURIType documentation page is private, it only defines GstURIType
3141         which should be defined in the GstURIHandler page
3142         
3143 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3144
3145         * gst/gstbin.c: (gst_bin_class_init):
3146         * gst/gstbin.h:
3147         * gst/gstutils.c:
3148         Documentation updates.
3149
3150 2005-10-28  Wim Taymans  <wim@fluendo.com>
3151
3152         * docs/gst/gstreamer-sections.txt:
3153         * gst/gstclock.c:
3154         * gst/gstclock.h:
3155         Documented the clocks.
3156
3157 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
3158
3159         * docs/gst/gstreamer-sections.txt:
3160           move some macros to private sections
3161         * gst/gstminiobject.c:
3162         * gst/gstminiobject.h:
3163           add descriptions provided by ds and some more
3164         * gst/gstpad.h:
3165           mark macro as to be removed
3166
3167 2005-10-28  Wim Taymans  <wim@fluendo.com>
3168
3169         * docs/design/part-TODO.txt:
3170         Add an item to TODO.
3171
3172         * gst/gstiterator.c: (gst_iterator_fold),
3173         (gst_iterator_find_custom):
3174         * gst/gstiterator.h:
3175         Add iterator docs.
3176
3177 2005-10-28  Wim Taymans  <wim@fluendo.com>
3178
3179         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3180         (gst_base_transform_init):
3181         Don't leak class.
3182
3183         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3184         An EOS event marks the queue as completely filled.
3185
3186 2005-10-27  Wim Taymans  <wim@fluendo.com>
3187
3188         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3189         (gst_base_sink_do_sync), (gst_base_sink_get_position):
3190         Some more debugging.
3191
3192         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3193         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3194         (gst_base_transform_event), (gst_base_transform_getrange),
3195         (gst_base_transform_chain):
3196         * gst/base/gstbasetransform.h:
3197         Fix debugging,
3198         Protect transform and concurrent buffer alloc with a new lock.
3199         Try not to break ABI/API.
3200
3201 2005-10-27  Wim Taymans  <wim@fluendo.com>
3202
3203         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3204         (gst_base_src_init), (gst_base_src_query),
3205         (gst_base_src_default_newsegment),
3206         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3207         (gst_base_src_send_event), (gst_base_src_event_handler),
3208         (gst_base_src_pad_get_range), (gst_base_src_loop),
3209         (gst_base_src_unlock), (gst_base_src_default_negotiate),
3210         (gst_base_src_start), (gst_base_src_deactivate),
3211         (gst_base_src_activate_push), (gst_base_src_change_state):
3212         Move some stuff around and cleanup things.
3213
3214 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
3215
3216         * gst/base/gstbasesrc.c: (gst_base_src_query):
3217           Add missing break statements.
3218
3219 2005-10-27  Wim Taymans  <wim@fluendo.com>
3220
3221         * check/gst/gstbin.c: (GST_START_TEST):
3222         An extra refcount is taken in basesrc.
3223
3224         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3225         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3226         (gst_base_src_loop):
3227         Small cleanups, check for flushing after being unlocked from the 
3228         LIVE_LOCK. take refcounts correctly (not yet everywhere).
3229         Don't send out EOS when going to READY.
3230
3231 2005-10-27  Wim Taymans  <wim@fluendo.com>
3232
3233         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3234         (gst_base_sink_get_position):
3235         Some more debug.
3236
3237         * gst/gstbin.c: (message_check), (bin_replace_message),
3238         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3239         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3240         (bin_query_duration_init), (bin_query_duration_fold),
3241         (bin_query_duration_done), (bin_query_generic_fold),
3242         (gst_bin_query):
3243         * tools/gst-launch.c: (main):
3244         Remove old option.
3245
3246 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
3247
3248         * examples/controller/audio-example.c: (main):
3249         * examples/queue/queue.c: (event_loop):
3250         * gst/base/gstbasetransform.h:
3251         * gst/gstelement.c: (gst_element_send_event):
3252         * gst/gstevent.h:
3253         * gst/gstpad.c: (gst_pad_send_event):
3254           fixing examples
3255           fixing docs typos
3256           changing log priority in error situations
3257
3258 2005-10-25  Wim Taymans  <wim@fluendo.com>
3259
3260         * gst/gstbin.c: (message_check), (bin_replace_message),
3261         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3262         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3263         (bin_query_duration_init), (bin_query_duration_fold),
3264         (bin_query_duration_done), (bin_query_generic_fold),
3265         (gst_bin_query):
3266         Some doc and debug updates.
3267         Cache previously requested query DURATION for speed. invalidate
3268         cached duration if element posts a DURATION message.
3269
3270 2005-10-25  Wim Taymans  <wim@fluendo.com>
3271
3272         * docs/design/part-TODO.txt:
3273         Update TODO.
3274
3275         * gst/gstbin.c: (message_check), (bin_replace_message),
3276         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3277         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3278         (bin_query_duration_init), (bin_query_duration_fold),
3279         (bin_query_duration_done), (bin_query_generic_fold),
3280         (gst_bin_query):
3281         Handle SEGMENT_START/DONE messages correctly.
3282         More evolved query algorithm that handles duration queries
3283         correctly.
3284
3285         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3286         (gst_element_get_state_func), (gst_element_abort_state),
3287         (gst_element_commit_state), (gst_element_lost_state):
3288         Some more debugging.
3289
3290         * gst/gstmessage.h:
3291         Added doc.
3292
3293 2005-10-25  Wim Taymans  <wim@fluendo.com>
3294
3295         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3296         Don't use invalid stream_time.
3297
3298         * gst/gstevent.c: (gst_event_new_newsegment):
3299         stream_time in newsegment cannot be undefined.
3300
3301 2005-10-24  Wim Taymans  <wim@fluendo.com>
3302
3303         * gst/gstbus.c:
3304         Doc fix.
3305
3306         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3307         (gst_queue_loop):
3308         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3309
3310 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
3311
3312         * docs/libs/tmpl/gstdparam.sgml:
3313         * docs/libs/tmpl/gstdplinint.sgml:
3314         * docs/libs/tmpl/gstdpman.sgml:
3315         * docs/libs/tmpl/gstdpsmooth.sgml:
3316         * docs/libs/tmpl/gstunitconvert.sgml:
3317           these are obsolete
3318
3319 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3320
3321         * configure.ac:
3322           back to HEAD
3323
3324 === release 0.9.4 ===
3325
3326 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3327
3328         * configure.ac:
3329           releasing 0.9.4, "Tyrannosaurus Rex"
3330
3331 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
3332
3333         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3334         (gst_file_sink_get_current_offset):
3335           Use fseeko() and ftello() if available. When falling back on
3336           lseek() to get the current offset, fflush() first to make sure
3337           everything is up-to-date and we get the right offset.
3338
3339 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3340
3341         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3342         * gst/base/gstbasesrc.c: (gst_base_src_loop):
3343         * gst/gsterror.c: (_gst_stream_errors_init):
3344         * gst/gsterror.h:
3345         * gst/gstqueue.c: (gst_queue_loop):
3346         * po/POTFILES.in:
3347           remove prematurely added error category and clean up the instances
3348
3349 2005-10-21  Wim Taymans  <wim@fluendo.com>
3350
3351         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3352         (gst_base_sink_get_position), (gst_base_sink_query),
3353         (gst_base_sink_change_state):
3354         Simply set the right flag when going to playing, that's all
3355         we need to do instead of calling a function inside the object
3356         lock (that could take the lock as well and deadlock)
3357
3358 2005-10-21  Wim Taymans  <wim@fluendo.com>
3359
3360         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
3361         (gst_base_src_loop):
3362         Don't warn, the peer element knows what to do best when
3363         the seek failed, it might try something else.
3364
3365 2005-10-21  Wim Taymans  <wim@fluendo.com>
3366
3367         * gst/base/gstbasesrc.c: (gst_base_src_init),
3368         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3369         Fix seeking.
3370
3371 2005-10-21  Wim Taymans  <wim@fluendo.com>
3372
3373         * docs/design/part-segments.txt:
3374         More docs.
3375
3376         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3377         Correctly set caps, even on the subbufer.
3378
3379 2005-10-21  Wim Taymans  <wim@fluendo.com>
3380
3381         * docs/gst/gstreamer-docs.sgml:
3382         * docs/gst/gstreamer-sections.txt:
3383         * gst/gstelement.h:
3384         * gst/gstevent.c:
3385         * gst/gstevent.h:
3386         * gst/gstmessage.h:
3387         * gst/gstpad.h:
3388         * gst/gstparse.h:
3389         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
3390         * gst/gsttask.h:
3391         * gst/gstutils.c:
3392         * gst/gstutils.h:
3393         And 2% more doc coverage.
3394
3395 2005-10-21  Andy Wingo  <wingo@pobox.com>
3396
3397         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
3398         position reporting.
3399
3400 2005-10-20  Wim Taymans  <wim@fluendo.com>
3401
3402         * gst/gsterror.c: (gst_error_get_message):
3403         * gst/gstparse.h:
3404         * gst/gstquery.h:
3405         * gst/gststructure.c:
3406         * gst/gsttrace.c:
3407         * gst/gstutils.c:
3408         More docs.
3409
3410 2005-10-20  Wim Taymans  <wim@fluendo.com>
3411
3412         * gst/gstbuffer.h:
3413         * gst/gstpad.c:
3414         * gst/gstparse.c:
3415         Another 1% more coverage.
3416
3417 2005-10-20  Wim Taymans  <wim@fluendo.com>
3418
3419         * docs/gst/gstreamer-sections.txt:
3420         * gst/gstelement.c: (gst_element_get_state_func),
3421         (gst_element_abort_state), (gst_element_commit_state),
3422         (gst_element_lost_state):
3423         * gst/gstevent.h:
3424         * gst/gstquery.c: (gst_query_set_position),
3425         (gst_query_parse_position), (gst_query_set_duration),
3426         (gst_query_parse_duration), (gst_query_new_convert):
3427         * gst/gstutils.c:
3428         Yay! 1% more docs coverage.
3429
3430 2005-10-20  Wim Taymans  <wim@fluendo.com>
3431
3432         * gst/gstpad.h:
3433         * gst/gstquery.c: (gst_query_set_position),
3434         (gst_query_parse_position), (gst_query_set_duration),
3435         (gst_query_parse_duration), (gst_query_new_convert):
3436         * gst/gstquery.h:
3437         * gst/gstutils.c: (gst_element_query_convert):
3438         * gst/gstutils.h:
3439         Docs and consistency fixes.
3440
3441 2005-10-20  Wim Taymans  <wim@fluendo.com>
3442
3443         * gst/gsttask.c:
3444         * gst/gsttask.h:
3445         More docs.
3446
3447 2005-10-20  Wim Taymans  <wim@fluendo.com>
3448
3449         * gst/gstbin.c: (message_check), (bin_replace_message),
3450         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3451         (update_degree), (gst_bin_sort_iterator_next),
3452         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
3453         Reworked the message handling a bit, cache the messages instead of
3454         only the senders. alows us to do more in the future.
3455
3456 2005-10-20  Wim Taymans  <wim@fluendo.com>
3457
3458         * docs/design/part-TODO.txt:
3459         Update TODO
3460
3461         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3462         (gst_base_sink_query):
3463         Don't use clock time to report position when in EOS.
3464
3465 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
3466
3467         * tools/gst-inspect.c: (print_interfaces),
3468         (print_element_properties_info), (print_element_info):
3469           Fix interface output with gst-inspect -a; don't print
3470           newlines after double/float properties.
3471
3472 2005-10-20  Wim Taymans  <wim@fluendo.com>
3473
3474         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3475         (gst_base_sink_query):
3476         Speed up current position calculation.
3477
3478         * gst/base/gstbasesrc.c: (gst_base_src_query),
3479         (gst_base_src_default_newsegment):
3480         Correctly set stream position in newsegment.
3481
3482         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
3483         (update_degree), (gst_bin_sort_iterator_next),
3484         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
3485         * gst/gstmessage.c: (gst_message_new_custom):
3486         Clean up debugging info
3487
3488         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
3489         (gst_queue_loop), (gst_queue_handle_src_query):
3490         Pause task faster.
3491
3492 2005-10-19  Wim Taymans  <wim@fluendo.com>
3493
3494         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3495         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3496         Fix query handling again.
3497
3498 2005-10-19  Wim Taymans  <wim@fluendo.com>
3499
3500         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3501         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3502         * gst/base/gstbasesrc.c: (gst_base_src_query):
3503         * gst/elements/gstfilesink.c: (gst_file_sink_query):
3504         * gst/elements/gsttypefindelement.c:
3505         (gst_type_find_handle_src_query), (find_element_get_length),
3506         (gst_type_find_element_activate):
3507         API change fix.
3508
3509         * gst/gstquery.c: (gst_query_new_position),
3510         (gst_query_set_position), (gst_query_parse_position),
3511         (gst_query_new_duration), (gst_query_set_duration),
3512         (gst_query_parse_duration), (gst_query_set_segment),
3513         (gst_query_parse_segment):
3514         * gst/gstquery.h:
3515         Bundling query position/duration is not a good idea since duration
3516         does not change much and we don't want to recalculate it for every
3517         position query, so they are separated again..
3518         Base value in segment query is not needed.
3519
3520         * gst/gstqueue.c: (gst_queue_handle_src_query):
3521         * gst/gstutils.c: (gst_element_query_position),
3522         (gst_element_query_duration), (gst_pad_query_position),
3523         (gst_pad_query_duration):
3524         * gst/gstutils.h:
3525         Updates for query API change.
3526         Added some docs here and there.
3527
3528 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3529
3530         * check/gst/gstbin.c: (GST_START_TEST):
3531         * check/gst/gstghostpad.c: (GST_START_TEST):
3532         * check/pipelines/cleanup.c: (GST_START_TEST):
3533           wait on thread to die so we can check refcount correctly
3534
3535 2005-10-18  Wim Taymans  <wim@fluendo.com>
3536
3537         * check/pipelines/stress.c: (GST_START_TEST):
3538         Make check a little more time consuming.
3539
3540 2005-10-18  Wim Taymans  <wim@fluendo.com>
3541
3542         * check/Makefile.am:
3543         * check/pipelines/stress.c: (GST_START_TEST),
3544         (simple_launch_lines_suite), (main):
3545         Small state change torture test.
3546
3547         * docs/design/part-states.txt:
3548         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3549         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
3550         (gst_base_sink_change_state):
3551         Never take state lock from streaming thread, clean up ugly
3552         hacks. Unfortunatly core does not yet support nice ways to
3553         async commit state.
3554         
3555         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
3556         (bin_bus_handler):
3557         Start state recalc if a STATE_DIRTY message is posted, but only
3558         on the toplevel bin.
3559
3560         * gst/gstelement.c: (gst_element_sync_state_with_parent),
3561         (gst_element_get_state_func), (gst_element_abort_state),
3562         (gst_element_commit_state), (gst_element_lost_state),
3563         (gst_element_set_state_func), (gst_element_change_state):
3564         * gst/gstelement.h:
3565         State variables are now protected with the LOCK, the state
3566         lock is only used to serialize _set_state().
3567
3568 2005-10-18  Wim Taymans  <wim@fluendo.com>
3569
3570         * check/gst/gstbin.c: (GST_START_TEST):
3571         * check/gst/gstmessage.c: (GST_START_TEST):
3572         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3573         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
3574         (bin_bus_handler):
3575         * gst/gstelement.c: (gst_element_abort_state),
3576         (gst_element_commit_state), (gst_element_lost_state):
3577         * gst/gstmessage.c: (gst_message_new_state_changed),
3578         (gst_message_new_state_dirty), (gst_message_new_segment_start),
3579         (gst_message_new_segment_done), (gst_message_new_duration),
3580         (gst_message_parse_state_changed),
3581         (gst_message_parse_segment_start),
3582         (gst_message_parse_segment_done), (gst_message_parse_duration):
3583         * gst/gstmessage.h:
3584         * tools/gst-launch.c: (event_loop):
3585         Seriously, this is better than a previous commit as we only need
3586         to notify the fact that an element changed state in a streaming
3587         thread, marking the state of the parents dirty, hence the 
3588         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
3589         message.
3590
3591 2005-10-18  Wim Taymans  <wim@fluendo.com>
3592
3593         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
3594         (gst_bin_recalc_func):
3595         * gst/gstelement.c: (gst_element_set_clock),
3596         (gst_element_abort_state), (gst_element_lost_state):
3597         Cleanups, prepare for state change fixes.
3598
3599 2005-10-18  Wim Taymans  <wim@fluendo.com>
3600
3601         * gst/gstbin.h:
3602         * gst/gstelement.c: (gst_element_class_init),
3603         (gst_element_set_state), (gst_element_set_state_func):
3604         * gst/gstelement.h:
3605         Pending ABI changes.
3606         GThreadPool in GstBinClass to monitor async state changes.
3607         state_cookie in GstElement to detect concurrent gst/set state.
3608         set_state is now virtual too in case a very complicated element
3609         has to be constructed.
3610
3611 2005-10-18  Wim Taymans  <wim@fluendo.com>
3612
3613         * check/gst/gstbin.c: (GST_START_TEST):
3614         * check/gst/gstmessage.c: (GST_START_TEST):
3615         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3616         * gst/gstbin.c: (bin_bus_handler):
3617         * gst/gstelement.c: (gst_element_commit_state),
3618         (gst_element_lost_state):
3619         * gst/gstmessage.c: (gst_message_new_state_changed),
3620         (gst_message_new_segment_start), (gst_message_new_segment_done),
3621         (gst_message_new_duration), (gst_message_parse_state_changed),
3622         (gst_message_parse_segment_start),
3623         (gst_message_parse_segment_done), (gst_message_parse_duration):
3624         * gst/gstmessage.h:
3625         * tools/gst-launch.c: (event_loop):
3626         Make messages future proof.
3627         state-change gets a flag if it was a message comming from the
3628         streaming thread.
3629         segment-start/stop can also be specified in other formats.
3630         A message to notify an app that a pipeline changed playback 
3631         duration.
3632         Also fix a GstMessage leak in -launch
3633
3634 2005-10-18  Andy Wingo  <wingo@pobox.com>
3635
3636         * gst/gstelement.c (gst_element_dispose): More helpful message.
3637
3638 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3639
3640         reviewed by: <delete if not using a buddy>
3641
3642         * common/gtk-doc.mak:
3643
3644 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3645
3646         * gst/gstregistry.c: (gst_registry_scan_path_level):
3647           unref a plug-in we get that was already initialized
3648
3649 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
3650
3651         * docs/gst/gstreamer-sections.txt:
3652         * docs/libs/gstreamer-libs-sections.txt:
3653         * gst/gstelement.h:
3654           add new api entries
3655           hide internal macro
3656
3657 2005-10-17  Andy Wingo  <wingo@pobox.com>
3658
3659         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
3660         cleanup.
3661
3662         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
3663
3664         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
3665
3666         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
3667         (gst_element_get_state_func): Better debug message.
3668         (gst_element_commit_state): s/INFO/DEBUG/.
3669         (gst_element_lost_state, gst_element_change_state): 
3670
3671         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
3672         (gst_message_new_custom): s/INFO/LOG/.
3673
3674 2005-10-17  Michael Smith <msmith@fluendo.com>
3675
3676         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3677           Check if end time is valid using end time, not start time.
3678
3679 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
3680
3681         * check/gst-libs/controller.c: (GST_START_TEST),
3682         (gst_controller_suite):
3683         * libs/gst/controller/gstcontroller.c:
3684         (gst_controlled_property_set_interpolation_mode):
3685         * libs/gst/controller/gstcontroller.h:
3686         * libs/gst/controller/gstinterpolation.c:
3687         * testsuite/controller/.cvsignore:
3688         * testsuite/controller/Makefile.am:
3689         * testsuite/controller/interpolator.c:
3690           merge controller testsuites
3691           fix broken tests
3692           remove mem-chunk from docs
3693
3694 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3695
3696         * gst/gstmemchunk.c:
3697         * gst/gstmemchunk.h:
3698         * gst/gsttrashstack.c:
3699         * gst/gsttrashstack.h:
3700           out.  get out.  you're fired.  to the Attic !
3701
3702 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3703
3704         * gst/gstcaps.c: (gst_caps_intersect):
3705           fix signedness issues in a (hopefully) correct way
3706         * gst/gstelement.c: (gst_element_pads_activate):
3707           some debugging
3708         * gst/gstobject.c: (gst_object_set_parent):
3709           some debugging
3710
3711 2005-10-17  Julien MOUTTE  <julien@moutte.net>
3712
3713         * gst/gstvalue.h: Fix prototypes.
3714
3715 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3716
3717         * docs/gst/gstreamer-sections.txt:
3718         * gst/gst.c: (gst_version_string):
3719         * gst/gst.h:
3720         * gst/gstversion.h.in:
3721         * win32/common/libgstreamer.def:
3722           add gst_version_string ()
3723
3724 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3725
3726         * configure.ac:
3727           clean up further
3728         * gst/gst.c: (init_post):
3729         * win32/common/config.h.in:
3730           it's PLUGINDIR now
3731         * gst/gstcaps.c: (gst_caps_intersect):
3732           use gint64, the range could be bigger than a guint
3733
3734 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3735
3736         * gst/gstclock.h:
3737           document potential problem in 2038
3738
3739 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3740
3741         * gst/gstcaps.c: (gst_caps_intersect):
3742           Fix guint j diving under 0
3743
3744 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3745
3746         * configure.ac:
3747         * win32/common/config.h:
3748         * win32/common/config.h.in:
3749           check for process.h, declares getpid() on Windows
3750         * gst/gstinfo.c:
3751           include process.h if we have it
3752         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
3753         * gst/gstmemchunk.h:
3754           fix signedness issues
3755         * win32/common/libgstreamer.def:
3756           fix get_type's
3757
3758 2005-10-16  Julien MOUTTE  <julien@moutte.net>
3759
3760         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
3761         fix. Because of unsigned ints, caps intersection was going nuts and
3762         trying to access structures with G_MAXUINT index. That fixes
3763         videotestsrc ! ffmpegcolorspace ! fakesink
3764         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
3765         consistency.
3766
3767 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3768
3769         * configure.ac:
3770           use the gettext macro
3771         * gst/elements/gstelements.c:
3772         * gst/gst.c:
3773         * gst/indexers/gstindexers.c:
3774           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
3775         * win32/common/config.h:
3776           updated config.h
3777         * win32/common/config.h.in:
3778           add the template to generate config.h
3779         * win32/common/gstenumtypes.c:
3780         * win32/common/gstversion.h:
3781           updated copies
3782
3783 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3784
3785         * gst/gst.c: (gst_version):
3786         * gst/gstversion.h.in:
3787           add the nano
3788
3789 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3790
3791         * gst/gstevent.h:
3792           Oops, add missing closing bracket.
3793
3794 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3795
3796         * configure.ac:
3797           use common m4's for argument checking
3798
3799 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3800
3801         * docs/gst/gstreamer-sections.txt:
3802         * gst/gstevent.h:
3803           Add GST_EVENT_TYPE_NAME() macro.
3804
3805 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3806
3807         * gst/gstinfo.c:
3808         * gst/gstpluginfeature.c:
3809         * gst/gsttask.c:
3810           privatize more symbols
3811
3812 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3813
3814         * configure.ac:
3815           add srcdir, builddir includes to GST_ALL_CFLAGS, since
3816           everything that uses GStreamer API should have the includes
3817
3818 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3819
3820         * docs/gst/gstreamer-sections.txt:
3821         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
3822         * gst/gstvalue.h:
3823           give each value a _get_type, removes the DATA exports
3824
3825 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3826
3827         * gst/gst.c:
3828         * gst/gst.h:
3829           remove _gst_registry_auto_load, not used anymore
3830         * gst/gstbin.c: (gst_bin_get_type):
3831         * gst/gstbin.h:
3832         * gst/gstelement.c: (gst_element_get_type):
3833         * gst/gstelement.h:
3834         * gst/gstobject.c: (gst_object_get_type):
3835         * gst/gstobject.h:
3836         * gst/gstpad.c: (gst_pad_get_type):
3837         * gst/gstpad.h:
3838           make _get_type functions similar, fixes data export from library
3839
3840 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3841
3842         * configure.ac:
3843           correctly make conditionals
3844         * gst/elements/Makefile.am:
3845         * gst/elements/gstelements.c:
3846           fix typo causing fdsrc not to build
3847
3848 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3849
3850         * testsuite/Makefile.am:
3851         * testsuite/bytestream/.cvsignore:
3852         * testsuite/bytestream/Makefile.am:
3853         * testsuite/bytestream/filepadsink.c:
3854         * testsuite/bytestream/gstbstest.c:
3855         * testsuite/bytestream/test1.c:
3856         * testsuite/bytestream/testfile1:
3857         * testsuite/caps/normalisation.c:
3858         * testsuite/caps/random.c: (main):
3859         * testsuite/cleanup/.cvsignore:
3860         * testsuite/cleanup/Makefile.am:
3861         * testsuite/cleanup/cleanup1.c:
3862         * testsuite/cleanup/cleanup2.c:
3863         * testsuite/cleanup/cleanup3.c:
3864         * testsuite/cleanup/cleanup4.c:
3865         * testsuite/cleanup/cleanup5.c:
3866         * testsuite/controller/interpolator.c:
3867         * testsuite/debug/printf_extension.c: (main):
3868         * testsuite/elements/tee.c:
3869         * testsuite/negotiation/.cvsignore:
3870         * testsuite/negotiation/Makefile.am:
3871         * testsuite/negotiation/pad_link.c:
3872         * testsuite/pad/Makefile.am:
3873         * testsuite/pad/chainnopull.c:
3874         * testsuite/pad/getnopush.c:
3875         * testsuite/pad/link.c:
3876         * testsuite/refcounting/sched.c: (create_pipeline):
3877         * testsuite/registry/Makefile.am:
3878         * testsuite/registry/gst-print-formats.c:
3879         * testsuite/schedulers/.cvsignore:
3880         * testsuite/schedulers/142183-2.c:
3881         * testsuite/schedulers/142183.c:
3882         * testsuite/schedulers/143777-2.c:
3883         * testsuite/schedulers/143777.c:
3884         * testsuite/schedulers/147713.c:
3885         * testsuite/schedulers/147819.c:
3886         * testsuite/schedulers/147894-2.c:
3887         * testsuite/schedulers/147894.c:
3888         * testsuite/schedulers/Makefile.am:
3889         * testsuite/schedulers/group_link.c:
3890         * testsuite/schedulers/queue_link.c:
3891         * testsuite/schedulers/relink.c:
3892         * testsuite/schedulers/unlink.c:
3893         * testsuite/schedulers/unref.c:
3894         * testsuite/schedulers/useless_iteration.c:
3895         * testsuite/states/bin.c:
3896           clean out/remove some stuff from the testsuite directories
3897
3898 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3899
3900         * configure.ac:
3901           check for some headers
3902         * gst/elements/Makefile.am:
3903         * gst/elements/gstelements.c:
3904           don't compile fdsrc without sys/socket.h
3905         * gst/indexers/Makefile.am:
3906         * gst/indexers/gstindexers.c: (plugin_init):
3907           don't compile fileindex without mmap
3908
3909 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3910
3911         * configure.ac:
3912           reorganize
3913           clean up
3914           document more
3915           remove cruft
3916         * check/Makefile.am:
3917         * docs/gst/Makefile.am:
3918         * examples/helloworld/Makefile.am:
3919         * gst/Makefile.am:
3920         * gst/base/Makefile.am:
3921         * gst/check/Makefile.am:
3922         * gst/elements/Makefile.am:
3923         * gst/indexers/Makefile.am:
3924         * gst/parse/Makefile.am:
3925         * libs/gst/controller/Makefile.am:
3926         * libs/gst/dataprotocol/Makefile.am:
3927         * examples/helloworld/helloworld.c: (event_loop):
3928           compile fixes, though it's not being compiled currently
3929
3930 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3931
3932         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
3933           Add some simple tests for the new taglist date API.
3934
3935 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3936
3937         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
3938         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
3939           Beautify 'last-message' output: print 'none' for buffer timestamps
3940           and durations if none is set; improve alignment with next messages.
3941
3942 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3943
3944         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
3945         * gst/gstpluginfeature.h:
3946         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
3947         * gst/gstregistry.h:
3948         * docs/gst/gstreamer-sections.txt:
3949           Add new API to check plugin feature version requirements.
3950
3951         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
3952           Some basic tests for the above.         
3953
3954 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3955
3956         * gst/gststructure.c: (gst_structure_to_string):
3957           guard against NULL printf - happens when for example
3958           a message structure with GstClock gets serialized
3959
3960 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3961
3962         * gst/base/gstcollectpads.c: (gst_collectpads_event):
3963           Fix presumable copy'n'pasto.
3964
3965 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3966
3967         * gst/elements/gstfakesrc.h:
3968         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
3969         * gst/elements/gsttypefindelement.c:
3970           fix some signedness
3971         * gst/elements/gstfilesink.c: (gst_file_sink_render):
3972           I wonder if this could actually write +2GB files before
3973
3974 2005-10-13  Andy Wingo  <wingo@pobox.com>
3975
3976         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
3977         Fix Timmeke Waymans bug.
3978         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
3979         string of the proper length to gst_caps_from_string. There's a
3980         potential for, before this fix, that this could cause someone
3981         connecting over the network to cause a segfault if the payload is
3982         not NUL-terminated.
3983
3984 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3985
3986         * docs/design/draft-push-pull.txt:
3987         * docs/design/part-overview.txt:
3988         * docs/random/TODO-pre-0.9:
3989         * docs/random/old/ChangeLog.gstreamer:
3990         * gst/base/gstpushsrc.c:
3991         * gst/gstclock.c:
3992           fixed typos
3993
3994 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3995
3996         * gst/glib-compat.c: (gst_flags_get_first_value):
3997         * gst/glib-compat.h:
3998         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
3999         (gst_value_compare_double), (gst_value_serialize_flags):
4000           GLib 2.6 g_flags_get_first_value has a bug that triggers an
4001           infinite loop
4002
4003 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4004
4005         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4006         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4007           fix up debugging
4008         * tools/gst-launch.c: (event_loop):
4009           print out clock nicely
4010
4011 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4012
4013         * docs/gst/gstreamer-sections.txt:
4014         * gst/gsttaglist.h:
4015         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
4016         (gst_tag_list_get_date_index):
4017           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
4018           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
4019
4020 2005-10-13  Julien MOUTTE  <julien@moutte.net>
4021
4022         * gst/base/gstcollectpads.c: (gst_collectpads_event),
4023         (gst_collectpads_chain):
4024         * gst/base/gstcollectpads.h: Handle newsegment and store informations
4025         in CollectData.
4026
4027 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4028
4029         * docs/gst/gstreamer-sections.txt:
4030         * gst/gst.c:
4031         * gst/gsterror.h:
4032         * tools/gst-inspect.c: (main):
4033         * tools/gst-launch.c: (main):
4034         * tools/gst-run.c: (main):
4035         * tools/gst-xmlinspect.c: (main):
4036           fix GOption context leaks
4037           doc fixes
4038
4039 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4040
4041         * gst/gstbus.c:
4042           use HAVE_UNISTD_H
4043         * win32/common/config.h:
4044           update config
4045         * win32/vs6/grammar.dsp:
4046         * win32/vs6/libgstelements.dsp:
4047         * win32/vs6/libgstreamer.dsp:
4048           update vs6 files
4049
4050 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4051
4052         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4053         * gst/base/gstbasesrc.c: (gst_base_src_query):
4054           fix more guint64<->gdouble conversions
4055
4056 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4057
4058         * Makefile.am:
4059           add win32-update target
4060         * win32/common/gstconfig.h:
4061         * win32/common/gstenumtypes.c:
4062         * win32/common/gstenumtypes.h:
4063         * win32/common/gstversion.h:
4064           add files that visual studio can't generate
4065
4066 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4067
4068         * Makefile.am:
4069           add a win32-update target
4070         * configure.ac:
4071
4072 2005-10-12  Wim Taymans  <wim@fluendo.com>
4073
4074         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4075         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
4076         * gst/gstelement.c: (gst_element_commit_state),
4077         (gst_element_set_state):
4078         Protect flags with proper lock.
4079         unref provided cached clock in dispose.
4080
4081 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4082
4083         * gst/gst.c:
4084         * gst/gstminiobject.h:
4085         * gst/gstpad.h:
4086         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
4087           removed unused flags from miniobject
4088           doc fixes
4089
4090 2005-10-12  Wim Taymans  <wim@fluendo.com>
4091
4092         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4093         (gst_file_sink_event), (gst_file_sink_render):
4094         Flush before seeking.
4095
4096 2005-10-12  Andy Wingo  <wingo@pobox.com>
4097
4098         * gst/gst.c (gst_init_check): Ignore unknown options, as has
4099         always been the case.
4100
4101 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4102
4103         * check/gst/gstbin.c: (GST_START_TEST):
4104         * docs/gst/gstreamer-sections.txt:
4105         * gst/base/gstbasesink.c: (gst_base_sink_init):
4106         * gst/base/gstbasesrc.c: (gst_base_src_init),
4107         (gst_base_src_get_range), (gst_base_src_check_get_range),
4108         (gst_base_src_start), (gst_base_src_stop):
4109         * gst/base/gstbasesrc.h:
4110         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
4111         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4112         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
4113         (bin_bus_handler):
4114         * gst/gstbin.h:
4115         * gst/gstbuffer.h:
4116         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
4117         * gst/gstbus.h:
4118         * gst/gstelement.c: (gst_element_is_locked_state),
4119         (gst_element_set_locked_state), (gst_element_commit_state),
4120         (gst_element_set_state):
4121         * gst/gstelement.h:
4122         * gst/gstindex.c: (gst_index_init):
4123         * gst/gstindex.h:
4124         * gst/gstminiobject.h:
4125         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
4126         (gst_object_set_parent):
4127         * gst/gstobject.h:
4128         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4129         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4130         * gst/gstpad.h:
4131         * gst/gstpadtemplate.h:
4132         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4133         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4134         * gst/gstpipeline.h:
4135         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4136         (gst_file_index_commit):
4137         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4138         * testsuite/pad/link.c: (gst_test_src_init),
4139         (gst_test_filter_init), (gst_test_sink_init):
4140         * testsuite/states/locked.c: (main):
4141           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
4142           moved bitshift from macro to enum definition
4143
4144 2005-10-12  Wim Taymans  <wim@fluendo.com>
4145
4146         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
4147         * gst/elements/gstfilesink.c: (gst_file_sink_event),
4148         (gst_file_sink_render):
4149         Some more debugging info.
4150
4151 2005-10-12  Wim Taymans  <wim@fluendo.com>
4152
4153         * docs/design/part-states.txt:
4154         * tools/gst-launch.c: (main):
4155         Some doc updates.
4156         Revert non-intentional change.
4157
4158 2005-10-12  Wim Taymans  <wim@fluendo.com>
4159
4160         * check/gst/gstbin.c: (GST_START_TEST):
4161         * check/gst/gstelement.c: (GST_START_TEST):
4162         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4163         * check/gst/gstghostpad.c: (GST_START_TEST):
4164         * check/gst/gstpipeline.c: (GST_START_TEST):
4165         * check/pipelines/simple_launch_lines.c: (run_pipeline):
4166         * check/states/sinks.c: (GST_START_TEST):
4167         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4168         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4169         (gst_bin_remove_func), (gst_bin_get_state_func),
4170         (gst_bin_recalc_state), (gst_bin_change_state_func),
4171         (bin_bus_handler):
4172         * gst/gstelement.c: (gst_element_get_state_func),
4173         (gst_element_get_state), (gst_element_abort_state),
4174         (gst_element_commit_state), (gst_element_set_state),
4175         (gst_element_change_state), (gst_element_change_state_func):
4176         * gst/gstelement.h:
4177         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4178         (gst_pipeline_provide_clock_func):
4179         * gst/gstutils.c: (gst_element_link_pads_filtered):
4180         * tools/gst-launch.c: (main):
4181         * tools/gst-typefind.c: (main):
4182         Use GstClockTime in _get_state() instead of GTimeVal.
4183         Remove old code in gstutils.c
4184
4185 2005-10-12  Andy Wingo  <wingo@pobox.com>
4186
4187         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4188         removed.
4189
4190         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4191         there is no task. Shouldn't affect any code, as nothing in our
4192         plugins checks this return value.
4193         (gst_pad_stop_task): Also take the stream lock if the pad has no
4194         task. Docs updated.
4195
4196 2005-10-12  Wim Taymans  <wim@fluendo.com>
4197
4198         * gst/gstpad.c: (pre_activate), (post_activate),
4199         (gst_pad_activate_pull), (gst_pad_activate_push):
4200         Cleanup activation code. Reset old state if
4201         activation failed.
4202
4203 2005-10-12  Wim Taymans  <wim@fluendo.com>
4204
4205         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4206         (gst_base_sink_change_state):
4207         No need to prerol after receiving EOS.
4208
4209         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4210         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4211         * gst/elements/gstidentity.c: (gst_identity_event):
4212         Print events more verbosely.
4213
4214 2005-10-12  Wim Taymans  <wim@fluendo.com>
4215
4216         * check/Makefile.am:
4217         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4218         * check/states/sinks2.c:
4219         Moved sinks2 testcode in sinks check.
4220
4221         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4222         (gst_bin_remove_func), (gst_bin_recalc_state),
4223         (gst_bin_change_state_func), (bin_bus_handler):
4224         Fix potential race condition when _get_state() iterated over an
4225         ASYNC element right before it posted a state completion.
4226
4227         * gst/gstclock.h:
4228         Do proper cast here.
4229
4230         * gst/gstevent.c: (gst_event_new_newsegment),
4231         (gst_event_parse_newsegment):
4232         A playback rate of 0.0 is not allowed.
4233
4234 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4235
4236         * win32/common/config.h:
4237         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4238         (_trewinddir), (_ttelldir), (_tseekdir):
4239         * win32/common/dirent.h:
4240         * win32/common/gtchar.h:
4241         * win32/common/libgstbase.def:
4242         * win32/common/libgstreamer.def:
4243         * win32/vs6/grammar.dsp:
4244         * win32/vs6/gst_inspect.dsp:
4245         * win32/vs6/gst_launch.dsp:
4246         * win32/vs6/gstreamer.dsw:
4247         * win32/vs6/libgstbase.dsp:
4248         * win32/vs6/libgstelements.dsp:
4249         * win32/vs6/libgstreamer.dsp:
4250           Visual Studio 6 project files, and a new common directory.
4251           Phear.
4252
4253 2005-10-11  Wim Taymans  <wim@fluendo.com>
4254
4255         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4256         (gst_base_sink_do_sync), (gst_base_sink_query),
4257         (gst_base_sink_change_state):
4258         * gst/base/gstbasesink.h:
4259         Correctly parse newsegment info.
4260
4261 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4262
4263         * gst/gst.c: (init_post):
4264           split plugin paths correctly
4265
4266 2005-10-11  Wim Taymans  <wim@fluendo.com>
4267
4268         * check/gst/gstevent.c: (GST_START_TEST):
4269         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4270         (gst_base_sink_change_state):
4271         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4272         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4273         * gst/elements/gstfilesink.c: (gst_file_sink_event):
4274         * gst/gstevent.c: (gst_event_new_newsegment),
4275         (gst_event_parse_newsegment):
4276         * gst/gstevent.h:
4277         Added extra flag to newsegment for future API freeze.
4278         Updated check and base elements.
4279
4280 2005-10-11  Julien MOUTTE  <julien@moutte.net>
4281
4282         * gst/base/gstcollectpads.c: (gst_collectpads_init),
4283         (gst_collectpads_add_pad), (gst_collectpads_pop),
4284         (gst_collectpads_event), (gst_collectpads_chain):
4285         * gst/base/gstcollectpads.h: Handle EOS correctly.
4286
4287 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4288
4289         * tools/gst-launch.c: (main):
4290           more null protecting
4291
4292 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4293
4294         * gst/gst-i18n-lib.h:
4295           check for ENABLE_NLS, not GETTEXT_PACKAGE
4296         * gst/gstregistry.c: (gst_registry_add_plugin),
4297         (gst_registry_scan_path_level),
4298         (_gst_registry_remove_cache_plugins):
4299           protect possibly NULL strings
4300         * gst/parse/types.h:
4301           config.h already included before
4302         * tools/gst-inspect.c: (main):
4303           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4304           check for ENABLE_NLS, not GETTEXT_PACKAGE
4305         * tools/gst-launch.c: (main):
4306           check for ENABLE_NLS, not GETTEXT_PACKAGE
4307
4308 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4309
4310         * configure.ac:
4311           if we don't have glib, fail before testing 2.8
4312         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4313           fix a leak, should fix plugins-base testsuite
4314
4315 2005-10-11  Andy Wingo  <wingo@pobox.com>
4316
4317         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4318         take the mode we're going to as an arg. Go head and set the mode
4319         and flushing flags now, so that if the activate function starts a
4320         thread all the flags will be in the right state.
4321         (post_activate): Renamed also. Just handle making sure streaming
4322         finishes for the deactivation case, and setting the deactivated
4323         mode.
4324         (gst_pad_set_active): Complain loudly if deactivation fails.
4325         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4326         (gst_pad_activate_push): Adapt to pre/post_activate changes,
4327         remove the terrible hack.
4328
4329 2005-10-11  Wim Taymans  <wim@fluendo.com>
4330
4331         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4332         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4333         (gst_bin_recalc_state), (gst_bin_change_state_func),
4334         (gst_bin_dispose), (bin_bus_handler):
4335         * gst/gstbin.h:
4336         Prepare to make current EOS message queue more generic.
4337         Fix some typos.
4338
4339         * gst/gstevent.c: (gst_event_new_newsegment),
4340         (gst_event_parse_newsegment):
4341         * gst/gstevent.h:
4342         Rename base to stream_time.
4343
4344         * gst/gstmessage.h:
4345         Fix typo in docs.
4346
4347 2005-10-11  Wim Taymans  <wim@fluendo.com>
4348
4349         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4350         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
4351         (gst_bin_change_state_func), (bin_bus_handler):
4352         * gst/gstbin.h:
4353         Work on proper clock selection.
4354
4355 2005-10-11  Edward Hervey  <edward@fluendo.com>
4356
4357         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
4358         * libs/gst/controller/gstcontroller.h:
4359         Added GList* version of _remove_properties() in order to be able to wrap
4360         it in bindings.
4361
4362 2005-10-11  Wim Taymans  <wim@fluendo.com>
4363
4364         * docs/design/part-states.txt:
4365         Some more docs.
4366
4367         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
4368         (gst_bin_change_state_func), (bin_bus_handler):
4369         Doc updates. Don't distribute the same clock over and over again.
4370
4371         * gst/gstclock.c:
4372         * gst/gstclock.h:
4373         Doc updates.
4374
4375         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
4376         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
4377         (gst_pad_send_event):
4378         * gst/gstpad.h:
4379         Make probe emission threadsafe again.
4380         Register quarks and move _get_name() from utils.
4381         Doc updates.
4382
4383         * gst/gstpipeline.c: (gst_pipeline_class_init),
4384         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4385         Only redistribute the clock of it changed.
4386
4387         * gst/gstsystemclock.h:
4388         Doc updates. 
4389
4390         * gst/gstutils.c:
4391         * gst/gstutils.h:
4392         Moved the _flow_get_name() to GstPad.
4393
4394 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4395
4396         * check/gst-libs/gdp.c: (GST_START_TEST):
4397         * check/gst/gstcaps.c: (GST_START_TEST):
4398         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
4399         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
4400         (gst_dp_packet_from_caps):
4401           fix more valgrind warnings before turning up the heat
4402
4403 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4404
4405         * gst/parse/grammar.y:
4406           some cleanup before the hacking
4407
4408 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4409
4410         * gst/base/gstbasesrc.c: (gst_base_src_query):
4411           use conversions
4412         * gst/gstutils.c: (gst_guint64_to_gdouble),
4413         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
4414         * gst/gstutils.h:
4415           externalize, basesrc uses it
4416           obviously the implementation needs testing
4417
4418 2005-10-10  Wim Taymans  <wim@fluendo.com>
4419
4420         * tests/sched/Makefile.am:
4421         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
4422         (make_pipeline3), (make_pipeline4), (print_elem), (main):
4423
4424 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4425
4426         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
4427           apparently converting from guint64 to double is not implemented
4428           on MSVC
4429
4430 2005-10-10  Wim Taymans  <wim@fluendo.com>
4431
4432         * check/Makefile.am:
4433         * check/generic/states.c: (GST_START_TEST):
4434         * check/gst/gstbin.c: (GST_START_TEST):
4435         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4436         * check/states/sinks.c: (GST_START_TEST):
4437         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
4438         (main):
4439         Check fixes, use API as stated in design docs, remove hacks.
4440
4441         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4442         (gst_base_sink_change_state):
4443         Catch stopping our task while we're shutting down.
4444
4445         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
4446         (gst_bin_remove_func), (gst_bin_get_state_func),
4447         (gst_bin_recalc_state), (gst_bin_change_state_func),
4448         (bin_bus_handler):
4449         * gst/gstbin.h:
4450         * gst/gstelement.c: (gst_element_init),
4451         (gst_element_get_state_func), (gst_element_abort_state),
4452         (gst_element_commit_state), (gst_element_lost_state),
4453         (gst_element_set_state), (gst_element_change_state),
4454         (gst_element_change_state_func):
4455         * gst/gstelement.h:
4456         New state change algorithm (see #318116)
4457
4458         * gst/gstpipeline.c: (gst_pipeline_class_init),
4459         (gst_pipeline_init), (gst_pipeline_set_property),
4460         (gst_pipeline_get_property), (do_pipeline_seek),
4461         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4462         * gst/gstpipeline.h:
4463         Remove crude state change hacks.
4464
4465         * gst/gstutils.h:
4466         Remove crude hacks.
4467
4468         * tools/gst-launch.c: (main):
4469         Fixes for state change. Needs some more work to fully use the
4470         new stuff.
4471
4472 2005-10-10  Andy Wingo  <wingo@pobox.com>
4473
4474         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
4475
4476         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
4477         this flag, but it's not even in GLib 2.6. Odd. Hack around the
4478         issue.
4479
4480 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4481
4482         * gst/gstiterator.c: (gst_iterator_new):
4483           Fix my previous commit: GTypes passed to gst_iterator_new()
4484           can be fundamental types.
4485
4486 2005-10-10  Wim Taymans  <wim@fluendo.com>
4487
4488         * gst/gstelement.c: (gst_element_iterate_pad_list),
4489         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
4490         (gst_element_iterate_sink_pads):
4491         Use src/sink pads lists for the respective iterators instead
4492         of filtering.
4493
4494 2005-10-10  Andy Wingo  <wingo@pobox.com>
4495
4496         Merged in popt removal + GOption addition patch from Ronald, bug
4497         #169772.
4498
4499         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
4500         GstElement macros around, remove popt-related symbols, add goption
4501         stuff.
4502
4503         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
4504         
4505         * docs/gst/Makefile.am:
4506         * docs/libs/Makefile.am: No POPT_CFLAGS.
4507         
4508         * examples/manual/Makefile.am:
4509         * docs/manual/basics-init.xml: Doc updates with an example.
4510         
4511         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4512         (gst_init), (parse_one_option), (parse_goption_arg):
4513         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
4514         bit of hand merging and debugging to get the GOption stuff working
4515         tho.
4516         
4517         * tests/Makefile.am:
4518         * tools/Makefile.am:
4519         * tools/gst-inspect.c: (main):
4520         * tools/gst-launch.c: (main):
4521         * tools/gst-run.c: (main):
4522         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
4523
4524 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4525
4526         * gst/gstiterator.c: (gst_iterator_new):
4527           Add assertions to make sure passed GType is likely to really
4528           be a GType (as the compiler won't catch it if the size and
4529           GType arguments get mixed up, see #318447).
4530
4531 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
4532
4533         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4534
4535         * gst/gstbin.c: (gst_bin_iterate_sorted):
4536           Pass GType and size arguments to gst_iterator_new() in the right
4537           order (maybe we should make _new() take the GType as first argument
4538           just like _new_list()?) (#318447).
4539           
4540
4541 2005-10-10  Wim Taymans  <wim@fluendo.com>
4542
4543         * gst/gstelement.c: (gst_element_finalize):
4544         And free the GStaticRecMutex too
4545
4546 2005-10-10  Andy Wingo  <wingo@pobox.com>
4547
4548         * gst/gstelement.c (gst_element_init, gst_element_finalize):
4549         Allocate and free the mutex properly.
4550
4551         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
4552         New macros.
4553         (GstElement): The state_lock is now recursive. Rebuild your
4554         plugins, suckers. Old macros adapted.
4555
4556         * docs/gst/gstreamer-sections.txt: Doc updates.
4557
4558         * gst/gstutils.h:
4559         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
4560         (g_static_rec_cond_wait): Ported from state changes patch, while
4561         we wait on bug #317802 to be solved in a well-distributed GLib.
4562
4563         * gst/gstelement.c (gst_element_change_state_func): Renamed from
4564         gst_element_change_state, variable name changes.
4565         (gst_element_change_state): Split out of gst_element_set_state in
4566         preparation for the state change merge. Doesn't pay attention to
4567         the 'transition' argument.
4568         (gst_element_set_state): Updates, hopefully purely cosmetic.
4569         (gst_element_sync_state_with_parent): MT-safety. Ported from the
4570         state change patch.
4571         (gst_element_get_state_func): Renamed from get_state, cosmetic
4572         changes.
4573
4574 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4575
4576         * gst/elements/gstelements.c:
4577         * win32/GStreamer.vcproj:
4578         * win32/config.h:
4579         * win32/dirent.c: (_tseekdir):
4580         * win32/gst-inspect.vcproj:
4581         * win32/gst-launch.vcproj:
4582         * win32/gstconfig.h:
4583         * win32/gstelements.vcproj:
4584         * win32/gstenumtypes.c: (gst_object_flags_get_type):
4585         * win32/gstreamer.def:
4586         * win32/msvc71.sln:
4587           updates for the win32 build (patch from Sebastien Moutte)
4588
4589 2005-10-10  Andy Wingo  <wingo@pobox.com>
4590
4591         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
4592         gst_bin_get_state, cleaned up (but no logic changes).
4593         (bin_element_is_sink): Comment updates.
4594         (sink_iterator_filter): Remove needless cast.
4595         (gst_bin_iterate_sinks): Doc update.
4596         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
4597         cleaned up (but no logic changes).
4598
4599         * check/states/sinks.c (test_src_sink): Cleanups from the state
4600         change patch.
4601         (test_livesrc_sink): Sync on the state.
4602
4603         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
4604         the state change patch.
4605
4606         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
4607         change patch.
4608
4609         * check/gst/gstbin.c: Merge in some style fixes and additional
4610         checks from Wim's state change patch.
4611
4612 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4613
4614         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4615         (gst_type_find_helper):
4616           Check whether we have the requested data already in our list of
4617           cached buffers before pulling a new buffer; also make the buffer
4618           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
4619
4620 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4621
4622         * gst/gstcaps.c:
4623         * gst/gstevent.c:
4624           doc updates
4625         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
4626           don't use long long, it's not portable.  Replacing with
4627           gint64 seems to work; let's hope no skeletons fall out of the closet.
4628
4629 2005-10-10  Andy Wingo  <wingo@pobox.com>
4630
4631         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
4632
4633 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
4634
4635         * docs/gst/gstreamer-sections.txt:
4636         * gst/gstevent.c:
4637         * gst/gstevent.h:
4638         * gst/gstinfo.c:
4639         * gst/gstinfo.h:
4640         * gst/gstmessage.c: (gst_message_parse_state_changed):
4641         * gst/gstpad.c:
4642         * gst/gstpad.h:
4643           more docs, fix compilation
4644
4645 2005-10-09  Philippe Khalaf <burger@speedy.org>
4646         * gst/gstmessage.c:
4647           Fixed a few forgotten variables on previous commit
4648
4649 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4650
4651         * gst/base/gsttypefindhelper.c: (helper_find_peek):
4652           Fix evil typefind crasher: getrange() might return a short
4653           buffer at the end of a file, but gst_type_find_peek() must
4654           either return the full data as requested or NULL, but
4655           never a short buffer.
4656
4657 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4658
4659         * gst/gstmessage.c: (gst_message_new_state_changed),
4660         (gst_message_parse_state_changed):
4661         * gst/gstmessage.h:
4662           don't use "new", it's a C++ keyword
4663
4664 2005-10-08  Wim Taymans  <wim@fluendo.com>
4665
4666         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
4667         * gst/gstelement.c: (gst_element_post_message):
4668         * gst/gstpipeline.c: (gst_pipeline_change_state):
4669         Small docs and debug updates.
4670
4671 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4672
4673         * docs/gst/gstreamer-sections.txt:
4674         * gst/gstelementfactory.c:
4675         * gst/gstevent.c:
4676         * gst/gsttaglist.c:
4677           more docs
4678
4679 2005-10-08  Wim Taymans  <wim@fluendo.com>
4680
4681         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
4682         (gst_bin_dispose), (bin_bus_handler):
4683         Fix typos, add comments.
4684         Clear EOS list when going to PAUSED from any direction and do it
4685         in a threadsafe way.
4686         Get base time in a threadsafe way too.
4687         Fix confusing debug in the change_state function.
4688         Various other small cleanups.
4689         
4690         * gst/gstelement.c: (gst_element_post_message):
4691         Fix very verbose bus posting code.
4692
4693         * gst/gstpipeline.c: (gst_pipeline_class_init),
4694         (gst_pipeline_set_property), (gst_pipeline_get_property),
4695         (gst_pipeline_change_state):
4696         Small ARG_ -> PROP_ cleanup
4697
4698 2005-10-08  Wim Taymans  <wim@fluendo.com>
4699
4700         * gst/gstbin.c: (is_eos), (bin_bus_handler):
4701         Do a less CPU demanding EOS check because we can.
4702
4703 2005-10-08  Wim Taymans  <wim@fluendo.com>
4704
4705         * libs/gst/dataprotocol/dataprotocol.c:
4706         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
4707         (gst_dp_packet_from_event):
4708         * libs/gst/dataprotocol/dataprotocol.h:
4709         * libs/gst/dataprotocol/dp-private.h:
4710         It's about time we bump the version number.
4711         Since event types don't fit in the guint8 anymore describing
4712         the payload type, make payload type 16 bits wide.
4713
4714 2005-10-08  Wim Taymans  <wim@fluendo.com>
4715
4716         * docs/design/part-TODO.txt:
4717         * docs/design/part-clocks.txt:
4718         * docs/design/part-events.txt:
4719         * docs/design/part-gstbin.txt:
4720         * docs/design/part-gstelement.txt:
4721         * docs/design/part-gstpipeline.txt:
4722         * docs/design/part-live-source.txt:
4723         * docs/design/part-messages.txt:
4724         * docs/design/part-overview.txt:
4725         * docs/design/part-states.txt:
4726         Many doc updates.
4727
4728 2005-10-08  Wim Taymans  <wim@fluendo.com>
4729
4730         * gst/gstevent.c:
4731         * gst/gstevent.h:
4732         Fix event quark registration.
4733         Add some space between events so we can insert them in the
4734         right groups.
4735
4736 2005-10-08  Wim Taymans  <wim@fluendo.com>
4737
4738         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4739         (gst_base_sink_handle_buffer):
4740         Better log message.
4741
4742         * gst/gstbus.h:
4743         * gst/gstelement.h:
4744         More docs.
4745
4746         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4747         (gst_queue_set_property), (gst_queue_get_property):
4748         * gst/gstqueue.h:
4749         Remove old unused properties.
4750
4751 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4752         * docs/gst/gstreamer-sections.txt:
4753         * gst/gstmessage.c:
4754         * gst/gstmessage.h:
4755         * gst/gstminiobject.c:
4756         * gst/gstminiobject.h:
4757         * gst/gstobject.h:
4758         * gst/gstpad.h:
4759         * gst/gstutils.h:
4760           lots of new docs and doc fixes
4761
4762 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4763
4764         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
4765         * gst/gstplugin.h:
4766         * gst/gstregistry.c: (gst_registry_lookup_locked),
4767         (gst_registry_scan_path_level):
4768         * gst/gstregistryxml.c: (load_plugin):
4769           Only ever load one plugin for a given plugin basename.
4770           This ensures correct overriding of GST_PLUGIN_PATH over
4771           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
4772           system installed plugins.
4773
4774 2005-10-08  Wim Taymans  <wim@fluendo.com>
4775
4776         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4777         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
4778         Prepare for doing QOS.
4779
4780 2005-10-08  Wim Taymans  <wim@fluendo.com>
4781
4782         * check/gst/gstbin.c: (GST_START_TEST):
4783         * check/pipelines/cleanup.c: (GST_START_TEST):
4784         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
4785         Allow new clock message too.
4786
4787 2005-10-08  Wim Taymans  <wim@fluendo.com>
4788
4789         * gst/gstmessage.c: (gst_message_new_error),
4790         (gst_message_new_warning), (gst_message_new_tag),
4791         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4792         (gst_message_new_clock_lost), (gst_message_new_new_clock),
4793         (gst_message_new_segment_start), (gst_message_new_segment_done),
4794         (gst_message_parse_state_changed),
4795         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
4796         (gst_message_parse_new_clock):
4797         * gst/gstmessage.h:
4798         Also carry the clock in question.
4799
4800 2005-10-08  Wim Taymans  <wim@fluendo.com>
4801
4802         * gst/gstmessage.c: (gst_message_new_custom),
4803         (gst_message_new_eos), (gst_message_new_error),
4804         (gst_message_new_warning), (gst_message_new_tag),
4805         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4806         (gst_message_new_new_clock), (gst_message_new_segment_start),
4807         (gst_message_new_segment_done), (gst_message_parse_state_changed),
4808         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
4809         * gst/gstmessage.h:
4810         Clean up.
4811         Added clock related messages.
4812
4813         * gst/gstpipeline.c: (gst_pipeline_change_state):
4814         Post message when the clock changed.
4815
4816         * tools/gst-launch.c: (event_loop):
4817         Print new clock.
4818
4819 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
4820
4821         * tools/gst-inspect.c: (print_element_properties_info):
4822           Can't pass NULL strings to g_print() on windows.
4823
4824 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4825
4826         * docs/Makefile.am:
4827         * docs/gst/Makefile.am:
4828         * docs/gst/gstreamer-docs.sgml:
4829         * docs/gst/running.xml:
4830         * docs/version.entities.in:
4831           add a chapter on running GStreamer.
4832           document GST_DEBUG and GST_PLUGIN* env vars
4833
4834 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4835
4836         * Makefile.am:
4837           remove include dir
4838         * configure.ac:
4839           remove PLUGINS_BUILDDIR stuff
4840         * gst/gst.c: (init_post):
4841           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
4842         * idiottest.mak:
4843           remove, it was condescending and not needed
4844
4845 2005-10-08  Wim Taymans  <wim@fluendo.com>
4846
4847         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
4848         (gst_base_sink_handle_object), (gst_base_sink_event),
4849         (gst_base_sink_wait), (gst_base_sink_handle_event),
4850         (gst_base_sink_change_state):
4851         * gst/base/gstbasesink.h:
4852         Repost EOS message while going to PLAYING if still EOS.
4853         Make sure that when receiving a FLUSH_START we don't attempt
4854         to sync on the clock anymore.
4855
4856 2005-10-08  Wim Taymans  <wim@fluendo.com>
4857
4858         * tools/gst-launch.c: (event_loop):
4859         Better message printout.
4860
4861 2005-10-08  Wim Taymans  <wim@fluendo.com>
4862
4863         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
4864         (gst_bin_child_proxy_get_children_count):
4865         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
4866         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
4867         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
4868         (gst_child_proxy_set_valist):
4869         * gst/parse/grammar.y:
4870         Make ChildProxy threadsafe and fix mem leaks.
4871
4872 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4873
4874         * gst/gst.c: (init_post):
4875           debug the GST_PLUGIN_ env vars
4876
4877 2005-10-08  Wim Taymans  <wim@fluendo.com>
4878
4879         * check/gst/gstbin.c: (GST_START_TEST):
4880         * check/gst/gstmessage.c: (GST_START_TEST):
4881         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4882         * gst/gstelement.c: (gst_element_commit_state),
4883         (gst_element_lost_state):
4884         * gst/gstmessage.c: (gst_message_new_state_changed),
4885         (gst_message_parse_state_changed):
4886         * gst/gstmessage.h:
4887         * tools/gst-launch.c: (event_loop):
4888         Added extra field to STATE_CHANGE message with the pending
4889         state, which will be different from the new state soon.
4890
4891 2005-10-08  Wim Taymans  <wim@fluendo.com>
4892
4893         * gst/gstbus.c: (gst_bus_pop):
4894         * gst/gstclock.c:
4895         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
4896         Small cleanups and doc updates.
4897
4898 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4899
4900         * gst/gst.c: (init_pre):
4901         * gst/gstbin.c: (gst_bin_add_func):
4902           log distributing clocks and base time
4903         * gst/gstregistry.c: (gst_registry_add_plugin),
4904         (gst_registry_scan_path_level), (gst_registry_scan_path):
4905           clean up the debugging output a little
4906         * gst/gstutils.c: (gst_element_state_get_name):
4907           warn about a memleak (I've actually seen this be used, though
4908           it was probably a bug)
4909
4910 2005-10-07  Wim Taymans  <wim@fluendo.com>
4911
4912         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4913         (gst_base_src_init), (gst_base_src_default_newsegment),
4914         (gst_base_src_newsegment), (gst_base_src_do_seek),
4915         (gst_base_src_loop), (gst_base_src_start):
4916         * gst/base/gstbasesrc.h:
4917         Make the newsegment event customizable by subclasses.
4918
4919 2005-10-07  Wim Taymans  <wim@fluendo.com>
4920
4921         * gst/gstevent.c: (gst_event_new_buffersize),
4922         (gst_event_parse_buffersize):
4923         * gst/gstevent.h:
4924         New event for future idea.
4925
4926 2005-10-07  Andy Wingo  <wingo@pobox.com>
4927
4928         * gst/gstelement.c (gst_element_post_message): Doc update.
4929
4930         * docs/gst/gstreamer-sections.txt: Update.
4931
4932         * gst/gstmessage.c (gst_message_new_application): Made into a
4933         function like honest API calls.
4934         (gst_message_new_element): New message type.
4935
4936         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
4937
4938         * check/elements/fakesrc.c (test_no_preroll): New check, checks
4939         that setting a live fakesrc to PAUSED returns NO_PREROLL both
4940         times.
4941
4942         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
4943         NO_PREROLL from gst_element_change_state to fall through.
4944
4945 2005-10-07  Wim Taymans  <wim@fluendo.com>
4946
4947         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
4948         (gst_ghost_pad_do_activate_push):
4949         Activating a ghostpad with no internal pad in push mode
4950         is ok.
4951
4952 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4953
4954         * gst/gstobject.h:
4955           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
4956           Fixes compilation on Windows.
4957
4958 2005-10-07  Michael Smith <msmith@fluendo.com>
4959
4960         * tools/gst-inspect.c:
4961           Print out feature and plugin count at the end when printing out
4962           all features.
4963
4964 2005-10-04  Michael Smith <msmith@fluendo.com>
4965
4966         * gst/gsterror.c: (_gst_stream_errors_init):
4967           Add another error string used in a few existing plugins.
4968
4969         * gst/gstplugin.c:
4970         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4971         * tools/gst-inspect.c: (print_element_info):
4972           When a feature disappears from a plugin (and the feature exists in
4973           the cached registry file), things went horribly wrong. This isn't a
4974           complete fix, we should actually be removing the 'missing' features
4975           from the features list when we load the actual plugin. That's not
4976           yet implemented. 
4977
4978 2005-10-04  Johan Dahlin  <johan@gnome.org>
4979
4980         * check/gst/gstiterator.c: (GST_START_TEST):
4981         * gst/gstbin.c: (gst_bin_iterate_elements),
4982         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
4983         * gst/gstelement.c: (gst_element_iterate_pads):
4984         * gst/gstformat.c: (gst_format_iterate_definitions):
4985         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4986         (gst_iterator_new_list), (gst_iterator_filter):
4987         * gst/gstiterator.h:
4988         * gst/gstquery.c: (gst_query_type_iterate_definitions):
4989         Add a GType to GstIterator, update callsites and tests.
4990
4991 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4992
4993         * gst/gstpad.c: (gst_pad_event_default_dispatch):
4994           give events a chance to be handled by event probes when the pad
4995           is not linked
4996
4997 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4998
4999         * gst/gstevent.c: (gst_event_type_get_name),
5000         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
5001         * gst/gstevent.h:
5002           add string representations for event types
5003
5004 2005-10-06  Wim Taymans  <wim@fluendo.com>
5005
5006         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
5007         Don't use NULL pointers.
5008
5009 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5010
5011         * gst/gst_private.h:
5012         * gst/gstbus.c:
5013         * gst/gstelement.c:
5014         * gst/gstinfo.c:
5015         * gst/gstpluginfeature.c:
5016           widen the debug category in output to fit the biggest one we have
5017           add a bus category and use it
5018           play with the colors
5019           fix up some categories
5020
5021 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5022
5023         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
5024           add push activation of sink ghost pads.
5025           Andye, please verify
5026
5027 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5028
5029         * gst/gstutils.c: (gst_element_link_pads):
5030           fix a bug in the case where neither element has a pad
5031         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5032           add a test for that case
5033
5034 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5035
5036         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
5037           emit have-data before checking for peers.  This allows
5038           for probe handlers to connect elements.  This helps autopluggers.
5039         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
5040         (gst_pad_suite):
5041           add six checks, linked/unlinked with no/true/false probe
5042
5043 2005-10-04  Wim Taymans  <wim@fluendo.com>
5044
5045         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
5046         (gst_fake_sink_event), (gst_fake_sink_preroll),
5047         (gst_fake_sink_render), (gst_fake_sink_change_state):
5048         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
5049         (gst_fake_src_get_property), (gst_fake_src_create),
5050         (gst_fake_src_stop):
5051         * gst/elements/gstidentity.c: (gst_identity_stop):
5052         Protect last_message with lock.
5053
5054 2005-10-04  Edward Hervey  <edward@fluendo.com>
5055
5056         * gst/gstformat.h: 
5057         Added precision in the comments for GST_FORMAT_DEFAULT
5058
5059 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
5060
5061         * tools/gst-launch.c: (main):
5062           Don't try to run erroneous pipelines.
5063
5064 2005-10-04  Julien MOUTTE  <julien@moutte.net>
5065
5066         * gst/gstbus.c: We don't need this header.
5067
5068 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5069
5070         * configure.ac:
5071           back to development
5072
5073 === release 0.9.3 ===
5074
5075 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5076
5077         * README:
5078         * configure.ac:
5079           Releasing 0.9.3, "Unregistered"
5080
5081 2005-10-03  Andy Wingo  <wingo@pobox.com>
5082
5083         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
5084         whereby calling a pad's activatepush() function can start a thread
5085         that starts to push or pull before the pad gets the FLUSHING flag
5086         unset. Hack around it by holding the stream lock until the flag is
5087         set. Need to replace this with a proper solution. Together with
5088         the ghost pad fixes, this fixes mp3 playing/tagreading.
5089
5090         * docs/design/part-gstghostpad.txt: Add a note about activation of
5091         proxy pads outside of ghost pads.
5092
5093         * gst/gstghostpad.c: Implement the ghost pad activation design.
5094
5095 2005-10-02  Andy Wingo  <wingo@pobox.com>
5096
5097         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
5098         It is volatile, after all.
5099
5100         * docs/design/part-gstghostpad.txt: Flesh out activation with
5101         ghost pads.
5102
5103         * gst/base/gstbasesrc.c (gst_base_src_init): Use
5104         GST_DEBUG_FUNCPTR.
5105
5106 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5107
5108         * configure.ac:
5109           Fix (unused) AM_CONDITIONAL tests.
5110
5111 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
5112
5113         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5114
5115         * gst/gstutils.c: (gst_pad_query_convert):
5116           Add assertion that makes sure src_val is >=0, just like
5117           gst_query_new_convert() has. (#315895)
5118
5119 2005-09-30  Edward Hervey  <edward@fluendo.com>
5120
5121         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
5122         Let's not iterate pads we're not interested in, it avoids getting 
5123         sky-high refcounts on sinkpad.
5124
5125 2005-09-30  Wim Taymans  <wim@fluendo.com>
5126
5127         * gst/gstelement.c: (gst_element_set_state),
5128         (gst_element_change_state):
5129         Small tweak, element in ASYNC remains ASYNC.
5130
5131 2005-09-30  Wim Taymans  <wim@fluendo.com>
5132
5133         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5134         Only error is an error.
5135
5136         * gst/gstbin.c: (gst_bin_change_state):
5137         Better debugging.
5138
5139         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
5140         Also call pad_block in pad alloc.
5141
5142         * gst/gstutils.c: (gst_flow_get_name):
5143         Better debugging.
5144
5145 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5146
5147         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5148         (gst_base_src_get_range):
5149           Fix documentation typos. Add some more debug info.
5150
5151 2005-09-29  David Schleef  <ds@schleef.org>
5152
5153         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5154           more end-user friendly.
5155         * tools/gst-inspect.c: (main): Check if command-line argument is
5156           a file and attempt to load that file as a plugin.
5157
5158 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5159
5160         * check/gst/gstbin.c:
5161         * check/states/sinks.c:
5162           fix tests for the new warning
5163         * check/gst/gstpipeline.c:
5164           add a test for pipeline and bus interaction
5165         * gst/gstelement.c:
5166           elements should be NULL if they get disposed; add a warning if not
5167
5168 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5169
5170         * gst/gstobject.c:
5171           for 2.6 refcounting, make debug log more correct by printing
5172           the actual refcounts at the time of swap (Wim)
5173
5174 2005-09-29  Andy Wingo  <wingo@pobox.com>
5175
5176         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5177         removes signal watches previously added via
5178         gst_bus_add_signal_watch.
5179         (gst_bus_add_signal_watch): Don't return the source id, just store
5180         it on the bus if there wasn't an id already.
5181
5182         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5183         add_signal_watch and remove_signal_watch.
5184
5185 2005-09-29  Edward Hervey  <edward@fluendo.com>
5186
5187         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
5188         Better if we actually iterate the list :)
5189
5190 2005-09-29  Wim Taymans  <wim@fluendo.com>
5191
5192         * check/gst/gstbin.c: (GST_START_TEST):
5193         Change for new bus API.
5194
5195         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5196         (send_messages), (GST_START_TEST), (gstbus_suite):
5197         Change for new bus signal API.
5198
5199         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5200         (gst_bus_source_prepare), (gst_bus_source_check),
5201         (gst_bus_create_watch), (gst_bus_add_watch_full),
5202         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5203         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5204         * gst/gstbus.h:
5205         Remove support for multiple GSources operating on different
5206         message types as it is too complex and unneeded when using
5207         signals.
5208         Added support for receiving signals from the bus.
5209
5210 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5211
5212         * docs/libs/tmpl/gstdataprotocol.sgml:
5213         * docs/manual/advanced-dataaccess.xml:
5214         * gst/elements/gstcapsfilter.c:
5215         * gst/gstutils.c:
5216           rename filter-caps to caps property
5217
5218 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5219
5220         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5221           More robust fraction string parsing.
5222
5223         * docs/pwg/appendix-porting.xml:
5224           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5225
5226 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5227
5228         * gst/gstcaps.c: (gst_caps_do_simplify):
5229           Thou shalt not free a structure and then continue using it
5230           in the next loop iteration.
5231
5232         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5233         (gst_caps_suite):
5234           Add test case for caps simplification.
5235
5236 2005-09-29  Wim Taymans  <wim@fluendo.com>
5237
5238         * check/gst/gstbin.c: (GST_START_TEST):
5239         Oops.
5240
5241 2005-09-29  Wim Taymans  <wim@fluendo.com>
5242
5243         * check/gst/gstbin.c: (GST_START_TEST):
5244         Add bus to bin.
5245
5246         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5247         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5248         (find_element), (gst_bin_sort_iterator_next),
5249         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5250         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5251         (gst_bin_change_state), (gst_bin_dispose):
5252         A bin does not have a bus, it gets the bus from the parent.
5253
5254         * gst/gstelement.c: (gst_element_requires_clock),
5255         (gst_element_provides_clock), (gst_element_is_indexable),
5256         (gst_element_is_locked_state), (gst_element_change_state),
5257         (gst_element_set_bus_func):
5258         Small cleanups.
5259
5260         * gst/gstpipeline.c: (gst_pipeline_class_init),
5261         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5262         The pipeline provides a bus.
5263
5264 2005-09-28  Johan Dahlin  <johan@gnome.org>
5265
5266         * gst/gstmessage.c (gst_message_parse_state_changed): Use
5267         gst_structure_get_enum instead of gst_structure_get_int
5268
5269         * gst/gststructure.c (gst_structure_get_enum): Impl.
5270
5271         * gst/gststructure.h (gst_structure_get_enum): Add
5272
5273         * docs/gst/gstreamer-sections.txt: Ditto
5274
5275         * gst/gstmessage.c (gst_message_new_state_changed): Use
5276         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5277         which does introspection.
5278         Reviewed by Christian Schaller
5279
5280 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5281
5282         * gst/gstinfo.c: (gst_debug_log_default):
5283           don't do dummy g_strdup()s
5284         * libs/gst/controller/gstcontroller.c:
5285         (on_object_controlled_property_changed),
5286         (gst_controlled_property_new), (gst_controller_new_valist),
5287         (gst_controller_new_list),
5288         (gst_controller_remove_properties_valist), (gst_controller_set),
5289         (gst_controller_get), (gst_controller_sync_values),
5290         (gst_controller_get_value_array), (_gst_controller_class_init),
5291         (gst_controller_get_type):
5292         * libs/gst/controller/gstcontroller.h:
5293         * libs/gst/controller/gstinterpolation.c:
5294         (gst_controlled_property_find_timed_value_node):
5295           convert // to /**/ comments
5296
5297 2005-09-28  Wim Taymans  <wim@fluendo.com>
5298
5299         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5300         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5301         (gst_bus_sync_signal_handler):
5302         * gst/gstbus.h:
5303         Added async-message and sync-message signals to the bus.
5304         Added helper BusFunc to emit signals for all posted messages.
5305
5306         * gst/gstmessage.c: (gst_message_type_get_name),
5307         (gst_message_type_to_quark), (gst_message_get_type):
5308         * gst/gstmessage.h:
5309         Register quarks for message names.
5310
5311 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5312
5313         * docs/libs/gstreamer-libs-sections.txt:
5314         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5315         (gst_controller_new_list):
5316         * libs/gst/controller/gstcontroller.h:
5317           added another constructor for language bindings
5318
5319 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5320
5321         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5322           add another check
5323         * gst/gstbus.c:
5324           add some doc
5325         * gst/gstinfo.c: (_gst_debug_init):
5326           slightly more readable color for refcount debugging
5327
5328 2005-09-28  Wim Taymans  <wim@fluendo.com>
5329
5330         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5331         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5332         (find_element), (gst_bin_sort_iterator_next),
5333         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5334         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5335         (gst_bin_change_state), (gst_bin_dispose):
5336         Small doc fixes. get_clock -> provide_clock.
5337
5338         * gst/gstelement.c: (gst_element_class_init),
5339         (gst_element_provides_clock), (gst_element_provide_clock),
5340         (gst_element_get_clock), (gst_element_commit_state),
5341         (gst_element_lost_state):
5342         * gst/gstelement.h:
5343         Make get/set_clock() symetric. Add provide_clock vmethod since
5344         that is actually what this function does.
5345
5346         * gst/gstpipeline.c: (gst_pipeline_class_init),
5347         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
5348         (gst_pipeline_get_clock):
5349         get_clock -> provide_clock.
5350
5351 2005-09-28  Andy Wingo  <wingo@pobox.com>
5352
5353         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
5354         lieu of real docs...
5355
5356         * gst/elements/gstfdsrc.c: Cleaned up a bit.
5357
5358 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
5359
5360         * gst/elements/gstcapsfilter.c:
5361         * gst/elements/gstfakesink.c:
5362         * gst/elements/gstfakesrc.c:
5363         * gst/elements/gstfdsink.c:
5364         * gst/elements/gstfdsrc.c:
5365         * gst/elements/gstfilesink.c:
5366         * gst/elements/gstfilesrc.c:
5367         * gst/elements/gstidentity.c:
5368         * gst/elements/gsttee.c:
5369         * gst/elements/gsttypefindelement.c:
5370           Make element details static.
5371
5372 2005-09-28  Wim Taymans  <wim@fluendo.com>
5373
5374         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5375         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5376         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5377         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5378         (gst_bin_change_state), (gst_bin_dispose):
5379         Some documentation updates.
5380         Clean up dispose handlers.
5381
5382         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
5383         * gst/gstpad.c: (gst_pad_dispose):
5384         Clean up dispose handler.
5385
5386         * gst/gstpipeline.c: (gst_pipeline_change_state):
5387         Removed spurious UNLOCK.
5388
5389 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
5390
5391         * docs/gst/gstreamer-sections.txt:
5392         * gst/base/gstbasesrc.h:
5393         * gst/gstelement.h:
5394         * gst/gstevent.h:
5395         * gst/gstobject.h:
5396         * gst/gstpad.h:
5397         * gst/gstpipeline.c:
5398         * gst/gstpipeline.h:
5399         * gst/gstutils.h:
5400         * gst/gstxml.h:
5401           added two new functions to the docs
5402                 documents all undocumented GstXXXFlags
5403                 completed some incomplete docs 
5404
5405 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5406
5407         * gst/gstbin.c: (gst_bin_dispose):
5408         * gst/gstelement.c: (gst_element_dispose):
5409           remove now useless and leaky resurrection code in dispose
5410         * gst/base/gstbasesrc.c: (gst_base_src_init):
5411         * gst/gstelementfactory.c: (gst_element_factory_create):
5412         * gst/gstobject.c: (gst_object_set_parent):
5413           add some debugging
5414
5415 2005-09-27  Wim Taymans  <wim@fluendo.com>
5416
5417         * docs/design/part-TODO.txt:
5418         Update TODO.
5419
5420         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5421         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5422         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5423         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5424         (gst_bin_change_state):
5425         * gst/gstelement.h:
5426         Remove element variable, we keep element info in the iterator now.
5427
5428 2005-09-27  Andy Wingo  <wingo@pobox.com>
5429
5430         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
5431         values.
5432
5433 2005-09-27  Wim Taymans  <wim@fluendo.com>
5434
5435         * check/gst/gstbin.c: (GST_START_TEST):
5436         Enable check that works now.
5437
5438         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5439         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5440         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5441         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5442         (gst_bin_change_state):
5443         * gst/gstbin.h:
5444         Redid the state change algorithm using a topological sort algo.
5445         Handles all cases correctly.
5446         Exposed iterator for state change order.
5447
5448         * gst/gstelement.h:
5449         Temp storage for state changes. Need to get rid of this soon.
5450
5451 2005-09-27  Wim Taymans  <wim@fluendo.com>
5452
5453         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
5454         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
5455         (link_fold_func), (gst_pad_proxy_setcaps):
5456         Leak fixes, the fold functions need to unref the passed object and
5457         _get_parent_*() returns ref to parent.
5458
5459 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5460
5461         * check/gst/gstbuffer.c: (test_make_writable):
5462           Plug leak in test case and fix 'make check-valgrind'
5463
5464 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5465
5466         * gst/gstbuffer.c: (gst_subbuffer_init):
5467           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
5468           works correctly in all circumstances (we could have just copied
5469           the parent buffer's readonly flag, but conceptually it seems
5470           cleaner to mark all subbuffers as read-only). (based on patch
5471           by Alessandro Decina, #314710).
5472         
5473         * check/gst/gstbuffer.c: (create_read_only_buffer),
5474         (test_make_writable), (test_subbuffer_make_writable),
5475         (gst_test_suite):
5476           Add some tests for gst_buffer_make_writable().
5477
5478 2005-09-27  Wim Taymans  <wim@fluendo.com>
5479
5480         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
5481         use gst_object_has_ancestor().
5482
5483         * gst/gstobject.c: (gst_object_has_ancestor):
5484         * gst/gstobject.h:
5485         gst_object_has_ancestor() copied from gstbin.c as it is a
5486         usefull function.
5487
5488         * tests/instantiate/create.c: (create_all_elements):
5489         * tests/lat.c: (handoff_src), (handoff_sink):
5490         * tests/sched/runxml.c: (main):
5491         * tests/seeking/seeking1.c: (main):
5492         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
5493         (main):
5494         Fix compilation of some tests.
5495
5496 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5497
5498         * gst/gsterror.h:
5499           Remove comment. GST_TYPE_G_ERROR is here to stay,
5500           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
5501           (#316961, #300610).
5502
5503 2005-09-26  Wim Taymans  <wim@fluendo.com>
5504
5505         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5506         Added check that shows error in state change order.
5507
5508 2005-09-26  Wim Taymans  <wim@fluendo.com>
5509
5510         * gst/gstbin.c: (gst_bin_change_state):
5511         Make state change function use 3 queues again, we were
5512         adding elements in the wrong order.
5513
5514         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
5515         Some debug info,
5516
5517         * gst/gstpad.c: (gst_pad_dispose):
5518         Added some debug info first.
5519
5520 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
5521
5522         * docs/design/draft-push-pull.txt:
5523         * docs/design/part-events.txt:
5524         * docs/design/part-overview.txt:
5525         * docs/design/part-scheduling.txt:
5526           Replace all _pull_region() with _pull_range()
5527           
5528 2005-09-26  Andy Wingo  <wingo@pobox.com>
5529
5530         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
5531
5532         * check/gst-libs/controller.c: Update for controller api change.
5533
5534         * configure.ac: 
5535         * tests/Makefile.am:
5536         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
5537         over by GLib bug 118439.
5538         
5539         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
5540         routines to a function.
5541
5542         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
5543
5544         * libs/gst/controller/gsthelper.c:
5545         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
5546         (gst_object_sync_values): Renamed from sink_values. Ugh.
5547
5548         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
5549
5550         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
5551         Renamed from controller_key, as it is exported.
5552
5553         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
5554
5555 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5556
5557         * gst/Makefile.am:
5558         * gst/gst.h:
5559         * gst/gstpad.h:
5560         * gst/gstpadtemplate.h:
5561         * gst/gstquery.c:
5562         * gst/gstquery.h:
5563         * gst/gstqueryutils.c:
5564         * gst/gstqueryutils.h:
5565           remove queryutils headers after moving the two used functions
5566           to gstquery.  also fixes build problem for gstsiddec
5567
5568 2005-09-26  Michael Smith <msmith@fluendo.com>
5569
5570         * tools/gst-launch.1.in:
5571         Correct documentation in manpage of debug syntax
5572
5573 2005-09-26  Wim Taymans  <wim@fluendo.com>
5574
5575         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
5576         (gst_base_src_is_seekable), (gst_base_src_change_state):
5577         Some more debugging info.
5578
5579 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5580
5581         * docs/gst/gstreamer-sections.txt:
5582         * gst/base/gstbasetransform.h:
5583         * gst/gstindex.h:
5584           added more docs
5585
5586 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5587
5588         * docs/gst/.cvsignore:
5589         * docs/gst/tmpl/.cvsignore:
5590         * docs/gst/tmpl/gstpipeline.sgml:
5591         * docs/gst/tmpl/gstplugin.sgml:
5592         * gst/gstpipeline.c:
5593         * gst/gstplugin.c:
5594         * gst/gstplugin.h:
5595           inlined the last two docs files
5596           removed the tmpl directory from cvs (no more conflicts here!)
5597
5598 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5599
5600         * docs/gst/gstreamer-sections.txt:
5601         * docs/gst/tmpl/.cvsignore:
5602         * docs/gst/tmpl/gstpad.sgml:
5603         * docs/gst/tmpl/gstpadtemplate.sgml:
5604         * gst/Makefile.am:
5605         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
5606         (gst_pad_finalize), (gst_pad_set_pad_template):
5607         * gst/gstpad.h:
5608         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5609         (gst_pad_template_class_init), (gst_pad_template_init),
5610         (gst_pad_template_dispose), (name_is_valid),
5611         (gst_static_pad_template_get), (gst_pad_template_new),
5612         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
5613         (gst_pad_template_pad_created):
5614         * gst/gstpadtemplate.h:
5615           inlined two more docs
5616           factored gstpadtemplate out of gstpad
5617
5618 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
5619
5620         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5621         (test_children_state_change_order_semi_sink):
5622           Fix test case: we can't rely on a fixed state change order when
5623           going from READY => PAUSED because the sink might commit its 
5624           new state first when the first buffer created by the source 
5625           reaches the sink before the source has finished its change state.
5626           (Test case still fails at times, see #316856, comment 5 onwards)
5627
5628 2005-09-24  Wim Taymans  <wim@fluendo.com>
5629
5630         * docs/design/part-events.txt:
5631         * docs/design/part-gstbus.txt:
5632         * docs/design/part-gstpipeline.txt:
5633         * docs/design/part-messages.txt:
5634         * docs/design/part-overview.txt:
5635         * docs/design/part-segments.txt:
5636         * gst/gstbin.c:
5637         * gst/gstbuffer.c:
5638         * gst/gstclock.c:
5639         * gst/gstelement.c:
5640         * gst/gstevent.c:
5641         * gst/gstfilter.c:
5642         * gst/gstiterator.c:
5643         Various documentation updates.
5644
5645 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5646
5647         * gst/gstclock.h:
5648           Well, that's embarassing.  Luckily we weren't using
5649           GST_CLOCK_DIFF anywhere.
5650
5651 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5652
5653         * common/gtk-doc.mak:
5654           don't fail on building XML, FC4 slave shows a bunch of doc
5655           missing bits that I don't get
5656         * gst/gstpad.c:
5657         * gst/gstpipeline.c:
5658         * gst/gststructure.c:
5659           some doc updates
5660
5661 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5662
5663         * docs/design/part-gstbin.txt:
5664         * docs/design/part-gstbus.txt:
5665         * gst/gstbus.c:
5666           Add blurb about how the bus goes into flushing mode and
5667           drops all messages when its bin goes from READY into NULL 
5668           state.
5669
5670 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5671
5672         * docs/gst/gstreamer-sections.txt:
5673         * gst/gststructure.c: (gst_structure_get_clock_time):
5674         * gst/gststructure.h:
5675           add a method to get a GstClockTime out of a structure
5676
5677 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5678
5679         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5680         (test_children_state_change_order_semi_sink), (gst_bin_suite):
5681           Added test to check state change order in bins (can still be made
5682           to fail here under heavy disk load; bails out with 'Push on pad
5683           fakesink:sink0, but it was not activated in push mode').
5684
5685         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
5686           Fix state change order when there is only a semi sink (#316856)
5687
5688         * gst/gstbus.c: (gst_bus_class_init):
5689           Use _class_peek_parent(), not _class_ref(); fix docs to say
5690           'default main context' instead of 'mainloop' where that is
5691           what's meant.
5692
5693         * gst/gstelement.c: (gst_element_commit_state),
5694         (gst_element_set_state):
5695           Fix typos in debug messages
5696
5697 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5698
5699         * docs/README:
5700         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
5701         * gst/gstpluginfeature.c:
5702         * gst/gstutils.c:
5703           various doc updates
5704         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5705           change an assert into an error until it gets fixed properly
5706
5707 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
5708
5709         * docs/gst/gstreamer-sections.txt:
5710         * docs/gst/tmpl/.cvsignore:
5711         * docs/gst/tmpl/gstelement.sgml:
5712         * docs/gst/tmpl/gstinfo.sgml:
5713         * docs/gst/tmpl/gstobject.sgml:
5714         * gst/gstelement.c:
5715         * gst/gstelement.h:
5716         * gst/gstinfo.c:
5717         * gst/gstinfo.h:
5718         * gst/gstobject.c: (gst_object_class_init):
5719         * gst/gstobject.h:
5720           inlined 3 more biiiig doc files and added some missing docs on the fly
5721
5722 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5723
5724         * check/gst/.cvsignore:
5725         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
5726         * gst/gstregistryxml.c: (load_plugin),
5727         (gst_registry_xml_save_plugin):
5728           put back source in registry.  add checks for find_plugin.
5729         * testsuite/states/bin.c: (assert_state), (empty_bin),
5730         (test_adding_one_element), (main):
5731         * testsuite/states/locked.c: (main):
5732           some compile/run fixes
5733
5734 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5735
5736         * check/gst/gstvalue.c: (GST_START_TEST):
5737           fix leaks in the test itself
5738
5739 2005-09-22  Wim Taymans  <wim@fluendo.com>
5740
5741         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5742         (gst_base_sink_send_event), (gst_base_sink_peer_query),
5743         (gst_base_sink_query):
5744         Prepare for more accurate position reporting and query
5745         handling.
5746
5747         * gst/gstelement.c: (gst_element_send_event),
5748         (gst_element_set_state):
5749         Add some comment.
5750
5751 2005-09-22  Wim Taymans  <wim@fluendo.com>
5752
5753         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
5754         (gst_query_parse_segment):
5755         * gst/gstquery.h:
5756         More documentation.
5757         Add segment query for future use.
5758
5759 2005-09-22  Wim Taymans  <wim@fluendo.com>
5760
5761         * gst/gstbin.c: (gst_bin_add_func):
5762         Some more debug info.
5763
5764         * gst/gstelement.c: (gst_element_send_event):
5765         Simplify send_event
5766
5767         * gst/gstelement.h:
5768         Don't know how flags got broken.
5769
5770         * gst/gstquery.h:
5771         Added new query.
5772
5773 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5774
5775         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
5776           Add simplistic test suite for GST_TYPE_DATE serialisation and
5777           deserialisation.
5778
5779 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5780
5781         * docs/gst/gstreamer-sections.txt:
5782         * gst/gststructure.c: (gst_structure_set_valist),
5783         (gst_structure_get_date):
5784         * gst/gststructure.h:
5785         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
5786         (gst_date_copy), (gst_value_compare_date),
5787         (gst_value_serialize_date), (gst_value_deserialize_date),
5788         (gst_value_transform_date_string),
5789         (gst_value_transform_string_date), (_gst_value_initialize):
5790         * gst/gstvalue.h:
5791           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
5792           bunch of utility functions along with a hack that checks that
5793           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
5794           is required. Part of the grand scheme in #170777.
5795
5796 2005-09-22  Andy Wingo  <wingo@pobox.com>
5797
5798         * gst/gstconfig.h.in: Psych out gtk-doc.
5799
5800         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
5801
5802         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
5803
5804         * tools/gst-inspect.c (print_element_list): Plug some
5805         inconsequential leaks.
5806
5807         * gst/gstregistry.c (gst_registry_get_default): Doc.
5808
5809         * check/gst/gstplugin.c: 
5810         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
5811         * gst/gstelementfactory.c (gst_element_factory_create): 
5812         * gst/gstindexfactory.c (gst_index_factory_create): Update for
5813         refcount changes.
5814
5815         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
5816         (gst_plugin_feature_load): Doc, don't eat refs.
5817
5818         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
5819         (gst_plugin_list_free): Doc.
5820         (gst_plugin_load_file): Doc updates.
5821
5822         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
5823         accessors returning refcounted objects, return a ref.
5824
5825         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
5826         accessor for caps. IDEMPOTENCE. Oh yes.
5827
5828 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
5829
5830         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5831
5832         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
5833         (_gst_debug_register_funcptr):
5834           Add mutex to serialise access to the hash table with
5835           the function pointer => function name string mapping;
5836           make that hash table static scope (#316809).
5837
5838         * gst/registries/.cvsignore:
5839           Remove left-over file.
5840
5841 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5842
5843         * docs/pwg/appendix-porting.xml:
5844           And something about newsegment events and caps-on-buffers to
5845           the porting guide (feel free to improve).
5846
5847 2005-09-21  Andy Wingo  <wingo@pobox.com>
5848
5849         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
5850         data and event probes on the same pad.
5851         (test_buffer_probe_once): Test that removing probes from within
5852         the probe functions works.
5853
5854 2005-09-21  Andy Wingo  <wingo@pobox.com>
5855
5856         * check/gst/gstutils.c: New file.
5857         (test_buffer_probe_n_times): A simple buffer probe test. More to
5858         come, foolios.
5859
5860         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
5861         have-data::buffer, not have-data.
5862         (gst_pad_add_event_probe): Likewise for have-data::event.
5863         (gst_pad_add_data_probe): More docs. The part about 'resolving the
5864         peer' isn't quite right yet though.
5865         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
5866         (gst_pad_remove_data_probe): Change to take the guint handler_id
5867         as their arg, not the function+data, which is more glib-like.
5868
5869         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
5870         the signal emission to indicate if the data is a buffer or an
5871         event.
5872         (gst_pad_get_type): Initialize buffer and event quarks.
5873         (gst_pad_class_init): have-data is now a detailed signal, yes it
5874         is.
5875
5876 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5877
5878         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
5879         * gst/gstutils.c: (gst_util_set_value_from_string),
5880         (gst_util_set_object_arg):
5881           Don't put functional code in g_return_if_fail() or
5882           g_return_val_if_fail() statements, otherwise things will 
5883           break when G_DISABLE_CHECKS is defined during compilation.
5884
5885 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5886
5887         * docs/gst/tmpl/.cvsignore:
5888         * docs/gst/tmpl/gstvalue.sgml:
5889         * gst/gstvalue.c:
5890         * gst/gstvalue.h:
5891           inlied another one and added  some obvious docs
5892
5893 2005-09-21  Wim Taymans  <wim@fluendo.com>
5894
5895         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5896         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
5897         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
5898         (gst_fdsrc_get_property), (gst_fdsrc_create):
5899         * gst/elements/gstfdsrc.h:
5900         Properly implement fdsrc. Removed signal and timeout,
5901         better implemented somewhere else.
5902
5903 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5904
5905         * docs/gst/tmpl/.cvsignore:
5906         * docs/gst/tmpl/gstimplementsinterface.sgml:
5907         * gst/gstinterface.c:
5908           inlined more docs
5909
5910 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5911
5912         * docs/gst/gstreamer-sections.txt:
5913         * docs/gst/tmpl/.cvsignore:
5914         * docs/gst/tmpl/gstenumtypes.sgml:
5915           remove obsolete doc file
5916
5917 2005-09-21  David Schleef  <ds@schleef.org>
5918
5919         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
5920         little beer, fix a little leak.
5921
5922 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5923
5924         * docs/gst/gstreamer-docs.sgml:
5925         * docs/gst/gstreamer-sections.txt:
5926         * docs/gst/tmpl/.cvsignore:
5927         * gst/Makefile.am:
5928         * gst/gst.h:
5929         * gst/gstbin.c:
5930         * gst/gstelement.h:
5931         * gst/gstindex.c: (gst_index_class_init):
5932         * gst/gstindex.h:
5933         * gst/gstindexfactory.c: (gst_index_factory_get_type),
5934         (gst_index_factory_class_init), (gst_index_factory_init),
5935         (gst_index_factory_finalize), (gst_index_factory_new),
5936         (gst_index_factory_destroy), (gst_index_factory_find),
5937         (gst_index_factory_create), (gst_index_factory_make):
5938         * gst/gstindexfactory.h:
5939         * gst/gstpluginfeature.c:
5940         * gst/gstpluginfeature.h:
5941         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5942           more docs inlined, splitted gstindex.{c,h}
5943
5944 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5945
5946         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5947           fix a leak
5948
5949 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5950
5951         * gst/elements/gstfilesink.c: (gst_file_sink_init):
5952           Set sync to FALSE by default.
5953
5954 2005-09-20  Wim Taymans  <wim@fluendo.com>
5955
5956         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5957         (gst_base_sink_init):
5958         Make sync property settable from subclass.
5959
5960         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5961         (gst_fake_sink_change_state):
5962         Set sync to FALSE by default.
5963
5964 2005-09-20  Wim Taymans  <wim@fluendo.com>
5965
5966         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
5967         * tools/gst-launch.c: (main):
5968         The timeout handler should have lower priority than the source
5969         so we don't timeout before popping a message with 0 timeout.
5970         Dump error messages after failed state change.
5971
5972 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5973
5974         * tools/gst-inspect.c: (print_element_properties_info):
5975           Fix two typos.
5976
5977 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5978
5979         * check/gst/gstevent.c:
5980         * gst/elements/gstfakesink.c:
5981         * gst/elements/gstfakesink.h:
5982           remove the sync property from fakesink.
5983           has the side effect of setting sync TRUE
5984           for fakesink, which is a change.  Anyone who knows how
5985           to fix this nicely in a GObject-y way, feel free.
5986
5987 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5988
5989         * docs/gst/gstreamer-docs.sgml:
5990           remove probe refsection
5991
5992 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5993
5994         * check/Makefile.am:
5995           disable valgrinding the controller test again
5996         * docs/gst/gstreamer-sections.txt:
5997           update for api-changes
5998
5999 2005-09-20  Wim Taymans  <wim@fluendo.com>
6000
6001         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6002         (gst_base_sink_set_property), (gst_base_sink_get_property),
6003         (gst_base_sink_do_sync):
6004         * gst/base/gstbasesink.h:
6005         Added sync property to basesink to disable clock sync.
6006
6007 2005-09-20  Andy Wingo  <wingo@pobox.com>
6008
6009         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
6010         eating the caller's refcount.
6011
6012         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
6013         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
6014         refcount.
6015
6016         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
6017         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
6018         of GLib 2.8 public, so we can know which refcount to check in
6019         tests.
6020
6021         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
6022         (gst_object_init): Only set the gst refcount if we're going ahead
6023         with the refcount hack.
6024
6025 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6026
6027         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6028         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6029           more leaks plumbed, added more debug-logging
6030         * gst/gstmacros.h:
6031           whitespace fix
6032
6033 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6034
6035         * gst/gstmessage.c:
6036           remove include of gstmemchunk.h
6037
6038 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6039
6040         * gst/gstclock.c: (_gst_clock_id_free):
6041           Commit from the Political Party For More Atomic CVS Commits,
6042           so that people don't waste too much of their day fishing
6043           out obvious leaks out of massive commits.
6044           Oh, and fix a pretty damn obvious leak in the memchunk
6045           removal code.
6046
6047 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6048
6049         * check/Makefile.am:
6050         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6051           plug mem-leak, re-add to valgrindable tests
6052
6053 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6054
6055         * gst/gstplugin.h:
6056           unbreak the build for those who have chronic arthritis
6057           and typing "make check" is just too taxing on the hands
6058
6059 2005-09-20  Andy Wingo  <wingo@pobox.com>
6060
6061         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
6062         really want it out, you should fix plugins at the same time.
6063
6064 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
6065
6066         * configure.ac:
6067         * docs/gst/gstreamer-sections.txt:
6068         * gst/gstobject.c:
6069           added missing symbols to api docs
6070           disable ref-count hack if we have glib >= 2.8
6071
6072 2005-09-19  David Schleef  <ds@schleef.org>
6073
6074         * docs/gst/Makefile.am: Ignore a few more internal headers
6075         * docs/gst/gstreamer-docs.sgml: Remove old sections
6076         * docs/gst/gstreamer-sections.txt: Remove old sections
6077         * docs/gst/tmpl/gstobject.sgml: update
6078         * docs/gst/tmpl/gstplugin.sgml: update
6079         * docs/gst/tmpl/gstpluginfeature.sgml: update
6080         * docs/random/ds/0.9-suggested-changes: update.
6081         * gst/Makefile.am: remove memchunk and trashstack, since they're
6082           not used.
6083         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
6084         * gst/gst.h: don't include some headers
6085         * gst/gstchildproxy.c: add gstmarshal.h
6086         * gst/gstclock.c: Don't use memchunks
6087         * gst/gstminiobject.c: Add some docs
6088         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
6089         * gst/gstobject.h: same
6090         * gst/gstplugin.c: include gstmacros.h
6091         * gst/gstplugin.h: don't include gstmacros.h, since it's private
6092         * gst/gstquery.c: don't use memchunks
6093         * gst/gstregistry.c: rename gst_registry_deinit()
6094         * gst/gstregistry.h: same
6095
6096 2005-09-19  David Schleef  <ds@schleef.org>
6097
6098         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
6099         * docs/libs/gstreamer-libs-sections.txt:
6100         * docs/libs/tmpl/gstgetbits.sgml:
6101         * docs/libs/tmpl/gstputbits.sgml:
6102
6103 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6104
6105         * win32/gstenumtypes.c:
6106         * win32/gstenumtypes.h:
6107           Update.
6108
6109 2005-09-19  Wim Taymans  <wim@fluendo.com>
6110
6111         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
6112         Automatically PAUSE and RESUME a pipeline when a flushing seek
6113         is performed.
6114
6115 2005-09-19  Andy Wingo  <wingo@pobox.com>
6116
6117         * gst/gstregistry.h: Spacing fixen.
6118
6119 2005-09-19  Wim Taymans  <wim@fluendo.com>
6120
6121         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
6122         Handle state change failure more correctly.
6123
6124 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6125
6126         * check/Makefile.am:
6127         * check/pipelines/cleanup.c: (run_pipeline):
6128         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6129         (GST_START_TEST):
6130           enable cleanup again after fixing the leak
6131         * docs/README:
6132           some more info on docs
6133
6134 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6135
6136         * check/Makefile.am:
6137           re-enable tests now that leaks are plugged
6138         * check/gst/gst.c:
6139         * check/gst/gstbin.c:
6140         * check/gst/gstpipeline.c:
6141           add some more tests while fixing leaks
6142         * common/check.mak:
6143           make sure binaries are uptodate when valgrinding/gdbing
6144         * gst/gst.c:
6145         * gst/gstelementfactory.c:
6146           remove a ref too many, and add a FIXME for when we get
6147           round to disposing of classes
6148         * gst/gstplugin.c:
6149           fix the refcounting when loading a plugin from a file and
6150           the code pretends that the pointer is the same even though
6151           of course it can change
6152         * gst/gstpluginfeature.c:
6153           unref plugins marked cached (a bit confusing as a name)
6154           as the docs state should be done
6155           various doc additions to explain refcounting
6156         * gst/gstregistry.c:
6157         * gst/gstregistryxml.c:
6158           debugging
6159
6160 2005-09-19  Wim Taymans  <wim@fluendo.com>
6161
6162         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6163         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6164         (send_messages), (GST_START_TEST), (gstbus_suite):
6165         * check/gst/gstpipeline.c: (GST_START_TEST):
6166         * check/pipelines/cleanup.c: (run_pipeline):
6167         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6168         (GST_START_TEST):
6169         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6170         (gst_bus_source_check), (gst_bus_source_dispatch),
6171         (gst_bus_create_watch), (gst_bus_add_watch_full),
6172         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6173         * gst/gstbus.h:
6174         * tools/gst-launch.c: (event_loop):
6175         * tools/gst-md5sum.c: (event_loop):
6176         GstBusHandler -> GstBusFunc, return value has the same meaning as
6177         any other GSource (FALSE == remove source).
6178         _add_watch() and _add_watch_full() now take a MessageType mask to
6179         only handle specific types of messages.
6180         _poll() returns the GstMessage instead of the message type to avoid
6181         race conditions.
6182         _have_pending() takes a MessageType mask now too.
6183         Added testsuite for multiple bus watches.
6184         Fix testsuites and applications for new bus API.
6185
6186 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6187
6188         * check/Makefile.am:
6189           mark a bunch of the tests as to fix until we fix them
6190
6191 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6192
6193         * common/check.mak:
6194           use GST_PLUGIN settings for valgrind tests as well, so we're
6195           valgrinding the correct thing
6196         * gst/gst.c: (init_post):
6197           plug another leak
6198
6199 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6200
6201         * gst/gst.c: (init_post), (gst_deinit):
6202         * gst/gstelementfactory.c: (gst_element_factory_class_init),
6203         (gst_element_factory_finalize), (gst_element_factory_cleanup):
6204         * gst/gstindex.c: (gst_index_factory_class_init),
6205         (gst_index_factory_finalize):
6206         * gst/gstobject.c: (gst_object_dispose):
6207         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6208         (gst_plugin_load_file), (gst_plugin_desc_free):
6209         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6210         (gst_plugin_feature_finalize):
6211         * gst/gstregistry.c: (gst_registry_class_init),
6212         (gst_registry_init), (gst_registry_finalize),
6213         (gst_registry_get_default), (gst_registry_deinit):
6214         * gst/gstregistry.h:
6215         * gst/gstregistryxml.c: (load_feature), (load_plugin):
6216           various cleanups and memleak plugging.  make valgrind is happy now.
6217
6218 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6219
6220         * common/check.mak:
6221           add a check-valgrind target
6222
6223 2005-09-18  David Schleef  <ds@schleef.org>
6224
6225         * tools/gst-inspect.c: Revert the GOption code.
6226
6227 2005-09-17  David Schleef  <ds@schleef.org>
6228
6229         * check/Makefile.am: Fix environment variables.
6230         * check/gst/gstplugin.c: Fix for API changes.
6231         * tools/gst-inspect.c: Fix for API changes.
6232         * tools/gst-xmlinspect.c: Fix for API changes.
6233         * gst/gstelementfactory.c:
6234         * gst/gstplugin.c:
6235         * gst/gstplugin.h:
6236         * gst/gstpluginfeature.c:
6237         * gst/gstpluginfeature.h:
6238         * gst/gstregistry.c:
6239         * gst/gstregistry.h:
6240         * gst/gstregistryxml.c:
6241         * gst/gsttypefind.c:
6242         * gst/gsttypefindfactory.c:
6243         * gst/indexers/gstfileindex.c:
6244         * gst/indexers/gstmemindex.c:
6245         * gst/schedulers/Makefile.am:
6246           Change registry to keep track of both plugins and features,
6247           removing the feature tracking from plugins themselves.
6248
6249 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6250
6251         * check/Makefile.am:
6252         * tools/gst-register.1.in:
6253           remove gst-register
6254
6255 2005-09-15  David Schleef  <ds@schleef.org>
6256
6257         * check/gst/gstplugin.c:
6258         * gst/gstelementfactory.c:
6259         * gst/gstplugin.c:
6260         * gst/gstpluginfeature.c:
6261         * gst/gstregistry.c:
6262           Getting tired of debugging.  Disabled all the unreffing of
6263           plugins and features, which fixes the segfaults, but of
6264           course leaks like crazy.  At least playbin works.
6265
6266 2005-09-15  David Schleef  <ds@schleef.org>
6267
6268         * check/gst/gstplugin.c: (register_check_elements),
6269         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6270         More testing
6271         * gst/elements/gsttypefindelement.c: Fix refcounting.
6272         * gst/gsttypefind.c:
6273         * gst/gsttypefindfactory.c:
6274         * gst/gsttypefindfactory.h:
6275
6276 2005-09-15  David Schleef  <ds@schleef.org>
6277
6278         * gst/gstindex.c: get refcounting correct.
6279         * gst/gstregistry.c: Handle the case where a feature/plugin is
6280           not found.
6281
6282 2005-09-15  David Schleef  <ds@schleef.org>
6283
6284         * check/Makefile.am:
6285         * check/gst/gstplugin.c: Add test
6286         * gst/gstplugin.c: Fix problems noticed by testsuite
6287         * gst/gstplugin.h:
6288         * gst/gstregistry.c: 
6289         * gst/gstregistry.h:
6290
6291 2005-09-15  David Schleef  <ds@schleef.org>
6292
6293         * gst/gstplugin.c: Implement semi-decent recounting and locking
6294           in plugins and plugin features.
6295         * gst/gstplugin.h:
6296         * gst/gstpluginfeature.c:
6297         * gst/gstpluginfeature.h:
6298         * gst/gstregistry.c:
6299
6300 2005-09-15  Michael Smith <msmith@fluendo.com>
6301
6302         * gst/gstregistry.c: (gst_registry_get_feature_list):
6303           Implement this. Makes oggdemux work; decodebin still broken.
6304
6305 2005-09-14  David Schleef  <ds@schleef.org>
6306
6307         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6308           #316076)
6309         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6310         * gst/check/Makefile.am:
6311         * libs/gst/controller/Makefile.am:
6312         * libs/gst/dataprotocol/Makefile.am:
6313
6314 2005-09-14  David Schleef  <ds@schleef.org>
6315
6316         * configure.ac: Remove getbits library.  Nothing uses it, and
6317           it should be in something like liboil if someone did want
6318           to use it.
6319         * libs/gst/Makefile.am:
6320         * libs/gst/getbits/Makefile.am:
6321         * libs/gst/getbits/gbtest.c:
6322         * libs/gst/getbits/getbits.c:
6323         * libs/gst/getbits/getbits.h:
6324         * libs/gst/getbits/gstgetbits_generic.c:
6325         * libs/gst/getbits/gstgetbits_i386.s:
6326         * libs/gst/getbits/gstgetbits_inl.h:
6327
6328 2005-09-14  David Schleef  <ds@schleef.org>
6329
6330         * gst/Makefile.am: Dist glib-compat.h
6331
6332 2005-09-14  David Schleef  <ds@schleef.org>
6333
6334         * configure.ac: Remove gst/registries, since it's no longer used.
6335         * gst/registries/Makefile.am:
6336         * gst/registries/gstlibxmlregistry.c:
6337         * gst/registries/gstlibxmlregistry.h:
6338         * gst/registries/gstxmlregistry.c:
6339         * gst/registries/gstxmlregistry.h:
6340         * gst/registries/registrytest.c:
6341
6342 2005-09-14  David Schleef  <ds@schleef.org>
6343
6344         * gst/glib-compat.h:
6345         * gst/gstregistryxml.c:
6346           Convergence is near.  Seriously.
6347
6348 2005-09-14  David Schleef  <ds@schleef.org>
6349
6350         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6351         * gst/glib-compat.h:
6352           Attempt #4 to appease the buildbots.
6353
6354 2005-09-14  David Schleef  <ds@schleef.org>
6355
6356         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6357           Attempt #3.
6358
6359 2005-09-14  David Schleef  <ds@schleef.org>
6360
6361         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6362         Attempt #2.
6363
6364 2005-09-14  David Schleef  <ds@schleef.org>
6365
6366         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
6367           the new functions.
6368
6369 2005-09-14  David Schleef  <ds@schleef.org>
6370
6371         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6372         * gst/glib-compat.h: Add some functions that are in newer versions
6373           of glib than we care to require.
6374         * gst/gstregistryxml.c: Use them.
6375
6376 2005-09-14  David Schleef  <ds@schleef.org>
6377
6378         * po/POTFILES.in: remove gst-register.c
6379
6380 2005-09-14  David Schleef  <ds@schleef.org>
6381
6382         * docs/gst/gstreamer-docs.sgml:
6383         * docs/gst/gstreamer-sections.txt:
6384         * docs/gst/gstreamer.types:
6385         * docs/gst/tmpl/gstelement.sgml:
6386         * docs/gst/tmpl/gstplugin.sgml:
6387         * docs/gst/tmpl/gstpluginfeature.sgml:
6388           Documentation updates for registry changes.
6389
6390 2005-09-14  David Schleef  <ds@schleef.org>
6391
6392         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
6393           because we don't require glib-2.8.
6394
6395 2005-09-14  David Schleef  <ds@schleef.org>
6396
6397         * gst/gstregistryxml.c: Added.  Essentially moved out of the
6398           registries directory.
6399
6400 2005-09-14  David Schleef  <ds@schleef.org>
6401
6402         * check/Makefile.am:
6403         * check/generic/states.c:
6404         * gst/Makefile.am:
6405         * gst/gst.c:
6406         * gst/gst.h:
6407         * gst/gst_private.h:
6408         * gst/gstelementfactory.c:
6409         * gst/gstindex.c:
6410         * gst/gstinfo.c:
6411         * gst/gstplugin.c:
6412         * gst/gstplugin.h:
6413         * gst/gstpluginfeature.c:
6414         * gst/gstpluginfeature.h:
6415         * gst/gstregistry.c:
6416         * gst/gstregistry.h:
6417         * gst/gstregistrypool.c: remove
6418         * gst/gstregistrypool.h: remove
6419         * gst/gsttypefind.c:
6420         * gst/gsttypefindfactory.c:
6421         * gst/gsturi.c:
6422         * tools/Makefile.am:
6423         * tools/gst-compprep.c:
6424         * tools/gst-inspect.c:
6425         * tools/gst-register.c: remove
6426         * tools/gst-xmlinspect.c:
6427           Registry rewrite.  Changes registry from being a file created
6428           by a tool into a simple cache file created automatically by 
6429           libgstreamer.  Removed gst-register (because it's no longer
6430           needed).  Remove registry pools, because we only have one
6431           registry implementation (XML).  Fix up other subsystems as
6432           necessary.
6433
6434 2005-09-13  Michael Smith <msmith@fluendo.com>
6435
6436         * gst/gstconfig.h.in:
6437           Don't Use windows linking attributes for MinGW. Fixes #316157
6438
6439 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6440
6441         * gst/gstutils.c: (set_state_async_thread_func),
6442         (gst_element_set_state_async):
6443           Apparently people think it's better if this function doesn't
6444           try to set the state to whatever state was asked for on the first
6445           call to this function for any object.  Seriously.
6446
6447 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6448
6449         * check/gst/gstpipeline.c: (GST_START_TEST):
6450         * docs/gst/gstreamer-sections.txt:
6451         * gst/gstutils.c: (set_state_async_thread_func),
6452         (gst_element_set_state_async):
6453         * gst/gstutils.h:
6454           add a "gst_element_set_state_async" method that
6455           sets the state and starts a thread to make sure the state
6456           change completes as best as it can
6457
6458 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6459
6460         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6461           codify design+behaviour in testsuite after discussion
6462
6463 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6464
6465         * docs/gst/tmpl/gstelement.sgml:
6466         * docs/manual/appendix-quotes.xml:
6467           add a quote
6468         * gst/gstelement.c: (gst_element_set_state):
6469           add some debug
6470
6471 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
6472
6473         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6474         (gst_base_transform_prepare_output_buf),
6475         (gst_base_transform_handle_buffer):
6476         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
6477         (gst_capsfilter_prepare_buf):
6478           Remove the requirement for sub-classes to call the parent
6479           implementation of prepare_output_buffer with a wrapper function.
6480           
6481         * gst/gsttaglist.h:
6482         * gst/gsttagsetter.h:
6483           Fix #define wrapper
6484
6485 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
6486
6487         * docs/gst/gstreamer-sections.txt:
6488           more doc cleanups
6489
6490 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6491
6492         * docs/gst/gstreamer-sections.txt:
6493         * docs/gst/tmpl/gstelement.sgml:
6494         * docs/gst/tmpl/gstplugin.sgml:
6495         * gst/gstminiobject.c:
6496         * gst/gstvalue.h:
6497           docs now stop throwing warnings
6498
6499 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6500
6501         * docs/gst/gstreamer-sections.txt:
6502         * docs/gst/gstreamer.types:
6503         * docs/gst/tmpl/gstpad.sgml:
6504         * docs/gst/tmpl/gsttypes.sgml:
6505         * gst/base/gstadapter.h:
6506         * gst/base/gstbasesink.h:
6507         * gst/base/gstbasesrc.h:
6508         * gst/gstbin.h:
6509         * gst/gstbuffer.h:
6510         * gst/gstbus.h:
6511         * gst/gstcaps.h:
6512         * gst/gstclock.h:
6513         * gst/gstelement.h:
6514         * gst/gstevent.h:
6515         * gst/gstmessage.h:
6516         * gst/gstpad.h:
6517         * gst/gststructure.c:
6518         * gst/registries/gstlibxmlregistry.h:
6519           various documentation fixes
6520
6521 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6522
6523         * docs/gst/gstreamer-sections.txt:
6524         * docs/gst/tmpl/gstvalue.sgml:
6525           rearrange gstvalue section
6526         * gst/gstutils.c: (gst_element_state_get_name):
6527           NONE -> VOID
6528         * gst/gstvalue.c: (_gst_value_initialize):
6529         * gst/gstvalue.h:
6530           doc updates
6531
6532 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
6533
6534         * check/gst-libs/controller.c:
6535           Header include fix.
6536         * gst/base/gstbasetransform.c:
6537         (gst_base_transform_default_prepare_buf),
6538         (gst_base_transform_handle_buffer):
6539         * gst/base/gstbasetransform.h:
6540           Some more basetransform changes and fixes to enable sub-classes
6541           that modify buffer metadata only.
6542         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6543         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
6544         (gst_capsfilter_prepare_buf):
6545           If the output pad has fixed allowed caps and input buffers 
6546           don't have any, set the fixed caps on outgoing buffers.
6547
6548 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
6549         * check/elements/identity.c: (GST_START_TEST):
6550           Make the error a little clearer when the test fails because
6551           identity made a copy of the buffer.
6552         * docs/gst/gstreamer-sections.txt:
6553           New symbols in gstbasetransform.h
6554         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6555         (gst_base_transform_init), (gst_base_transform_transform_size),
6556         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6557         (gst_base_transform_default_prepare_buf),
6558         (gst_base_transform_get_unit_size),
6559         (gst_base_transform_buffer_alloc),
6560         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
6561         (gst_base_transform_change_state),
6562         (gst_base_transform_set_passthrough),
6563         (gst_base_transform_set_in_place),
6564         (gst_base_transform_is_in_place):
6565         * gst/base/gstbasetransform.h:
6566           Change BaseTransform to separate in_place operate from same_caps
6567           output. in_place implies that the element can perform the transform
6568           on incoming buffers in-place, even if the caps on the output are
6569           different.
6570           Sub-class elements can now implement special buffer allocation
6571           methods for outgoing buffers if they wish to.
6572           Big documentation addition.
6573         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
6574         * gst/elements/gstelements.c:
6575           Changes for basetransform modifications.
6576         * gst/elements/Makefile.am:
6577         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
6578           Compile fix. Extra debug output.
6579
6580 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6581
6582         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
6583         (gst_pad_suite):
6584           add tests for valid pad naming
6585         * gst/check/gstcheck.c: (gst_check_log_message_func),
6586         (gst_check_log_critical_func):
6587           add ASSERT_WARNING
6588           remove printing of code, it is fragile when the code contains
6589           % and the line number is enough info
6590         * gst/check/gstcheck.h:
6591         * gst/gstpad.c: (gst_pad_template_new):
6592           fix memleaks
6593
6594 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6595
6596         * configure.ac:
6597           say what CHECK flags we use
6598         * docs/libs/gstreamer-libs.types:
6599         * libs/gst/controller/Makefile.am:
6600         * libs/gst/controller/gst-controller.c:
6601         * libs/gst/controller/gst-controller.h:
6602         * libs/gst/controller/gst-helper.c:
6603         * libs/gst/controller/gst-interpolation.c:
6604         * libs/gst/controller/gstcontroller.c:
6605         * libs/gst/controller/gsthelper.c:
6606         * libs/gst/controller/gstinterpolation.c:
6607         * tools/gst-inspect.c: (print_plugin_info):
6608           we don't use dashes in header names
6609
6610 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6611
6612         * check/Makefile.am:
6613         * check/gst/.cvsignore:
6614         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
6615         (gst_pipeline_suite), (main):
6616           adding a test for pipelines and state changes
6617         * gst/gstutils.c: (get_state_func):
6618           add some debugging
6619         * gstreamer.spec.in:
6620           fix up spec file
6621
6622 2005-09-08  Michael Smith <msmith@fluendo.com>
6623
6624         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
6625         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
6626         (gst_file_src_is_seekable), (gst_file_src_get_size),
6627         (gst_file_src_start):
6628         * gst/elements/gstfilesrc.h:
6629           Various fixes for unseekable, unmmapable, and non-normal files, so
6630           that fallback to read() rather than mmap() works.
6631         * gst/gstevent.c: (gst_event_new_newsegment):
6632           Allow newsegment events with segment_start == segment_end, as will
6633           correctly happen if you use filesrc on a zero-size file, for
6634           example.
6635
6636 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6637
6638         * gst/gstplugin.c: (gst_plugin_load_file):
6639           Call g_module_close when we don't load the module
6640
6641         * gst/registries/gstlibxmlregistry.c:
6642         (gst_xml_registry_get_property):
6643           Port leak fix from 0.8
6644
6645 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6646
6647         * docs/gst/gstreamer-docs.sgml:
6648         * docs/gst/tmpl/.cvsignore:
6649         * docs/gst/tmpl/gsttrace.sgml:
6650         * docs/gst/tmpl/gsttrashstack.sgml:
6651         * gst/Makefile.am:
6652         * gst/gst.h:
6653         * gst/gstelement.h:
6654         * gst/gstevent.h:
6655         * gst/gstmessage.c:
6656         * gst/gstmessage.h:
6657         * gst/gsttag.c:
6658         * gst/gsttag.h:
6659         * gst/gsttaginterface.c:
6660         * gst/gsttaginterface.h:
6661         * gst/gsttaglist.c:
6662         * gst/gsttaglist.h:
6663         * gst/gsttagsetter.c:
6664         * gst/gsttagsetter.h:
6665         * gst/gsttrace.c:
6666         * gst/gsttrace.h:
6667         * gst/gsttrashstack.c:
6668           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
6669           inlined docs for gsttrace, gsttrashstack
6670
6671 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6672
6673         * gst/Makefile.am:
6674         * gst/elements/gstbufferstore.h:
6675         * gst/elements/gsttypefindelement.c:
6676         * gst/elements/gsttypefindelement.h:
6677         * gst/gst.h:
6678         * gst/gsttypefind.c:
6679         * gst/gsttypefind.h:
6680         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
6681         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
6682         (gst_type_find_factory_dispose),
6683         (gst_type_find_factory_unload_thyself),
6684         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
6685         (gst_type_find_factory_get_caps),
6686         (gst_type_find_factory_get_extensions),
6687         (gst_type_find_factory_call_function):
6688         * gst/gsttypefindfactory.h:
6689         * gst/registries/gstlibxmlregistry.c:
6690         * gst/registries/gstxmlregistry.c:
6691           splitted gsttypefind into gsttypefind, gsttypefindfactory
6692
6693 2005-09-07  Andy Wingo  <wingo@pobox.com>
6694
6695         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
6696         condition whereby the pad's task function is entered before the
6697         pad_mode variable was set.
6698
6699 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6700
6701         * gst/gstpad.c: (gst_pad_alloc_buffer):
6702           Catch misbehaving pad_alloc functions that don't
6703           set up caps and do it for them.
6704
6705 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6706
6707         * check/pipelines/simple_launch_lines.c: (run_pipeline):
6708           test for pipe!=NULL
6709         * docs/gst/tmpl/.cvsignore:
6710         * docs/gst/tmpl/gstmemchunk.sgml:
6711         * docs/gst/tmpl/gstparse.sgml:
6712         * docs/gst/tmpl/gsttaglist.sgml:
6713         * docs/gst/tmpl/gsttagsetter.sgml:
6714         * docs/gst/tmpl/gsttypefind.sgml:
6715         * docs/gst/tmpl/gsttypefindfactory.sgml:
6716         * gst/gstmemchunk.c:
6717         * gst/gstparse.c:
6718         * gst/gsttag.c:
6719         * gst/gsttaginterface.c:
6720         * gst/gsttypefind.c:
6721         * gst/gsttypefind.h:
6722           inlined more docs
6723
6724 === release 0.9.2 ===
6725
6726 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6727
6728         * NEWS:
6729         * RELEASE:
6730         * configure.ac:
6731           releasing 0.9.2, "South"
6732
6733 2005-09-05  Andy Wingo  <wingo@pobox.com>
6734
6735         * gst/registries/gstxmlregistry.h:
6736         * gst/registries/gstxmlregistry.c: Um... resurrect...
6737         
6738         * gst/registries/gstxmlregistry.h:
6739         * gst/registries/gstxmlregistry.c: and update to newer API.
6740         Incidentally they should be a bit faster now that they don't have
6741         to parse the caps.
6742         
6743 2005-09-05  Andy Wingo  <wingo@pobox.com>
6744
6745         * gst/registries/gstxmlregistry.h:
6746         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
6747         replaced by the libxml registry a while back
6748
6749 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6750
6751         * docs/gst/tmpl/gstplugin.sgml:
6752         * gst/elements/gstelements.c:
6753         * gst/gst.c:
6754         * gst/gstplugin.c: (gst_plugin_register_func),
6755         (gst_plugin_desc_copy), (gst_plugin_desc_free),
6756         (gst_plugin_get_source):
6757         * gst/gstplugin.h:
6758         * gst/registries/gstlibxmlregistry.c: (load_plugin),
6759         (gst_xml_registry_save_plugin):
6760         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
6761         (gst_xml_registry_save_plugin):
6762         * tools/gst-inspect.c: (print_plugin_info):
6763           add a "source" plugin description field, to represent the source
6764           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
6765           will set it to PACKAGE, which is automake's idea of the name of
6766           the source project.
6767
6768 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6769
6770         * Makefile.am:
6771         * autogen.sh:
6772         * configure.ac:
6773         * docs/Makefile.am:
6774         * docs/faq/Makefile.am:
6775         * docs/gst/tmpl/gstelement.sgml:
6776         * docs/gst/tmpl/gsttypes.sgml:
6777         * docs/htmlinstall.mak:
6778         * docs/manual/Makefile.am:
6779         * docs/pwg/Makefile.am:
6780           reorganize doc build a little
6781           split out docbook and gtk-doc stuff
6782           have two separate --enable's and enable them through autogen
6783           but disable by default in configure (to be similar to other
6784           projects)
6785         * gstreamer.spec.in:
6786           clean up docs install
6787         * po/af.po:
6788         * po/az.po:
6789         * po/ca.po:
6790         * po/cs.po:
6791         * po/de.po:
6792         * po/en_GB.po:
6793         * po/fr.po:
6794         * po/it.po:
6795         * po/nb.po:
6796         * po/nl.po:
6797         * po/ru.po:
6798         * po/sq.po:
6799         * po/sr.po:
6800         * po/sv.po:
6801         * po/tr.po:
6802         * po/uk.po:
6803         * po/vi.po:
6804           translation updates
6805
6806 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
6807
6808         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
6809           Add comment.
6810           
6811         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6812         (gst_fake_sink_change_state):
6813           Make state change function thread-safe.
6814           
6815         * gst/gstpad.c: (gst_pad_alloc_buffer):
6816           Set offset on generic buffer allocated by fallback.
6817
6818 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
6819
6820         * docs/gst/gstreamer-sections.txt:
6821         * docs/gst/tmpl/gstelement.sgml:
6822         * gst/gstpad.c:
6823         * libs/gst/controller/gst-controller.c:
6824         (gst_controlled_property_set_interpolation_mode),
6825         (gst_controlled_property_new),
6826         (gst_controller_find_controlled_property):
6827          run the wingo-magic script against the docs
6828
6829 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6830
6831         * docs/gst/gstreamer-docs.sgml:
6832         * docs/gst/gstreamer-sections.txt:
6833         * docs/gst/tmpl/.cvsignore:
6834         * docs/gst/tmpl/gstelementdetails.sgml:
6835         * docs/gst/tmpl/gstelementfactory.sgml:
6836         * gst/gst.c:
6837         * gst/gstbus.c:
6838         * gst/gstelementfactory.c:
6839         * gst/gstelementfactory.h:
6840           merged elementdetails docs into elementfactory docs
6841           inlined both
6842
6843 2005-09-02  Andy Wingo  <wingo@pobox.com>
6844
6845         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
6846         consider this enum an enum and not a flags.
6847
6848 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6849
6850         * docs/gst/gstreamer-docs.sgml:
6851         * docs/gst/tmpl/.cvsignore:
6852         * docs/gst/tmpl/gstghostpad.sgml:
6853         * docs/gst/tmpl/gstiterator.sgml:
6854         * docs/gst/tmpl/gstmacros.sgml:
6855         * docs/gst/tmpl/gstrealpad.sgml:
6856         * docs/gst/tmpl/gstregistry.sgml:
6857         * docs/gst/tmpl/gstregistrypool.sgml:
6858         * docs/gst/tmpl/gststructure.sgml:
6859         * docs/gst/tmpl/gstsystemclock.sgml:
6860         * docs/gst/tmpl/gsttrace.sgml:
6861         * gst/gstghostpad.c:
6862         * gst/gstmacros.h:
6863         * gst/gstmemchunk.c:
6864         * gst/gstmemchunk.h:
6865         * gst/gstqueue.c:
6866         * gst/gstregistry.c:
6867         * gst/gstregistrypool.c:
6868         * gst/gststructure.c:
6869         * gst/gstsystemclock.c:
6870           more docs inlined
6871
6872 2005-09-02  Andy Wingo  <wingo@pobox.com>
6873
6874         * gst/gstelement.h (GstState): Renamed from GstElementState,
6875         changed to be a normal enum instead of flags.
6876         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
6877         munged to be GST_STATE_CHANGE_*.
6878         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
6879         work with the new state representation.
6880         (GstStateChange): New enumeration of possible state transitions.
6881         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
6882         (GstElementClass::change_state): Pass the GstStateChange along as
6883         an argument. Helps language bindings, so they don't have to use
6884         tricky lock-needing macros like GST_STATE_CHANGE ().
6885
6886         * scripts/update-states (file): New script. Run it on a file to
6887         update it for state naming and API changes. Updates files in
6888         place.
6889
6890         * All files updated for the new API.
6891
6892 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6893
6894         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
6895         * gst/gstutils.c: (gst_util_set_value_from_string),
6896         (gst_util_set_object_arg):
6897           fix a bunch of unchecked return values
6898         * tools/gst-complete.c: (main):
6899         * gstreamer.spec.in:
6900           clean up a little
6901
6902 2005-09-01  Wim Taymans  <wim@fluendo.com>
6903
6904         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6905         (gst_base_sink_event), (gst_base_sink_do_sync),
6906         (gst_base_sink_handle_event):
6907         * gst/base/gstbasesink.h:
6908         Handle newsegments more correctly.
6909
6910         * gst/gstbus.c:
6911         Fix docs.
6912
6913         * gst/gstevent.c: (gst_event_new_newsegment):
6914         A newsegment cannot have a start_time of -1
6915
6916 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
6917
6918         * win32/gstenumtypes.c:
6919         * win32/gstenumtypes.h:
6920           Update
6921
6922 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6923
6924         * libs/gst/controller/gst-controller.c:
6925         (gst_controlled_property_set_interpolation_mode),
6926         (gst_controlled_property_new):
6927          fixed boolean again
6928
6929 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
6930
6931         * docs/faq/gst-uninstalled:
6932           add -good
6933         * gst/gstevent.c:
6934         * gst/gstevent.h:
6935           remove wrong docs
6936         * gst/gstutils.c: (gst_element_link_filtered):
6937         * gst/gstutils.h:
6938           add gst_element_link_filtered
6939
6940 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6941
6942         * docs/gst/gstreamer-docs.sgml:
6943         * docs/gst/gstreamer-sections.txt:
6944         * docs/gst/tmpl/.cvsignore:
6945         * docs/gst/tmpl/gsterror.sgml:
6946         * docs/gst/tmpl/gstfilter.sgml:
6947         * docs/gst/tmpl/gsturihandler.sgml:
6948         * docs/gst/tmpl/gsturitype.sgml:
6949         * docs/gst/tmpl/gstutils.sgml:
6950         * docs/gst/tmpl/gstxml.sgml:
6951         * gst/gsterror.c:
6952         * gst/gsterror.h:
6953         * gst/gstfilter.c:
6954         * gst/gsturi.c:
6955         * gst/gsturitype.c:
6956         * gst/gstutils.c:
6957         * gst/gstxml.c:
6958           inlined more docs, fixed double id-ref
6959
6960 2005-08-31  Wim Taymans  <wim@fluendo.com>
6961
6962         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6963         (gst_base_transform_handle_buffer):
6964         Passthrough elements don't need the caps as they don't care.
6965
6966 2005-08-31  Wim Taymans  <wim@fluendo.com>
6967
6968         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6969         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
6970         Don't leak refcounts on buffers.
6971
6972 2005-08-31  Wim Taymans  <wim@fluendo.com>
6973
6974         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
6975         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
6976         (gst_base_transform_chain), (gst_base_transform_change_state):
6977         * gst/base/gstbasetransform.h:
6978         Handle the case where we are not negotiated more gracefully.
6979
6980 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
6981
6982         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
6983         (gst_file_src_map_region):
6984           Set READONLY flag on mmap'ed buffers, otherwise
6985           gst_buffer_make_writable() won't work properly (#314708).
6986
6987 2005-08-31  Wim Taymans  <wim@fluendo.com>
6988
6989         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
6990         passthrough elements can even do inplace on non writable
6991         buffers (as they don't touch them).
6992
6993 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6994
6995         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
6996         (gst_test_mono_source_set_property),
6997         (gst_test_mono_source_class_init), (GST_START_TEST),
6998         (gst_controller_suite):
6999           more tests (hehe I have the most)
7000         * gst/gstbus.c:
7001           describe popping messages whenusing mulltiple sources
7002         * libs/gst/controller/gst-controller.c:
7003         (gst_controlled_property_set_interpolation_mode),
7004         (gst_controlled_property_new):
7005         * libs/gst/controller/gst-controller.h:
7006         * libs/gst/controller/gst-interpolation.c:
7007           implement boolean properties
7008
7009 2005-08-31  Wim Taymans  <wim@fluendo.com>
7010
7011         * gst/gstminiobject.c: (gst_mini_object_ref):
7012         Cannot assert that the refcount has to be positive
7013         since a disposed object can be resurrected.
7014
7015 2005-08-31  Wim Taymans  <wim@fluendo.com>
7016
7017         * gst/gstpad.c: (gst_pad_init):
7018         Revert change, need to first fix badly behaving 
7019         apps.
7020
7021 2005-08-30  Wim Taymans  <wim@fluendo.com>
7022
7023         * check/elements/fakesrc.c: (setup_fakesrc):
7024         * check/elements/identity.c: (setup_identity):
7025         Activate pads before using them.
7026
7027 2005-08-30  Wim Taymans  <wim@fluendo.com>
7028
7029         * gst/base/gstadapter.c: (gst_adapter_flush):
7030         Flushing out 0 bytes is ok for this function.
7031
7032         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7033         no newsegment gives a warning and sets the start/stop to 
7034         invalid.
7035
7036         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
7037         (gst_base_transform_set_passthrough):
7038         Some debug info.
7039
7040         * gst/gstminiobject.c: (gst_mini_object_ref):
7041         Check refcount here too.
7042
7043         * gst/gstpad.c: (gst_pad_init):
7044         Pads are initially flushing and refusing data.
7045
7046         * gst/gstutils.c: (gst_element_link_pads_filtered):
7047         When adding a capsfilter element make sure it has the
7048         same state as the parent bin.
7049
7050 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7051
7052         * docs/gst/tmpl/.cvsignore:
7053         * docs/gst/tmpl/gstformat.sgml:
7054         * docs/gst/tmpl/gstversion.sgml:
7055         * gst/gstbus.h:
7056         * gst/gstformat.c:
7057         * gst/gstformat.h:
7058         * gst/gstversion.h.in:
7059           more docs and two more inlined
7060
7061 2005-08-30  Wim Taymans  <wim@fluendo.com>
7062
7063         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
7064         Don't sync to clock.
7065
7066 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7067
7068         * docs/gst/gstreamer-sections.txt:
7069           ultral33t func10ns deserve to appear in the docs actually
7070         * docs/gst/tmpl/.cvsignore:
7071         * docs/gst/tmpl/gstcompat.sgml:
7072         * docs/gst/tmpl/gstconfig.sgml:
7073         * gst/check/gstcheck.c:
7074         * gst/gstcompat.h:
7075         * gst/gstconfig.h.in:
7076           inlined more docs
7077
7078 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7079
7080         * docs/gst/tmpl/.cvsignore:
7081         * docs/gst/tmpl/gstquery.sgml:
7082         * docs/gst/tmpl/gstutils.sgml:
7083         * gst/gstquery.c:
7084         * gst/gstquery.h:
7085           inlined and extended docs
7086
7087 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7088
7089         * check/gst-libs/controller.c: (GST_START_TEST),
7090         (gst_controller_suite):
7091           more tests
7092         * docs/gst/tmpl/gstutils.sgml:
7093         * docs/libs/gstreamer-libs-sections.txt:
7094         * docs/libs/tmpl/gstdataprotocol.sgml:
7095           include path fixes
7096         * examples/controller/audio-example.c: (main):
7097           controller example works now
7098         * gst/gstclock.h:
7099           doc fixes
7100         * tools/gst-inspect.c: (print_element_properties_info):
7101           show param spec flags
7102
7103 2005-08-29  Andy Wingo  <wingo@pobox.com>
7104
7105         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
7106
7107 2005-08-28  Andy Wingo  <wingo@pobox.com>
7108
7109         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
7110         as having two arguments instead of just one. Allows superclasses
7111         to access information on subclasses -- see the terrible for() loop
7112         in gtype.c:g_type_create_instance for the reason why. All callers
7113         changed.
7114
7115 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7116
7117         * docs/design/part-messages.txt:
7118           update info
7119         * docs/gst/tmpl/.cvsignore:
7120         * docs/gst/tmpl/gstcaps.sgml:
7121         * docs/gst/tmpl/gstclock.sgml:
7122         * gst/gstbus.c:
7123         * gst/gstcaps.c:
7124         * gst/gstcaps.h:
7125         * gst/gstclock.c:
7126         * gst/gstclock.h:
7127         * gst/gstmessage.c:
7128           added descriptions for bus and message
7129           inline caps and clock docs
7130
7131 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7132
7133         * gst/gstmessage.c:
7134         * gst/gstmessage.h:
7135           doc fixes
7136
7137 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7138
7139         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7140           fix div-by-zero
7141
7142 2005-08-26  Andy Wingo  <wingo@pobox.com>
7143
7144         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
7145         element_set_state's return val.
7146         (test_2_elements): Add test that's been disabled for months.
7147
7148         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
7149         can-activate-pull properties.
7150
7151         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
7152         can-activate-pull properties. Implement is_seekable so fakesrc can
7153         operate in pull mode.
7154
7155         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7156         properties.
7157         (gst_base_sink_activate, gst_base_sink_activate_pull)
7158         (gst_base_sink_activate_push): Make activation mode choosing work.
7159         Cleanups.
7160         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7161         is right. Make pull mode work. Post an eos before pausing in pull
7162         mode.
7163         (gst_base_sink_change_state): Pay attention to the core's
7164         change_state() return val.
7165         
7166         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7167         has-getrange properties. Cleanups.
7168         
7169         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7170         has_getrange and replace with can_activate_pull and
7171         can_activate_push.
7172
7173         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7174         locking comments. Remove has_loop, has_chain and replace with
7175         can_activate_pull and can_activate_push.
7176
7177 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
7178
7179         * configure.ac:
7180         * examples/Makefile.am:
7181         * examples/metadata/Makefile.am:
7182         * examples/metadata/read-metadata.c: (message_loop),
7183         (have_pad_handler), (make_pipeline), (print_tag), (main):
7184           Add metadata reading example that loops over a list of filenames,
7185           dumping any tags found.
7186
7187         * gst/gstbus.c: (gst_bus_dispose):
7188         * gst/gstelement.c: (gst_element_dispose):
7189           Release a few potentially-held references in dispose.
7190
7191 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7192
7193         * docs/gst/tmpl/gstminiobject.sgml:
7194           do *not* add tmpl/*.sgml files to CVS!
7195
7196 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7197
7198         * libs/gst/bytestream/.cvsignore:
7199         * libs/gst/bytestream/Makefile.am:
7200         * libs/gst/bytestream/adapter.c:
7201         * libs/gst/bytestream/adapter.h:
7202         * libs/gst/bytestream/bytestream.c:
7203         * libs/gst/bytestream/bytestream.h:
7204         * libs/gst/bytestream/filepad.c:
7205         * libs/gst/bytestream/filepad.h:
7206           removing obsolete files
7207
7208 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7209
7210         * docs/gst/gstreamer-docs.sgml:
7211         * docs/libs/gstreamer-libs-docs.sgml:
7212           disabed additional index entries again, as this makes docs-gen just
7213           slow and they aren't useful yet
7214         * docs/libs/gstreamer-libs-sections.txt:
7215           little -section.txt cleanup for libs
7216
7217 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7218
7219         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7220         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7221           fix up some debugging
7222         (gst_base_transform_get_unit_size),
7223         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7224         (gst_base_transform_handle_buffer):
7225         * gst/base/gstbasetransform.h:
7226           handle and store timed NEWSEGMENT events so that subclasses that
7227           calculate time by counting samples have a segment_start time they
7228           need to add to their timestamps - see audioresample
7229
7230 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7231
7232         * gst/gstbin.h:
7233           removed ';' from the end of macro defs
7234         * docs/gst/gstreamer-docs.sgml:
7235         * docs/gst/gstreamer-sections.txt:
7236         * docs/gst/tmpl/.cvsignore:
7237         * gst/gstbus.h:
7238         * gst/gstelement.c: (gst_element_class_init),
7239         (gst_element_set_state), (activate_pads),
7240         (gst_element_save_thyself):
7241         * gst/gstevent.c: (gst_event_new_newsegment):
7242         * gst/gstevent.h:
7243         * gst/gstiterator.c:
7244         * gst/gstiterator.h:
7245         * gst/gstpad.c:
7246         * gst/gstprobe.h:
7247         * gst/gstutils.c: (gst_pad_query_convert):
7248         * gst/gstutils.h:
7249           fixed parameter name mismatches between source, header and docs
7250           added some more docs, resolved the last batch of unused elements in
7251           docs (now someone needs to doc them)
7252
7253 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7254
7255         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7256         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7257           don't walk through the plugins backwards.  Where is all this
7258           reversed logic coming from ?
7259
7260 2005-08-25  Wim Taymans  <wim@fluendo.com>
7261
7262         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7263         (gst_base_transform_transform_size),
7264         (gst_base_transform_configure_caps),
7265         (gst_base_transform_get_unit_size),
7266         (gst_base_transform_buffer_alloc),
7267         (gst_base_transform_change_state):
7268         * gst/base/gstbasetransform.h:
7269         Cache caps unit_size.
7270         Make sure we cannot negotiate up and downstream at the
7271         same time.
7272
7273 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7274
7275         * gst/gst.c: (init_pre), (init_post):
7276           register the installed plugin path after the env var
7277         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7278         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7279           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7280           directories, so the tests can prefer uninstalled over installed
7281
7282 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7283
7284         * gst/base/gstbasetransform.h:
7285           comment
7286         * gst/gstpad.c:
7287           add to docs
7288
7289 2005-08-25  Wim Taymans  <wim@fluendo.com>
7290
7291         * gst/gstbin.c: (bin_bus_handler):
7292         Be a bit more conservative about the posted message.
7293         
7294         * gst/gstbus.c: (gst_bus_post):
7295         Some cleanups, warn wrong return values.
7296
7297 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
7298
7299         * check/gst/gstbin.c: (GST_START_TEST):
7300         * gst/gstbin.c: (bin_bus_handler):
7301         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7302         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7303         (gst_message_new_warning), (gst_message_new_tag),
7304         (gst_message_new_state_changed), (gst_message_new_segment_start),
7305         (gst_message_new_segment_done), (gst_message_new_custom):
7306         * gst/gstmessage.h:
7307         * tools/gst-launch.c: (event_loop):
7308         * tools/gst-md5sum.c: (event_loop):
7309           Revert unpopular change for GST_MESSAGE_SRC to GObject.
7310
7311 2005-08-25  Wim Taymans  <wim@fluendo.com>
7312
7313         * check/generic/states.c: (GST_START_TEST):
7314         Cleanup can be done at the end.
7315
7316         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7317         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7318         (gst_task_get_state), (gst_task_start), (gst_task_pause):
7319         Oh boy.. Thanks for finding this, Thomas. 
7320
7321 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7322
7323         * docs/gst/gstreamer.types:
7324           added missing types
7325
7326 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7327
7328         * docs/gst/gstreamer-docs.sgml:
7329         * docs/gst/gstreamer-sections.txt:
7330         * docs/gst/tmpl/.cvsignore:
7331         * gst/gstbin.c:
7332         * gst/gstiterator.c:
7333         * gst/gstutils.c:
7334         * gst/registries/gstxmlregistry.h:
7335           added missing classes and symbols (123 more to go)
7336           removed removed symbols from section file
7337           fixed many doc-comments
7338
7339 2005-08-24  Wim Taymans  <wim@fluendo.com>
7340
7341         * check/generic/states.c: (GST_START_TEST):
7342         Make sure all tasks are stopped.
7343
7344         * check/gst/gstbin.c: (GST_START_TEST):
7345         Unref after usage for proper valgrinding.
7346
7347         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
7348         Really wait for the task to stop before destroying the
7349         mutex.
7350
7351         * gst/gstqueue.c: (gst_queue_sink_activate_push),
7352         (gst_queue_src_activate_push):
7353         Small cleanups. Don't stop the task when we did not start
7354         it.
7355
7356         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
7357         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7358         (gst_task_get_state), (gst_task_start), (gst_task_pause),
7359         (gst_task_join):
7360         * gst/gsttask.h:
7361         Protect the stream lock with the object lock.
7362         Disallow setting the stream lock when running.
7363         Add cleanup_all to wait for the threadpool to finish.
7364         Remove code to autoallocate a mutex if none was provided.
7365         Add _join() to wait for a task to stop.
7366         Protect the thread pool with a global lock.
7367
7368 2005-08-24  Wim Taymans  <wim@fluendo.com>
7369
7370         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7371         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7372         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
7373         * gst/base/gstbasesink.h:
7374         Handle newsegment events correctly.
7375         Drop buffers out of the segment range.
7376
7377 2005-08-22  Andy Wingo  <wingo@pobox.com>
7378
7379         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
7380         macro, implements an interface and gstimplementsinterface for a
7381         new type.
7382
7383 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7384
7385         * check/Makefile.am:
7386         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
7387           add a test that does a bunch of state changes on elements
7388           needs some fixing for valgrind
7389         * check/states/sinks.c: (gst_object_suite):
7390           whitespace
7391         * gst/gstcaps.h:
7392           add prototype for gst_caps_is_equal_fixed
7393         * gst/gstplugin.c:
7394         * gst/gstregistrypool.c:
7395           doc fixes
7396
7397 2005-08-24  Andy Wingo  <wingo@pobox.com>
7398
7399         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
7400         convert a negative value. Doesn't make much sense. Mostly this is
7401         here to force callers to ensure -1 maps to -1.
7402
7403 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7404
7405         * docs/pwg/advanced-types.xml:
7406           Well done to Michael for catching my deliberate introduction
7407           of this spelling mistake. 
7408         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
7409         * gst/gstelement.h:
7410           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
7411           unlink pads before removing the element from the bin.
7412
7413 2005-08-24  Andy Wingo  <wingo@pobox.com>
7414
7415         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
7416         the same thing as GST_DEBUG=*:4.
7417         (parse_debug_level, parse_debug_category): New helper parsers.
7418
7419 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7420
7421         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7422         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
7423         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
7424         (gst_base_transform_buffer_alloc),
7425         (gst_base_transform_handle_buffer):
7426           use gboolean return values and pointers to size so we can use the
7427           full GST_BUFFER_SIZE range (guint) for buffer sizes
7428           use GstPadDirection for transform_caps
7429         * gst/base/gstbasetransform.h:
7430           rename get_size to get_unit_size since that's what it is
7431         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
7432           use GstPadDirection for transform_caps
7433         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7434         * gst/gstutils.h:
7435           cleanup and debugging
7436
7437 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7438
7439         * gst/gstelement.c: (gst_element_class_init),
7440         (gst_element_set_state), (activate_pads),
7441         (gst_element_save_thyself):
7442         * tools/gst-compprep.c: (main):
7443         * tools/gst-inspect.c: (print_element_properties_info):
7444         * tools/gst-xmlinspect.c: (print_element_properties):
7445           Fixed long standing mem-leak
7446
7447 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7448
7449         * check/gst/gstbin.c: (GST_START_TEST):
7450         * gst/gstbin.c: (bin_bus_handler):
7451         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7452         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7453         (gst_message_new_warning), (gst_message_new_tag),
7454         (gst_message_new_state_changed), (gst_message_new_segment_start),
7455         (gst_message_new_segment_done), (gst_message_new_custom):
7456         * gst/gstmessage.h:
7457         * tools/gst-launch.c: (event_loop):
7458         * tools/gst-md5sum.c: (event_loop):
7459           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
7460           that applications can sensibly post custom messages with references
7461           to their own objects.
7462
7463 2005-08-24  Andy Wingo  <wingo@pobox.com>
7464
7465         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
7466         already.
7467
7468 2005-08-24  Wim Taymans  <wim@fluendo.com>
7469
7470         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7471         (gst_base_transform_transform_caps),
7472         (gst_base_transform_transform_size),
7473         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7474         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7475         (gst_base_transform_handle_buffer):
7476         * gst/base/gstbasetransform.h:
7477         Many fixes and new features added by Thomas. Can now also do
7478         transforms with variable sizes and a custom fixate_caps function.
7479
7480 2005-08-24  Wim Taymans  <wim@fluendo.com>
7481
7482         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7483         Some debugging.
7484
7485         * gst/gstclock.h:
7486         Cast to ClockTime before formatting to time.
7487
7488         * gst/gstutils.h:
7489         Cleanups.
7490
7491 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7492
7493         * check/gst-libs/controller.c: (GST_START_TEST),
7494         (gst_controller_suite):
7495         * docs/gst/tmpl/gstcaps.sgml:
7496         * docs/gst/tmpl/gstghostpad.sgml:
7497         * docs/gst/tmpl/gstquery.sgml:
7498         * docs/gst/tmpl/gstutils.sgml:
7499         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
7500         (gst_object_sink_values), (gst_object_get_value_arrays),
7501         (gst_object_get_value_array):
7502           gracefully handle helper method calls to objects that are not beeing
7503           controlled, added test case for that          
7504
7505 2005-08-23  Wim Taymans  <wim@fluendo.com>
7506
7507         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
7508         (gst_event_new_newsegment), (gst_event_parse_newsegment),
7509         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
7510         (gst_event_parse_qos), (gst_event_new_seek),
7511         (gst_event_parse_seek):
7512         * gst/gstevent.h:
7513         Some more debugging output and doc cleanups.
7514
7515         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7516         Fix possible deadlock.
7517
7518 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7519
7520         * docs/gst/gstreamer-docs.sgml:
7521         * docs/gst/gstreamer-sections.txt:
7522         * docs/gst/gstreamer.types:
7523         * docs/gst/tmpl/.cvsignore:
7524         * gst/gstbin.h:
7525         * gst/gstbus.c:
7526         * gst/gstelement.c:
7527         * gst/gstevent.h:
7528           added 100 symbols from gstreamer-unused.txt to the right sections
7529           fixed more broken comments
7530           added GstBus to docs
7531
7532 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7533
7534         * docs/gst/gstreamer-sections.txt:
7535         * docs/gst/tmpl/.cvsignore:
7536         * docs/gst/tmpl/gstbin.sgml:
7537         * docs/gst/tmpl/gstbuffer.sgml:
7538         * gst/base/gstbasesrc.c:
7539         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
7540         * gst/gstbuffer.c:
7541         * gst/gstbuffer.h:
7542         * tools/gst-launch.1.in:
7543           inlined more doc comments, added missing comments and fixed comments
7544           fixed typos
7545
7546 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7547
7548         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7549           some debugging
7550         * gst/gstcaps.h:
7551           whitespace fixes
7552         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
7553           more debugging
7554         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
7555         * gst/gststructure.h:
7556           add a fixate function for booleans; add a FIXME that these func
7557           names should probably be gst_structure_fixate_*
7558
7559 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7560
7561         * docs/gst/gstreamer-docs.sgml:
7562         * docs/gst/gstreamer-sections.txt:
7563         * gst/Makefile.am:
7564         * gst/gstbin.c: (gst_bin_get_type),
7565         (gst_bin_child_proxy_get_child_by_index),
7566         (gst_bin_child_proxy_get_children_count),
7567         (gst_bin_child_proxy_init):
7568         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
7569         (gst_child_proxy_get_child_by_index),
7570         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
7571         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
7572         (gst_child_proxy_get), (gst_child_proxy_set_property),
7573         (gst_child_proxy_set_valist), (gst_child_proxy_set),
7574         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
7575         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
7576         * gst/gstchildproxy.h:
7577         * gst/parse/grammar.y:
7578         * tools/gst-inspect.c: (print_interfaces),
7579         (print_element_properties_info), (print_element_info):
7580           ported gstchildproxy over from 0.8
7581           ported gst-inspect fixes and enhancements over from 0.8
7582
7583 2005-08-22  Wim Taymans  <wim@fluendo.com>
7584
7585         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7586         (gst_base_transform_handle_buffer):
7587         Also call the transform function if we have ANY caps.
7588
7589         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
7590         Fix debug info.
7591
7592 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7593
7594         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
7595           Don't pretend to handle seek events if the source is not seekable
7596
7597 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7598
7599         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7600           Remove extra parameter to debug output
7601
7602         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7603         (gst_base_src_do_seek), (gst_base_src_activate_push):
7604           Fix seek event handling.
7605
7606         * gst/gstpipeline.c: (gst_pipeline_change_state):
7607         * gst/gstqueue.c: (gst_queue_handle_sink_event),
7608         (gst_queue_src_activate_push):
7609           Don't start the src pad task on FLUSH_STOP if the pad
7610           isn't linked.
7611           Debug changes.
7612
7613 2005-08-22  Wim Taymans  <wim@fluendo.com>
7614
7615         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
7616         Added check for gst_static_caps_get() refcounting.
7617
7618 2005-08-22  Wim Taymans  <wim@fluendo.com>
7619
7620         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
7621         Make _static_caps_get() refcounting sane.
7622         
7623         * gst/gstelement.c: (gst_element_set_state):
7624         Add g_return_val_if_fail() to protect against segfaults.
7625
7626 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
7627
7628         * docs/gst/tmpl/gstevent.sgml:
7629         * gst/gstevent.c:
7630         * gst/gstevent.h:
7631           inlined remaining docs, added missing doc comments
7632
7633 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7634
7635         * check/gst/gstbin.c: (GST_START_TEST):
7636           since we don't know when preroll is done, use refcount range
7637           check for the sink
7638         * gst/check/gstcheck.h:
7639           add macro for checking refcount range
7640
7641 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7642
7643         * check/Makefile.am:
7644           clean up environment for when registry gets built versus
7645           when actual tests are run; valgrind seems to not report
7646           leaks if GST_PLUGIN_PATH is set to some specific values
7647         * check/gst/gstbin.c: (GST_START_TEST):
7648           add more refcounting checks; maybe this exposes a
7649           preroll lock bug ?
7650         * common/check.mak:
7651         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7652         * gst/check/gstcheck.h:
7653         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
7654         (gst_bin_change_state):
7655         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
7656           add/fix debugging/whitespace
7657
7658 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7659
7660         * check/gst/gstevent.c: (event_probe), (test_event),
7661         (GST_START_TEST):
7662          Er, don't call gst_bin_watch_for_state_change you idiot.
7663
7664 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7665
7666         * check/Makefile.am:
7667           Use CHECK_CFLAGS and CHECK_LIBS
7668         * check/gst/gstevent.c: (event_probe), (test_event),
7669         (GST_START_TEST):
7670           Don't leak events.
7671         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7672         (gst_base_src_start), (gst_base_src_stop),
7673         (gst_base_src_activate_push), (gst_base_src_activate_pull),
7674         (gst_base_src_change_state):
7675           Sprinkle gst_base_src_stop liberally around error paths to fix
7676           problems reusing a source after failed state changes.
7677         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7678         (helper_find_suggest), (gst_type_find_helper):
7679           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
7680         * gst/gstevent.h:
7681         * docs/gst/tmpl/gstevent.sgml:
7682           Migrate part of the docs from the SGML file. Wait for ensonic to
7683           tell me how I did it wrong ;)
7684         * tools/gst-typefind.c: (main):
7685           Extra robustness to state changes between files.
7686
7687 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7688
7689         * check/Makefile.am:
7690           don't valgrind the controller test - it's leaking - Stefan, HELP
7691         * gst/check/gstcheck.c: (gst_check_message_error),
7692         (gst_check_chain_func), (gst_check_setup_element),
7693         (gst_check_teardown_element), (gst_check_setup_src_pad),
7694         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
7695         (gst_check_teardown_sink_pad):
7696         * gst/check/gstcheck.h:
7697           add a bunch of methods to set up elements, and src and sink pads
7698         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
7699         * check/elements/identity.c: (setup_identity), (cleanup_identity),
7700         (GST_START_TEST):
7701           use them
7702         * gst/gstmessage.c:
7703         * gst/gsttag.h:
7704           whitespace/doc fixes
7705
7706 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7707
7708         * gst/gstelement.h:
7709           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
7710           be handled by the application and not always printed as well
7711
7712 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7713
7714         * check/Makefile.am:
7715           set GST_TOOLS_DIR
7716         * gst/check/gstcheck.c: (gst_check_message_error):
7717         * gst/check/gstcheck.h:
7718           add a fail_unless_equals_int
7719           add fail_unless for error messages
7720
7721 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7722
7723         * check/Makefile.am:
7724         * check/gst.supp:
7725         * common/Makefile.am:
7726         * common/check.mak:
7727         * common/gst.supp:
7728           factor out some of the common stuff so we can use it
7729
7730 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7731
7732         * check/Makefile.am:
7733         * check/gst/gstiterator.c: (GST_START_TEST):
7734         * check/gst/gstsystemclock.c: (GST_START_TEST),
7735         (gst_systemclock_suite):
7736         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7737         * gst/gstclock.c:
7738           valgrind more tests
7739
7740 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7741
7742         * check/elements/.cvsignore:
7743         * check/elements/gstfakesrc.c:
7744           rename to name of element
7745         * check/elements/identity.c: (chain_func), (event_func),
7746         (setup_identity), (cleanup_identity), (GST_START_TEST),
7747         (identity_suite), (main):
7748           add a test for identity
7749         * check/Makefile.am:
7750         * pkgconfig/Makefile.am:
7751         * pkgconfig/gstreamer-check.pc.in:
7752         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7753         * gst/check:
7754         * gst/Makefile.am:
7755         * configure.ac:
7756           move the check stuff to a library that gets installed
7757         * check/gst-libs/controller.c: (GST_START_TEST):
7758         * check/gst-libs/gdp.c:
7759         * check/gst/gst.c: (GST_START_TEST):
7760         * check/gst/gstbin.c:
7761         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7762         * check/gst/gstbus.c:
7763         * check/gst/gstcaps.c: (GST_START_TEST):
7764         * check/gst/gstelement.c:
7765         * check/gst/gstghostpad.c:
7766         * check/gst/gstiterator.c:
7767         * check/gst/gstmessage.c:
7768         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
7769         * check/gst/gstobject.c:
7770         * check/gst/gstpad.c: (GST_START_TEST):
7771         * check/gst/gststructure.c: (GST_START_TEST):
7772         * check/gst/gstsystemclock.c: (GST_START_TEST),
7773         (gst_systemclock_suite):
7774         * check/gst/gsttag.c: (gst_tag_suite):
7775         * check/gst/gstvalue.c:
7776         * check/pipelines/cleanup.c:
7777         * check/pipelines/simple_launch_lines.c:
7778         * check/states/sinks.c:
7779           change include statement
7780
7781         * docs/gst/gstreamer-sections.txt:
7782         * docs/gst/tmpl/gstpad.sgml:
7783           document more pad stuff
7784         * gst/gstminiobject.c: (gst_mini_object_ref),
7785         (gst_mini_object_unref):
7786           debug refcounting
7787
7788 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
7789
7790         * docs/gst/tmpl/gst.sgml:
7791         * gst/gst.c:
7792           eliminate another tmpl file, fix spelling in the long-description
7793
7794 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7795
7796         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7797         (test_event), (timediff), (gstevents_suite):
7798           Should fix build on 64-bit arch's
7799
7800 2005-08-18  Andy Wingo  <wingo@pobox.com>
7801
7802         Make sure that when a pipeline goes to PLAYING, that data has
7803         actually hit the sink.
7804
7805         * check/states/sinks.c (test_sink): A sink that doesn't get any
7806         data shouldn't return SUCCESS for going to either PLAYING or
7807         PAUSED. Test also the return values on the way back down.
7808
7809         * gst/gstelement.c (gst_element_set_state): When changing the
7810         state of an element currently changing state asynchronously, go to
7811         lost-state after commiting the pending state. Makes future calls
7812         to get_state continue to return ASYNC.
7813
7814         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
7815         ASYNC when going to PLAYING if we still don't have preroll, as can
7816         happen with live sources.
7817
7818 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7819
7820         * docs/pwg/advanced-types.xml:
7821           Hack long paragraph into 2 chunks as a workaround for buggy
7822           jadetex version in sid and breezy that loops infinitely and
7823           eats all RAM.
7824
7825 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7826
7827         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7828         (test_event), (timediff), (gstevents_suite):
7829           Provide more error margin in clock measurements to allow for 
7830           g_get_current_time inaccuracies.
7831
7832 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7833
7834         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7835         (test_event), (timediff), (gstevents_suite):
7836            Fix error message output so I might be able to tell why the
7837            test works here but fails on the build farm.
7838
7839 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7840
7841         * check/Makefile.am:
7842         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7843         (test_event), (timediff), (gstevents_suite), (main):
7844           I wrote a test!
7845
7846         * docs/design/part-seeking.txt:
7847           Spelling correction
7848
7849         * docs/gst/tmpl/gstevent.sgml:
7850         * docs/gst/tmpl/gstfakesrc.sgml:
7851           Docs updates.
7852
7853         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7854           Treat a buffer-without-newsegment the same as a receiving 
7855           a newsegment not in time format, and disable syncing to the clock
7856           with a warning.
7857
7858         * gst/gstbus.c: (gst_bus_set_sync_handler):
7859           Assert if anyone tries to replace the existing sync_handler for bus, 
7860           as only the owner should be setting it.
7861
7862         * gst/gstevent.h:
7863           Have a fixed set of custom event enums with events identified by
7864           their structure name (as in 0.8), rather than a free-for-all
7865           allowing collisions between enum values from different plugins.
7866
7867         * gst/gstpad.c: (gst_pad_class_init):
7868           Docs change.
7869           
7870         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7871           Handle out-of-band downstream events from the sending thread.
7872
7873 2005-08-17  Andy Wingo  <wingo@pobox.com>
7874
7875         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
7876         play-timeout==0 to mean no timeout at all. In that case, don't
7877         bother with a get_state or a warning, just return directly, even
7878         if it's ASYNC.
7879
7880         * gst/base/gstbasetransform.c: Debug changes.
7881
7882         * gst/gstutils.h:
7883         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
7884         ensure bins post state change messages. A bit of a hack but I can't
7885         think of a way to avoid it.
7886
7887         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
7888
7889 2005-08-16  Andy Wingo  <wingo@pobox.com>
7890
7891         * gst/base/gstadapter.h:
7892         * gst/base/gstadapter.c (gst_adapter_take): New function, like
7893         peek() but you own the data. Not terribly efficient atm.
7894
7895 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7896
7897         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
7898         (gst_element_found_tags):
7899         * gst/gstutils.h:
7900           Add two utility functions for tag handling.
7901
7902 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7903
7904         * docs/manual/advanced-dataaccess.xml:
7905         * docs/manual/basics-helloworld.xml:
7906           Fix docs to use _bin_add() before _link(), which fixes the examples
7907           with recent core versions (reported by Madhan Raj M
7908           <raj_madan@rediffmail.com>, #313199).
7909
7910 2005-08-16  Wim Taymans  <wim@fluendo.com>
7911
7912         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7913         Added subtract checks.
7914
7915         * docs/design/part-events.txt:
7916         Some more docs about newsegment
7917
7918         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
7919         Fix FIXME
7920
7921         * gst/gstcaps.c: (gst_caps_to_string):
7922         Add comments, cleanups.
7923         
7924         * gst/gstelement.c: (gst_element_save_thyself):
7925         cleanups
7926         
7927         * gst/gstvalue.c: (gst_value_collect_int_range),
7928         (gst_string_unwrap), (gst_value_union_int_int_range),
7929         (gst_value_union_int_range_int_range),
7930         (gst_value_intersect_int_int_range),
7931         (gst_value_intersect_int_range_int_range),
7932         (gst_value_intersect_double_double_range),
7933         (gst_value_intersect_double_range_double_range),
7934         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
7935         (gst_value_subtract_int_range_int),
7936         (gst_value_subtract_double_range_double),
7937         (gst_value_subtract_double_range_double_range),
7938         (gst_value_subtract_from_list), (gst_value_subtract_list),
7939         (gst_value_can_compare), (gst_value_compare_fraction):
7940         Cleanups, add comments, remove unneeded asserts.
7941
7942 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7943
7944         * tools/gst-launch.c: (event_loop):
7945           don't convert NULL structures to strings
7946
7947 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
7948
7949         * docs/gst/gstreamer-sections.txt:
7950           made some defines private
7951         * docs/gst/tmpl/gstconfig.sgml:
7952         * docs/gst/tmpl/gstqueue.sgml:
7953         * docs/gst/tmpl/gsttaglist.sgml:
7954         * docs/gst/tmpl/gsttypes.sgml:
7955         * docs/gst/tmpl/gstutils.sgml:
7956         * docs/pwg/appendix-porting.xml:
7957         * gst/base/gstbasesink.h:
7958         * gst/base/gstbasesrc.c:
7959         * gst/base/gstbasesrc.h:
7960         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
7961         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
7962         * gst/gstelement.c: (gst_element_class_init):
7963         * gst/gstpad.c: (gst_pad_class_init):
7964         * gst/gstqueue.c: (gst_queue_class_init):
7965         * gst/gstxml.c: (gst_xml_class_init):
7966           documented all undocumented signal inline
7967         * libs/gst/controller/gst-controller.h:
7968           added padding
7969
7970 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7971
7972         * docs/pwg/appendix-porting.xml:
7973           Document _set_link_function -> _set_setcaps_function.
7974
7975 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7976
7977         * check/Makefile.am:
7978           add a .check target for running the check
7979         * check/gst-libs/controller.c: (GST_START_TEST):
7980           cosmetic fixups
7981         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7982           complete checks for gstbuffer; would be nice if I could get the
7983           gcov stuff to work so I can see if I actually completed gstbuffer.c
7984         * check/gstcheck.h:
7985           add ASSERT_BUFFER_REFCOUNT
7986
7987 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
7988
7989         * docs/gst/gstreamer-sections.txt:
7990         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
7991         * gst/gsttag.h:
7992           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
7993           spew out a warning if a tag that is already registered
7994           is re-registered, unless it is re-registered with a 
7995           different type (#308438).
7996
7997 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
7998
7999         * docs/pwg/appendix-porting.xml:
8000         * docs/pwg/building-state.xml:
8001           Add some paragraphs about state changes in 0.9 to the PWG
8002           and the porting guide, in particular about the new meaning
8003           of GST_STATE_PAUSED and how to write state change functions
8004           with concurrent access by multiple threads in mind.
8005
8006 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
8007
8008         * docs/gst/gstreamer-docs.sgml:
8009         * docs/libs/gstreamer-libs-docs.sgml:
8010           added deprecation and since indexes
8011         * libs/gst/controller/gst-controller.c:
8012         * libs/gst/controller/gst-helper.c:
8013           added since tags
8014
8015
8016 2005-08-11  Wim Taymans  <wim@fluendo.com>
8017
8018         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
8019         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
8020         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
8021         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
8022         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
8023         (gst_ghost_pad_set_target):
8024         Actually implement (re)setting the target on a ghostpad
8025         as described in the docs.
8026
8027 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8028
8029         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
8030           Check whether GST_DEBUG_NO_COLOR environment variable is
8031           set and disable coloured debug output if that is the case.
8032
8033 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8034
8035         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8036         (gst_type_find_helper):
8037           The memory returned by gst_type_find_peek() needs to
8038           stay valid until the end of a typefind function, and
8039           typefind functions may keep results from different 
8040           offsets around, so we can't just unref the buffer from
8041           the previous _peek(), but have to save all buffers 
8042           returned by _peek() until typefinding is done and only
8043           free them then.
8044
8045 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
8046
8047         * docs/gst/gstreamer-sections.txt:
8048         * gst/gstutils.h:
8049           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
8050
8051 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8052
8053         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8054           Fix a pretty good memleak.
8055
8056 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8057
8058         * gst/gstiterator.h:
8059           Fix wrong include and 'make distcheck'.
8060
8061 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8062
8063         * gst/gstbin.c: (bin_bus_handler):
8064           Use gst_element_post_message() instead.
8065
8066 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8067
8068         * gst/base/gstadapter.h:
8069         * gst/base/gstbasesink.h:
8070         * gst/base/gstbasesrc.h:
8071         * gst/base/gstbasetransform.h:
8072         * gst/base/gstcollectpads.h:
8073         * gst/base/gstpushsrc.h:
8074         * gst/gstiterator.h:
8075           Add padding to our base elements' class and instance structs and
8076           to GstIterator (you will need to rebuild all plugins and apps!)
8077
8078 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8079
8080         * gst/gstbin.c: (bin_bus_handler):
8081           Make default message forwarding from child->bus to bin->bus
8082           threadsafe and make it not emit warnings if the parent has no bus.
8083
8084 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8085
8086         * gst/gstelement.c: (activate_pads):
8087           On paused->ready, set pad->caps to NULL, as is the documented
8088           behaviour in this state change. Fixes playback of series of
8089           media files when visualization is enabled in Totem.
8090
8091 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8092
8093         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8094           Allow NULL as filter-caps (which means "any").
8095
8096 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8097
8098         * docs/libs/gstreamer-libs-sections.txt:
8099         * libs/gst/controller/gst-controller.c:
8100         * libs/gst/controller/gst-controller.h:
8101         * libs/gst/controller/gst-helper.c:
8102           adding more entries to the docs and fix small doc-bugs
8103
8104 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8105
8106         * docs/gst/gstreamer-docs.sgml:
8107         * docs/gst/gstreamer-sections.txt:
8108         * docs/gst/gstreamer.types:
8109         * docs/gst/tmpl/gstbasesink.sgml:
8110         * docs/gst/tmpl/gstbasesrc.sgml:
8111         * docs/gst/tmpl/gstbasetransform.sgml:
8112         * docs/gst/tmpl/gstfakesrc.sgml:
8113         * gst/base/gstcollectpads.c:
8114         * gst/base/gstcollectpads.h:
8115         * libs/gst/controller/gst-controller.c:
8116         * libs/gst/controller/gst-controller.h:
8117         * libs/gst/controller/gst-helper.c:
8118         * libs/gst/controller/gst-interpolation.c:
8119         * libs/gst/controller/lib.c:
8120           added long/short desc for controller docs
8121           added collectpads base class docs
8122           added correct includes to base-class docs
8123
8124 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8125
8126         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8127         (gst_test_mono_source_set_property),
8128         (gst_test_mono_source_class_init), (GST_START_TEST),
8129         (gst_controller_suite):
8130         * docs/gst/gstreamer-docs.sgml:
8131         * docs/gst/gstreamer-sections.txt:
8132         * docs/gst/gstreamer.types:
8133         * docs/libs/gstreamer-libs-docs.sgml:
8134         * docs/libs/gstreamer-libs-sections.txt:
8135         * gst/base/gstadapter.c:
8136         * libs/gst/controller/gst-controller.c:
8137         (gst_controlled_property_new), (gst_controlled_property_free),
8138         (gst_controller_new_valist),
8139         (gst_controller_remove_properties_valist),
8140         (gst_controller_sink_values), (_gst_controller_finalize):
8141         * libs/gst/controller/gst-controller.h:
8142         * libs/gst/controller/gst-helper.c:
8143         (gst_object_control_properties), (gst_object_uncontrol_properties),
8144         (gst_object_get_controller), (gst_object_set_controller),
8145         (gst_object_sink_values), (gst_object_get_value_arrays),
8146         (gst_object_get_value_array):
8147           more tests (and fixes) for the controller
8148           more docs for the controller
8149           integrated companies docs for the adapter 
8150
8151 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8152
8153         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8154         (GST_START_TEST), (fakesrc_suite):
8155           add tests for sizetype
8156
8157 2005-08-04  Andy Wingo  <wingo@pobox.com>
8158
8159         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8160         fixes buffer_alloc proxying among other things.
8161
8162         * gst/base/gstbasetransform.c:
8163         * gst/base/gstbasetransform.h:
8164         Revert patch to gstbasetransform from 7-28 removing
8165         delay_configure.
8166
8167         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8168         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8169         Semantics changed, should return not the size of the output buffer
8170         but the byte size of a buffer with a given caps.
8171
8172         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8173         debug object.
8174         (gst_base_transform_configure_caps): Don't set out_size here: (in,
8175         out) are not the pad caps until setcaps finishes.
8176         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8177         not-in-place case as well. Deal with changing from in-place to
8178         not-in-place within calling pad_alloc_buffer. Still a bit
8179         concerned about the overhead here...
8180
8181 2005-08-03  Andy Wingo  <wingo@pobox.com>
8182
8183         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8184         fixating is an error.
8185
8186 2005-08-04  Edward Hervey  <edward@fluendo.com>
8187
8188         * gst/base/gstadapter.h: 
8189         Added gst_adapter_get_type() to the header
8190
8191 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8192
8193         * check/Makefile.am:
8194         * check/gst-libs/controller.c:
8195         * libs/gst/controller/gst-controller.c:
8196         (gst_controller_new_valist):
8197           added check test suite for the controller
8198         * gst/base/gstpushsrc.c:
8199           fixed a doc typo
8200
8201 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8202
8203         * docs/gst/Makefile.am:
8204         * docs/gst/gstreamer-docs.sgml:
8205         * docs/gst/gstreamer-sections.txt:
8206         * docs/gst/gstreamer.types:
8207         * docs/gst/tmpl/gstfakesrc.sgml:
8208         * gst/base/README:
8209         * gst/base/gstbasesink.c:
8210         * gst/base/gstbasesink.h:
8211         * gst/base/gstbasesrc.c:
8212         * gst/base/gstbasesrc.h:
8213         * gst/base/gstbasetransform.c:
8214         * gst/base/gstpushsrc.c:
8215         * gst/base/gstpushsrc.h:
8216           add short/long description docs to base classes
8217           add pushsrc to the docs
8218           remove consolidated doc fragments
8219
8220 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8221
8222         * configure.ac:
8223         * docs/libs/Makefile.am:
8224         * docs/libs/gstreamer-libs-docs.sgml:
8225         * docs/libs/gstreamer-libs-sections.txt:
8226         * docs/libs/gstreamer-libs.types:
8227         * examples/Makefile.am:
8228         * examples/controller/.cvsignore:
8229         * examples/controller/Makefile.am:
8230         * examples/controller/audio-example.c: (main):
8231         * libs/gst/Makefile.am:
8232         * libs/gst/controller/.cvsignore:
8233         * libs/gst/controller/Makefile.am:
8234         * libs/gst/controller/gst-controller.c:
8235         (on_object_controlled_property_changed), (gst_timed_value_compare),
8236         (gst_timed_value_find),
8237         (gst_controlled_property_set_interpolation_mode),
8238         (gst_controlled_property_new), (gst_controlled_property_free),
8239         (gst_controller_find_controlled_property),
8240         (gst_controller_new_valist), (gst_controller_new),
8241         (gst_controller_remove_properties_valist),
8242         (gst_controller_remove_properties), (gst_controller_set),
8243         (gst_controller_set_from_list), (gst_controller_unset),
8244         (gst_controller_get), (gst_controller_get_all),
8245         (gst_controller_sink_values), (gst_controller_get_value_arrays),
8246         (gst_controller_get_value_array),
8247         (gst_controller_set_interpolation_mode),
8248         (_gst_controller_finalize), (_gst_controller_init),
8249         (_gst_controller_class_init), (gst_controller_get_type):
8250         * libs/gst/controller/gst-controller.h:
8251         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8252         (g_object_uncontrol_properties), (g_object_get_controller),
8253         (g_object_set_controller), (g_object_sink_values),
8254         (g_object_get_value_arrays), (g_object_get_value_array):
8255         * libs/gst/controller/gst-interpolation.c:
8256         (gst_controlled_property_find_timed_value_node),
8257         (interpolate_none_get), (interpolate_trigger_get),
8258         (interpolate_trigger_get_value_array):
8259         * libs/gst/controller/lib.c: (gst_controller_init):
8260         * pkgconfig/Makefile.am:
8261         * pkgconfig/gstreamer-control-uninstalled.pc.in:
8262         * pkgconfig/gstreamer-control.pc.in:
8263         * testsuite/Makefile.am:
8264         * testsuite/controller/.cvsignore:
8265         * testsuite/controller/Makefile.am:
8266         * testsuite/controller/interpolator.c: (main):
8267           added controller code
8268           removed dparam pc files
8269
8270 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8271         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8272         (gst_collectpads_stop):
8273           Broadcast the condition when shutting down, to make sure we wake all
8274           threads up. Shut down pads on finalize, for safety.
8275
8276 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8277         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8278         (gst_base_transform_handle_buffer),
8279         (gst_base_transform_change_state):
8280           Handle PAUSED->READY->PAUSED transition after negotiation
8281           occurred already.
8282         * gst/gstmessage.c: (gst_message_init):
8283           Extra piece of debug for new messages.
8284
8285 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
8286
8287         * configure.ac:
8288         * docs/gst/tmpl/gstbasesrc.sgml:
8289         * docs/gst/tmpl/gstelement.sgml:
8290         * docs/gst/tmpl/gstevent.sgml:
8291         * docs/gst/tmpl/gstfakesrc.sgml:
8292         * docs/gst/tmpl/gstformat.sgml:
8293         * docs/gst/tmpl/gstghostpad.sgml:
8294         * docs/gst/tmpl/gstpad.sgml:
8295         * docs/gst/tmpl/gstquery.sgml:
8296         * docs/gst/tmpl/gststructure.sgml:
8297         * docs/gst/tmpl/gsttaglist.sgml:
8298         * docs/gst/tmpl/gstvalue.sgml:
8299         * docs/libs/gstreamer-libs-docs.sgml:
8300         * docs/libs/gstreamer-libs-sections.txt:
8301         * docs/libs/gstreamer-libs.types:
8302         * libs/gst/Makefile.am:
8303         * libs/gst/control/.cvsignore:
8304         * libs/gst/control/Makefile.am:
8305         * libs/gst/control/control.c:
8306         * libs/gst/control/control.h:
8307         * libs/gst/control/dparam.c:
8308         * libs/gst/control/dparam.h:
8309         * libs/gst/control/dparam_smooth.c:
8310         * libs/gst/control/dparam_smooth.h:
8311         * libs/gst/control/dparamcommon.h:
8312         * libs/gst/control/dparammanager.c:
8313         * libs/gst/control/dparammanager.h:
8314         * libs/gst/control/dplinearinterp.c:
8315         * libs/gst/control/dplinearinterp.h:
8316         * libs/gst/control/unitconvert.c:
8317         * libs/gst/control/unitconvert.h:
8318         * testsuite/Makefile.am:
8319         * testsuite/dynparams/.cvsignore:
8320         * testsuite/dynparams/Makefile.am:
8321         * testsuite/dynparams/dparamstest.c:
8322         * tools/Makefile.am:
8323         * tools/gst-inspect.c: (print_element_info), (main):
8324         * tools/gst-xmlinspect.c: (print_element_info), (main):
8325           deactivate and remove dparams (libgstcontrol)
8326
8327 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8328
8329         * gst/elements/gsttypefindelement.c:
8330         (gst_type_find_element_have_type), (gst_type_find_element_init),
8331         (stop_typefinding), (gst_type_find_element_handle_event),
8332         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8333         * gst/elements/gsttypefindelement.h:
8334           Set caps on all outgoing buffers, not just the first one.
8335
8336 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8337
8338         * gst/elements/gsttypefindelement.c:
8339         (gst_type_find_element_have_type),
8340         (gst_type_find_element_check_set_buffer_caps),
8341         (gst_type_find_element_init), (stop_typefinding),
8342         (gst_type_find_element_handle_event),
8343         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8344         * gst/elements/gsttypefindelement.h:
8345           Set caps on first outgoing buffer when we've found the type.
8346
8347 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8348
8349         * docs/gst/gstreamer-docs.sgml:
8350         * docs/gst/gstreamer-sections.txt:
8351         * docs/gst/tmpl/gstscheduler.sgml:
8352         * docs/gst/tmpl/gstschedulerfactory.sgml:
8353           Remove some old cruft from docs.
8354
8355 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
8356
8357         * gst/gstpad.h:
8358           Fix inline docs for GstPadLinkReturn.
8359           
8360         * gst/gststructure.c: (gst_structure_has_name):
8361         * gst/gststructure.h:
8362         * docs/gst/gstreamer-sections.txt:
8363           New API: gst_structure_has_name().
8364
8365 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
8366
8367         * configure.ac:
8368           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
8369           and _LARGEFILE_SOURCE in config.h as required. Do not 
8370           export those flags in our .pc files any longer (#142209).
8371
8372           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
8373
8374         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
8375         (gst_file_sink_do_seek), (gst_file_sink_event),
8376         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8377           Redo seek/tell calls with large file support in mind; add some
8378           debugging messages; add log message that tells us when large
8379           file support is unavailable or not enabled for some reason.
8380
8381         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
8382           Add log message that tells us when large file support 
8383           is unavailable or not enabled for some reason.
8384
8385 2005-07-29  Wim Taymans  <wim@fluendo.com>
8386
8387         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8388         Added test for removing an element with ghostpad from a bin.
8389         Fixed test as current implementation does the right thing.
8390
8391         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
8392         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
8393         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
8394         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
8395         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
8396         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8397         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8398         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8399         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
8400         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
8401         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
8402         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
8403         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8404         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
8405         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
8406         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8407         * gst/gstghostpad.h:
8408         Clean up ghostpads, remove properties for internal stuff.
8409         Make threadsafe.
8410         Fix refcounting.
8411         Prepare for switching targets, not all use cases work yet.
8412
8413 2005-07-29  Wim Taymans  <wim@fluendo.com>
8414
8415         * docs/design/part-gstghostpad.txt:
8416         Small update.
8417
8418         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8419         (gst_bin_remove_func):
8420         Unlinking pads while holding the bin LOCK is not a good
8421         idea.
8422
8423         * gst/gstpad.c: (gst_pad_class_init),
8424         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
8425         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
8426         No prob setting template after creating the pad.
8427
8428 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
8429
8430         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
8431         (gst_bus_peek), (gst_bus_source_dispatch),
8432         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
8433         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
8434           gst_bus_poll may be called from other threads. Handle
8435           this nicely by not making poll_data disappear off the
8436           stack once gst_bus_poll returns.
8437           gst_bus_peek now increments the refcount on the returned
8438           message.
8439
8440 2005-07-29  Wim Taymans  <wim@fluendo.com>
8441
8442         * docs/design/part-gstghostpad.txt:
8443         Overview of current GhostPad datastructures and use
8444         cases for changing the target.
8445
8446 2005-07-28  Wim Taymans  <wim@fluendo.com>
8447
8448         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8449         Added checks for hierarchy consistency whan adding linked
8450         elements to bins.
8451
8452         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8453         Added check to test element scheduling without bin/pipeline.
8454
8455         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8456         First add elements to bin, then link.
8457         
8458         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8459         (gst_bin_remove_func):
8460         Unlink pads from elements added/removed from bin to maintain
8461         hierarchy consistency.
8462
8463 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8464
8465         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8466         (gst_base_transform_handle_buffer):
8467         * gst/base/gstbasetransform.h:
8468           Remove broken delay_configure (fixes renegotiation of software
8469           scaling pipelines); remove some leftover printf()s.
8470
8471 2005-07-28  Wim Taymans  <wim@fluendo.com>
8472
8473         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8474         Added some more tests for wrong hierarchy
8475
8476         * docs/design/part-overview.txt:
8477         Some updates.
8478
8479         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
8480         Cleanups.
8481
8482         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
8483         (gst_element_dispose):
8484         Some more cleanups.
8485
8486         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8487         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
8488         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8489         (gst_pad_set_caps), (gst_pad_send_event):
8490         Check for correct hierarchy when linking pads. Moving to
8491         strict requirement for ghostpads when linking elements in
8492         different bins.
8493
8494         * gst/gstpad.h:
8495         Clean ups. Added WRONG_HIERARCHY return value.
8496
8497 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8498
8499         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8500           Better debug if no transform is possible.
8501
8502 2005-07-27  Wim Taymans  <wim@fluendo.com>
8503
8504         * docs/random/wtay/network-transp:
8505         Some old doc I had.
8506
8507 2005-07-27  Wim Taymans  <wim@fluendo.com>
8508
8509         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8510         (gst_dp_event_from_packet):
8511         Fix serialization of seek events.
8512
8513 2005-07-27  Wim Taymans  <wim@fluendo.com>
8514
8515         * check/gst-libs/gdp.c: (GST_START_TEST):
8516         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8517         Fix compilation and fix event serialization.
8518
8519 2005-07-27  Wim Taymans  <wim@fluendo.com>
8520
8521         * CHANGES-0.9:
8522         * docs/design/part-TODO.txt:
8523         * docs/design/part-events.txt:
8524         Some docs updates
8525
8526         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8527         (gst_base_sink_event), (gst_base_sink_do_sync),
8528         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8529         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8530         (gst_base_src_do_seek), (gst_base_src_event_handler),
8531         (gst_base_src_loop):
8532         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8533         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8534         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8535         (gst_base_transform_event), (gst_base_transform_handle_buffer),
8536         (gst_base_transform_set_passthrough),
8537         (gst_base_transform_is_passthrough):
8538         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8539         * gst/elements/gstfilesink.c: (gst_file_sink_event):
8540         Event updates.
8541
8542         * gst/gstbuffer.h:
8543         Use faster casts.
8544
8545         * gst/gstelement.c: (gst_element_seek):
8546         * gst/gstelement.h:
8547         Update gst_element_seek.
8548
8549         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
8550         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
8551         (gst_event_new_flush_start), (gst_event_new_flush_stop),
8552         (gst_event_new_eos), (gst_event_new_newsegment),
8553         (gst_event_parse_newsegment), (gst_event_new_tag),
8554         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
8555         (gst_event_parse_qos), (gst_event_new_seek),
8556         (gst_event_parse_seek), (gst_event_new_navigation):
8557         * gst/gstevent.h:
8558         Make GstEvent use GstStructure. Add parsing code, make sure the
8559         API is sufficiently generic.
8560         Mark possible directions of events and serialization.
8561
8562         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
8563         (_gst_message_copy), (gst_message_new_segment_start),
8564         (gst_message_new_segment_done), (gst_message_new_custom),
8565         (gst_message_parse_segment_start),
8566         (gst_message_parse_segment_done):
8567         Small cleanups.
8568
8569         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8570         (gst_pad_set_caps), (gst_pad_send_event):
8571         Update for new events. 
8572         Catch events sent in wrong directions.
8573
8574         * gst/gstqueue.c: (gst_queue_link_src),
8575         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
8576         (gst_queue_handle_src_query):
8577         Event updates.
8578
8579         * gst/gsttag.c:
8580         * gst/gsttag.h:
8581         Remove event code from this file.
8582
8583         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8584         (gst_dp_event_from_packet):
8585         Event updates.
8586
8587 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8588
8589         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
8590         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8591         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
8592           Make debugging actually useful.
8593
8594 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8595
8596         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
8597         (gst_pad_fixate_caps):
8598           Implement default fixation once again, so that gst_pad_fixate()
8599           actually does anything at all. This probably needs to be some
8600           sort of a last resort, and use profile-based fixation first, but
8601           since that doesn't exist yet, this is the best we have. Fixes
8602           visualization in Totem.
8603
8604 2005-07-22  Wim Taymans  <wim@fluendo.com>
8605
8606         * docs/design/part-events.txt:
8607         Small update.
8608
8609         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8610         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
8611         (gst_base_sink_activate_pull):
8612         Some more comments.
8613
8614         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
8615         (gst_fake_src_create):
8616         Fix handoff marshall.
8617
8618         * gst/elements/gstidentity.c: (gst_identity_class_init),
8619         (gst_identity_transform_ip):
8620         We're a real inplace element.
8621
8622         * gst/gstbus.c: (gst_bus_post):
8623         Added some comments.
8624
8625         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
8626         * tests/muxing/case1.c: (main):
8627         * tests/sched/dynamic-pipeline.c: (main):
8628         * tests/sched/interrupt1.c: (main):
8629         * tests/sched/interrupt2.c: (main):
8630         * tests/sched/interrupt3.c: (main):
8631         * tests/sched/runxml.c: (main):
8632         * tests/sched/sched-stress.c: (main):
8633         * tests/seeking/seeking1.c: (event_received), (main):
8634         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
8635         (main):
8636         * tests/threadstate/threadstate3.c: (main):
8637         * tests/threadstate/threadstate4.c: (main):
8638         * tests/threadstate/threadstate5.c: (main):
8639         Fix the tests.
8640
8641 2005-07-21  Wim Taymans  <wim@fluendo.com>
8642
8643         * docs/design/part-seeking.txt:
8644         Some small additions.
8645
8646         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8647         (gst_base_sink_get_times), (gst_base_sink_do_sync),
8648         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8649         * gst/base/gstbasesink.h:
8650         discont values are gint64, handle the math correctly.
8651
8652         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8653         Make the basesrc report error if the source pad is not linked.
8654
8655         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8656         (gst_queue_loop), (gst_queue_handle_src_query),
8657         (gst_queue_src_activate_push):
8658         Make queue collect data even if the srcpad is not linked.
8659         Start pushing out data as soon as it is linked.
8660
8661         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
8662         * gst/gstutils.h:
8663         Added gst_flow_get_name() to ease error reporting.
8664
8665 2005-07-20  Wim Taymans  <wim@fluendo.com>
8666
8667         * gst/gstmessage.c: (gst_message_new_segment_start),
8668         (gst_message_new_segment_done), (gst_message_parse_segment_start),
8669         (gst_message_parse_segment_done):
8670         * gst/gstmessage.h:
8671         Added a bunch of messages for advanced seeking.
8672
8673         * gst/parse/grammar.y:
8674         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
8675         (gst_dpman_state_changed):
8676         Fix some new-pad -> pad-added signals
8677
8678 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8679
8680         * docs/manual/appendix-porting.xml:
8681         * docs/pwg/appendix-porting.xml:
8682           Document new-pad/state-change signal renames and the FixedList
8683           type rename.
8684
8685 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8686
8687         * docs/manual/advanced-autoplugging.xml:
8688         * docs/manual/basics-helloworld.xml:
8689         * docs/manual/basics-pads.xml:
8690         * docs/random/ds/0.9-suggested-changes:
8691         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
8692         * gst/gstelement.h:
8693         * gst/gstevent.h:
8694         * gst/gstformat.h:
8695         * gst/gstquery.h:
8696         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8697         (gst_structure_parse_array), (gst_structure_parse_value):
8698         * gst/gstvalue.c: (gst_type_is_fixed),
8699         (gst_value_list_prepend_value), (gst_value_list_append_value),
8700         (gst_value_list_get_size), (gst_value_list_get_value),
8701         (gst_value_transform_array_string), (gst_value_serialize_array),
8702         (gst_value_deserialize_array), (gst_value_intersect_array),
8703         (gst_value_is_fixed), (_gst_value_initialize):
8704         * gst/gstvalue.h:
8705           GstElement::new-pad -> pad-added, GstElement::state-change ->
8706           state-changed, GstValueFixedList -> GstValueArray, add format and
8707           flags as their own arguments in gst_element_seek() (should improve
8708           "bindeability"), remove function generators since they don't work
8709           under a whole bunch of compilers (they were deprecated already
8710           anyway).
8711
8712 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8713
8714         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
8715         (_gst_debug_register_funcptr):
8716         * gst/gstinfo.h:
8717           Fix illegal cast on some platforms (#309253).
8718
8719 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8720
8721         * gst/gstmessage.c: (gst_message_new_custom):
8722         * gst/gstmessage.h:
8723           Add _new_custom, make _new_application a macro to _new_custom.
8724
8725 2005-07-20  Wim Taymans  <wim@fluendo.com>
8726
8727         * gst/base/gstbasesrc.c: (gst_base_src_init),
8728         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8729         * gst/base/gstbasesrc.h:
8730         Add a gboolean to decide when to push out a discont.
8731
8732         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8733         (gst_queue_loop), (gst_queue_handle_src_query),
8734         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
8735         (gst_queue_set_property), (gst_queue_get_property):
8736         Some cleanups.
8737
8738         * tests/threadstate/threadstate1.c: (main):
8739         Make a thread test compile and run... very silly..
8740
8741
8742 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8743
8744         * docs/manual/appendix-porting.xml:
8745           Mention removal of libgstgconf-0.9.la and existence of gconf
8746           elements.
8747
8748 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8749
8750         * docs/pwg/advanced-clock.xml:
8751         * docs/pwg/appendix-porting.xml:
8752         * docs/pwg/intro-preface.xml:
8753         * docs/pwg/other-base.xml:
8754         * docs/pwg/other-manager.xml:
8755         * docs/pwg/other-nton.xml:
8756         * docs/pwg/other-ntoone.xml:
8757         * docs/pwg/other-oneton.xml:
8758         * docs/pwg/pwg.xml:
8759           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
8760           demuxer), remove n-to-n (was never written), fix some code examples
8761           and links and update the porting section to include all this.
8762
8763 2005-07-19  Wim Taymans  <wim@fluendo.com>
8764
8765         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
8766         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
8767         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
8768         (gst_queue_src_activate_push), (gst_queue_change_state),
8769         (gst_queue_get_property):
8770         * gst/gstqueue.h:
8771         Propagate GstFlowReturn more intelligently upstream and output
8772         an ERROR/EOS when streaming stopped due to fatal error.
8773
8774 2005-07-19  Wim Taymans  <wim@fluendo.com>
8775
8776         * tools/gst-launch.c: (check_intr), (event_loop), (main):
8777         Don't block forever for the state change to complete, the
8778         pipeline already did with a sensible timeout.
8779
8780 2005-07-19  Wim Taymans  <wim@fluendo.com>
8781
8782         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8783         Make sure we never call the create function is we
8784         got deactivated.
8785
8786 2005-07-19  Andy Wingo  <wingo@pobox.com>
8787
8788         * gst/parse/parse.l: Attempt to solve bug #172815.
8789
8790 2005-07-19  Wim Taymans  <wim@fluendo.com>
8791
8792         * docs/design/part-clocks.txt:
8793         * docs/design/part-events.txt:
8794         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
8795         Small docs updates.
8796         Only update the seeking values when we are not
8797         busy streaming.
8798
8799 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8800
8801         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8802           Oops, ignore the result of gst_pad_push_event here.
8803
8804 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8805
8806         * gst/base/gstbasesrc.c: (gst_base_src_loop),
8807         (gst_base_src_activate_push):
8808           Send discont event from the loop function, as pads
8809           aren't activated yet in the activate_push handler.
8810
8811         * gst/gstbin.c: (bin_bus_handler):
8812           Don't leak element name.
8813
8814 2005-07-18  Andy Wingo  <wingo@pobox.com>
8815
8816         * configure.ac: Use AS_LIBTOOL_TAGS.
8817
8818 2005-07-18  Wim Taymans  <wim@fluendo.com>
8819
8820         * docs/gst/gstreamer.types:
8821         Remove deleted types.
8822
8823 2005-07-18  Wim Taymans  <wim@fluendo.com>
8824
8825         * check/elements/gstfakesrc.c: (GST_START_TEST):
8826         * configure.ac:
8827         * gst/Makefile.am:
8828         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
8829         (init_popt_callback):
8830         * gst/gst.h:
8831         * gst/gst_private.h:
8832         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
8833         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
8834         * gst/gstbin.h:
8835         * gst/gstbus.h:
8836         * gst/gstconfig.h.in:
8837         * gst/gstelement.c: (gst_element_class_init),
8838         (gst_element_set_base_time), (gst_element_get_base_time),
8839         (iterator_fold_with_resync), (gst_element_change_state),
8840         (gst_element_dispose), (gst_element_get_bus):
8841         * gst/gstelement.h:
8842         * gst/gstelementfactory.h:
8843         * gst/gsterror.c: (_gst_core_errors_init):
8844         * gst/gsterror.h:
8845         * gst/gstevent.h:
8846         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8847         * gst/gstindex.c:
8848         * gst/gstinfo.c: (_gst_debug_init):
8849         * gst/gstmessage.c: (_gst_message_copy):
8850         * gst/gstmessage.h:
8851         * gst/gstminiobject.h:
8852         * gst/gstobject.c:
8853         * gst/gstobject.h:
8854         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8855         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
8856         * gst/gstpad.h:
8857         * gst/gstparse.h:
8858         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8859         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8860         (gst_pipeline_get_last_stream_time):
8861         * gst/gstpipeline.h:
8862         * gst/gstpluginfeature.h:
8863         * gst/gstquery.h:
8864         * gst/gstscheduler.c:
8865         * gst/gstscheduler.h:
8866         * gst/gststructure.h:
8867         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
8868         (gst_task_finalize), (gst_task_func), (gst_task_create),
8869         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
8870         (gst_task_stop), (gst_task_pause):
8871         * gst/gsttask.h:
8872         * gst/gsttypefind.h:
8873         * gst/gsttypes.h:
8874         * gst/registries/gstlibxmlregistry.c: (load_feature),
8875         (gst_xml_registry_load), (gst_xml_registry_save_feature):
8876         * gst/registries/gstxmlregistry.c:
8877         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
8878         * gst/schedulers/threadscheduler.c:
8879         * libs/gst/control/dparammanager.h:
8880         * tools/gst-inspect.c: (print_element_list),
8881         (print_plugin_features), (print_element_features):
8882         * tools/gst-xmlinspect.c: (print_element_list),
8883         (print_plugin_info), (main):
8884         Removed plugable schedulers.
8885         Removed Scheduler/Manager from elements.
8886         Removed gsttypes.h, rearranged includes.
8887         Removed dependency pad<->element, element<>pipeline, and
8888         various others,  fix includes.
8889         implement gst_pad_get_parent() with gst_object_get_parent()
8890         Make GstTask sefcontained.
8891         Fix _get_state() on GstBin, it did not return ASYNC with a 0
8892         timeout.
8893         Fix endless loop in iterator_fold_with_resync.
8894
8895
8896 2005-07-18  Wim Taymans  <wim@fluendo.com>
8897
8898         * gst/Makefile.am:
8899         * gst/gstarch.h:
8900         Remove old file.
8901
8902 2005-07-18  Wim Taymans  <wim@fluendo.com>
8903
8904         * gst/Makefile.am:
8905         No more cothreads.h
8906
8907 2005-07-18  Wim Taymans  <wim@fluendo.com>
8908
8909         * gst/cothreads.c:
8910         * gst/cothreads.h:
8911         Let's remove these.
8912
8913 2005-07-18  Wim Taymans  <wim@fluendo.com>
8914
8915         * docs/design/part-dynamic.txt:
8916         * docs/design/part-events.txt:
8917         * docs/design/part-seeking.txt:
8918         Some more docs in the works.
8919
8920         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8921         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
8922         (gst_base_transform_setcaps), (gst_base_transform_get_size),
8923         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8924         (gst_base_transform_handle_buffer),
8925         (gst_base_transform_sink_activate_push),
8926         (gst_base_transform_src_activate_pull),
8927         (gst_base_transform_set_passthrough),
8928         (gst_base_transform_is_passthrough):
8929         Refcounting fixes.
8930
8931         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
8932         Cleanups.
8933
8934         * gst/gstevent.c: (gst_event_finalize):
8935         Set SRC to NULL.
8936
8937         * gst/gstutils.c: (gst_element_unlink),
8938         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
8939         (gst_pad_proxy_setcaps):
8940         * gst/gstutils.h:
8941         Add _get_parent_element() to get a pads parent as an element.
8942
8943 2005-07-18  Wim Taymans  <wim@fluendo.com>
8944
8945         * check/gst/gstbin.c: (GST_START_TEST):
8946         Remove bogus test.
8947
8948 2005-07-18  Wim Taymans  <wim@fluendo.com>
8949
8950         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8951         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8952         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8953         (gst_base_sink_event), (gst_base_sink_do_sync),
8954         (gst_base_sink_chain), (gst_base_sink_loop),
8955         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
8956         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
8957         Refcounting fixes.
8958         Fix logic for returning ASYNC when not prerolled.
8959
8960 2005-07-18  Wim Taymans  <wim@fluendo.com>
8961
8962         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8963         Fix nasty refcount bug.
8964
8965 2005-07-16 Philippe Khalaf <burger@speedy.org>
8966
8967         * gst/elements/gstfdsrc.c:
8968         * gst/elements/gstfdsrc.h:
8969         * gst/elements/gstelements.c:
8970         * gst/elements/Makefile.am:
8971         Ported fdsrc to 0.9.
8972
8973 2005-07-16  Wim Taymans  <wim@fluendo.com>
8974
8975         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8976         (gst_base_sink_do_sync):
8977         Fix compile error.
8978
8979 2005-07-16  Wim Taymans  <wim@fluendo.com>
8980
8981         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8982         (gst_base_sink_event), (gst_base_sink_get_times),
8983         (gst_base_sink_do_sync), (gst_base_sink_change_state):
8984         * gst/base/gstbasesink.h:
8985         Store and use discont values when syncing buffers as described
8986         in design docs.
8987         
8988         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8989         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
8990         (gst_base_src_activate_push):
8991         Push discont event when starting.
8992
8993         * gst/elements/gstidentity.c: (gst_identity_transform):
8994         Small cleanups.
8995
8996         * gst/gstbin.c: (gst_bin_change_state):
8997         Small cleanups in base_time  distribution.
8998
8999         * gst/gstelement.c: (gst_element_set_base_time),
9000         (gst_element_get_base_time), (gst_element_change_state):
9001         * gst/gstelement.h:
9002         Added methods for the base_time of the element.
9003         Some MT fixes.
9004
9005         * gst/gstpipeline.c: (gst_pipeline_send_event),
9006         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9007         (gst_pipeline_get_last_stream_time):
9008         * gst/gstpipeline.h:
9009         MT fixes.
9010         Handle seeking as described in design doc, remove stream_time
9011         hack.
9012         Cleanups clock and stream_time selection code. Added accessors
9013         for the stream_time.
9014         
9015
9016 2005-07-16  Andy Wingo  <wingo@pobox.com>
9017
9018         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
9019         (#305291).
9020
9021 2005-07-16  Wim Taymans  <wim@fluendo.com>
9022
9023         * check/gst/gstbin.c: (GST_START_TEST):
9024         Make elements silent as the deep_notify refs the
9025         parent, which might make the test fail.
9026
9027         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9028         Don't hold the lock for too long.
9029
9030 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
9031
9032         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9033           Don't unref the caps we passed to gst_caps_make_writable() after
9034           passing them. gst_caps_make_writable() will do that for us.
9035
9036 2005-07-15  Andy Wingo  <wingo@pobox.com>
9037
9038         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
9039         (#157311).
9040
9041         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
9042         own marshalling function for the handoff signal. Properly type the
9043         buffer as a buffer. Fixes some warnings. Should do a more general
9044         solution.
9045         (gst_identity_class_init): Plug into the right marshaller.
9046
9047 2005-07-15  Wim Taymans  <wim@fluendo.com>
9048
9049         * docs/design/part-TODO.txt:
9050         * docs/design/part-clocks.txt:
9051         * docs/design/part-element-sink.txt:
9052         * docs/design/part-events.txt:
9053         * docs/design/part-gstpipeline.txt:
9054         Updated docs, mostly DISCONT related.
9055
9056 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
9057
9058         * docs/pwg/building-pads.xml:
9059           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
9060
9061 2005-07-15  Andy Wingo  <wingo@pobox.com>
9062
9063         * tools/gst-typefind.c: Update, add copyright block.
9064
9065         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
9066         Normalize and truncate caps before fixation.
9067
9068         * gst/gstcaps.h:
9069         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
9070         discards all but the first structure from its argument.
9071
9072 2005-07-15  Wim Taymans  <wim@fluendo.com>
9073
9074         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9075         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
9076         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9077         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9078         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
9079         (gst_base_transform_chain), (gst_base_transform_change_state),
9080         (gst_base_transform_set_passthrough),
9081         (gst_base_transform_is_passthrough):
9082         * gst/base/gstbasetransform.h:
9083         Make passthrough work using the bufferpools.
9084         Changed API a bit, subclasses have to write into a buffer
9085         provided by the base class.
9086         More debug info in nego functions.
9087         
9088         * gst/elements/gstidentity.c: (gst_identity_init),
9089         (gst_identity_transform):
9090         Port to new base class.
9091
9092 2005-07-15  Wim Taymans  <wim@fluendo.com>
9093
9094         * gst/gstmessage.c: (gst_message_new_state_changed):
9095         * tools/gst-launch.c: (event_loop), (main):
9096         Totally dump messages in -launch with the -m option.
9097         Fix message name for State messages,
9098
9099 2005-07-14  Wim Taymans  <wim@fluendo.com>
9100
9101         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9102         Post error messages on errors.
9103
9104 2005-07-14  Wim Taymans  <wim@fluendo.com>
9105
9106         * gst/gstcaps.c: (gst_caps_do_simplify):
9107         Remove debug info.
9108
9109         * gst/gsterror.h:
9110         Define error for stream stopped.
9111
9112         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9113         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
9114         Do proper return values.
9115
9116         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9117         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
9118         (gst_pad_get_range):
9119         Better return values.
9120
9121         * gst/gstpad.h:
9122         Reorganise return values, add macro to check for fatal errors.
9123
9124         * gst/gstqueue.c: (gst_queue_chain):
9125         Return proper GstFlowReturn values,
9126
9127 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9128
9129         * docs/gst/gstreamer-sections.txt:
9130         * docs/gst/gstreamer.types:
9131         * docs/gst/tmpl/gst.sgml:
9132         * docs/gst/tmpl/gstbasesink.sgml:
9133         * docs/gst/tmpl/gstbasesrc.sgml:
9134         * docs/gst/tmpl/gstbasetransform.sgml:
9135         * docs/gst/tmpl/gstbin.sgml:
9136         * docs/gst/tmpl/gstbuffer.sgml:
9137         * docs/gst/tmpl/gstcaps.sgml:
9138         * docs/gst/tmpl/gstclock.sgml:
9139         * docs/gst/tmpl/gstcompat.sgml:
9140         * docs/gst/tmpl/gstconfig.sgml:
9141         * docs/gst/tmpl/gstelement.sgml:
9142         * docs/gst/tmpl/gstelementdetails.sgml:
9143         * docs/gst/tmpl/gstelementfactory.sgml:
9144         * docs/gst/tmpl/gstenumtypes.sgml:
9145         * docs/gst/tmpl/gsterror.sgml:
9146         * docs/gst/tmpl/gstevent.sgml:
9147         * docs/gst/tmpl/gstfakesink.sgml:
9148         * docs/gst/tmpl/gstfakesrc.sgml:
9149         * docs/gst/tmpl/gstfilesink.sgml:
9150         * docs/gst/tmpl/gstfilesrc.sgml:
9151         * docs/gst/tmpl/gstfilter.sgml:
9152         * docs/gst/tmpl/gstformat.sgml:
9153         * docs/gst/tmpl/gstghostpad.sgml:
9154         * docs/gst/tmpl/gstimplementsinterface.sgml:
9155         * docs/gst/tmpl/gstindex.sgml:
9156         * docs/gst/tmpl/gstindexfactory.sgml:
9157         * docs/gst/tmpl/gstinfo.sgml:
9158         * docs/gst/tmpl/gstiterator.sgml:
9159         * docs/gst/tmpl/gstmacros.sgml:
9160         * docs/gst/tmpl/gstmemchunk.sgml:
9161         * docs/gst/tmpl/gstminiobject.sgml:
9162         * docs/gst/tmpl/gstobject.sgml:
9163         * docs/gst/tmpl/gstpad.sgml:
9164         * docs/gst/tmpl/gstpadtemplate.sgml:
9165         * docs/gst/tmpl/gstparse.sgml:
9166         * docs/gst/tmpl/gstpipeline.sgml:
9167         * docs/gst/tmpl/gstplugin.sgml:
9168         * docs/gst/tmpl/gstpluginfeature.sgml:
9169         * docs/gst/tmpl/gstquery.sgml:
9170         * docs/gst/tmpl/gstqueue.sgml:
9171         * docs/gst/tmpl/gstregistry.sgml:
9172         * docs/gst/tmpl/gstregistrypool.sgml:
9173         * docs/gst/tmpl/gstscheduler.sgml:
9174         * docs/gst/tmpl/gstschedulerfactory.sgml:
9175         * docs/gst/tmpl/gststructure.sgml:
9176         * docs/gst/tmpl/gstsystemclock.sgml:
9177         * docs/gst/tmpl/gsttaglist.sgml:
9178         * docs/gst/tmpl/gsttagsetter.sgml:
9179         * docs/gst/tmpl/gsttrace.sgml:
9180         * docs/gst/tmpl/gsttrashstack.sgml:
9181         * docs/gst/tmpl/gsttypefind.sgml:
9182         * docs/gst/tmpl/gsttypefindfactory.sgml:
9183         * docs/gst/tmpl/gsttypes.sgml:
9184         * docs/gst/tmpl/gsturihandler.sgml:
9185         * docs/gst/tmpl/gsturitype.sgml:
9186         * docs/gst/tmpl/gstutils.sgml:
9187         * docs/gst/tmpl/gstvalue.sgml:
9188         * docs/gst/tmpl/gstversion.sgml:
9189         * docs/gst/tmpl/gstxml.sgml:
9190         * docs/libs/tmpl/gstcontrol.sgml:
9191         * docs/libs/tmpl/gstdataprotocol.sgml:
9192         * docs/libs/tmpl/gstdparam.sgml:
9193         * docs/libs/tmpl/gstdplinint.sgml:
9194         * docs/libs/tmpl/gstdpman.sgml:
9195         * docs/libs/tmpl/gstdpsmooth.sgml:
9196         * docs/libs/tmpl/gstgetbits.sgml:
9197         * docs/libs/tmpl/gstunitconvert.sgml:
9198         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9199         (gst_push_src_base_init), (gst_push_src_class_init),
9200         (gst_push_src_init), (gst_push_src_create):
9201         * gst/base/gstpushsrc.h:
9202         * gst/elements/gstelements.c:
9203         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9204         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9205         (gst_fake_sink_init), (gst_fake_sink_set_property),
9206         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9207         (gst_fake_sink_event), (gst_fake_sink_preroll),
9208         (gst_fake_sink_render), (gst_fake_sink_change_state):
9209         * gst/elements/gstfakesink.h:
9210         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9211         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9212         (gst_fake_src_base_init), (gst_fake_src_class_init),
9213         (gst_fake_src_init), (gst_fake_src_event_handler),
9214         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9215         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9216         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9217         (gst_fake_src_create_buffer), (gst_fake_src_create),
9218         (gst_fake_src_start), (gst_fake_src_stop):
9219         * gst/elements/gstfakesrc.h:
9220         * gst/elements/gstfilesink.c: (_do_init),
9221         (gst_file_sink_base_init), (gst_file_sink_class_init),
9222         (gst_file_sink_init), (gst_file_sink_dispose),
9223         (gst_file_sink_set_location), (gst_file_sink_set_property),
9224         (gst_file_sink_get_property), (gst_file_sink_open_file),
9225         (gst_file_sink_close_file), (gst_file_sink_query),
9226         (gst_file_sink_event), (gst_file_sink_render),
9227         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9228         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9229         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9230         * gst/elements/gstfilesink.h:
9231         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9232         (gst_file_src_class_init), (gst_file_src_init),
9233         (gst_file_src_finalize), (gst_file_src_set_location),
9234         (gst_file_src_set_property), (gst_file_src_get_property),
9235         (gst_file_src_map_region), (gst_file_src_map_small_region),
9236         (gst_file_src_create_mmap), (gst_file_src_create_read),
9237         (gst_file_src_create), (gst_file_src_is_seekable),
9238         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9239         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9240         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9241         (gst_file_src_uri_handler_init):
9242         * gst/elements/gstfilesrc.h:
9243           more autistic cleanliness in functions/names/defines
9244
9245 2005-07-13  Andy Wingo  <wingo@pobox.com>
9246
9247         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9248         source couldn't negotiate.
9249
9250         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9251         connections again.
9252
9253         * gst/gstutils.h:
9254         * gst/gstutils.c (gst_element_link_pads_filtered): New old
9255         function. I am channeling Hades. Put your boots on suckers!!!
9256
9257 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9258
9259         * testsuite/caps/Makefile.am:
9260         * testsuite/caps/value_compare.c:
9261         * testsuite/caps/value_intersect.c:
9262         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9263           move two testsuite apps over to the check dir
9264
9265 2005-07-12  Wim Taymans  <wim@fluendo.com>
9266
9267         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9268         Added more debug info in the negotiate process.
9269
9270         * gst/gstmessage.h:
9271         Prepare for segment playback.
9272
9273         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9274         Better debugging.
9275
9276         * gst/gstutils.c:
9277         Some more docs.
9278
9279         * tools/gst-launch.c: (main):
9280         NULL pipeline on errors.
9281
9282 2005-07-12  Andy Wingo  <wingo@pobox.com>
9283
9284         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9285         not it comes from a malloc region. Make sure our copy gets freed.
9286
9287 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9288
9289         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9290         * check/gst/gstmessage.c: (GST_START_TEST):
9291         * check/gst/gststructure.c: (GST_START_TEST),
9292         (gst_structure_suite), (main):
9293           more testing
9294         * gst/gstelement.c: (gst_element_message_full):
9295           clean up GError and debug string now that they get copied
9296         * gst/gstmessage.c: (gst_message_new_error),
9297         (gst_message_new_warning), (gst_message_parse_error),
9298         (gst_message_parse_warning):
9299           use GST_TYPE_G_ERROR for structure_new, and take copies of
9300           arguments, so that we don't mess up refcounting
9301
9302 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9303
9304         * check/Makefile.am:
9305           add per-test valgrind targets
9306         * check/gst-libs/gdp.c: (GST_START_TEST),
9307         (gst_data_protocol_suite), (main):
9308           clean up
9309
9310 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9311
9312         * check/Makefile.am:
9313           instate more valgrindable tests
9314         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9315         (GST_START_TEST), (fakesrc_suite):
9316         * check/gst/gstpad.c: (GST_START_TEST):
9317         * check/gst/gststructure.c: (GST_START_TEST):
9318           fix test leaks
9319         * docs/gst/tmpl/gstminiobject.sgml:
9320         * gst/gstpad.c: (gst_pad_finalize):
9321           fix the static mutex leak
9322
9323 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9324
9325         * check/Makefile.am:
9326           add two more tests for valgrinding
9327         * check/gst/gstvalue.c: (GST_START_TEST):
9328           test refcount of deserialized buffer, found a leak
9329         * docs/gst/gstreamer-docs.sgml:
9330         * docs/gst/gstreamer-sections.txt:
9331         * docs/gst/gstreamer.types:
9332         * docs/gst/tmpl/gstminiobject.sgml:
9333           add miniobject to docs
9334         * gst/gstminiobject.c:
9335           add some docs
9336         * gst/gstvalue.c: (gst_value_deserialize_buffer),
9337         (gst_string_unwrap):
9338           fix a hard-to-find invalid write for one of the tests
9339           fix a leak for deserialized buffers
9340
9341 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9342
9343         * docs/pwg/advanced-events.xml:
9344         * docs/pwg/advanced-request.xml:
9345         * docs/pwg/advanced-scheduling.xml:
9346         * docs/pwg/appendix-porting.xml:
9347         * docs/pwg/building-boiler.xml:
9348         * docs/pwg/intro-preface.xml:
9349         * docs/pwg/other-ntoone.xml:
9350           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
9351           of example code and explanation for pad activation, loop() and
9352           getrange() functions and a bit more. Remove old comments pointing
9353           to loop-functions.
9354         * examples/pwg/Makefile.am:
9355           Add loop/getrange examples.
9356
9357 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9358
9359         * configure.ac:
9360           check for valgrind binary + some fixes
9361         * check/gst.supp:
9362           valgrind suppressions for the tests
9363         * check/Makefile.am:
9364           add a valgrind: target that valgrinds the unit tests
9365         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
9366         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9367         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9368         * check/gst/gstghostpad.c:
9369           added some cleanup
9370         * check/gst/gstdata.c:
9371           removed
9372         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
9373         (thread_unref), (gst_mini_object_suite), (main):
9374           added
9375         * gst/gst.c: (gst_deinit):
9376         * gst/gst.h:
9377           add a method to clean up.
9378         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9379         (gst_system_clock_obtain):
9380           allow for disposing the system clock.
9381         * tools/gst-launch.c: (main):
9382           deinit
9383
9384 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9385
9386         * docs/gst/tmpl/gstbasesrc.sgml:
9387         * docs/gst/tmpl/gstfakesrc.sgml:
9388         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9389         (gst_base_src_init), (gst_base_src_set_property),
9390         (gst_base_src_get_property), (gst_base_src_get_range),
9391         (gst_base_src_start):
9392         * gst/base/gstbasesrc.h:
9393           add num-buffers property
9394         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9395         (gst_fakesrc_init), (gst_fakesrc_set_property),
9396         (gst_fakesrc_get_property), (gst_fakesrc_create),
9397         (gst_fakesrc_start):
9398           remove num-buffers property
9399
9400 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9401
9402         * docs/gst/gstreamer-sections.txt:
9403         * docs/gst/tmpl/gstbasesink.sgml:
9404         * docs/gst/tmpl/gstbasesrc.sgml:
9405         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9406         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9407         (gst_base_sink_finalize), (gst_base_sink_set_clock),
9408         (gst_base_sink_set_property), (gst_base_sink_get_property),
9409         (gst_base_sink_handle_object), (gst_base_sink_event),
9410         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9411         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
9412         (gst_base_sink_loop), (gst_base_sink_deactivate),
9413         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
9414         (gst_base_sink_change_state):
9415         * gst/base/gstbasesink.h:
9416         * gst/base/gstbasesrc.h:
9417         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
9418         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9419         (gst_filesink_init):
9420           more macro splitting
9421
9422 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9423
9424         * gst/gstelement.c: (gst_element_get_bus):
9425           add debug
9426         * tools/gst-launch.c: (check_intr), (event_loop):
9427           fix bus leaks
9428
9429 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9430
9431         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9432           fix a caps leak
9433
9434 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9435
9436         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9437         (gst_base_src_finalize):
9438           add finalize method and clean up properly
9439         * gst/gstpipeline.c: (gst_pipeline_dispose):
9440           add debug
9441
9442 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9443
9444         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
9445         (gst_bin_suite):
9446           add more things to check
9447         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9448         * gst/gstelement.c:
9449           more debug
9450
9451 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9452
9453         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9454         (GST_START_TEST), (fakesrc_suite):
9455         * check/gst-libs/gdp.c: (GST_START_TEST):
9456         * check/gst/gst.c: (GST_START_TEST):
9457         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9458         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9459         * check/gst/gstbus.c: (GST_START_TEST):
9460         * check/gst/gstcaps.c: (GST_START_TEST):
9461         * check/gst/gstdata.c: (GST_START_TEST):
9462         * check/gst/gstelement.c: (GST_START_TEST):
9463         * check/gst/gstghostpad.c: (GST_START_TEST):
9464         * check/gst/gstiterator.c: (GST_START_TEST):
9465         * check/gst/gstmessage.c: (GST_START_TEST):
9466         * check/gst/gstobject.c: (GST_START_TEST):
9467         * check/gst/gstpad.c: (GST_START_TEST):
9468         * check/gst/gststructure.c: (GST_START_TEST):
9469         * check/gst/gstsystemclock.c: (GST_START_TEST),
9470         (gst_systemclock_suite):
9471         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9472         * check/gst/gstvalue.c: (GST_START_TEST):
9473         * check/pipelines/cleanup.c: (GST_START_TEST):
9474         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9475         * check/states/sinks.c: (GST_START_TEST):
9476         * check/gstcheck.c: (gst_check_init):
9477         * check/gstcheck.h:
9478           add debugging category
9479           use GST_START_TEST now, so we add a debug line
9480
9481 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9482
9483         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
9484           add test for state change message on a bin
9485         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
9486           add another test
9487         * gst/gstbin.c: (gst_bin_init):
9488         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
9489         * gst/gstelement.c: (gst_element_post_message),
9490         (gst_element_set_state):
9491         * gst/gstelementfactory.c: (gst_element_factory_create):
9492         * gst/gstmessage.c: (gst_message_new):
9493         * gst/gstscheduler.c:
9494           various debugging additions and cleanups
9495
9496 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9497
9498         * check/Makefile.am:
9499         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
9500         (main):
9501           adding tests for elements
9502         * gst/gstelement.c: (gst_element_dispose):
9503
9504 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9505
9506         * gst/registries/gstlibxmlregistry.c: (load_feature):
9507           plug more leaks.  A simple gst_init() now is leakfree, yay.
9508
9509 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9510
9511         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
9512         (gst_xml_registry_load):
9513           plug another memleak
9514
9515 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9516
9517         * configure.ac:
9518           use GST_SET_ERROR_CFLAGS
9519         * docs/faq/cvs.xml:
9520           change to ERROR_CFLAGS
9521
9522 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9523
9524         * configure.ac:
9525           make GST_ERROR_CFLAGS overridable and re-enable Werror
9526         * docs/faq/cvs.xml:
9527           add a note about error CFLAGS
9528         * docs/gst/tmpl/gstfakesrc.sgml:
9529         * gst/elements/gstfakesrc.c:
9530           comment out some unused code
9531         * gst/gst.c: (split_and_iterate):
9532         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
9533         (load_feature):
9534           plug some memleaks
9535
9536 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9537
9538         * common/Makefile.am:
9539         * common/gtk-doc.mak:
9540         * docs/gst/Makefile.am:
9541           factor out gtk-doc.mak
9542
9543 2005-07-07  Wim Taymans  <wim@fluendo.com>
9544
9545         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
9546         (gst_thread_scheduler_dispose):
9547         Unlock the STREAM_LOCK completely.
9548
9549 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9550
9551         * check/Makefile.am:
9552         * check/elements/.cvsignore:
9553         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9554         (START_TEST), (fakesrc_suite), (main):
9555         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9556         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
9557         (gst_fakesrc_create), (gst_fakesrc_start):
9558         * gst/elements/gstfakesrc.h:
9559           adding a first element test
9560
9561 2005-07-07  Andy Wingo  <wingo@pobox.com>
9562
9563         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
9564         debug message.
9565
9566 2005-07-07  Wim Taymans  <wim@fluendo.com>
9567
9568         * gst/gstquery.c:
9569         * gst/gstquery.h:
9570         Remove old types
9571
9572 2005-07-07  Wim Taymans  <wim@fluendo.com>
9573
9574         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
9575         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
9576         Allow subclasses to implement their own negotiation.
9577
9578 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9579
9580         * docs/design/part-gstbin.txt:
9581         * docs/design/part-gstpipeline.txt:
9582           Update design notes to reflect the movement of
9583           responsibility for bus handling from GstPipeline to
9584           GstBin
9585
9586 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9587
9588         * configure.ac:
9589           Remove unnecessary queue2/3/4 examples.
9590
9591 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9592
9593         * examples/Makefile.am:
9594         * examples/helloworld/helloworld.c: (event_loop), (main):
9595         * examples/queue/queue.c: (event_loop), (main):
9596         * examples/queue2/queue2.c: (main):
9597           Update a couple of the examples to work again.
9598
9599         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9600         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
9601          Spelling corrections and extra debug.
9602         
9603         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
9604         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
9605         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
9606         * gst/gstbin.h:
9607         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9608         (gst_pipeline_change_state):
9609         * gst/gstpipeline.h:
9610           Move the bus handler for children to the GstBin, and create a
9611           separate bus for receiving messages from children to the one the
9612           bus sends 'upwards' on.
9613
9614 2005-07-06  Wim Taymans  <wim@fluendo.com>
9615
9616         * gst/base/README:
9617         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9618         (gst_base_sink_handle_object), (gst_base_sink_loop),
9619         (gst_base_sink_change_state):
9620         * gst/base/gstbasesink.h:
9621         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9622         (gst_base_src_init), (gst_base_src_setcaps),
9623         (gst_base_src_getcaps), (gst_base_src_loop),
9624         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
9625         (gst_base_src_start), (gst_base_src_change_state):
9626         * gst/base/gstbasesrc.h:
9627         Make basesrc negotiate.
9628         Handle the case where preroll fails in basesink.
9629         Update README.
9630
9631 2005-07-06  Wim Taymans  <wim@fluendo.com>
9632
9633         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
9634         Implement the fixate function.
9635         Clean up acceptcaps.
9636
9637 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9638
9639         * docs/pwg/building-filterfactory.xml:
9640         * docs/pwg/pwg.xml:
9641           Remove never-written filter-factory chapter; I'll add the various
9642           base classes to part 4 ("other element types") later on.
9643
9644 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9645
9646         * docs/pwg/advanced-negotiation.xml:
9647         * docs/pwg/building-boiler.xml:
9648         * docs/pwg/building-pads.xml:
9649         * docs/pwg/pwg.xml:
9650         * examples/pwg/Makefile.am:
9651           Add a chapter on caps negotiation, simplify the original code
9652           samples a bit w.r.t. caps negotiation, add link to the advanced
9653           section. Add a bunch of examples showing different use cases of
9654           different types of caps negotiation. Upstream renegotiation isn't
9655           fully documented yet since nobody knows how that works.
9656
9657 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9658
9659         * check/gst/gstpad.c:
9660         * check/gstcheck.c:
9661         * gst/gstpad.c: (gst_pad_get_internal_links_default):
9662           if pad has no parent, return NULL as list of internal links
9663
9664 2005-07-05  Andy Wingo  <wingo@pobox.com>
9665
9666         * gst/elements/gstfilesrc.c:
9667         * gst/elements/gstfakesrc.c: 
9668         * gst/base/gstpushsrc.c:
9669         * gst/base/gstbasesrc.h: 
9670         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
9671         
9672 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
9673
9674         * Makefile.am:
9675           better report generation target (lcov needs a patch)
9676
9677 2005-07-05  Andy Wingo  <wingo@pobox.com>
9678
9679         * gst/elements, testsuite: Null if we got it...
9680
9681 2005-07-05  Wim Taymans  <wim@fluendo.com>
9682
9683         * configure.ac:
9684         * libs/gst/dataprotocol/Makefile.am:
9685         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
9686         * libs/gst/dataprotocol/dataprotocol.h:
9687         * pkgconfig/Makefile.am:
9688         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
9689         * pkgconfig/gstreamer-dataprotocol.pc.in:
9690         Ported dataprotol to 0.9. 
9691         Added pkgconfig files.
9692
9693 2005-07-05  Andy Wingo  <wingo@pobox.com>
9694
9695         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
9696         Default to returning TRUE for the case when tranform_caps returns
9697         a fixed caps, like for identity or volume.
9698
9699         * check/gst/gstbus.c (pound_bus_with_messages): 
9700         * check/gst/gstmessage.c (START_TEST): 
9701         * check/pipelines/simple_launch_lines.c (got_handoff): Application
9702         message API change.
9703
9704         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
9705         logic weaks here: always run transform_caps, trying passthrough
9706         operation only if the original caps intersects with the transform.
9707
9708         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
9709         source and sink caps.
9710
9711         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
9712         Intersect the peer caps with the pad template before going into
9713         transform_caps.
9714         (gst_base_transform_transform_caps): More debugging.
9715
9716         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
9717         src argument.
9718
9719 2005-07-04  Edward Hervey  <edward@fluendo.com>
9720
9721         * gst/gstutils.c:
9722         * gst/gstutils.h:
9723         (gst_pad_add_*_probe): now returns the signal id for better wrapping
9724         in bindings.
9725
9726 2005-07-04  Andy Wingo  <wingo@pobox.com>
9727
9728         * check/gst/gstpad.c: Only set explicit caps on pads.
9729
9730 2005-07-01  Andy Wingo  <wingo@pobox.com>
9731
9732         * tests/network-clock.scm: Commentary update.
9733
9734         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
9735         Didn't really make sense, not implementable with basetransform,
9736         etc.
9737         (gst_identity_transform): Unref inbuf via make_writable. Feeble
9738         attempt at implementing the sync property, needs an unlock method.
9739
9740         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
9741         New func, by default returns the same caps (the identity
9742         transformation).
9743         (gst_base_transform_getcaps): Uses transform_caps to return
9744         something sensible.
9745         (gst_base_transform_setcaps): Complicated logic to get caps on
9746         both pads, even if they are different, and to call set_caps once
9747         for every time both pads get their caps set.
9748         (gst_base_transform_handle_buffer): Give the ref to the transform
9749         function. Allows in-place modification of the buffer.
9750
9751         * gst/base/gstbasetransform.h (transform_caps): New class method.
9752         Given caps on one side, what can I do on the other.
9753         (set_caps): Take two caps, one for each side of the element.
9754
9755         * gst/gstpad.h:
9756         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
9757         caps in place. This is safe because we can check the mutability of
9758         the caps, and a good idea because fixate functions are just called
9759         as a matter of last resort. (Not actually implemented.)
9760         (gst_pad_set_caps): If the caps we're setting is actually the same
9761         as the existing pad caps, just update the pointer without calling
9762         setcaps. Assert that caps is either NULL or fixed, as per the
9763         docs.
9764
9765         * gst/gstghostpad.c: Update for fixate changes.
9766
9767 2005-07-02  Andy Wingo  <wingo@pobox.com>
9768
9769         * gst/gstcaps.c:
9770         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
9771         two refcounts makes it immutable, which is enough. Doc more.
9772
9773 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
9774
9775         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
9776           Put the mini_object into GValue as a mini_object,
9777           not a gpointer, since that's how we declared
9778           the signal.
9779
9780 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9781
9782         * examples/pwg/Makefile.am:
9783           Fix buildbot again.
9784
9785 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9786
9787         * docs/pwg/building-testapp.xml:
9788           Add extra check.
9789         * examples/pwg/Makefile.am:
9790           Fix buildbot.
9791
9792 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9793
9794         * configure.ac:
9795         * examples/Makefile.am:
9796         * examples/pwg/Makefile.am:
9797         * examples/pwg/extract.pl:
9798           Enable building the PWG examples.
9799         * docs/pwg/advanced-interfaces.xml:
9800           Add URI interface stub.
9801         * docs/pwg/advanced-types.xml:
9802         * docs/pwg/other-autoplugger.xml:
9803         * docs/pwg/appendix-porting.xml:
9804         * docs/pwg/pwg.xml:
9805           Add porting guide (mostly stubs), remove autoplugging (see ADM).
9806         * docs/pwg/building-boiler.xml:
9807         * docs/pwg/building-chainfn.xml:
9808         * docs/pwg/building-pads.xml:
9809         * docs/pwg/building-props.xml:
9810         * docs/pwg/building-state.xml:
9811         * docs/pwg/building-testapp.xml:
9812           Update the building-*.xml parts for 0.9 changes. All examples
9813           code blocks compile in examples/pwg/*.
9814
9815 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9816
9817         * docs/manual/advanced-autoplugging.xml:
9818         * docs/manual/appendix-checklist.xml:
9819         * docs/manual/appendix-integration.xml:
9820         * docs/manual/highlevel-components.xml:
9821           Fix playbin/decodebin examples, update docs a bit, mention bus
9822           instead of signals in various places, mention kmplayer and
9823           kaffeine since they have a working GStreamer backend in the KDE
9824           section.
9825
9826 2005-06-30  Wim Taymans  <wim@fluendo.com>
9827
9828         * CHANGES-0.9:
9829         * docs/design/draft-ghostpads.txt:
9830         * docs/design/draft-push-pull.txt:
9831         * docs/design/draft-query.txt:
9832         * docs/design/part-TODO.txt:
9833         * docs/design/part-query.txt:
9834         Added CHANGES-0.9 doc, updated status of other docs.
9835         
9836         * gst/gstquery.h:
9837         Remove "hmm" macro
9838
9839 2005-06-30  Wim Taymans  <wim@fluendo.com>
9840
9841         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9842         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9843         (gst_base_sink_change_state):
9844         * gst/base/gstbasesink.h:
9845         Some tweaks, only EOS and a buffer complete a preroll.
9846
9847 2005-06-30  Andy Wingo  <wingo@pobox.com>
9848
9849         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
9850         activate_push down to the internal pad as well.
9851
9852 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
9853
9854         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9855
9856         * gst/gsttaginterface.c:
9857           Some documentation fixes (#307394 and #307397).
9858
9859 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
9860
9861         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9862
9863         * gst/gstvalue.c: (gst_value_intersect_list):
9864           Fix memleak (#309125).
9865
9866 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9867
9868         * docs/manual/advanced-dataaccess.xml:
9869           Fix fakesrc example to compile; doesn't work, bug somewhere...?
9870         * docs/manual/basics-pads.xml:
9871           Add reference for filtered caps to above chapter.
9872
9873 2005-06-30  Wim Taymans  <wim@fluendo.com>
9874
9875         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
9876         (gst_bin_change_state):
9877         Probes are gone.
9878         Lame attempt at making the state change function a bit
9879         more readable.
9880
9881 2005-06-30  Wim Taymans  <wim@fluendo.com>
9882
9883         * docs/design/part-clocks.txt:
9884         * docs/design/part-element-sink.txt:
9885         * docs/design/part-events.txt:
9886         * docs/design/part-preroll.txt:
9887         * docs/design/part-states.txt:
9888         Some more tweeks and additions to the docs.
9889
9890 2005-06-30  Wim Taymans  <wim@fluendo.com>
9891
9892         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9893         (default_have_data), (gst_pad_class_init), (gst_pad_init),
9894         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9895         (gst_pad_check_pull_range), (gst_pad_get_range),
9896         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
9897         * gst/gstpad.h:
9898         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
9899         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9900         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9901         (gst_pad_remove_buffer_probe):
9902         Removed atomic operations, use existing LOCK.
9903         Move exception handling out of main code path.
9904
9905 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9906
9907         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9908         (silly_return_true_function), (gst_pad_class_init),
9909         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9910         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
9911         (gst_pad_send_event):
9912           Fix accumulator, add default value by using _emitv() instead
9913           of _emit() for signal emission.
9914
9915 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9916
9917         * docs/manual/advanced-dataaccess.xml:
9918         * examples/manual/Makefile.am:
9919           Add probe example.
9920         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
9921           Make work (??).
9922
9923 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
9924
9925         * gst/elements/gstfilesink.c: (gst_filesink_render):
9926           Simplify code so that we don't have to handle short
9927           writes and return GST_FLOW_ERROR if an error occured.
9928
9929 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9930
9931         * docs/gst/gstreamer-docs.sgml:
9932           Remove probes more.
9933
9934 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9935
9936         * docs/gst/gstreamer-sections.txt:
9937         * docs/gst/tmpl/gstpad.sgml:
9938         * docs/gst/tmpl/gstprobe.sgml:
9939         * gst/Makefile.am:
9940         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9941         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
9942         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
9943         (gst_pad_push_event), (gst_pad_send_event):
9944         * gst/gstpad.h:
9945         * gst/gstutils.c: (gst_pad_add_data_probe),
9946         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9947         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9948         (gst_pad_remove_buffer_probe):
9949         * gst/gstutils.h:
9950           Remove old probes, add new g-signal-based probes and some utility
9951           functions.
9952
9953 2005-06-29  Edward Hervey  <edward@fluendo.com>
9954
9955         * gst/gstelementfactory.c:
9956         * gst/gstutils.h:
9957         * gst/gstutils.c:
9958         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
9959         the definition to the header file.
9960
9961 2005-06-29  Andy Wingo  <wingo@pobox.com>
9962
9963         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
9964         plugins from the source directory.
9965
9966 2005-06-29  Wim Taymans  <wim@fluendo.com>
9967
9968         * docs/gst/tmpl/gstbuffer.sgml:
9969         * docs/gst/tmpl/gstclock.sgml:
9970         Some fixings for blantently wrong text.
9971
9972 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9973
9974         * check/Makefile.am:
9975         * gst/gst.c: (add_path_func), (init_pre):
9976         * gst/gstregistry.c: (gst_registry_add_path):
9977           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
9978           only scan the GST_PLUGIN_PATH locations, and not add
9979           system locations
9980
9981 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9982
9983         * docs/gst/gstreamer-sections.txt:
9984         * docs/gst/tmpl/gstbasesrc.sgml:
9985         * gst/gstelement.c:
9986         * gst/gstelement.h:
9987         * gst/gstevent.c:
9988         * gst/gstutils.c:
9989           doc fixes
9990
9991 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9992
9993         * docs/manual/advanced-autoplugging.xml:
9994           Fix autoplugging example.
9995
9996 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9997
9998         * docs/manual/advanced-autoplugging.xml:
9999         * docs/manual/mime-world.fig:
10000           Try to get autoplugging working, fix type detection. Fix text
10001           in hello-world image.
10002
10003 2005-06-29  Wim Taymans  <wim@fluendo.com>
10004
10005         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10006         (gst_base_sink_change_state):
10007         Small debug line.
10008
10009         * gst/gstclock.h:
10010         map SIGNAL and BROADCAST to the right function.
10011
10012         * gst/gstobject.h:
10013         Remove redundant braces.
10014
10015         * gst/gstpad.c: (gst_pad_set_caps):
10016         Don't call setcaps function when reseting caps to NULL.
10017
10018         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10019         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
10020         (gst_system_clock_id_unschedule):
10021         Use BROADCAST as this is what we do.
10022
10023 2005-06-29  Wim Taymans  <wim@fluendo.com>
10024
10025         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10026         We are actually prerolling before commiting the state
10027         change. 
10028
10029 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10030
10031         * docs/manual/advanced-clocks.xml:
10032         * docs/manual/advanced-interfaces.xml:
10033         * docs/manual/advanced-metadata.xml:
10034         * docs/manual/advanced-position.xml:
10035         * docs/manual/advanced-schedulers.xml:
10036         * docs/manual/advanced-threads.xml:
10037         * docs/manual/appendix-porting.xml:
10038         * docs/manual/basics-bins.xml:
10039         * docs/manual/basics-bus.xml:
10040         * docs/manual/basics-elements.xml:
10041         * docs/manual/basics-helloworld.xml:
10042         * docs/manual/basics-pads.xml:
10043         * docs/manual/highlevel-components.xml:
10044         * docs/manual/manual.xml:
10045         * docs/manual/thread.fig:
10046           Update (until threads/scheduling) Application Development Manual;
10047           remove GstThread, add GstBus, add simple porting checklist, add
10048           documentation for tag writing, clocks, make all examples until this
10049           part compile and run.
10050         * examples/manual/Makefile.am:
10051           Update from changes to Application Development Manual; add bus
10052           example, remove thread example.
10053
10054 2005-06-28  Wim Taymans  <wim@fluendo.com>
10055
10056         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
10057         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
10058         (gst_bus_source_dispatch):
10059         Add debugging messages.
10060         Make internal methods static.
10061         Handle the case where the bus is flushed in the handler.
10062         
10063         * gst/gstelement.c: (gst_element_get_bus):
10064         Fix refcount in _get_bus();
10065
10066         * gst/gstpipeline.c: (gst_pipeline_change_state),
10067         (gst_pipeline_get_clock_func):
10068         Clock refcounting fixes.
10069         Handle the case where preroll timed out more gracefully.
10070         
10071         * gst/gstsystemclock.c: (gst_system_clock_dispose):
10072         Clean up the internal thread in dispose. This is needed
10073         for subclasses that actually get disposed.
10074         
10075         * gst/schedulers/threadscheduler.c:
10076         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10077         (gst_thread_scheduler_dispose):
10078         Free thread pool in dispose.
10079
10080 2005-06-28  Andy Wingo  <wingo@pobox.com>
10081
10082         * tests/network-clock-utils.scm (debug, print-event): New utils.
10083
10084         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
10085         (*packet-loss*): Unified loss probability.
10086         (network-time): Report out-of-band events.
10087
10088         * tests/plot-data: Add support for out-of-band events. Hack it
10089         into this script instead of passing it down the pipe; should fix
10090         this later.
10091
10092 2005-06-28  Wim Taymans  <wim@fluendo.com>
10093
10094         * docs/gst/gstreamer.types:
10095         * docs/gst/tmpl/gstbasesrc.sgml:
10096         * docs/gst/tmpl/gstpad.sgml:
10097         Docs fixes.
10098
10099 2005-06-28  Wim Taymans  <wim@fluendo.com>
10100
10101         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10102         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
10103         (gst_proxy_pad_do_fixatecaps):
10104         Correctly proxy the check_pull_range function.
10105
10106 2005-06-28  Andy Wingo  <wingo@pobox.com>
10107
10108         * tests/network-clock.scm: Removed need for slib.
10109         
10110 2005-06-28  Wim Taymans  <wim@fluendo.com>
10111
10112         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
10113         (gst_basesink_preroll_queue_flush):
10114         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
10115         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
10116         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10117         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10118         (gst_proxy_pad_set_property):
10119         * gst/gstpad.c:
10120         * gst/gstpad.h:
10121         * gst/gstqueue.c: (gst_queue_init):
10122         The deprecated pad loop function is removed now.
10123
10124 2005-06-28  Andy Wingo  <wingo@pobox.com>
10125
10126         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
10127         New parameters, simulate network packet loss.
10128
10129         * tests/network-clock-utils.scm: Initialize the RNG.
10130
10131 2005-06-28  Wim Taymans  <wim@fluendo.com>
10132
10133         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
10134         (gst_basesink_event), (gst_basesink_deactivate):
10135         Flushing the preroll queue always needs to unlock the waiters.
10136
10137 2005-06-28  Edward Hervey  <edward@fluendo.com>
10138
10139         * gst/gstpipeline.c: (gst_pipeline_send_event): 
10140         Wheen a seek was successful on a pipeline, set the stream_time to the
10141         seek offset in order to have a synchronized stream_time.
10142
10143 2005-06-28  Wim Taymans  <wim@fluendo.com>
10144
10145         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10146         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10147         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
10148         (gst_proxy_pad_do_fixatecaps):
10149         Call wrapper function instead of just calling the function
10150         pointers. This takes care of any locking and whatmore.
10151
10152 2005-06-28  Wim Taymans  <wim@fluendo.com>
10153
10154         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10155         (gst_pad_pull_range):
10156         * gst/gstpad.h:
10157         CONNECTED -> LINKED.
10158
10159 2005-06-28  Andy Wingo  <wingo@pobox.com>
10160
10161         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10162         source-munging commit!!!
10163
10164         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
10165         (gst_object_sink): Take gpointer arguments, not GstObject --
10166         avoids casts. Like GLib.
10167
10168         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10169         activate.
10170
10171 2005-06-27  Andy Wingo  <wingo@pobox.com>
10172
10173         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10174         remaining buffer.
10175
10176         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10177         returns a sorted copy of the trace list.
10178         (gst_alloc_trace_print_live): New API, only prints traces with
10179         live objects. Sort the list.
10180         (gst_alloc_trace_print_all): Sort the list.
10181         (gst_alloc_trace_print): Align columns.
10182
10183         * gst/elements/gstttypefindelement.c:
10184         * gst/elements/gsttee.c:
10185         * gst/base/gstbasesrc.c:
10186         * gst/base/gstbasesink.c:
10187         * gst/base/gstbasetransform.c:
10188         * gst/gstqueue.c: Adapt for pad activation changes.
10189
10190         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10191         sched.
10192         (gst_pipeline_dispose): Drop ref on sched.
10193
10194         * gst/gstpad.c (gst_pad_init): Set the default activate func.
10195         (gst_pad_activate_default): Push mode by default.
10196         (pre_activate_switch, post_activate_switch): New stubs, things to
10197         do before and after switching activation modes on pads.
10198         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10199         the pad's activate function to choose which mode to activate.
10200         Shortcut on deactivation and call the right function directly.
10201         (gst_pad_activate_pull): New API, (de)activates a pad in pull
10202         mode.
10203         (gst_pad_activate_push): New API, same for push mode.
10204         (gst_pad_set_activate_function) 
10205         (gst_pad_set_activatepull_function) 
10206         (gst_pad_set_activatepush_function): Setters for new API.
10207
10208         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10209         Trace all miniobjects.
10210         (gst_mini_object_make_writable): Unref the arg if we copy, like
10211         gst_caps_make_writable.
10212
10213         * gst/gstmessage.c (_gst_message_initialize): No trace init.
10214
10215         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
10216         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10217         Adapt for new pad API.
10218
10219         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10220
10221         * gst/gstelement.h:
10222         * gst/gstelement.c (gst_element_iterate_src_pads) 
10223         (gst_element_iterate_sink_pads): New API functions.
10224         
10225         * gst/gstelement.c (iterator_fold_with_resync): New utility,
10226         should fold into gstiterator.c in some form.
10227         (gst_element_pads_activate): Simplified via use of fold and
10228         delegation of decisions to gstpad->activate.
10229
10230         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10231         help in debugging.
10232
10233         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10234         class once in init, like gstmessage. Didn't run into this issue
10235         but it seems correct. Don't initialize a trace, gstminiobject does
10236         that.
10237
10238         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10239         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10240         to the bus.
10241         (assert_live_count): New util function, uses alloc traces to check
10242         cleanup.
10243
10244         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10245         To be modified when unlink drops the internal pad.
10246
10247 2005-06-27  Wim Taymans  <wim@fluendo.com>
10248
10249         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10250         (gst_bin_change_state):
10251         Cleanup the get_state() function a little, make sure it
10252         iterates the same set of elements.
10253         Added stub iterate_state_order().
10254
10255 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10256
10257         * docs/gst/gstreamer-docs.sgml:
10258         * docs/gst/gstreamer-sections.txt:
10259         * docs/gst/gstreamer.types:
10260         * docs/gst/tmpl/gstbasesink.sgml:
10261         * docs/gst/tmpl/gstbasesrc.sgml:
10262         * docs/gst/tmpl/gstbasetransform.sgml:
10263         * docs/gst/tmpl/gstelement.sgml:
10264         * docs/gst/tmpl/gstiterator.sgml:
10265         * gst/base/gstbasesrc.c:
10266         * gst/base/gstbasesrc.h:
10267         * gst/base/gstbasetransform.h:
10268         * gst/gstelement.c:
10269         * gst/gstiterator.h:
10270           adding basetransform and iterator docs
10271
10272 2005-06-27  Andy Wingo  <wingo@pobox.com>
10273
10274         * docs/design/part-activation.txt: Notes on how activation should
10275         work -- not quite implemented yet.
10276
10277 2005-06-25  Wim Taymans  <wim@fluendo.com>
10278
10279         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10280         At least get the chain function correct, needs more
10281         fixing.
10282
10283 2005-06-25  Wim Taymans  <wim@fluendo.com>
10284
10285         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10286         (gst_basesink_handle_object), (gst_basesink_event),
10287         (gst_basesink_do_sync), (gst_basesink_handle_event),
10288         (gst_basesink_change_state):
10289         * gst/gsttask.h:
10290         Right, two problems here: ghostpads don't take locks and
10291         glib _rec_mutex_lock_full() with depth==0 still locks.
10292         Catch illegal locking and g_warn them.
10293
10294 2005-06-25  Wim Taymans  <wim@fluendo.com>
10295
10296         * check/states/sinks.c: (START_TEST), (gst_object_suite):
10297         Have to check for completion now...
10298
10299 2005-06-25  Wim Taymans  <wim@fluendo.com>
10300
10301         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10302         (gst_basesink_handle_object), (gst_basesink_event),
10303         (gst_basesink_do_sync), (gst_basesink_handle_event),
10304         (gst_basesink_change_state):
10305         * gst/gstpad.h:
10306         Unlock STREAM_LOCK whatever the recursion was.
10307
10308 2005-06-25  Wim Taymans  <wim@fluendo.com>
10309
10310         * gst/base/gstbasesink.c: (gst_basesink_set_property),
10311         (gst_basesink_preroll_queue_empty),
10312         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10313         (gst_basesink_event), (gst_basesink_do_sync),
10314         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10315         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10316         (gst_basesink_change_state):
10317         Reworked the base sink, handle event and buffer serialisation
10318         correctly and removed possible deadlock.
10319         Handle EOS correctly.
10320
10321 2005-06-25  Wim Taymans  <wim@fluendo.com>
10322
10323         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10324         (gst_pipeline_change_state):
10325         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10326         Allow elements to post EOS in the state change function.
10327         Fix up -launch, make it exit the poll loop when the
10328         pipeline actually changed state.
10329         Fix up warning parsing in -launch.
10330
10331 2005-06-25  Wim Taymans  <wim@fluendo.com>
10332
10333         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10334         (gst_tee_sink_activate):
10335         Core takes STREAM_LOCK for us now.
10336
10337 2005-06-25  Wim Taymans  <wim@fluendo.com>
10338
10339         * gst/gstelement.c: (gst_element_get_state_func),
10340         (gst_element_set_state):
10341         * gst/gstelement.h:
10342         * gst/gstmessage.c: (gst_message_parse_error),
10343         (gst_message_parse_warning):
10344         Keep track of current target state while performing a state
10345         change so that subclasses can do something interesting.
10346         Fix parsing of warning/error messages when GError is NULL.
10347
10348 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10349
10350         * docs/gst/Makefile.am:
10351         * docs/gst/gstreamer-docs.sgml:
10352         * docs/gst/gstreamer-sections.txt:
10353         * docs/gst/gstreamer.types:
10354         * docs/gst/tmpl/gstbasesink.sgml:
10355         * docs/gst/tmpl/gstbasesrc.sgml:
10356         * docs/gst/tmpl/gstbin.sgml:
10357         * docs/gst/tmpl/gstcompat.sgml:
10358         * docs/gst/tmpl/gstfakesink.sgml:
10359         * docs/gst/tmpl/gstfakesrc.sgml:
10360         * docs/gst/tmpl/gstfilesink.sgml:
10361         * docs/gst/tmpl/gstfilesrc.sgml:
10362         * docs/gst/tmpl/gstindex.sgml:
10363         * docs/manual/appendix-quotes.xml:
10364         * gst/base/gstbasesrc.h:
10365         * gst/elements/gstfakesrc.h:
10366         * gst/gstmessage.h:
10367           start pulling in base classes and elements in our docs
10368
10369 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
10370
10371         * docs/gst/Makefile.am:
10372         * docs/libs/Makefile.am:
10373           fixed make distcheck with gtk-doc 1.3
10374
10375 2005-06-23  Wim Taymans  <wim@fluendo.com>
10376
10377         * gst/gstelement.c: (gst_element_get_state_func),
10378         (gst_element_set_state), (gst_element_change_state):
10379         When the state did not change, also report NO_PREROLL
10380         when it matters.
10381
10382 2005-06-23  Wim Taymans  <wim@fluendo.com>
10383
10384         * gst/gstpad.c: (gst_pad_event_default):
10385         * gst/gstqueue.c: (gst_queue_loop):
10386         No unsafe task pausing please.
10387
10388 2005-06-23  Wim Taymans  <wim@fluendo.com>
10389
10390         * gst/schedulers/threadscheduler.c:
10391         (gst_thread_scheduler_task_start),
10392         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
10393         Ref the task before pushing it on the threadpool. This
10394         makes sure that we have a ref when the threadfunction is
10395         actually called.
10396
10397 2005-06-23  Andy Wingo  <wingo@pobox.com>
10398
10399         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
10400         offset is greater than the file's size.
10401
10402         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
10403         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
10404         * gst/gstobject.c (gst_object_class_init): Make the class lock
10405         recursive. Wim won't let me drop deep_notify. Decodebin works
10406         again, whoopdy doo.
10407
10408         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
10409         internal pad, and hacks accordingly. Doesn't do it on the target
10410         pad because we change its caps. Probably catches all cases of
10411         interest tho.
10412         (gst_ghost_pad_set_property): Connect to notify::caps as
10413         appropritate.
10414
10415         * tests/network-clock.scm (plot-simulation): Pipe data to the
10416         elite python skript.
10417
10418         * tests/network-clock-utils.scm (define-parameter): New macro,
10419         defines a parameter that can be set via the command line.
10420         (set-parameter!, parse-parameter-arguments): Command line args
10421         parser.
10422
10423         * tests/plot-data: Simple matplotlib-based plotter, takes input on
10424         stdin.
10425
10426 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
10427
10428         * gst/elements/gsttypefindelement.c:
10429         (gst_type_find_element_handle_event):
10430           Don't restart typefinding on a discont.
10431         * gst/gstelement.c: (gst_element_set_state):
10432           Debug spelling fix.
10433         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
10434           Allow changing mode of an active pad.
10435           Debug output fixes.
10436         * gst/registries/gstlibxmlregistry.c: (load_feature):
10437           Don't cast a static pad template to a normal pad template.
10438
10439 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10440
10441         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10442         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10443           remove gst_strtoll completely, since it didn't actually do
10444           anything more than what g_ascii_strtoull already does.
10445           check for range errors when deserializing
10446           do a cast for the unsigned cases; but further fixing needs
10447           a decision on what the interpretation of "(int)" and
10448           deserialization should be for values that fall outside the
10449           type's boundaries (ie, refuse, or interpret as casting)
10450
10451 2005-06-23  Wim Taymans  <wim@fluendo.com>
10452
10453         * check/Makefile.am:
10454         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
10455         * docs/design/part-live-source.txt:
10456         * docs/design/part-states.txt:
10457         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10458         (gst_basesrc_set_live), (gst_basesrc_is_live),
10459         (gst_basesrc_get_range), (gst_basesrc_activate),
10460         (gst_basesrc_change_state):
10461         * gst/base/gstbasesrc.h:
10462         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10463         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10464         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
10465         * gst/gstelement.c: (gst_element_get_state_func),
10466         (gst_element_set_state):
10467         * gst/gstelement.h:
10468         * gst/gsttypes.h:
10469         * tools/gst-launch.c: (event_loop), (main):
10470         Added support for live sources and other elements that
10471         cannot do preroll.
10472         Updated design docs, added live-source design doc.
10473         Implemented live source functionality in basesrc
10474         Fix error condition in _bin_get_state()
10475         Implement live source handling in -launch.
10476         Added check for live sources.
10477         Fixed case in GstBin where elements were changed state
10478         multiple times.
10479
10480
10481 2005-06-23  Andy Wingo  <wingo@pobox.com>
10482
10483         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
10484         borken refcounting.
10485
10486         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
10487         gst_caps_replace takes care of this for us.
10488
10489         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
10490         gst_pad_set_caps on the target, not just its setcaps() function.
10491
10492         * tests/network-clock.scm: 
10493         * tests/network-clock-utils.scm: A network clock simulator.
10494         Something of an algorithmic testbed before doing something in C.
10495
10496 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10497
10498         * check/Makefile.am:
10499         * check/gst/capslist.h:
10500           copy over from 0.8, and add two with bitmasks specified with
10501           (int) 0xFF...
10502         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10503           add test to parse everything from capslist.h
10504         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
10505         (main):
10506           add test for structure deserialization
10507         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10508           add tests for deserialization of strings to int types
10509         * gst/gststructure.c: (gst_structure_nth_field_name):
10510         * gst/gststructure.h:
10511           add a way to get the name of a field referenced by index
10512         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10513           instead of checking if the resulting long long lies between
10514           min and max, we check if the long long would fit into
10515           a number of bytes for the final type.
10516           This fixes cases where a string represents 2^32 - 1, which
10517           when cast to int would be the (valid) -1, but is bigger than
10518           G_MAXINT
10519
10520 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10521
10522         * gst/parse/grammar.y:
10523           add a log line for type deserialization
10524
10525 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10526
10527         * check/gst/gstvalue.c: (START_TEST):
10528         * gst/gstvalue.c: (gst_value_deserialize):
10529           return long long, not int, so gint64 deserialization actually
10530           works.  Is there any flag that makes the compiler check this ?
10531           Fixes #308559
10532
10533 2005-06-22  Wim Taymans  <wim@fluendo.com>
10534
10535         * gst/gstbuffer.h:
10536         Added convenience macros for setting buffers in GValue.
10537
10538 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10539
10540         * check/gst/.cvsignore:
10541         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10542           add a test deserializing int64, and comment part out because
10543           it fails, yay !
10544
10545 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10546
10547         * check/Makefile.am:
10548         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
10549         * testsuite/Makefile.am:
10550         * testsuite/caps/Makefile.am:
10551         * testsuite/caps/value_serialize.c:
10552         * testsuite/test_gst_init.c:
10553           move a value_serialize test over
10554
10555 2005-06-20  Wim Taymans  <wim@fluendo.com>
10556
10557         * gst/gstpad.c:
10558         Small doc updates.
10559         
10560         * gst/gstvalue.c: (gst_value_compare_buffer),
10561         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
10562         (gst_value_compare_flags), (gst_value_serialize_flags),
10563         (gst_value_deserialize_flags), (_gst_value_initialize):
10564         Fix serialisation of buffers, they are not boxed types anymore
10565
10566 2005-06-20  Wim Taymans  <wim@fluendo.com>
10567
10568         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10569         Testcase to show error in buffer-on-caps serialisation.
10570
10571 2005-06-20  Andy Wingo  <wingo@pobox.com>
10572
10573         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
10574         will be adding to later.
10575
10576         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
10577         if its socks fill with rocks.
10578         (gst_system_clock_obtain): Set the name on object construction.
10579         Avoid double-checked locking.
10580
10581 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
10582
10583         * gst/gsturi.c: (gst_element_make_from_uri):
10584           Fix potential endless loop.
10585
10586 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10587
10588         * check/Makefile.am:
10589           add gsttag
10590         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
10591         (main):
10592           move over from testsuite dir and clean up
10593         * configure.ac:
10594         * gst/gsttag.c:
10595         * testsuite/Makefile.am:
10596         * testsuite/tags/.cvsignore:
10597         * testsuite/tags/Makefile.am:
10598         * testsuite/tags/merge.c:
10599           remove testsuite/tags
10600
10601 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10602
10603         * docs/gst/gstreamer-sections.txt:
10604         * docs/gst/tmpl/gstenumtypes.sgml:
10605         * win32/gstenumtypes.c:
10606           clean up documentation build a little
10607
10608 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10609
10610         * check/gstcheck.h:
10611           add macros for checking refcounts on objects and caps
10612         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
10613           add some more unit tests
10614         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
10615         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
10616           fix leaked refcounts (I hope :)) so unittest works
10617         * gst/gstpad.h:
10618           whitespace removal
10619
10620 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10621
10622         * configure.ac: back to HEAD
10623
10624 === release 0.9.1 ===
10625
10626 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10627
10628         * NEWS:
10629         * RELEASE:
10630           updated
10631
10632 2005-06-17  Andy Wingo  <wingo@pobox.com>
10633
10634         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
10635         assert; it's always possible that the pad gets deactivated in
10636         between the checks in gstpad.c and the implementation. Rely on
10637         finish_preroll() to return a FLUSHING or similar instead of on the
10638         assert.
10639         
10640         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
10641         clock and post an EOS message if we come out of finish_preroll in
10642         the playing state.
10643
10644 2005-06-16  David Schleef  <ds@schleef.org>
10645
10646         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
10647         (gst_capsfilter_set_property): Allow NULL as possible value
10648         for filter_caps property, indicating GST_CAPS_ANY.
10649
10650 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10651
10652         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
10653           fix debug output
10654         * gst/schedulers/Makefile.am:
10655           use libgst prefix
10656         * gstreamer.spec.in:
10657           fix spec for it
10658
10659 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10660
10661         * gstreamer.spec.in:
10662           clean up
10663
10664 2005-06-08  Andy Wingo  <wingo@pobox.com>
10665
10666         * gst/gstutils.c: RPAD fixes all around.
10667         (gst_element_link_pads): Refcounting fixes.
10668
10669         * tools/gst-inspect.c:
10670         * tools/gst-xmlinspect.c:
10671         * parse/grammar.y:
10672         * gst/base/gsttypefindhelper.c:
10673         * gst/base/gstbasesink.c:
10674         * gst/gstqueue.c: RPAD fixes.
10675
10676         * gst/gstghostpad.h:
10677         * gst/gstghostpad.c: New ghost pad implementation as full proxy
10678         pads. The tricky thing is they provide both source and sink
10679         interfaces, since they proxy the internal pad for the external
10680         pad, and vice versa. Implement with lower-level ProxyPad objects,
10681         with the interior proxy pad as a child of the exterior ghost pad.
10682         Should write a doc on this.
10683         
10684         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
10685         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
10686         gst_object API.
10687         
10688         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
10689         pads are real pads. No ghost pads in this file. Not documenting
10690         the myriad s/RPAD/PAD/ and REALIZE fixes.
10691         (gst_pad_class_init): Add properties for "direction" and
10692         "template". Both are construct-only, so they can't change during
10693         the life of the pad. Fixes properly deriving from GstPad.
10694         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
10695         derived objects, just set properties when creating the objects via
10696         g_object_new.
10697         (gst_pad_get_parent): Implement as a function, return NULL if the
10698         parent is not an element.
10699         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
10700         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
10701         
10702         * gst/gstobject.c (gst_object_class_init): Make name a construct
10703         property. Don't set it in the object init.
10704
10705         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
10706         with UNKNOWN direction.
10707         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
10708         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
10709         (gst_element_remove_pad): Remove ghost-pad special cases.
10710         (gst_element_pads_activate): Remove rpad cruft.
10711
10712         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
10713         catch the pad's-parent-not-an-element case.
10714
10715         * gst/gst.h: Include gstghostpad.h.
10716
10717         * gst/gst.c (init_post): No more real, ghost pads.
10718
10719         * gst/Makefile.am: Add gstghostpad.[ch].
10720
10721         * check/Makefile.am:
10722         * check/gst/gstbin.c:
10723         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
10724         into a bin creates ghost pads, and that the refcounts are right.
10725         Partly moved from gstbin.c.
10726
10727 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10728
10729         * check/gst-libs/.cvsignore:
10730         * check/gst/.cvsignore:
10731         * check/pipelines/.cvsignore:
10732           ignore more
10733         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
10734         (START_TEST), (cleanup_suite), (main):
10735           add some tests related to cleanup after running pipelines
10736
10737 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10738
10739         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
10740           add a testsuite for GstBuffer
10741
10742 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10743
10744         * gst/gstminiobject.h:
10745           add defines for accessing the refcount
10746
10747 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
10748
10749         * Makefile.am: added support for html unit test coverage reports
10750
10751 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
10752
10753         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
10754           Free existing caps if the capsfilter changes. Add a FIXME about
10755           setting those caps on the pads.
10756
10757         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
10758           Before adding a ghost pad to a parent bin, check that there isn't
10759           already one for the element on the bin. Prevents infinite recursion
10760           when using decodebin in parse pipelines. Andy says he'll rewrite the
10761           way this works anyway, so ignore the hack.
10762
10763 2005-06-02  Andy Wingo  <wingo@pobox.com>
10764
10765         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
10766         file size, pass it on to the type find helper.
10767
10768         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
10769         segment_start and segment_end properly according to the seek
10770         method. Segment_end is still a bit flaky because offset can be
10771         negative for CUR and END cases, but it takes -1 as an "unset"
10772         value.
10773
10774 2005-06-02  Wim Taymans  <wim@fluendo.com>
10775
10776         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
10777         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
10778         (gst_basesink_activate):
10779         * gst/base/gstbasesink.h:
10780         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10781         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10782         (gst_pad_query), (gst_pad_start_task):
10783         * gst/gstpad.h:
10784         * gst/gstqueue.c: (gst_queue_bufferalloc),
10785         (gst_queue_handle_sink_event), (gst_queue_chain):
10786         Bufferalloc: return GstFlowReturn to more accuratly report
10787         why allocation failed.
10788
10789 2005-06-02  Wim Taymans  <wim@fluendo.com>
10790
10791         * gst/gstpipeline.c: (gst_pipeline_send_event):
10792         Take snapshot of state without blocking.
10793
10794 2005-06-02  Wim Taymans  <wim@fluendo.com>
10795
10796         * docs/design/part-TODO.txt:
10797         * docs/design/part-caps.txt:
10798         * docs/design/part-clocks.txt:
10799         * docs/design/part-negotiation.txt:
10800         * docs/design/part-preroll.txt:
10801         Small doc updates 
10802
10803 2005-05-30  Wim Taymans  <wim@fluendo.com>
10804
10805         * gst/elements/gstidentity.c: (gst_identity_event),
10806         (gst_identity_transform), (gst_identity_get_property):
10807         Protect last_message property as it is accessed from
10808         multiple threads.
10809
10810 2005-05-30  Wim Taymans  <wim@fluendo.com>
10811
10812         * gst/gstelement.c: (gst_element_init),
10813         (gst_element_pads_activate), (gst_element_change_state):
10814         Slicker pad activation code.
10815
10816 2005-05-30  Wim Taymans  <wim@fluendo.com>
10817
10818         * gst/Makefile.am:
10819         * gst/gstelement.h:
10820         * gst/gstelementfactory.h:
10821         * gst/gsttypes.h:
10822         Move elementfactory methods to separate .h file.
10823
10824 2005-05-30  Wim Taymans  <wim@fluendo.com>
10825
10826         * docs/design/part-overview.txt:
10827         * gst/gstsystemclock.h:
10828         Small typo fixes, doc updates.
10829
10830 2005-05-30  Wim Taymans  <wim@fluendo.com>
10831
10832         * gst/gst.c: (gst_init_get_popt_table), (init_post),
10833         (init_popt_callback):
10834         Remove cpu-opt flag.
10835
10836 2005-05-30  Wim Taymans  <wim@fluendo.com>
10837
10838         * gst/gstbuffer.c: (gst_subbuffer_finalize),
10839         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
10840         * gst/gstbuffer.h:
10841         Avoid typechecking in places where not needed.
10842         Added accessor for malloc_data.
10843
10844 2005-05-30  Wim Taymans  <wim@fluendo.com>
10845
10846         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
10847         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
10848         (gst_pad_configure_sink), (gst_pad_configure_src),
10849         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
10850         (gst_pad_start_task):
10851         Propagate errors from _set_caps() in configure_src/sink
10852         functions instead of returning TRUE.
10853         FLUSH events can travel up and downstream
10854
10855
10856 2005-05-30  Wim Taymans  <wim@fluendo.com>
10857
10858         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10859         (gst_basesink_activate):
10860         Handle EOS in preroll.
10861
10862 2005-05-30  Wim Taymans  <wim@fluendo.com>
10863
10864         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10865         (gst_queue_loop), (gst_queue_handle_src_event):
10866         Remove old pieces of code
10867         Flushing the queue in an upstream event is a very bad idea.
10868
10869 2005-05-26  Andy Wingo  <wingo@pobox.com>
10870
10871         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
10872         gst_value_set_mini_object so as to add a ref on the object (which
10873         will be removed when the value is unset).
10874
10875         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
10876         arg type in ::handoff.
10877
10878         * gst/gstelement.c (gst_element_change_state): Also deactivate
10879         pads in READY->NULL, just in case the element didn't make it to
10880         PAUSED. Wingo tested, Wim approved.
10881
10882 2005-05-26  Wim Taymans  <wim@fluendo.com>
10883
10884         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10885         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10886         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
10887         A flushing pad cannot be used to alloc_buffer from.
10888
10889 2005-05-26  Wim Taymans  <wim@fluendo.com>
10890
10891         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
10892         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
10893         (gst_bus_source_dispatch), (gst_bus_source_finalize),
10894         (gst_bus_create_watch), (gst_bus_add_watch_full):
10895         * gst/gstbus.h:
10896         Implement a real GSource and use g_main_context_wakeup() to
10897         signal new messages instead of the socketpair.
10898
10899 2005-05-25  Wim Taymans  <wim@fluendo.com>
10900
10901         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
10902         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
10903         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10904         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10905         (gst_pad_send_event), (gst_pad_start_task):
10906         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
10907         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
10908         (gst_queue_sink_activate), (gst_queue_src_activate),
10909         (gst_queue_change_state):
10910         * gst/gstqueue.h:
10911         Fix state changes for non sinks. We now change sinks, then elements
10912         with unconnected srcpads, then the rest.
10913         More efficient queue unlocking in flush and state changes.
10914         Set the pad activate mode even if it does not have an activate
10915         function.
10916
10917 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10918
10919         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
10920           Don't go in pull mode for non-seekable sources.
10921         * gst/elements/gsttypefindelement.h:
10922         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10923         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
10924         (free_entry), (stop_typefinding),
10925         (gst_type_find_element_handle_event), (find_peek),
10926         (gst_type_find_element_chain), (do_pull_typefind),
10927         (gst_type_find_element_change_state):
10928           Allow typefinding (w/o seeking) in push-mode, simplified version
10929           of what was in 0.8.
10930         * gst/gstutils.c: (gst_buffer_join):
10931         * gst/gstutils.h:
10932           gst_buffer_join() from 0.8.
10933
10934 2005-05-25  Wim Taymans  <wim@fluendo.com>
10935
10936         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10937         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10938         (gst_pad_send_event), (gst_pad_start_task):
10939         Disable attempt at mode switching until it is figured out.
10940
10941 2005-05-25  Wim Taymans  <wim@fluendo.com>
10942
10943         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
10944         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10945         (gst_basesink_finish_preroll), (gst_basesink_chain),
10946         (gst_basesink_loop), (gst_basesink_activate),
10947         (gst_basesink_change_state):
10948         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
10949         (gst_basesrc_get_range), (gst_basesrc_loop),
10950         (gst_basesrc_activate):
10951         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10952         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
10953         (gst_real_pad_init), (gst_real_pad_set_property),
10954         (gst_real_pad_get_property), (gst_pad_set_active),
10955         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
10956         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
10957         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
10958         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
10959         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10960         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
10961         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
10962         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10963         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
10964         (gst_pad_stop_task):
10965         * gst/gstpad.h:
10966         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10967         (gst_queue_loop), (gst_queue_src_activate):
10968         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
10969         (gst_task_get_state):
10970         * gst/gsttask.h:
10971         * gst/schedulers/threadscheduler.c:
10972         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
10973         Implement gst_pad_pause/start/stop_task(), take STREAM lock
10974         in task function.
10975         Remove ACTIVE pad flag, use FLUSHING everywhere
10976         Added _pad_chain(), _pad_get_range() to call chain/getrange 
10977         functions.
10978         Add locks around IS_FLUSHING when reading.
10979         Take STREAM lock in chain(), get_range() functions so plugins
10980         don't need to take it anymore.
10981         
10982
10983
10984 2005-05-25  Wim Taymans  <wim@fluendo.com>
10985
10986         * tools/gst-launch.c: (event_loop):
10987         Unref message after using its contents instead of
10988         before.
10989
10990 2005-05-24  Wim Taymans  <wim@fluendo.com>
10991
10992         * docs/design/draft-ghostpads.txt:
10993         * docs/design/draft-push-pull.txt:
10994         * docs/design/draft-query.txt:
10995         * docs/design/part-overview.txt:
10996         Docs updates, added general overview doc.
10997
10998 2005-05-21  David Schleef  <ds@schleef.org>
10999
11000         * docs/gst/tmpl/old/GstBin.sgml:
11001         * docs/gst/tmpl/old/GstBuffer.sgml:
11002         * docs/gst/tmpl/old/GstCaps.sgml:
11003         * docs/gst/tmpl/old/GstClock.sgml:
11004         * docs/gst/tmpl/old/GstCompat.sgml:
11005         * docs/gst/tmpl/old/GstData.sgml:
11006         * docs/gst/tmpl/old/GstElement.sgml:
11007         * docs/gst/tmpl/old/GstEvent.sgml:
11008         * docs/gst/tmpl/old/GstIndex.sgml:
11009         * docs/gst/tmpl/old/GstStructure.sgml:
11010         * docs/gst/tmpl/old/GstTag.sgml:
11011         * docs/gst/tmpl/old/cothreads.sgml:
11012         * docs/gst/tmpl/old/cothreads_compat.sgml:
11013         * docs/gst/tmpl/old/gettext.sgml:
11014         * docs/gst/tmpl/old/gobject2gtk.sgml:
11015         * docs/gst/tmpl/old/grammar.tab.sgml:
11016         * docs/gst/tmpl/old/gst-i18n-app.sgml:
11017         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
11018         * docs/gst/tmpl/old/gst_private.sgml:
11019         * docs/gst/tmpl/old/gstaggregator.sgml:
11020         * docs/gst/tmpl/old/gstarch.sgml:
11021         * docs/gst/tmpl/old/gstatomic_impl.sgml:
11022         * docs/gst/tmpl/old/gstbufferstore.sgml:
11023         * docs/gst/tmpl/old/gstdata_private.sgml:
11024         * docs/gst/tmpl/old/gstdisksink.sgml:
11025         * docs/gst/tmpl/old/gstdisksrc.sgml:
11026         * docs/gst/tmpl/old/gstelementfactory.sgml:
11027         * docs/gst/tmpl/old/gstextratypes.sgml:
11028         * docs/gst/tmpl/old/gstfakesink.sgml:
11029         * docs/gst/tmpl/old/gstfakesrc.sgml:
11030         * docs/gst/tmpl/old/gstfdsink.sgml:
11031         * docs/gst/tmpl/old/gstfdsrc.sgml:
11032         * docs/gst/tmpl/old/gstfilesink.sgml:
11033         * docs/gst/tmpl/old/gstfilesrc.sgml:
11034         * docs/gst/tmpl/old/gsthttpsrc.sgml:
11035         * docs/gst/tmpl/old/gstidentity.sgml:
11036         * docs/gst/tmpl/old/gstindexfactory.sgml:
11037         * docs/gst/tmpl/old/gstmarshal.sgml:
11038         * docs/gst/tmpl/old/gstmd5sink.sgml:
11039         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
11040         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
11041         * docs/gst/tmpl/old/gstpadtemplate.sgml:
11042         * docs/gst/tmpl/old/gstpipefilter.sgml:
11043         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
11044         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
11045         * docs/gst/tmpl/old/gstshaper.sgml:
11046         * docs/gst/tmpl/old/gstspider.sgml:
11047         * docs/gst/tmpl/old/gstspideridentity.sgml:
11048         * docs/gst/tmpl/old/gststatistics.sgml:
11049         * docs/gst/tmpl/old/gsttee.sgml:
11050         * docs/gst/tmpl/old/gsttimecache.sgml:
11051         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
11052         * docs/gst/tmpl/old/gstxmlregistry.sgml:
11053         * docs/gst/tmpl/old/gthread-cothreads.sgml:
11054         * docs/gst/tmpl/old/types.sgml:
11055           I didn't intend to add these or check them in.
11056
11057 2005-05-19  David Schleef  <ds@schleef.org>
11058
11059         * configure.ac: Use -no-common everywhere.  In a sane world, it
11060           would be the default in libtool, because without it, you can't
11061           build DLLs on Windows.
11062         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
11063         * docs/gst/gstreamer-sections.txt:
11064         * docs/gst/tmpl/gstcpu.sgml:
11065         * docs/gst/tmpl/gstdata.sgml:
11066         * docs/gst/tmpl/gstthread.sgml:
11067
11068 2005-05-19  David Schleef  <ds@schleef.org>
11069
11070         * gst/gstminiobject.c: (gst_value_set_mini_object),
11071         (gst_value_take_mini_object), (gst_value_get_mini_object):
11072         * gst/gstminiobject.h: Add GValue set/get functions.
11073
11074 2005-05-19  Wim Taymans  <wim@fluendo.com>
11075
11076         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
11077         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
11078         (gst_subbuffer_init), (gst_buffer_is_span_fast):
11079         * gst/gstbuffer.h:
11080         * gst/gstbus.c: (gst_bus_post):
11081         * gst/gstelement.c: (gst_element_get_random_pad):
11082         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
11083         Make subbufer unref the parent in finalize.
11084         some more debugging info.
11085
11086
11087 2005-05-19  Wim Taymans  <wim@fluendo.com>
11088
11089         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11090         (gst_basesink_init), (gst_basesink_finalize),
11091         (gst_basesink_activate), (gst_basesink_change_state):
11092         Don't free preroll queue too early.
11093
11094 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11095
11096         * gst/Makefile.am:
11097         * gst/ROADMAP:
11098           Hi, I'm outdated. Please shoot me.
11099
11100 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11101
11102         * gst/gstpipeline.c: (gst_pipeline_send_event):
11103           Do not access variables after they have been deleted.
11104
11105 2005-05-19  Wim Taymans  <wim@fluendo.com>
11106
11107         * tools/gst-inspect.c: (print_plugin_features):
11108         A plugin feature does unfortunatly not use the
11109         object name yet...
11110
11111 2005-05-18  Wim Taymans  <wim@fluendo.com>
11112
11113         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
11114         Port _span() functions to new subbuffers.
11115
11116 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11117
11118         * gst/gstbin.c: (gst_bin_add_func):
11119           Fix clock settery in bins when adding kids after the clock has
11120           been selected.
11121
11122 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11123
11124         * gst/elements/gstidentity.c: (gst_identity_class_init):
11125           Workaround until signals support GstMiniObject.
11126
11127 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
11128
11129         * gst/gstbuffer.c:
11130         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11131
11132 2005-05-18  Wim Taymans  <wim@fluendo.com>
11133
11134         * gst/base/Makefile.am:
11135         * gst/base/gstadapter.c: (gst_adapter_base_init),
11136         (gst_adapter_class_init), (gst_adapter_init),
11137         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
11138         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
11139         (gst_adapter_flush), (gst_adapter_available),
11140         (gst_adapter_available_fast):
11141         * gst/base/gstadapter.h:
11142         Ported and added adapter to the base classes.
11143
11144 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11145
11146         * gst/gst.c:
11147         * gst/gstmessage.c:
11148           Make sure the class is reffed/unreffed once before threads can be
11149           used.  Fixes #304551.
11150
11151 2005-05-17  Wim Taymans  <wim@fluendo.com>
11152
11153         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11154         (gst_basesink_chain_unlocked), (gst_basesink_activate):
11155         * gst/gstminiobject.c: (gst_mini_object_get_type),
11156         (gst_mini_object_free):
11157         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11158         (gst_pad_push), (gst_pad_push_event):
11159         * gst/gstqueue.c: (gst_queue_change_state):
11160         Don't queue buffers in basesink when we are flushing.
11161         Unref buffer when flushing in basesink.
11162         Flush queue when going to READY
11163         Unref buffer when _push() returns an error.
11164         Don't free MiniObject instance when refcount is incremented
11165         in _finalize() so that we can recover objects.
11166
11167 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11168
11169         * docs/manual/advanced-schedulers.xml:
11170         * docs/manual/appendix-checklist.xml:
11171         * docs/pwg/advanced-clock.xml:
11172         * docs/pwg/advanced-interfaces.xml:
11173         * docs/pwg/advanced-request.xml:
11174         * docs/pwg/advanced-types.xml:
11175         * docs/pwg/intro-preface.xml:
11176         * examples/plugins/example.c: (gst_example_get_type),
11177         (gst_example_class_init), (gst_example_chain),
11178         (gst_example_set_property), (gst_example_get_property),
11179         (gst_example_change_state), (plugin_init):
11180         * examples/plugins/example.h:
11181           small doc fixes
11182
11183 2005-05-17  Wim Taymans  <wim@fluendo.com>
11184
11185         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11186         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11187         * gst/gstqueue.c: (gst_queue_change_state):
11188         Clear queue when going to READY.
11189         Remove IN_SETCAPS flag too.
11190
11191 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
11192
11193         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11194           Remove implicit cast from gboolean to GstElementStateReturn;
11195           make sure we still return failure in paused => ready case if
11196           the parent class fails to change state and our own stop 
11197           vfunc succeeds.
11198
11199 2005-05-17  Wim Taymans  <wim@fluendo.com>
11200
11201         * tools/gst-launch.c: (event_loop):
11202         Message was unreffed too soon.
11203
11204 2005-05-16  Andy Wingo  <wingo@pobox.com>
11205
11206         * gst/gstbin.c (sink_iterator_filter): Err... um...
11207
11208         * check/gst/gstbin.c (test_ghost_pads): New test for the
11209         ghosting-if-elements-not-in-same-bin behavior.
11210
11211 2005-05-16  David Schleef  <ds@schleef.org>
11212
11213         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11214         accessing refcount directly.
11215
11216 2005-05-15  David Schleef  <ds@schleef.org>
11217
11218         * check/Makefile.am: remove GstData checks
11219         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11220         * gst/Makefile.am: add miniobject, remove data
11221         * gst/gst.h: add miniobject, remove data
11222         * gst/gstdata.c: remove
11223         * gst/gstdata.h: remove
11224         * gst/gstdata_private.h: remove
11225         * gst/gsttypes.h: remove GstEvent and GstMessage
11226         * gst/gstelement.c: (gst_element_post_message): fix for API changes
11227         * gst/gstmarshal.list: change BOXED -> OBJECT
11228
11229         Implement GstMiniObject.
11230         * gst/gstminiobject.c:
11231         * gst/gstminiobject.h:
11232
11233         Modify to be subclasses of GstMiniObject.
11234         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11235         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11236         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11237         (gst_subbuffer_get_type), (gst_subbuffer_init),
11238         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11239         (gst_buffer_span):
11240         * gst/gstbuffer.h:
11241         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11242         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11243         (_gst_event_copy), (gst_event_new):
11244         * gst/gstevent.h:
11245         * gst/gstmessage.c: (_gst_message_initialize),
11246         (gst_message_get_type), (gst_message_class_init),
11247         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11248         (gst_message_new), (gst_message_new_error),
11249         (gst_message_new_warning), (gst_message_new_tag),
11250         (gst_message_new_state_changed), (gst_message_new_application):
11251         * gst/gstmessage.h:
11252         * gst/gstprobe.c: (gst_probe_perform),
11253         (gst_probe_dispatcher_dispatch):
11254         * gst/gstprobe.h:
11255         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11256         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11257         (_gst_query_copy), (gst_query_new):
11258
11259         Update elements for GstData -> GstMiniObject changes
11260         * gst/gstquery.h:
11261         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11262         (gst_queue_chain), (gst_queue_loop):
11263         * gst/elements/gstbufferstore.c:
11264         (gst_buffer_store_add_buffer_func),
11265         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11266         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11267         (gst_fakesink_render):
11268         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11269         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11270         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11271         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11272         (gst_filesrc_create_read):
11273         * gst/elements/gstidentity.c: (gst_identity_class_init):
11274         * gst/elements/gsttypefindelement.c:
11275         (gst_type_find_element_src_event), (free_entry_buffers),
11276         (gst_type_find_element_handle_event):
11277         * libs/gst/dataprotocol/dataprotocol.c:
11278         (gst_dp_header_from_buffer):
11279         * libs/gst/dataprotocol/dataprotocol.h:
11280         * libs/gst/dataprotocol/dp-private.h:
11281
11282 2005-05-15  David Schleef  <ds@schleef.org>
11283
11284         * gst/elements/gstelements.c: Don't include headers that were
11285         just removed.
11286
11287 2005-05-15  David Schleef  <ds@schleef.org>
11288
11289         * gst/elements/Makefile.am: Remove some elements that don't
11290         need to be in the core (or even exist at all).
11291         * gst/elements/gstaggregator.c:
11292         * gst/elements/gstaggregator.h:
11293         * gst/elements/gstmd5sink.c:
11294         * gst/elements/gstmd5sink.h:
11295         * gst/elements/gstmultifilesrc.c:
11296         * gst/elements/gstmultifilesrc.h:
11297         * gst/elements/gstpipefilter.c:
11298         * gst/elements/gstpipefilter.h:
11299         * gst/elements/gstshaper.c:
11300         * gst/elements/gstshaper.h:
11301         * gst/elements/gststatistics.c:
11302         * gst/elements/gststatistics.h:
11303         * po/POTFILES.in: Remove above files.
11304
11305 2005-05-14  Andy Wingo  <wingo@pobox.com>
11306
11307         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11308         so as to get the refs right.
11309         (sink_iterator_filter): New function, wraps bin_element_is_sink,
11310         unreffing objects that don't pass the filter.
11311
11312         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11313         gst_element_set_bus.
11314         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11315         normal cases, this will destroy the bus.
11316
11317         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11318         object.
11319
11320         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11321         has no sinks.
11322
11323 2005-05-13  Andy Wingo  <wingo@pobox.com>
11324
11325         * gst/gstutils.c (gst_element_link_pads): Instead of calling
11326         gst_pad_link, call pad_link_maybe_ghosting,
11327         (pad_link_maybe_ghosting): Links pads, making sure that the
11328         elements being linked are in the same bin.
11329         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11330         Helpers for pad_link_maybe_ghosting.
11331
11332 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11333
11334         * configure.ac:
11335           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11336
11337 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11338
11339         * docs/design/part-element-source.txt:
11340           Mention GstPushSrc
11341
11342 2005-05-12  Wim Taymans  <wim@fluendo.com>
11343
11344         * gst/base/gstbasesink.c: (gst_basesink_init),
11345         (gst_basesink_activate):
11346         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11347         (gst_basesrc_is_seekable):
11348         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11349         (bin_element_is_sink), (gst_bin_change_state):
11350         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11351         * gst/gstelement.h:
11352         Identify sinks by their flag to avoid overly complicated
11353         checks (fow now).
11354         Do state changes even for elements not reachable from the
11355         sinks.
11356         BaseSink is a sink now :)
11357         Some more debugging info in the basesrc.
11358
11359
11360 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11361
11362         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
11363           Implement _query on a bin, similar to _send_event.
11364
11365 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
11366
11367         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
11368           Discont event offset format should be GST_FORMAT_BYTES,
11369           not GST_FORMAT_TIME.
11370
11371 2005-05-12  Wim Taymans  <wim@fluendo.com>
11372
11373         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
11374         Same fix as Ronald's but without the signal. 
11375
11376 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11377
11378         * gst/gstutils.c: (gst_element_query_position):
11379           No, an element is not a pad.
11380
11381 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11382
11383         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
11384         (gst_bin_get_state):
11385           If a child is removed from a bin while we remove the child from
11386           the bin and while we're retrieving its state, signal this to the
11387           get_state function so we abort the wait (instead of waiting for
11388           a timeout) and can immediately re-iterate over all other elements.
11389
11390 2005-05-12  Wim Taymans  <wim@fluendo.com>
11391
11392         * gst/base/Makefile.am:
11393         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
11394         (gst_basesrc_start):
11395         * gst/base/gstbasesrc.h:
11396         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
11397         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
11398         (gst_pushsrc_init), (gst_pushsrc_create):
11399         * gst/base/gstpushsrc.h:
11400         Added is_seekable to BaseSrc
11401         Added simple PushSrc.
11402
11403 2005-05-11  Wim Taymans  <wim@fluendo.com>
11404
11405         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11406         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11407         (gst_element_link_pads), (gst_element_query_position),
11408         (gst_element_query_convert), (intersect_caps_func),
11409         (gst_pad_query_position), (gst_pad_query_convert):
11410         Fix refcounting in utils function.
11411         No point in trying to activate a pad when it's added, it could
11412         be added from the state change function and then we deadlock, the
11413         element has to decide what to do.
11414
11415 2005-05-10  Andy Wingo  <wingo@pobox.com>
11416
11417         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
11418         *all* the arguments.
11419
11420         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
11421         stream lock if it's a FLUSH_DONE; normal flushes don't get the
11422         lock (according to the docs -- if this is wrong change the docs).
11423
11424         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
11425         flush messages in the NULL state.
11426
11427         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
11428         message immediately and return.
11429         (gst_bus_set_flushing): New function. If a bus is flushing, it
11430         flushes out any queued messages and immediately unrefs new
11431         messages. This is so when an element goes to NULL, all of the
11432         unhandled messages coming from it can be freed, and their
11433         references to the element dropped. In other words: message source
11434         ref considered harmful :P
11435
11436         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
11437         we're finished with it.
11438
11439         * gst/gstmessage.c (gst_message_new_state_changed): 
11440
11441 2005-05-10  Wim Taymans  <wim@fluendo.com>
11442
11443         * gst/gstvalue.c: (gst_value_compare_flags),
11444         (gst_value_serialize_flags), (gst_value_deserialize_flags),
11445         (_gst_value_initialize):
11446         Added flags serialize/deserialize/compare code.
11447
11448 2005-05-09  Andy Wingo  <wingo@pobox.com>
11449
11450         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
11451         Intersect the peer's caps with our caps.
11452
11453 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11454
11455         * gst/base/gsttypefindhelper.c: (helper_find_peek):
11456         * gst/elements/gsttypefindelement.c: (find_peek):
11457           Handle negative offsets better. Fixes decodebin.
11458
11459 2005-05-09  Wim Taymans  <wim@fluendo.com>
11460
11461         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
11462         (gst_base_transform_event):
11463         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
11464         Implement accept_caps.
11465         Fix silly lock/unlock mismatch in base class.
11466
11467 2005-05-09  Wim Taymans  <wim@fluendo.com>
11468
11469         * docs/design/draft-push-pull.txt:
11470         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
11471         * gst/elements/gstfilesink.c: (gst_filesink_init),
11472         (gst_filesink_query):
11473         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11474         (gst_type_find_handle_src_query), (find_element_get_length):
11475         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
11476         * gst/gstelement.h:
11477         * gst/gstmessage.c:
11478         * gst/gstmessage.h:
11479         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
11480         (gst_real_pad_get_caps_unlocked),
11481         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
11482         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11483         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
11484         (gst_real_pad_dispose), (gst_real_pad_finalize),
11485         (gst_pad_load_and_link), (gst_pad_save_thyself),
11486         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
11487         (gst_pad_check_pull_range), (gst_pad_pull_range),
11488         (gst_pad_template_get_type), (gst_pad_template_class_init),
11489         (gst_pad_template_init), (gst_pad_template_dispose),
11490         (name_is_valid), (gst_static_pad_template_get),
11491         (gst_pad_template_new), (gst_static_pad_template_get_caps),
11492         (gst_pad_template_get_caps), (gst_pad_set_element_private),
11493         (gst_pad_get_element_private), (gst_pad_start_task),
11494         (gst_pad_pause_task), (gst_pad_stop_task),
11495         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
11496         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
11497         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
11498         (gst_ghost_pad_new):
11499         * gst/gstpad.h:
11500         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
11501         (gst_query_new_position), (gst_query_set_position),
11502         (gst_query_parse_position), (gst_query_new_convert),
11503         (gst_query_set_convert), (gst_query_parse_convert):
11504         * gst/gstquery.h:
11505         * gst/gstqueryutils.c:
11506         * gst/gstqueryutils.h:
11507         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11508         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11509         (gst_queue_handle_src_query):
11510         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11511         (gst_element_query_position), (gst_element_query_convert),
11512         (intersect_caps_func), (gst_pad_query_position),
11513         (gst_pad_query_convert):
11514         * gst/gstutils.h:
11515         * tools/gst-inspect.c: (print_pad_info):
11516         * tools/gst-xmlinspect.c: (print_element_info):
11517         Remove old query functions. Ported old code.
11518         Added position/convert helper functions to gstutils.
11519         Reordered gstpad.c code, grouping relevant things.
11520         Remove gst_message_new(), always need to speficy a specific
11521         message.
11522
11523
11524 2005-05-09  Andy Wingo  <wingo@pobox.com>
11525
11526         * gst/gstiterator.h: Add some includes.
11527
11528         * gst/gstqueryutils.h: Include more headers.
11529
11530         * gst/gstpad.h:
11531         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
11532         some uses of gst_pad_query.
11533
11534         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
11535         NULL out parameters.
11536         (gst_query_new_position): New proc, allocates a new position
11537         query.
11538
11539         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
11540         gstqueryutils.c to the build.
11541
11542         * gst/gststructure.c (gst_structure_set_valist): Implement with
11543         the generic G_VALUE_COLLECT.
11544         
11545 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
11546
11547         * gst/Makefile.am: (gst_headers):
11548         Added gstqueryutils.h to the list of headers to install, that was
11549         a 'nachty' move wingo :)
11550
11551 2005-05-06  Andy Wingo  <wingo@pobox.com>
11552
11553         * gst/gstquery.h
11554         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
11555         GstData, init a memchunk.
11556         (standard_definitions): Add a few query types, deprecate a few.
11557         (gst_query_get_type): New proc.
11558         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
11559         implementation.
11560         (gst_query_new_application, gst_query_get_structure): New public
11561         procs.
11562
11563         * docs/design/draft-query.txt: Removed LINKS from the query types,
11564         because all the rest can be dispatched to other pads -- seemed
11565         ugly to have a query that couldn't be dispatched. internal_links
11566         is fine as a pad method.
11567
11568         * gst/gstpad.h: Add query2 as a pad method, add the new functions
11569         in gstpad.c, but maintain binary compatibility for the moment.
11570         Will fix before 0.9 is out.
11571
11572         * gst/gstqueryutils.c: 
11573         * gst/gstqueryutils.h: New files, implement 3 methods for each
11574         query type: parse_query, parse_response, and set. Probably need an
11575         allocator as well.
11576
11577         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
11578
11579         * gst/elements/gstfilesink.c (gst_filesink_query2):
11580         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
11581         query_types, and formats methods.
11582
11583         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
11584         (gst_pad_set_query2_function): New functions.
11585         (gst_real_pad_init): Set query2_default as the default query2
11586         function. Basically just dispatches to internally linked pads.
11587
11588         Needs review!
11589         
11590         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
11591         without using the atomic operations. Only one thread can possibly
11592         be accessing the data at this point. Changed so as to avoid
11593         gst_atomic operations.
11594
11595 2005-05-06  Wim Taymans  <wim@fluendo.com>
11596
11597         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
11598         Also set caps if we use the fallback buffer alloc.
11599
11600 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
11601
11602         * docs/gst/Makefile.am:
11603         * docs/gst/gstreamer-docs.sgml:
11604         * docs/gst/gstreamer-sections.txt:
11605         * docs/gst/tmpl/gstatomic.sgml:
11606         * docs/gst/tmpl/gstmemchunk.sgml:
11607         * testsuite/elements/struct_i386.h:
11608         * win32/GStreamer.vcproj:
11609         * win32/Makefile:
11610           Purge GstAtomic stuff from docs and win32 makefiles as well
11611
11612 2005-05-06  Wim Taymans  <wim@fluendo.com>
11613
11614         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
11615         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
11616         * gst/gstpad.c: (gst_pad_peer_get_caps):
11617         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11618         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11619         (gst_queue_src_activate), (gst_queue_change_state):
11620         * gst/gstqueue.h:
11621         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11622         (intersect_caps_func):
11623         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
11624         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
11625         Some fixes for the peer_get_caps() change.
11626
11627 2005-05-06  Wim Taymans  <wim@fluendo.com>
11628
11629         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11630         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
11631         (gst_basesink_activate):
11632         Actually do something with error codes returned from the push
11633         functions.
11634
11635 2005-05-06  Wim Taymans  <wim@fluendo.com>
11636
11637         * docs/design/part-element-sink.txt:
11638         * docs/design/part-element-source.txt:
11639         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11640         (gst_basesink_event), (gst_basesink_activate):
11641         * gst/base/gstbasesink.h:
11642         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
11643         (gst_basesrc_activate):
11644         * gst/base/gstbasesrc.h:
11645         * gst/gstelement.c: (gst_element_pads_activate):
11646         Some more documentation.
11647         Fixed scheduling decision in _pads_activate().
11648
11649 2005-05-05  Andy Wingo  <wingo@pobox.com>
11650
11651         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
11652         the test suite.
11653
11654 2005-05-05  Wim Taymans  <wim@fluendo.com>
11655
11656         * gst/base/Makefile.am:
11657         * gst/base/gstbasesink.h:
11658         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11659         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
11660         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
11661         (gst_collectpads_class_init), (gst_collectpads_init),
11662         (gst_collectpads_finalize), (gst_collectpads_new),
11663         (gst_collectpads_set_function), (gst_collectpads_add_pad),
11664         (find_pad), (gst_collectpads_remove_pad),
11665         (gst_collectpads_is_active), (gst_collectpads_collect),
11666         (gst_collectpads_collect_range), (gst_collectpads_start),
11667         (gst_collectpads_stop), (gst_collectpads_peek),
11668         (gst_collectpads_pop), (gst_collectpads_available),
11669         (gst_collectpads_read), (gst_collectpads_flush),
11670         (gst_collectpads_chain):
11671         * gst/base/gstcollectpads.h:
11672         * gst/elements/Makefile.am:
11673         * gst/elements/gstelements.c:
11674         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11675         (gst_fakesink_get_times), (gst_fakesink_event),
11676         (gst_fakesink_preroll), (gst_fakesink_render):
11677         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
11678         (gst_filesink_init), (gst_filesink_set_location),
11679         (gst_filesink_open_file), (gst_filesink_close_file),
11680         (gst_filesink_pad_query), (gst_filesink_event),
11681         (gst_filesink_render), (gst_filesink_change_state):
11682         * gst/elements/gstfilesink.h:
11683         Added object to help in making collect pad based elements.
11684         Ported filesink.
11685         Make event function in sink baseclass return gboolean.
11686
11687 2005-05-05  Wim Taymans  <wim@fluendo.com>
11688
11689         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
11690         (gst_bin_get_by_name):
11691         * gst/gstbuffer.h:
11692         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
11693         (gst_clock_finalize):
11694         * gst/gstdata.c: (gst_data_replace):
11695         * gst/gstdata.h:
11696         * gst/gstelement.c: (gst_element_request_pad),
11697         (gst_element_pads_activate):
11698         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
11699         (gst_object_unref):
11700         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11701         (gst_pad_set_checkgetrange_function),
11702         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
11703         (gst_pad_check_pull_range), (gst_pad_pull_range),
11704         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11705         (gst_pad_pause_task), (gst_pad_stop_task):
11706         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11707         (gst_element_request_pad), (gst_pad_proxy_getcaps):
11708         Fix name lookup in GstBin.
11709         Added _data_replace() function and _buffer_replace()
11710         Use finalize method to clean up clock.
11711         Fix refcounting on request pads.
11712         Fix pad schedule mode error.
11713         Some more object refcounting debug info,
11714
11715
11716 2005-05-04  Andy Wingo <wingo@pobox.com>
11717
11718         * check/Makefile.am:
11719         * docs/gst/tmpl/gstatomic.sgml:
11720         * docs/gst/tmpl/gstplugin.sgml:
11721         * gst/base/gstbasesink.c: (gst_basesink_activate):
11722         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
11723         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
11724         (gst_basesrc_query), (gst_basesrc_set_property),
11725         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
11726         (gst_basesrc_activate):
11727         * gst/base/gstbasesrc.h:
11728         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
11729         (gst_base_transform_src_activate):
11730         * gst/elements/gstelements.c:
11731         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11732         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11733         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11734         * gst/elements/gsttypefindelement.c: (find_element_get_length),
11735         (gst_type_find_element_checkgetrange),
11736         (gst_type_find_element_activate):
11737         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
11738         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
11739         (gst_caps_load_thyself):
11740         * gst/gstelement.c: (gst_element_pads_activate),
11741         (gst_element_save_thyself), (gst_element_restore_thyself):
11742         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
11743         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
11744         * gst/gstpad.h:
11745         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
11746         (gst_xml_parse_file), (gst_xml_parse_memory),
11747         (gst_xml_get_element), (gst_xml_make_element):
11748         * gst/indexers/gstfileindex.c: (gst_file_index_load),
11749         (_file_index_id_save_xml), (gst_file_index_commit):
11750         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
11751         (read_enum), (load_pad_template), (load_feature), (load_plugin),
11752         (load_paths):
11753         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
11754         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
11755         * tools/gst-complete.c: (main):
11756         * tools/gst-compprep.c: (main):
11757         * tools/gst-inspect.c: (print_element_properties_info):
11758         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
11759         * tools/gst-xmlinspect.c: (print_element_properties):
11760         GCC 4 fixen.
11761         
11762 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11763
11764         * gst/gstplugin.c: (gst_plugin_check_module),
11765         (gst_plugin_check_file), (gst_plugin_load_file):
11766             apply patch from #172526 to make register work on MacOSX
11767
11768 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11769
11770         * docs/gst/tmpl/gstconfig.sgml:
11771         * gst/gstconfig.h.in:
11772           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
11773         * testsuite/debug/printf_extension.c: (main):
11774           Do not use GST_PTR_FORMAT on pointers to types with
11775           sizeof < sizeof(gpointer).  Fixes test on 64-bit
11776         * testsuite/elements/property.h:
11777           use correct printf format
11778
11779 2005-05-02  Wim Taymans  <wim@fluendo.com>
11780
11781         * docs/design/draft-push-pull.txt:
11782         * docs/design/draft-query.txt:
11783         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
11784         (gst_basesrc_start):
11785         Added draft for new query API.
11786         Added draft for better selecting scheduling methods.
11787         Make basesrc ignore length if the subclass does not support
11788         it.
11789
11790 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11791
11792         * gst/Makefile.am:
11793           possible fixes for automake-1.5 - _LIBADD is reserved
11794
11795 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11796
11797         * docs/faq/Makefile.am:
11798         * docs/manual/Makefile.am:
11799         * docs/manuals.mak:
11800         * docs/pwg/Makefile.am:
11801         * gst/Makefile.am:
11802           possible fixes for automake-1.5
11803
11804 2005-04-28  Wim Taymans  <wim@fluendo.com>
11805
11806         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11807         (gst_basesink_pad_getcaps), (gst_basesink_init),
11808         (gst_basesink_do_sync):
11809         * gst/gstclock.c: (gst_clock_entry_new):
11810         * gst/gstevent.c: (gst_event_discont_get_value):
11811         * gst/gstpipeline.c: (pipeline_bus_handler),
11812         (gst_pipeline_change_state):
11813         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
11814         Better debugging of clocking info.
11815         Allow NULL values when getting discont values.
11816
11817 2005-04-27  Wim Taymans  <wim@fluendo.com>
11818
11819         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11820         * check/gst/gstpad.c: (gst_pad_suite):
11821         Increase timeout for checks.
11822
11823 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11824
11825         * check/Makefile.am:
11826           fix the broken rule for cleanup.  Apparently this rule is
11827           only needed on FC2, so maybe this warrants further autotool
11828           inspection.
11829
11830 2005-04-26  Wim Taymans  <wim@fluendo.com>
11831
11832         * gst/gsttrashstack.h:
11833         Ooohh. a nasty one! After having a failed pop() from the stack,
11834         it's possible that the stack is empty. In that case, don't
11835         follow the NULL pointer.
11836
11837 2005-04-25  Wim Taymans  <wim@fluendo.com>
11838
11839         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11840         (gst_pad_set_checkgetrange_function),
11841         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
11842         (gst_pad_check_pull_range), (gst_pad_pull_range),
11843         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11844         (gst_pad_pause_task), (gst_pad_stop_task):
11845         * gst/gstplugin.c: (gst_plugin_load):
11846         * gst/gstplugin.h:
11847         Remove gst_library_load as it does more harm than good with
11848         the new g_module flags.
11849         Revert bogus caps template check in pad linking, pad caps
11850         are important when linking not the template, which is more
11851         general than the current caps.
11852
11853 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11854
11855         * gst/autoplug/.cvsignore:
11856         * gst/autoplug/Makefile.am:
11857         * gst/autoplug/gstsearchfuncs.c:
11858         * gst/autoplug/gstsearchfuncs.h:
11859         * gst/autoplug/gstspider.c:
11860         * gst/autoplug/gstspider.h:
11861         * gst/autoplug/gstspideridentity.c:
11862         * gst/autoplug/gstspideridentity.h:
11863         * gst/autoplug/spidertest.c:
11864           Die, spider, die.
11865
11866 2005-04-25  Wim Taymans  <wim@fluendo.com>
11867
11868         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11869         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11870         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
11871         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
11872         * gst/gstpad.h:
11873         Added stubs for unimplemented functions. 
11874
11875 2005-04-24  David Schleef  <ds@schleef.org>
11876
11877         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
11878         please fix.
11879
11880 2005-04-24  David Schleef  <ds@schleef.org>
11881
11882         Convert everything from GstAtomicInt to g_atomic_int_*, and
11883         remove gstatomic.
11884         * gst/Makefile.am:
11885         * gst/gstatomic.c:
11886         * gst/gstatomic.h:
11887         * gst/gstatomic_impl.h:
11888         * gst/gstbuffer.c:
11889         * gst/gstcaps.c:
11890         * gst/gstcaps.h:
11891         * gst/gstclock.c:
11892         * gst/gstclock.h:
11893         * gst/gstdata.c:
11894         * gst/gstdata.h:
11895         * gst/gstdata_private.h:
11896         * gst/gstevent.c:
11897         * gst/gstinfo.c:
11898         * gst/gstinfo.h:
11899         * gst/gstmessage.c:
11900         * gst/gstobject.c:
11901         * gst/gstobject.h:
11902         * gst/gststructure.c:
11903         * gst/gststructure.h:
11904         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
11905         * gst/gstutils.h:
11906
11907 2005-04-24  David Schleef  <ds@schleef.org>
11908
11909         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
11910         make the regressions tests work.  Remove some code that is no
11911         longer true.
11912         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
11913         Disable warning for pads without templates.
11914
11915 2005-04-24  David Schleef  <ds@schleef.org>
11916
11917         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
11918         functions that handle filtered links.
11919         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
11920         removed functions.
11921         * gst/gstutils.c: Fix/remove utility functions that handle
11922         filtered caps.
11923         * gst/gstutils.h:
11924         * gst/gstvalue.c: Add serialization/deserialization of caps
11925         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
11926         requires fixing so that the filter caps notation creates
11927         a capsfilter element and sets the filter_caps property.  I
11928         think everyone probably wants to keep the shorthand notation.
11929         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
11930         * docs/gst/tmpl/gstpad.sgml:
11931
11932         * gst/elements/gstelements.c: Register capsfilter element.
11933         * gst/Makefile.am: fix spacing
11934         * docs/random/ds/0.9-suggested-changes: random
11935
11936 2005-04-23  David Schleef  <ds@schleef.org>
11937
11938         * gst/elements/Makefile.am:
11939         * gst/elements/gstcapsfilter.c: New element that acts like an
11940         identity, but filters caps.  Will eventually replace filtered
11941         caps in pad linking.
11942         * gst/gstutils.c: (gst_element_create_all_pads): New function
11943         to create all the ALWAYS pads that are registered with an
11944         element class.  This functionality should eventually be
11945         merged in with GstElement initialization.
11946         * gst/gstutils.h:
11947         * testsuite/trigger/README: part of trigger test code that should
11948         have been checked in a long time ago.
11949
11950 2005-04-23  David Schleef  <ds@schleef.org>
11951
11952         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
11953         needed with new versions of libtool (nobody will confirm this),
11954         and hard to carry around.
11955         * gst/autoplug/Makefile.am:
11956         * gst/base/Makefile.am:
11957         * gst/elements/Makefile.am:
11958         * gst/indexers/Makefile.am:
11959         * gst/schedulers/Makefile.am:
11960         * libs/gst/bytestream/Makefile.am:
11961         * libs/gst/control/Makefile.am:
11962         * libs/gst/dataprotocol/Makefile.am:
11963         * libs/gst/getbits/Makefile.am:
11964
11965 2005-04-21  Wim Taymans  <wim@fluendo.com>
11966
11967         * docs/design/draft-push-pull.txt:
11968         * docs/design/part-MT-refcounting.txt:
11969         * docs/design/part-TODO.txt:
11970         * docs/design/part-caps.txt:
11971         * docs/design/part-events.txt:
11972         * docs/design/part-gstbus.txt:
11973         * docs/design/part-gstpipeline.txt:
11974         * docs/design/part-messages.txt:
11975         * docs/design/part-push-pull.txt:
11976         * docs/design/part-query.txt:
11977         Some more docs.
11978
11979 2005-04-21  Wim Taymans  <wim@fluendo.com>
11980
11981         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
11982         (gst_message_new), (gst_message_new_error),
11983         (gst_message_new_warning), (gst_message_new_tag),
11984         (gst_message_new_state_changed), (gst_message_new_application),
11985         (gst_message_get_structure):
11986         * gst/gstmessage.h:
11987         * gst/gststructure.c: (gst_structure_set_parent_refcount),
11988         (gst_structure_copy_conditional):
11989         Use parent refcount in GstMessage to ensure GstStructure
11990         consistency.
11991         Cleaned up headers a bit.
11992         
11993
11994 2005-04-20  Wim Taymans  <wim@fluendo.com>
11995
11996         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11997         (gst_basesink_pad_getcaps), (gst_basesink_init),
11998         (gst_basesink_chain_unlocked):
11999         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
12000         (gst_type_find_helper):
12001         * gst/elements/gsttypefindelement.c:
12002         (gst_type_find_element_have_type), (gst_type_find_element_init),
12003         (stop_typefinding), (gst_type_find_element_handle_event),
12004         (find_suggest), (gst_type_find_element_chain),
12005         (gst_type_find_element_checkgetrange),
12006         (gst_type_find_element_getrange), (do_typefind),
12007         (gst_type_find_element_activate):
12008         * gst/gstbuffer.c: (_gst_buffer_sub_free),
12009         (gst_buffer_default_free), (gst_buffer_default_copy),
12010         (gst_buffer_set_caps):
12011         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
12012         (gst_caps_replace):
12013         * gst/gstmessage.c: (gst_message_new),
12014         (gst_message_new_state_changed):
12015         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12016         (gst_pad_set_checkgetrange_function),
12017         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
12018         (gst_pad_set_caps), (gst_pad_check_pull_range),
12019         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
12020         * gst/gstpad.h:
12021         * gst/gsttypefind.c: (gst_type_find_register):
12022         Make gst_caps_replace() work like other _replace() functions.
12023         Use _caps_replace() where possible.
12024         Make sure _message_new() initialises its field.
12025         Add gst_static_pad_template_get_caps()
12026
12027
12028 2005-04-18  Andy Wingo  <wingo@pobox.com>
12029
12030         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
12031         on the peer, not the pad. I think that was a typo. Pass an extra
12032         arg to see if random access is possible. Activate the pads as
12033         PULL_RANGE if possible.
12034
12035         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
12036
12037         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
12038         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
12039         to PROP_....
12040
12041 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12042
12043         * docs/faq/using.xml:
12044           Add note on gstreamer-properties (#154996).
12045
12046 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12047
12048         * docs/random/bbb/optional-properties:
12049           Some analysis on optional properties.
12050
12051 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12052
12053         * docs/gst/tmpl/gstelementfactory.sgml:
12054         * gst/gstelement.h:
12055         * gst/gstelementfactory.c: (gst_element_factory_init),
12056         (gst_element_factory_cleanup), (gst_element_register),
12057         (__gst_element_factory_add_static_pad_template),
12058         (gst_element_factory_get_static_pad_templates),
12059         (gst_element_factory_can_src_caps),
12060         (gst_element_factory_can_sink_caps):
12061         * gst/registries/Makefile.am:
12062         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
12063         (gst_xml_registry_class_init), (gst_xml_registry_init),
12064         (gst_xml_registry_new), (gst_xml_registry_set_property),
12065         (gst_xml_registry_get_property), (get_time), (make_dir),
12066         (gst_xml_registry_get_perms_func),
12067         (plugin_times_older_than_recurse), (plugin_times_older_than),
12068         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
12069         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
12070         (add_to_char_array), (read_string), (read_uint), (read_enum),
12071         (load_pad_template), (load_feature), (load_plugin), (load_paths),
12072         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
12073         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
12074         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
12075         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
12076         (gst_xml_registry_rebuild):
12077         * gst/registries/gstlibxmlregistry.h:
12078         * tools/gst-compprep.c: (main):
12079         * tools/gst-inspect.c: (print_pad_templates_info):
12080         * tools/gst-xmlinspect.c: (print_element_info):
12081           Use libxml2 for registry parsing, use staticpadtemplates in
12082           elementfactories. Makes gst_init() +/- 10x faster.
12083
12084 2005-04-12  Wim Taymans  <wim@fluendo.com>
12085
12086         * gst/base/Makefile.am:
12087         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12088         (gst_basesink_pad_getcaps), (gst_basesink_init),
12089         (gst_basesink_event), (gst_basesink_change_state):
12090         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12091         (gst_basesrc_init), (gst_basesrc_query),
12092         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12093         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12094         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12095         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12096         (gst_basesrc_stop), (gst_basesrc_activate),
12097         (gst_basesrc_change_state):
12098         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12099         (helper_find_suggest), (gst_type_find_helper):
12100         * gst/base/gsttypefindhelper.h:
12101         * gst/elements/Makefile.am:
12102         * gst/elements/gstelements.c:
12103         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12104         (gst_fakesink_get_times), (gst_fakesink_event),
12105         (gst_fakesink_preroll), (gst_fakesink_render):
12106         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12107         (gst_fakesrc_init), (gst_fakesrc_event_handler),
12108         (gst_fakesrc_get_property), (gst_fakesrc_create),
12109         (gst_fakesrc_start), (gst_fakesrc_stop):
12110         * gst/elements/gstfakesrc.h:
12111         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
12112         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12113         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12114         (gst_filesrc_create_read), (gst_filesrc_create),
12115         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
12116         (gst_filesrc_start):
12117         * gst/elements/gsttypefindelement.c:
12118         (gst_type_find_element_have_type), (gst_type_find_element_init),
12119         (start_typefinding), (stop_typefinding), (push_buffer_store),
12120         (gst_type_find_element_handle_event),
12121         (gst_type_find_element_chain),
12122         (gst_type_find_element_checkgetrange),
12123         (gst_type_find_element_getrange), (do_typefind),
12124         (gst_type_find_element_activate),
12125         (gst_type_find_element_change_state):
12126         * gst/elements/gsttypefindelement.h:
12127         * gst/gstpipeline.c: (pipeline_bus_handler):
12128         Added typefind helper.
12129         Small preroll fix in the base sink.
12130         Disable typefind code in basesrc.
12131         Crude port of typefindelement.
12132         Fakesrc cleanups.
12133
12134
12135 2005-04-11  Wim Taymans  <wim@fluendo.com>
12136
12137         * check/gst/gstbus.c: (gstbus_suite):
12138         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
12139         * check/gstcheck.h:
12140           Fix up the timeout so that the test does not fail.
12141
12142 2005-04-06  Wim Taymans  <wim@fluendo.com>
12143
12144         * gst/base/README:
12145         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12146         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
12147         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12148         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12149         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12150         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12151         (gst_basesrc_stop), (gst_basesrc_activate),
12152         (gst_basesrc_change_state), (basesrc_find_peek),
12153         (basesrc_find_suggest), (gst_basesrc_type_find):
12154         * gst/base/gstbasesrc.h:
12155         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12156         (gst_filesrc_class_init), (gst_filesrc_init),
12157         (gst_filesrc_finalize), (gst_filesrc_set_location),
12158         (gst_filesrc_set_property), (gst_filesrc_get_property),
12159         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12160         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12161         (gst_filesrc_create_read), (gst_filesrc_create),
12162         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12163         * gst/elements/gstfilesrc.h:
12164         * gst/gstelement.c: (gst_element_get_state_func),
12165         (gst_element_lost_state), (gst_element_pads_activate):
12166         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12167         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12168         (gst_pad_pull_range):
12169         * gst/gstpad.h:
12170         More work on the generic source base class, implement seeking,
12171         query.
12172         Make filesrc extend the base source class.
12173         Added gst_pad_set_checkgetrange_function to GstPad.
12174
12175 2005-04-06  Andy Wingo  <wingo@pobox.com>
12176
12177         * pkgconfig/gstreamer-base.pc.in:
12178         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12179
12180         * pkgconfig/Makefile.am:
12181         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12182
12183 2005-04-04  Wim Taymans  <wim@fluendo.com>
12184
12185         * gst/base/Makefile.am:
12186         * gst/base/README:
12187         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12188         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12189         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12190         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12191         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12192         (gst_basesrc_base_init), (gst_basesrc_class_init),
12193         (gst_basesrc_init), (gst_basesrc_get_formats),
12194         (gst_basesrc_get_query_types), (gst_basesrc_query),
12195         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12196         (gst_basesrc_set_property), (gst_basesrc_get_property),
12197         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12198         (gst_basesrc_loop), (gst_basesrc_activate),
12199         (gst_basesrc_change_state):
12200         * gst/base/gstbasesrc.h:
12201         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12202         (gst_fakesrc_class_init), (gst_fakesrc_init),
12203         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12204         (gst_fakesrc_get_property), (gst_fakesrc_create):
12205         * gst/elements/gstfakesrc.h:
12206         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12207         (gst_filesrc_open_file), (gst_filesrc_loop),
12208         (gst_filesrc_activate), (filesrc_find_peek),
12209         (gst_filesrc_type_find):
12210         Made base source class, make fakesrc extend it.
12211         Add comments to basesink class.
12212         Some filesrc cleanup.
12213
12214 2005-03-31  David Schleef  <ds@schleef.org>
12215
12216         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12217         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12218         expected to link against libgstreamer.
12219         * gst/base/Makefile.am: link against libgstreamer
12220         * gst/elements/Makefile.am: same
12221
12222 2005-03-31  Andy Wingo  <wingo@pobox.com>
12223
12224         * tests/instantiate/Makefile.am:
12225         * tests/instantiate/caps.c: Add test to test speed of caps copy
12226         and free.
12227
12228         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12229         GMemChunk to be fair.
12230
12231         * gst/gsttrashstack.h: Remove warning about using the fallback
12232         trash stack implementation, it's still faster than malloc.
12233
12234 2005-03-30  Andy Wingo  <wingo@pobox.com>
12235
12236         * tests/complexity.c: Add a copyright.
12237
12238 2005-03-31  Wim Taymans  <wim@fluendo.com>
12239
12240         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12241         (gst_base_transform_class_init), (gst_base_transform_init),
12242         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12243         (gst_base_transform_get_property),
12244         (gst_base_transform_sink_activate),
12245         (gst_base_transform_src_activate),
12246         (gst_base_transform_change_state):
12247         * gst/base/gstbasetransform.h:
12248         * gst/elements/gstidentity.c: (gst_identity_class_init),
12249         (gst_identity_event), (gst_identity_check_perfect),
12250         (gst_identity_transform), (gst_identity_start),
12251         (gst_identity_stop):
12252         Added start/stop methods to transform base class so subclasses 
12253         don't need to deal with state changes even.
12254
12255 2005-03-31  Wim Taymans  <wim@fluendo.com>
12256
12257         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12258         (gst_event_new_discontinuous), (gst_event_discont_get_value):
12259         * gst/gstevent.h:
12260         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12261         (gst_pad_pull_range):
12262         Added rate to the discont event to prepare for variable speed
12263         and reverse playback.
12264
12265 2005-03-29  David Schleef  <ds@schleef.org>
12266
12267         * configure.ac:
12268         * testsuite/trigger/Makefile.am:
12269         * testsuite/trigger/trigger.c: A little example program to show
12270         how trigger-based elements can work.
12271
12272 2005-03-29  Wim Taymans  <wim@fluendo.com>
12273
12274         * gst/base/Makefile.am:
12275         * gst/base/README:
12276         * gst/base/gstbasesink.c: (gst_basesink_get_type),
12277         (gst_basesink_base_init), (gst_basesink_class_init),
12278         (gst_basesink_pad_getcaps), (gst_basesink_init),
12279         (gst_basesink_activate), (gst_basesink_change_state):
12280         * gst/base/gstbasesink.h:
12281         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12282         (gst_base_transform_base_init), (gst_base_transform_finalize),
12283         (gst_base_transform_class_init), (gst_base_transform_init),
12284         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12285         (gst_base_transform_event), (gst_base_transform_getrange),
12286         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12287         (gst_base_transform_set_property),
12288         (gst_base_transform_get_property),
12289         (gst_base_transform_sink_activate),
12290         (gst_base_transform_src_activate),
12291         (gst_base_transform_change_state):
12292         * gst/base/gstbasetransform.h:
12293         * gst/elements/gstidentity.c: (gst_identity_finalize),
12294         (gst_identity_class_init), (gst_identity_init),
12295         (gst_identity_event), (gst_identity_check_perfect),
12296         (gst_identity_transform), (gst_identity_set_property),
12297         (gst_identity_get_property), (gst_identity_change_state):
12298         * gst/elements/gstidentity.h:
12299         * gst/gstelement.c: (gst_element_get_state_func),
12300         (gst_element_lost_state), (gst_element_pads_activate):
12301         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12302         (gst_pad_check_pull_range), (gst_pad_pull_range):
12303         * gst/gstpad.h:
12304         Simplify pad activation.
12305         Added function to check if pull_range can be performed.
12306         Error out when pulling inactive or flushing pads.
12307         Removed const from refcounted types as it does not make sense.
12308         Simplify pad templates in basesink
12309         Added base class for simple 1-to-1 transforms.
12310         Make identity subclass the base transform.
12311
12312 2005-03-29  Andy Wingo  <wingo@pobox.com>
12313
12314         * docs/libs/gstreamer-libs-overrides.txt: 
12315         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12316         really don't understand what's going on, but like whatever. I want
12317         green buildbot!
12318
12319         * docs/gst/Makefile.am:
12320         * docs/libs/Makefile.am: Dist the overrides files.
12321
12322         * check/Makefile.am (clean-local): Remove .libs directories.
12323
12324         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12325         elements to EXTRA_DIST, so po/ files are happy.
12326
12327         * po/POTFILES.in: Er, remove it here.
12328
12329         * po/POTFILES: Remove gstspider.c.
12330
12331         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12332
12333         * docs/libs/gstreamer-libs-docs.sgml: 
12334         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12335         bytestream.
12336
12337         * tests/complexity.c (main): Set the length of the preroll queue
12338         on the sinks to prevent a lockup.
12339
12340         * libs/gst/dataprotocol/Makefile.am: 
12341         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12342         the same as the one in check/gst-libs/gdp.c.
12343
12344         * po/, docs/gst/: Commit automatic changes to docs and po files.
12345
12346         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12347         the versioned libgstbase.
12348
12349         * check/Makefile.am: Depend on an unversioned gst-register, seems
12350         to make autoconf happier.
12351
12352         * gst/base/Makefile.am: Make libgstbase a versioned lib.
12353
12354 2005-03-28  Wim Taymans  <wim@fluendo.com>
12355
12356         * configure.ac:
12357         * docs/design/part-gstelement.txt:
12358         * docs/design/part-negotiation.txt:
12359         * docs/design/part-preroll.txt:
12360         * docs/design/part-scheduling.txt:
12361         * docs/design/part-states.txt:
12362         * gst/Makefile.am:
12363         * gst/base/Makefile.am:
12364         * gst/base/README:
12365         * gst/base/gstbasesink.c: (gst_basesink_get_template),
12366         (gst_basesink_base_init), (gst_basesink_class_init),
12367         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12368         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12369         (gst_basesink_set_pad_functions),
12370         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
12371         (gst_basesink_set_property), (gst_basesink_get_property),
12372         (gst_base_sink_get_template), (gst_base_sink_get_caps),
12373         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
12374         (gst_basesink_preroll_queue_push),
12375         (gst_basesink_preroll_queue_empty),
12376         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
12377         (gst_basesink_event), (gst_basesink_get_times),
12378         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
12379         (gst_basesink_chain_unlocked), (gst_basesink_chain),
12380         (gst_basesink_loop), (gst_basesink_activate),
12381         (gst_basesink_change_state):
12382         * gst/base/gstbasesink.h:
12383         * gst/elements/Makefile.am:
12384         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
12385         (gst_fakesink_class_init), (gst_fakesink_init),
12386         (gst_fakesink_set_property), (gst_fakesink_get_property),
12387         (gst_fakesink_get_times), (gst_fakesink_event),
12388         (gst_fakesink_preroll), (gst_fakesink_render),
12389         (gst_fakesink_change_state):
12390         * gst/elements/gstfakesink.h:
12391         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12392         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
12393         * gst/gstelement.c: (gst_element_add_pad),
12394         (gst_element_get_state_func), (gst_element_abort_state),
12395         (gst_element_commit_state), (gst_element_lost_state),
12396         (gst_element_set_state), (gst_element_pads_activate):
12397         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
12398         * gst/gstpipeline.c: (gst_pipeline_send_event),
12399         (gst_pipeline_change_state):
12400         Added state change code.
12401         Added/updated docs.
12402         Added sink base class, make fakesink extend the base class.
12403         Small cleanups in GstPipeline.
12404
12405 2005-03-26  David Schleef  <ds@schleef.org>
12406
12407         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
12408         is broken and should be implemented in a different library.
12409         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
12410         * gst/gst.h: remove gstcpu.h
12411         * gst/gstcpu.c: remove
12412         * gst/gstcpu.h: remove
12413         * gst/Makefile.am.future: Remove this file.  It's ancient.
12414
12415 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12416
12417         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12418         (gst_bin_send_event):
12419           Add default event/set_manager handlers. The set_manager handler
12420           takes care that the manager is distributed over kids that were
12421           already in the bin before the manager was set. The event handler
12422           is a utility virtual function that sends the event over all sinks,
12423           so that gst_element_send_event (bin, event); has the expected
12424           behaviour.
12425         * gst/gstpad.c: (gst_pad_event_default):
12426           Re-install default event handling for discontinuities, so that
12427           seeking works without requiring hacks in applications or extra
12428           code in sinks.
12429         * gst/gstpipeline.c: (gst_pipeline_class_init),
12430         (gst_pipeline_send_event):
12431           Half hack, half utility: set a pipeline to PAUSED for seek events,
12432           since that is the only way we can guarantee a/v sync. Means that
12433           you can do gst_element_seek (pipeline, method, pos); on a pipeline
12434           and it "just works".
12435
12436 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12437
12438         * gst/gstpipeline.c: (gst_pipeline_use_clock):
12439           Lock/unlock mismatch.
12440
12441 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12442
12443         * docs/faq/gst-uninstalled:
12444           add gst-plugins-base
12445         * docs/gst/Makefile.am:
12446           don't error out until docs are fixed
12447         * docs/gst/gstreamer.types:
12448           remove thread
12449
12450 2005-03-22  Wim Taymans  <wim@fluendo.com>
12451
12452         * check/Makefile.am:
12453         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
12454         * gst/gststructure.c: (gst_structure_set_valist),
12455         (gst_structure_copy_conditional):
12456         Activated more tests.
12457         Added message test.
12458         Added G_TYPE_POINTER to GstStructure.
12459         
12460
12461 2005-03-22  Wim Taymans  <wim@fluendo.com>
12462
12463         * docs/design/part-TODO.txt:
12464         * docs/design/part-events.txt:
12465         * docs/design/part-gstbin.txt:
12466         * docs/design/part-gstbus.txt:
12467         * docs/design/part-gstpipeline.txt:
12468         * docs/design/part-messages.txt:
12469         * gst/gstbus.c:
12470         * gst/gstmessage.c:
12471         Docs updates
12472
12473 2005-03-21  Wim Taymans  <wim@fluendo.com>
12474
12475         * gst/gstbus.c: (gst_bus_post):
12476         Fix copy-and-paste error.
12477
12478 2005-03-21  Wim Taymans  <wim@fluendo.com>
12479
12480         * check/Makefile.am:
12481         * gst/Makefile.am:
12482         * gst/elements/Makefile.am:
12483         * gst/elements/gstelements.c:
12484         * gst/elements/gstfakesink.c: (gst_fakesink_init),
12485         (gst_fakesink_event), (gst_fakesink_chain):
12486         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12487         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
12488         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
12489         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
12490         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
12491         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
12492         (gst_fakesrc_loop), (gst_fakesrc_activate),
12493         (gst_fakesrc_change_state):
12494         * gst/elements/gstfakesrc.h:
12495         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12496         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
12497         (gst_filesrc_open_file), (gst_filesrc_loop),
12498         (gst_filesrc_activate), (gst_filesrc_change_state),
12499         (filesrc_find_peek), (filesrc_find_suggest),
12500         (gst_filesrc_type_find):
12501         * gst/elements/gstidentity.c: (gst_identity_finalize),
12502         (gst_identity_class_init), (gst_identity_init),
12503         (gst_identity_proxy_getcaps), (identity_queue_push),
12504         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
12505         (gst_identity_getrange), (gst_identity_chain),
12506         (gst_identity_sink_loop), (gst_identity_src_loop),
12507         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
12508         (gst_identity_set_property), (gst_identity_get_property),
12509         (gst_identity_change_state):
12510         * gst/elements/gstidentity.h:
12511         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
12512         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
12513         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
12514         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
12515         (gst_tee_sink_activate):
12516         * gst/elements/gsttee.h:
12517         * gst/gst.c: (gst_register_core_elements), (init_post):
12518         * gst/gst.h:
12519         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
12520         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
12521         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
12522         (gst_bin_change_state):
12523         * gst/gstbin.h:
12524         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
12525         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
12526         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
12527         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
12528         (gst_bus_set_sync_handler), (gst_bus_create_watch),
12529         (bus_watch_callback), (bus_watch_destroy),
12530         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
12531         (poll_timeout), (gst_bus_poll):
12532         * gst/gstbus.h:
12533         * gst/gstcaps.h:
12534         * gst/gstdata.h:
12535         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12536         (gst_element_post_message), (gst_element_message_full),
12537         (gst_element_get_state_func), (gst_element_get_state),
12538         (gst_element_abort_state), (gst_element_commit_state),
12539         (gst_element_lost_state), (gst_element_set_state),
12540         (gst_element_pads_activate), (gst_element_change_state),
12541         (gst_element_dispose), (gst_element_set_manager_func),
12542         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
12543         (gst_element_set_manager), (gst_element_get_manager),
12544         (gst_element_set_bus), (gst_element_get_bus),
12545         (gst_element_set_scheduler), (gst_element_get_scheduler):
12546         * gst/gstelement.h:
12547         * gst/gstevent.c: (gst_event_new_segment_seek),
12548         (gst_event_new_flush):
12549         * gst/gstevent.h:
12550         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
12551         (_gst_message_free), (gst_message_get_type), (gst_message_new),
12552         (gst_message_new_eos), (gst_message_new_error),
12553         (gst_message_new_warning), (gst_message_new_tag),
12554         (gst_message_new_state_changed), (gst_message_new_application),
12555         (gst_message_get_structure), (gst_message_parse_tag),
12556         (gst_message_parse_state_changed), (gst_message_parse_error),
12557         (gst_message_parse_warning):
12558         * gst/gstmessage.h:
12559         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
12560         (gst_real_pad_set_property), (gst_pad_set_active),
12561         (gst_pad_is_active), (gst_pad_set_blocked_async),
12562         (gst_pad_set_blocked), (gst_pad_is_blocked),
12563         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
12564         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
12565         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
12566         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
12567         (gst_pad_link_filtered), (gst_pad_relink_filtered),
12568         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
12569         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
12570         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
12571         (gst_pad_set_caps), (gst_pad_configure_sink),
12572         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
12573         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
12574         (gst_real_pad_dispose), (gst_real_pad_finalize),
12575         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
12576         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12577         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
12578         * gst/gstpad.h:
12579         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
12580         (pipeline_bus_handler), (gst_pipeline_change_state),
12581         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
12582         * gst/gstpipeline.h:
12583         * gst/gstprobe.h:
12584         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
12585         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
12586         (gst_queue_link_src), (gst_queue_bufferalloc),
12587         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
12588         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
12589         (gst_queue_loop), (gst_queue_handle_src_event),
12590         (gst_queue_handle_src_query), (gst_queue_src_activate),
12591         (gst_queue_change_state):
12592         * gst/gstqueue.h:
12593         * gst/gstscheduler.c: (gst_scheduler_init),
12594         (gst_scheduler_dispose), (gst_scheduler_create_task),
12595         (gst_scheduler_factory_create):
12596         * gst/gstscheduler.h:
12597         * gst/gststructure.c: (gst_structure_get_type),
12598         (gst_structure_copy_conditional):
12599         * gst/gststructure.h:
12600         * gst/gsttaginterface.h:
12601         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
12602         (gst_task_init), (gst_task_dispose), (gst_task_create),
12603         (gst_task_get_state), (gst_task_start), (gst_task_stop),
12604         (gst_task_pause):
12605         * gst/gsttask.h:
12606         * gst/gstthread.c:
12607         * gst/gstthread.h:
12608         * gst/gsttypes.h:
12609         * gst/schedulers/Makefile.am:
12610         * gst/schedulers/cothreads_compat.h:
12611         * gst/schedulers/entryscheduler.c:
12612         * gst/schedulers/faircothreads.c:
12613         * gst/schedulers/faircothreads.h:
12614         * gst/schedulers/fairscheduler.c:
12615         * gst/schedulers/gstbasicscheduler.c:
12616         * gst/schedulers/gstoptimalscheduler.c:
12617         * gst/schedulers/gthread-cothreads.h:
12618         * gst/schedulers/threadscheduler.c:
12619         (gst_thread_scheduler_task_get_type),
12620         (gst_thread_scheduler_task_class_init),
12621         (gst_thread_scheduler_task_init),
12622         (gst_thread_scheduler_task_start),
12623         (gst_thread_scheduler_task_stop),
12624         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
12625         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
12626         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
12627         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
12628         (plugin_init):
12629         * libs/gst/Makefile.am:
12630         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
12631         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
12632         (gst_file_pad_parent_set):
12633         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12634         (gst_dp_event_from_packet):
12635         * tests/complexity.c: (main):
12636         * tests/mass_elements.c: (main):
12637         * testsuite/states/locked.c: (message_received), (main):
12638         * testsuite/states/parent.c: (main):
12639         * tools/gst-inspect.c: (print_element_flag_info),
12640         (print_implementation_info), (print_pad_info):
12641         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
12642         (main):
12643         * tools/gst-md5sum.c: (event_loop), (main):
12644         * tools/gst-typefind.c: (main):
12645         * tools/gst-xmlinspect.c: (print_element_info):
12646         Next big merge.
12647         Added GstBus for mainloop integration.
12648         Added GstMessage for sending notifications on the bus.
12649         Added GstTask as an abstraction for pipeline entry points.
12650         Removed GstThread.
12651         Removed Schedulers.
12652         Simplified GstQueue for multithreaded core.
12653         Made _link threadsafe, removed old capsnego.
12654         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
12655         Added pad blocking functions.
12656         Reworked scheduling functions in GstPad to prepare for
12657         scheduling updates soon.
12658         Moved events out of data stream.
12659         Simplified GstEvent types.
12660         Added return values to push/pull.
12661         Removed clocking from GstElement.
12662         Added prototypes for state change function for next merge.
12663         Removed iterate from bins and state change management.
12664         Fixed some elements, disabled others for now.
12665         Fixed -inspect and -launch.
12666         Added check for GstBus.
12667
12668 2005-03-10  Wim Taymans  <wim@fluendo.com>
12669
12670         * docs/design/part-MT-refcounting.txt:
12671         * docs/design/part-clocks.txt:
12672         * docs/design/part-gstelement.txt:
12673         * docs/design/part-gstobject.txt:
12674         * docs/design/part-standards.txt:
12675         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12676         (gst_bin_remove_func), (gst_bin_remove):
12677         * gst/gstbin.h:
12678         * gst/gstbuffer.c:
12679         * gst/gstcaps.h:
12680         * testsuite/clock/clock1.c: (main):
12681         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
12682         (main):
12683         * testsuite/dlopen/loadgst.c: (do_test):
12684         * testsuite/refcounting/bin.c: (add_remove_test1),
12685         (add_remove_test2), (main):
12686         * testsuite/refcounting/element.c: (main):
12687         * testsuite/refcounting/element_pad.c: (main):
12688         * testsuite/refcounting/pad.c: (main):
12689         * tools/gst-launch.c: (sigint_handler_sighandler):
12690         * tools/gst-typefind.c: (main):
12691         Doc updates.
12692         Added doc about clock.
12693         removed gst_bin_iterate_recurse_up(), marked methods
12694         for removal.
12695         Fix more testsuites.
12696
12697 2005-03-09  Wim Taymans  <wim@fluendo.com>
12698
12699         * gst/gstpad.c: (gst_pad_get_direction),
12700         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
12701         (gst_pad_collect_valist):
12702         * testsuite/bins/interface.c: (main):
12703         * testsuite/caps/audioscale.c: (test_caps):
12704         * testsuite/caps/caps.c: (test1), (test2), (test3):
12705         * testsuite/caps/deserialize.c: (main):
12706         * testsuite/caps/enumcaps.c: (main):
12707         * testsuite/caps/filtercaps.c: (main):
12708         * testsuite/caps/intersect2.c: (main):
12709         * testsuite/caps/random.c: (main):
12710         * testsuite/caps/renegotiate.c: (my_fixate), (main):
12711         * testsuite/caps/sets.c: (check_caps):
12712         * testsuite/caps/simplify.c: (check_caps), (main):
12713         * testsuite/caps/subtract.c: (check_caps):
12714         Fix _pad_get_direction wrt ghostpads.
12715         Fix caps testsuite.
12716
12717 2005-03-09  Wim Taymans  <wim@fluendo.com>
12718
12719         * check/Makefile.am:
12720         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
12721         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
12722         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
12723         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
12724         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
12725         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
12726         (gst_bin_remove), (gst_bin_iterate_recurse_up),
12727         (bin_element_is_sink), (gst_bin_iterate_sinks),
12728         (gst_bin_iterate_all_by_interface):
12729         * gst/gstbin.h:
12730         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
12731         (gst_element_change_state), (gst_element_dispose),
12732         (gst_element_finalize), (gst_element_set_loop_function):
12733         * gst/gstelement.h:
12734         * gst/gstiterator.c: (find_custom_fold_func):
12735         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12736         (gst_pad_collectv), (gst_pad_collect_valist),
12737         (gst_pad_template_new):
12738         * gst/gstpipeline.c: (gst_pipeline_class_init),
12739         (gst_pipeline_dispose), (gst_pipeline_set_property),
12740         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
12741         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
12742         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
12743         * gst/gstutils.h:
12744         * gst/schedulers/entryscheduler.c:
12745         * gst/schedulers/gstbasicscheduler.c:
12746         (gst_basic_scheduler_cothreaded_chain),
12747         (gst_basic_scheduler_chain_add_element):
12748         * testsuite/bins/interface.c: (main):
12749         Added GstBin test.
12750         Added GstSystemClock test.
12751         Implemented clock distribution code in GstBin.
12752         Implemented iterate sinks method for future use.
12753         Rearranged gstelement.h
12754         Fix GstIterator comparison bug.
12755         Moved some code to GstPipeline, mostly clocking related.
12756
12757 2005-03-09  Wim Taymans  <wim@fluendo.com>
12758
12759         * configure.ac:
12760         * gst/gst_private.h:
12761         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12762         (gst_bin_remove_func), (gst_bin_remove),
12763         (gst_bin_get_by_name_recurse_up):
12764         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
12765         (gst_clock_id_compare_func), (gst_clock_id_wait),
12766         (gst_clock_id_wait_async), (gst_clock_init),
12767         (gst_clock_adjust_unlocked), (gst_clock_get_time):
12768         * gst/gstelement.h:
12769         * gst/gstinfo.c: (_gst_debug_init):
12770         * gst/gstobject.h:
12771         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12772         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
12773         * gst/gstpad.h:
12774         Bump version number, we're now 0.9.0
12775         Add future debugging category.
12776         Fix NULL _unref() in _get_by_name_recurse_up
12777         Rearrange gstpad.h.
12778         Update some docs.
12779
12780 2005-03-08  Wim Taymans  <wim@fluendo.com>
12781
12782         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
12783         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
12784         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
12785         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
12786         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
12787         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
12788         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
12789         * gst/elements/gstidentity.c: (gst_identity_class_init):
12790         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
12791         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12792         * gst/elements/gstshaper.c: (gst_shaper_class_init):
12793         * gst/elements/gststatistics.c: (gst_statistics_class_init):
12794         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
12795         (gst_tee_link):
12796         * gst/gstelement.c: (gst_element_class_init),
12797         (gst_element_base_class_init), (gst_element_init),
12798         (gst_element_get_random_pad), (gst_element_wait_state_change),
12799         (gst_element_change_state), (gst_element_dispose),
12800         (gst_element_finalize), (gst_element_set_loop_function):
12801         * gst/gstelement.h:
12802         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
12803         * gst/gstthread.c: (gst_thread_class_init),
12804         (gst_thread_release_children_locks), (gst_thread_change_state):
12805         * gst/schedulers/gstbasicscheduler.c:
12806         (gst_basic_scheduler_loopfunc_wrapper),
12807         (gst_basic_scheduler_chain_wrapper),
12808         (gst_basic_scheduler_src_wrapper),
12809         (gst_basic_scheduler_remove_element):
12810         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
12811         Remove threadsafe properties. Fix elements because GObject
12812         complains when installing a property before declaring a
12813         set/get_property handler.
12814         Rearrange gstelement.h file, use STATE macros for state locks.
12815         Free mutexes in the finalize method instead of dispose.
12816
12817 2005-03-08  Wim Taymans  <wim@fluendo.com>
12818
12819         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12820         * gst/gstthread.c: (gst_thread_release_children_locks):
12821         Added parentage check.
12822         Fix build og GstThread again.
12823
12824 2005-03-08  Wim Taymans  <wim@fluendo.com>
12825
12826         * docs/design/part-MT-refcounting.txt:
12827         * docs/design/part-conventions.txt:
12828         * docs/design/part-gstobject.txt:
12829         * docs/design/part-relations.txt:
12830         * docs/design/part-standards.txt:
12831         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12832         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
12833         (gst_bin_get_by_name), (gst_bin_get_by_interface),
12834         (gst_bin_iterate_all_by_interface):
12835         * gst/gstbuffer.h:
12836         * gst/gstclock.h:
12837         * gst/gstelement.c: (gst_element_class_init),
12838         (gst_element_change_state), (gst_element_set_loop_function):
12839         * gst/gstelement.h:
12840         * gst/gstiterator.c:
12841         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
12842         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
12843         (gst_object_dispatch_properties_changed), (gst_object_set_name),
12844         (gst_object_set_parent), (gst_object_unparent),
12845         (gst_object_check_uniqueness):
12846         * gst/gstobject.h:
12847         Docs updates, clean up some headers.
12848
12849 2005-03-07  Wim Taymans  <wim@fluendo.com>
12850
12851         * check/.cvsignore:
12852         * check/Makefile.am:
12853         * check/gst-libs/.cvsignore:
12854         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
12855         * check/gst/.cvsignore:
12856         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
12857         (START_TEST), (gstbus_suite), (main):
12858         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
12859         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
12860         (gst_data_suite), (main):
12861         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
12862         (add_fold_func), (gstiterator_suite), (main):
12863         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
12864         (thread_name_object), (thread_name_object_default),
12865         (gst_object_name_compare), (gst_object_suite), (main):
12866         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
12867         (gst_pad_suite), (main):
12868         * check/gstcheck.c: (gst_check_log_message_func),
12869         (gst_check_log_critical_func), (gst_check_init):
12870         * check/gstcheck.h:
12871         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
12872         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
12873         Added checks.
12874
12875 2005-03-07  Wim Taymans  <wim@fluendo.com>
12876
12877         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
12878         (gst_list_iterator_next), (gst_list_iterator_resync),
12879         (gst_list_iterator_free), (gst_iterator_new_list),
12880         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
12881         (gst_iterator_free), (gst_iterator_push), (filter_next),
12882         (filter_resync), (filter_uninit), (filter_free),
12883         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
12884         (gst_iterator_foreach), (find_custom_fold_func),
12885         (gst_iterator_find_custom):
12886         * gst/gstiterator.h:
12887         Added missing files.
12888
12889 2005-03-07  Wim Taymans  <wim@fluendo.com>
12890
12891         * Makefile.am:
12892         * configure.ac:
12893         * docs/design/part-MT-refcounting.txt:
12894         * docs/design/part-conventions.txt:
12895         * docs/design/part-gstobject.txt:
12896         * docs/design/part-relations.txt:
12897         * examples/mixer/mixer.c: (main):
12898         * examples/thread/thread.c: (eos), (main):
12899         * gst/Makefile.am:
12900         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
12901         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
12902         (gst_spider_plug_from_srcpad):
12903         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
12904         (gst_spider_identity_change_state),
12905         (gst_spider_identity_sink_loop_type_finding):
12906         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
12907         * gst/elements/gstidentity.c: (gst_identity_init):
12908         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
12909         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
12910         * gst/elements/gsttypefindelement.c: (free_entry):
12911         * gst/gst.c:
12912         * gst/gst.h:
12913         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
12914         (gst_bin_set_clock_func), (gst_bin_auto_clock),
12915         (gst_bin_set_index), (gst_bin_set_element_sched),
12916         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
12917         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
12918         (gst_bin_iterate_elements), (iterate_child_recurse),
12919         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
12920         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
12921         (compare_interface), (gst_bin_get_by_interface),
12922         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
12923         * gst/gstbin.h:
12924         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
12925         (gst_buffer_default_free), (gst_buffer_default_copy),
12926         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
12927         (gst_buffer_create_sub):
12928         * gst/gstbuffer.h:
12929         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
12930         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
12931         (gst_caps_unref), (gst_static_caps_get),
12932         (gst_caps_remove_and_get_structure), (gst_caps_append),
12933         (gst_caps_append_structure), (gst_caps_remove_structure),
12934         (gst_caps_copy_nth), (gst_caps_set_simple),
12935         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
12936         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
12937         (gst_caps_structure_intersect_field), (gst_caps_intersect),
12938         (gst_caps_structure_subtract_field), (gst_caps_subtract),
12939         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
12940         (gst_caps_structure_figure_out_union),
12941         (gst_caps_switch_structures), (gst_caps_do_simplify),
12942         (gst_caps_replace), (gst_caps_from_string),
12943         (gst_caps_copy_conditional):
12944         * gst/gstcaps.h:
12945         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
12946         (_gst_clock_id_free), (gst_clock_id_unref),
12947         (gst_clock_id_compare_func), (gst_clock_id_wait),
12948         (gst_clock_id_wait_async), (gst_clock_class_init),
12949         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
12950         (gst_clock_get_time), (gst_clock_set_time_adjust),
12951         (gst_clock_set_property), (gst_clock_get_property):
12952         * gst/gstclock.h:
12953         * gst/gstcompat.h:
12954         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
12955         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
12956         * gst/gstdata.h:
12957         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12958         (gst_element_requires_clock), (gst_element_provides_clock),
12959         (gst_element_set_clock), (gst_element_clock_wait),
12960         (gst_element_wait), (gst_element_set_time_delay),
12961         (gst_element_is_indexable), (gst_element_add_pad),
12962         (gst_element_add_ghost_pad), (gst_element_remove_pad),
12963         (pad_compare_name), (gst_element_get_static_pad),
12964         (gst_element_request_pad), (gst_element_get_request_pad),
12965         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
12966         (gst_element_class_get_pad_template_list),
12967         (gst_element_class_get_pad_template), (gst_element_error_func),
12968         (gst_element_get_random_pad), (gst_element_get_event_masks),
12969         (gst_element_send_event), (gst_element_seek),
12970         (gst_element_get_query_types), (gst_element_query),
12971         (gst_element_get_formats), (gst_element_convert),
12972         (gst_element_is_locked_state), (gst_element_set_locked_state),
12973         (gst_element_sync_state_with_parent), (gst_element_change_state),
12974         (gst_element_finalize), (gst_element_yield),
12975         (gst_element_interrupt), (gst_element_set_scheduler),
12976         (gst_element_get_scheduler), (gst_element_set_loop_function):
12977         * gst/gstelement.h:
12978         * gst/gstevent.h:
12979         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
12980         (gst_format_get_by_nick), (gst_format_get_details),
12981         (gst_format_iterate_definitions):
12982         * gst/gstformat.h:
12983         * gst/gstindex.c: (gst_index_gtype_resolver):
12984         * gst/gstinfo.c:
12985         * gst/gstinfo.h:
12986         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
12987         (gst_mem_chunk_free):
12988         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12989         (gst_object_ref), (gst_object_unref), (gst_object_sink),
12990         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
12991         (gst_object_dispatch_properties_changed),
12992         (gst_object_set_name_default), (gst_object_set_name),
12993         (gst_object_get_name), (gst_object_set_name_prefix),
12994         (gst_object_get_name_prefix), (gst_object_set_parent),
12995         (gst_object_get_parent), (gst_object_unparent),
12996         (gst_object_check_uniqueness), (gst_object_save_thyself),
12997         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
12998         (gst_object_set_property), (gst_object_get_property),
12999         (gst_object_get_path_string):
13000         * gst/gstobject.h:
13001         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13002         (gst_real_pad_init), (gst_real_pad_get_property),
13003         (gst_pad_custom_new), (gst_pad_get_direction),
13004         (gst_pad_set_active), (gst_pad_is_active),
13005         (gst_pad_set_event_function), (gst_pad_is_linked),
13006         (gst_pad_link_free), (gst_pad_link_intersect),
13007         (gst_pad_link_fixate), (gst_pad_set_caps),
13008         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
13009         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
13010         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
13011         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
13012         (gst_pad_get_caps), (gst_pad_peer_get_caps),
13013         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
13014         (gst_pad_realize), (gst_pad_get_allowed_caps),
13015         (gst_real_pad_dispose), (gst_real_pad_finalize),
13016         (gst_pad_collectv), (gst_pad_collect_valist),
13017         (gst_pad_template_dispose), (gst_pad_template_new),
13018         (gst_pad_get_internal_links):
13019         * gst/gstpad.h:
13020         * gst/gstpipeline.c: (gst_pipeline_dispose),
13021         (gst_pipeline_change_state):
13022         * gst/gstpipeline.h:
13023         * gst/gstplugin.c:
13024         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
13025         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
13026         * gst/gstpluginfeature.h:
13027         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
13028         * gst/gstquery.c: (_gst_query_type_initialize),
13029         (gst_query_type_register), (gst_query_type_get_by_nick),
13030         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
13031         * gst/gstquery.h:
13032         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
13033         * gst/gstscheduler.c: (gst_scheduler_add_element),
13034         (gst_scheduler_factory_create):
13035         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13036         (gst_structure_free), (gst_structure_set_name),
13037         (gst_structure_id_set_value), (gst_structure_set_value),
13038         (gst_structure_set_valist), (gst_structure_remove_field),
13039         (gst_structure_remove_fields),
13040         (gst_structure_remove_fields_valist),
13041         (gst_structure_remove_all_fields), (gst_structure_foreach),
13042         (gst_structure_map_in_place),
13043         (gst_caps_structure_fixate_field_nearest_int),
13044         (gst_caps_structure_fixate_field_nearest_double):
13045         * gst/gststructure.h:
13046         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13047         (gst_system_clock_init), (gst_system_clock_dispose),
13048         (gst_system_clock_async_thread),
13049         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
13050         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
13051         * gst/gstsystemclock.h:
13052         * gst/gsttag.c: (gst_tag_list_add_value_internal),
13053         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
13054         * gst/gsttaginterface.c:
13055         * gst/gstthread.c: (gst_thread_dispose),
13056         (gst_thread_release_children_locks), (gst_thread_change_state),
13057         (gst_thread_main_loop):
13058         * gst/gsttrashstack.h:
13059         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
13060         * gst/gsttypes.h:
13061         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13062         (gst_element_request_pad), (gst_element_get_pad_from_template),
13063         (gst_element_request_compatible_pad),
13064         (gst_element_get_compatible_pad_filtered),
13065         (gst_element_get_compatible_pad), (gst_element_state_get_name),
13066         (gst_element_link_pads_filtered), (gst_element_link_filtered),
13067         (gst_element_link_many), (gst_element_link),
13068         (gst_element_link_pads), (gst_element_unlink_pads),
13069         (gst_element_unlink_many), (gst_element_unlink),
13070         (gst_pad_can_link_filtered), (gst_pad_can_link),
13071         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
13072         (gst_object_default_error), (gst_bin_add_many),
13073         (gst_bin_remove_many), (gst_element_populate_std_props),
13074         (gst_element_class_install_std_props), (gst_buffer_merge),
13075         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
13076         (link_fold_func), (gst_pad_proxy_setcaps):
13077         * gst/gstutils.h:
13078         * gst/gstvalue.c: (gst_value_deserialize_string):
13079         * gst/parse/grammar.y:
13080         * gst/schedulers/gstbasicscheduler.c:
13081         (gst_basic_scheduler_cothreaded_chain),
13082         (gst_basic_scheduler_chain_recursive_add),
13083         (gst_basic_scheduler_pad_link):
13084         * gst/schedulers/gstoptimalscheduler.c:
13085         (get_group_schedule_function),
13086         (gst_opt_scheduler_state_transition),
13087         (gst_opt_scheduler_add_element), (element_get_reachables_func):
13088         * libs/gst/bytestream/bytestream.c:
13089         * libs/gst/dataprotocol/dataprotocol.c:
13090         (gst_dp_header_from_buffer):
13091         * po/nb.po:
13092         * po/ru.po:
13093         * tests/threadstate/threadstate2.c: (eos):
13094         * tools/gst-compprep.c: (main):
13095         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
13096         (print_pad_info), (print_children_info):
13097         * tools/gst-launch.c: (idle_func), (main):
13098         * tools/gst-md5sum.c: (idle_func), (main):
13099         * tools/gst-xmlinspect.c: (print_element_info):
13100         First THREADED backport attempt, focusing on adding locks and
13101         making sure the API is threadsafe. Needs more work. More docs
13102         follow this week.
13103
13104 2005-02-24  Andy Wingo  <wingo@pobox.com>
13105
13106         * tests/bench-complexity.scm:
13107         * tests/complexity.gnuplot: New files, good for running complexity
13108         benchmarks.
13109
13110         * tests/Makefile.am:
13111         * tests/complexity.c: New test, sets up N elements, at each level
13112         teeing into M streams per element. Eeeenteresting.
13113
13114         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
13115         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
13116         running bench-mass_elements.scm.
13117
13118         * tests/bench-mass_elements.scm: New script, runs mass_elements
13119         for various numbers of identities, outputting the results to a
13120         file. Requires guile 1.6. Just for testing.
13121
13122 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13123
13124         * gst/schedulers/fairscheduler.c:
13125           compile with debug disabled
13126
13127 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13128
13129         * configure.ac:
13130           hunting season on 0.9 is now OPEN