libs/gst/controller/gstinterpolation.c: use convert function for uint64/double
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
2
3         patch by: Sebastien Moutte
4
5         * libs/gst/controller/gstinterpolation.c:
6           use convert function for uint64/double
7         * win32/vs6/libgstcontroller.dsp:
8           link to GLib
9
10 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11
12         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
13         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
14         * gst/gstutils.h:
15         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
16           add tests that seem to show that the guint64/gdouble conversions
17           are correct.
18
19 2005-12-02  Wim Taymans  <wim@fluendo.com>
20
21         * gst/gstregistry.c: (gst_registry_add_path):
22         * gst/gstregistry.h:
23         * gst/gstregistryxml.c:
24         Fix docs again.
25
26 2005-12-02  Wim Taymans  <wim@fluendo.com>
27
28         * gst/gstutils.c: (gst_util_uint64_scale_int64),
29         (gst_util_uint64_scale_int):
30         Small cleanup.
31
32         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
33         Add debug log line.
34
35         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
36         Add FIXME.
37
38 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
39
40         * win32/MANIFEST:
41         * win32/common/config.h:
42         * win32/vs6/gstreamer.dsw:
43         * win32/vs6/libgstcoreelements.dsp:
44         * win32/vs6/libgstelements.dsp:
45           renamed core elements plugin
46
47 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
48
49         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
50         (get_candidates):
51           do piece-wise major/minor comparison so 0.9 < 0.10
52           also allow .exe extensions for tools
53
54 2005-12-02  Michael Smith  <msmith@fluendo.com>
55
56         * gst/gst.c:
57           Escape a % to make gtkdoc happier; bug 322958.
58
59 === release 0.9.7 ===
60
61 2005-12-01   <thomas (at) apestaart (dot) org>
62
63         * configure.ac:
64           releasing 0.9.7, "My Dog Has No Nose"
65
66 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
67
68         * common/gst-xmlinspect.py:
69         * configure.ac:
70         * docs/libs/tmpl/gstdataprotocol.sgml:
71         * docs/random/release:
72         * po/af.po:
73         * po/az.po:
74         * po/bg.po:
75         * po/ca.po:
76         * po/cs.po:
77         * po/de.po:
78         * po/en_GB.po:
79         * po/fr.po:
80         * po/it.po:
81         * po/nb.po:
82         * po/nl.po:
83         * po/ru.po:
84         * po/sq.po:
85         * po/sr.po:
86         * po/sv.po:
87         * po/tr.po:
88         * po/uk.po:
89         * po/vi.po:
90         * win32/common/config.h:
91         * win32/common/config.h.in:
92         * win32/vs6/gst_inspect.dsp:
93         * win32/vs6/gst_launch.dsp:
94         * win32/vs6/libgstbase.dsp:
95         * win32/vs6/libgstelements.dsp:
96         * win32/vs6/libgstreamer.dsp:
97         * win32/vs7/GStreamer.vcproj:
98         * win32/vs7/gst-inspect.vcproj:
99         * win32/vs7/gst-launch.vcproj:
100         * win32/vs7/libgstbase.vcproj:
101           bump GST_MAJORMINOR to 0.10
102           reset libtool version
103
104 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
105
106         * po/LINGUAS:
107         * po/bg.po:
108           Added Bulgarian translation by (Alexander Shopov)
109
110 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
111
112         * tests/check/gst/gstplugin.c:
113           fix test
114
115 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
116
117         * common/gst-xmlinspect.py:
118         * common/gtk-doc-plugins.mak:
119         * configure.ac:
120         * docs/Makefile.am:
121         * docs/gst/Makefile.am:
122         * docs/gst/gstreamer-docs.sgml:
123         * docs/gst/gstreamer-sections.txt:
124         * docs/gst/gstreamer.types:
125         * docs/gst/gstreamer.types.in:
126         * docs/plugins/Makefile.am:
127         * docs/plugins/gstreamer-plugins-docs.sgml:
128         * docs/plugins/gstreamer-plugins-sections.txt:
129         * docs/plugins/gstreamer-plugins.types:
130         * docs/plugins/inspect.stamp:
131         * docs/plugins/inspect/plugin-coreelements.xml:
132         * docs/plugins/inspect/plugin-coreindexers.xml:
133         * docs/plugins/scanobj-build.stamp:
134         * gstreamer.spec.in:
135         * plugins/elements/Makefile.am:
136         * plugins/elements/gstelements.c:
137         * plugins/elements/gstfakesink.c:
138         * plugins/elements/gstfakesrc.c:
139         * plugins/elements/gstfilesink.c:
140         * plugins/elements/gstfilesrc.c:
141         * plugins/elements/gstqueue.c:
142         * plugins/indexers/Makefile.am:
143         * plugins/indexers/gstindexers.c:
144           document core plugins in a separate document just like all the
145           others
146           rename these plugins to something starting with core
147
148 2005-12-01  Andy Wingo  <wingo@pobox.com>
149
150         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
151         padding here before, but it missed the commit.
152
153 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
154
155         * libs/gst/controller/gstinterpolation.c:
156           whitespace prices have crashed, we should feel free to use some now
157           use gst_guint64_to_gdouble
158
159 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
160
161         * libs/gst/controller/gstcontroller.c:
162         * libs/gst/controller/gsthelper.c:
163         * libs/gst/controller/gstinterpolation.c:
164         * libs/gst/controller/lib.c:
165           wrap config.h include
166
167 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
168
169         * docs/gst/gstreamer-sections.txt:
170           update docs
171
172 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
173
174         * plugins/elements/gstelements.c:
175         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
176         (gst_fd_sink__class_init), (gst_fd_sink__init),
177         (gst_fd_sink__chain), (gst_fd_sink__set_property),
178         (gst_fd_sink__get_property):
179         * plugins/elements/gstfdsink.h:
180         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
181         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
182         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
183         (gst_fd_src_unlock), (gst_fd_src_set_property),
184         (gst_fd_src_get_property), (gst_fd_src_create),
185         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
186         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
187         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
188         (gst_fd_src_uri_handler_init):
189         * plugins/elements/gstfdsrc.h:
190         * plugins/elements/gstqueue.c: (gst_queue_get_type):
191           more anal cleanup
192
193 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
194
195         * docs/gst/Makefile.am:
196         * docs/gst/gstreamer.types.in:
197         * gst/Makefile.am:
198           fix the docs build
199
200 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
201
202         * configure.ac:
203         * gst/Makefile.am:
204         * gst/gst.c:
205         * gst/gstplugin.h:
206         * gst/gstregistry.h:
207         * tests/benchmarks/complexity.c:
208         * tests/benchmarks/mass-elements.c:
209         * tests/check/Makefile.am:
210         * tools/Makefile.am:
211         * tools/gst-inspect.c:
212         * tools/gst-xmlinspect.c:
213           various fixes to make
214           --disable-nls --disable-registry --disable-loadsave
215           --disable-parse --disable-gst-debug
216           work and get the core .so down to 360444 bytes after stripping
217
218 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
219
220         * Makefile.am:
221         * configure.ac:
222           descend into tests
223         * docs/random/thomasvs/TODO:
224         * tests/Makefile.am:
225         * tests/README:
226           add a README
227
228 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
229
230         * win32/GStreamer.vcproj:
231         * win32/MANIFEST:
232         * win32/Makefile:
233         * win32/Makefile.inspect:
234         * win32/Makefile.launch:
235         * win32/Makefile.register:
236         * win32/README.txt:
237         * win32/gst-inspect.vcproj:
238         * win32/gst-launch.vcproj:
239         * win32/gst-register.vcproj:
240         * win32/gstelements.vcproj:
241         * win32/gstgetbits.def:
242         * win32/gstgetbits.vcproj:
243         * win32/gstreamer-dbg.def:
244         * win32/gstreamer.def:
245         * win32/libgstbase.def:
246         * win32/libgstbase.vcproj:
247         * win32/link_oldruntime.c:
248         * win32/mman.c:
249         * win32/mman.h:
250         * win32/mman.inl:
251         * win32/msvc71.sln:
252           move even more stuff, win32/ is nice and clean now
253
254 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
255
256         * libs/gst/control/.cvsignore:
257         * win32/MANIFEST:
258         * win32/config.h:
259         * win32/dirent.c:
260         * win32/dirent.h:
261         * win32/gstbytestream.def:
262         * win32/gstbytestream.vcproj:
263         * win32/gstconfig.h:
264         * win32/gstenumtypes.c:
265         * win32/gstenumtypes.h:
266         * win32/gstoptimalscheduler.vcproj:
267         * win32/gstversion.h:
268         * win32/gtchar.h:
269         * win32/testsuite/bins.vcproj:
270         * win32/testsuite/bytestream.vcproj:
271         * win32/testsuite/caps.vcproj:
272         * win32/testsuite/cleanup.vcproj:
273         * win32/testsuite/clock.vcproj:
274         * win32/testsuite/debug.vcproj:
275         * win32/testsuite/dlopen.vcproj:
276         * win32/testsuite/dynparams.vcproj:
277         * win32/testsuite/elements.vcproj:
278         * win32/testsuite/ghostpads.vcproj:
279         * win32/testsuite/indexers.vcproj:
280         * win32/testsuite/negotiation.vcproj:
281         * win32/testsuite/parse.vcproj:
282         * win32/testsuite/plugin.vcproj:
283         * win32/testsuite/refcounting.vcproj:
284         * win32/testsuite/schedulers.vcproj:
285         * win32/testsuite/states.vcproj:
286         * win32/testsuite/tags.vcproj:
287         * win32/testsuite/threads.vcproj:
288           remove old win32 stuff that isn't maintained and should be
289           reorganized
290
291 2005-11-30  Andy Wingo  <wingo@pobox.com>
292
293         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
294         loading the gst.interfaces python module bork.
295
296         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
297         available since GLib 2.2. Fixes #318031.
298
299 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
300
301         * Makefile.am:
302         * check/.cvsignore:
303         * check/Makefile.am:
304         * check/elements/.cvsignore:
305         * check/elements/fakesrc.c:
306         * check/elements/fdsrc.c:
307         * check/elements/identity.c:
308         * check/generic/.cvsignore:
309         * check/generic/states.c:
310         * check/gst-libs/.cvsignore:
311         * check/gst-libs/controller.c:
312         * check/gst-libs/gdp.c:
313         * check/gst/.cvsignore:
314         * check/gst/capslist.h:
315         * check/gst/gst.c:
316         * check/gst/gstbin.c:
317         * check/gst/gstbuffer.c:
318         * check/gst/gstbus.c:
319         * check/gst/gstcaps.c:
320         * check/gst/gstelement.c:
321         * check/gst/gstevent.c:
322         * check/gst/gstghostpad.c:
323         * check/gst/gstiterator.c:
324         * check/gst/gstmessage.c:
325         * check/gst/gstminiobject.c:
326         * check/gst/gstobject.c:
327         * check/gst/gstpad.c:
328         * check/gst/gstpipeline.c:
329         * check/gst/gstplugin.c:
330         * check/gst/gstsegment.c:
331         * check/gst/gststructure.c:
332         * check/gst/gstsystemclock.c:
333         * check/gst/gsttag.c:
334         * check/gst/gstutils.c:
335         * check/gst/gstvalue.c:
336         * check/net/.cvsignore:
337         * check/net/gstnetclientclock.c:
338         * check/net/gstnettimeprovider.c:
339         * check/pipelines/.cvsignore:
340         * check/pipelines/cleanup.c:
341         * check/pipelines/simple_launch_lines.c:
342         * check/pipelines/stress.c:
343         * check/states/.cvsignore:
344         * check/states/sinks.c:
345         * configure.ac:
346         * examples/Makefile.am:
347         * examples/appreader/.cvsignore:
348         * examples/appreader/Makefile.am:
349         * examples/appreader/appreader.c:
350         * examples/controller/.cvsignore:
351         * examples/controller/Makefile.am:
352         * examples/controller/audio-example.c:
353         * examples/cutter/.cvsignore:
354         * examples/cutter/Makefile.am:
355         * examples/cutter/cutter.c:
356         * examples/cutter/cutter.h:
357         * examples/events/Makefile.am:
358         * examples/events/seek.c:
359         * examples/helloworld/.cvsignore:
360         * examples/helloworld/Makefile.am:
361         * examples/helloworld/helloworld.c:
362         * examples/helloworld2/.cvsignore:
363         * examples/helloworld2/Makefile.am:
364         * examples/helloworld2/helloworld2.c:
365         * examples/launch/.cvsignore:
366         * examples/launch/Makefile.am:
367         * examples/launch/mp3parselaunch.c:
368         * examples/launch/mp3play:
369         * examples/manual/.cvsignore:
370         * examples/manual/Makefile.am:
371         * examples/manual/extract.pl:
372         * examples/metadata/Makefile.am:
373         * examples/metadata/read-metadata.c:
374         * examples/mixer/.cvsignore:
375         * examples/mixer/Makefile.am:
376         * examples/mixer/mixer.c:
377         * examples/mixer/mixer.h:
378         * examples/pingpong/.cvsignore:
379         * examples/pingpong/Makefile.am:
380         * examples/pingpong/pingpong.c:
381         * examples/plugins/.cvsignore:
382         * examples/plugins/Makefile.am:
383         * examples/plugins/example.c:
384         * examples/plugins/example.h:
385         * examples/pwg/.cvsignore:
386         * examples/pwg/Makefile.am:
387         * examples/pwg/extract.pl:
388         * examples/queue/.cvsignore:
389         * examples/queue/Makefile.am:
390         * examples/queue/queue.c:
391         * examples/queue2/.cvsignore:
392         * examples/queue2/Makefile.am:
393         * examples/queue2/queue2.c:
394         * examples/queue3/.cvsignore:
395         * examples/queue3/Makefile.am:
396         * examples/queue3/queue3.c:
397         * examples/queue4/.cvsignore:
398         * examples/queue4/Makefile.am:
399         * examples/queue4/queue4.c:
400         * examples/retag/.cvsignore:
401         * examples/retag/Makefile.am:
402         * examples/retag/retag.c:
403         * examples/retag/transcode.c:
404         * examples/thread/.cvsignore:
405         * examples/thread/Makefile.am:
406         * examples/thread/thread.c:
407         * examples/typefind/.cvsignore:
408         * examples/typefind/Makefile.am:
409         * examples/typefind/typefind.c:
410         * examples/xml/.cvsignore:
411         * examples/xml/Makefile.am:
412         * examples/xml/createxml.c:
413         * examples/xml/runxml.c:
414         * tests/Makefile.am:
415         * tests/check/Makefile.am:
416         * testsuite/.cvsignore:
417         * testsuite/Makefile.am:
418         * testsuite/Rules:
419         * testsuite/caps/.cvsignore:
420         * testsuite/caps/Makefile.am:
421         * testsuite/caps/app_fixate.c:
422         * testsuite/caps/audioscale.c:
423         * testsuite/caps/caps.c:
424         * testsuite/caps/caps.h:
425         * testsuite/caps/caps_strings:
426         * testsuite/caps/compatibility.c:
427         * testsuite/caps/deserialize.c:
428         * testsuite/caps/enumcaps.c:
429         * testsuite/caps/eratosthenes.c:
430         * testsuite/caps/filtercaps.c:
431         * testsuite/caps/fixed.c:
432         * testsuite/caps/fraction-convert.c:
433         * testsuite/caps/fraction-multiply-and-zero.c:
434         * testsuite/caps/intersect2.c:
435         * testsuite/caps/intersection.c:
436         * testsuite/caps/normalisation.c:
437         * testsuite/caps/random.c:
438         * testsuite/caps/renegotiate.c:
439         * testsuite/caps/sets.c:
440         * testsuite/caps/simplify.c:
441         * testsuite/caps/string-conversions.c:
442         * testsuite/caps/structure.c:
443         * testsuite/caps/subtract.c:
444         * testsuite/caps/union.c:
445         * testsuite/debug/.cvsignore:
446         * testsuite/debug/Makefile.am:
447         * testsuite/debug/category.c:
448         * testsuite/debug/commandline.c:
449         * testsuite/debug/global.c:
450         * testsuite/debug/output.c:
451         * testsuite/debug/printf_extension.c:
452         * testsuite/dlopen/.cvsignore:
453         * testsuite/dlopen/Makefile.am:
454         * testsuite/dlopen/dlopen_gst.c:
455         * testsuite/dlopen/loadgst.c:
456         * testsuite/elements/.cvsignore:
457         * testsuite/elements/Makefile.am:
458         * testsuite/elements/gst-inspect-check.in:
459         * testsuite/elements/struct_i386.h:
460         * testsuite/elements/struct_size.c:
461         * testsuite/indexers/.cvsignore:
462         * testsuite/indexers/Makefile.am:
463         * testsuite/indexers/cache1.c:
464         * testsuite/indexers/indexdump.c:
465         * testsuite/parse/.cvsignore:
466         * testsuite/parse/Makefile.am:
467         * testsuite/parse/parse1.c:
468         * testsuite/parse/parse2.c:
469         * testsuite/plugin/.cvsignore:
470         * testsuite/plugin/Makefile.am:
471         * testsuite/plugin/README:
472         * testsuite/plugin/dynamic.c:
473         * testsuite/plugin/linked.c:
474         * testsuite/plugin/loading.c:
475         * testsuite/plugin/registry.c:
476         * testsuite/plugin/static.c:
477         * testsuite/plugin/static2.c:
478         * testsuite/plugin/testplugin.c:
479         * testsuite/plugin/testplugin2.c:
480         * testsuite/plugin/testplugin2_s.c:
481         * testsuite/plugin/testplugin_s.c:
482         * testsuite/refcounting/.cvsignore:
483         * testsuite/refcounting/Makefile.am:
484         * testsuite/refcounting/bin.c:
485         * testsuite/refcounting/element.c:
486         * testsuite/refcounting/element_pad.c:
487         * testsuite/refcounting/mainloop.c:
488         * testsuite/refcounting/mem.c:
489         * testsuite/refcounting/mem.h:
490         * testsuite/refcounting/object.c:
491         * testsuite/refcounting/pad.c:
492         * testsuite/refcounting/sched.c:
493         * testsuite/refcounting/thread.c:
494         * testsuite/states/.cvsignore:
495         * testsuite/states/Makefile.am:
496         * testsuite/states/bin.c:
497         * testsuite/states/locked.c:
498         * testsuite/states/parent.c:
499         * testsuite/threads/.cvsignore:
500         * testsuite/threads/159566.c:
501         * testsuite/threads/159852.c:
502         * testsuite/threads/Makefile.am:
503         * testsuite/threads/queue.c:
504         * testsuite/threads/signals.c:
505         * testsuite/threads/staticrec.c:
506         * testsuite/threads/thread.c:
507         * testsuite/threads/threadb.c:
508         * testsuite/threads/threadc.c:
509         * testsuite/threads/threadd.c:
510         * testsuite/threads/threade.c:
511         * testsuite/threads/threadf.c:
512         * testsuite/threads/threadg.c:
513         * testsuite/threads/threadh.c:
514         * testsuite/threads/threadi.c:
515           move all of these under tests
516
517 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
518
519         * configure.ac:
520         * tests/Makefile.am:
521           fix distcheck
522
523 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
524
525         * docs/gst/gstreamer-sections.txt:
526         * tests/sched/.cvsignore:
527         * tests/sched/Makefile.am:
528         * tests/sched/cases/(fs-fs).xml:
529         * tests/sched/cases/(fs-i-fs).xml:
530         * tests/sched/cases/(fs-i-i-fs).xml:
531         * tests/sched/cases/(fs-i-q[i-fs]).xml:
532         * tests/sched/dynamic-pipeline.c:
533         * tests/sched/interrupt1.c:
534         * tests/sched/interrupt2.c:
535         * tests/sched/interrupt3.c:
536         * tests/sched/runtestcases:
537         * tests/sched/runxml.c:
538         * tests/sched/sched-stress.c:
539         * tests/sched/sort.c:
540         * tests/sched/testcases:
541         * tests/sched/testcases1.tc:
542         * tests/seeking/.cvsignore:
543         * tests/seeking/Makefile.am:
544         * tests/seeking/seeking1.c:
545         * tests/threadstate/.cvsignore:
546         * tests/threadstate/Makefile.am:
547         * tests/threadstate/test1.c:
548         * tests/threadstate/test2.c:
549         * tests/threadstate/threadstate1.c:
550         * tests/threadstate/threadstate2.c:
551         * tests/threadstate/threadstate3.c:
552         * tests/threadstate/threadstate4.c:
553         * tests/threadstate/threadstate5.c:
554           remove obsolete tests
555         * configure.ac:
556         * tests/bench-complexity.scm:
557         * tests/bench-mass_elements.scm:
558         * tests/complexity.c:
559         * tests/complexity.gnuplot:
560         * tests/instantiate/.cvsignore:
561         * tests/instantiate/Makefile.am:
562         * tests/instantiate/caps.c:
563         * tests/mass_elements.c:
564         * tests/network-clock-utils.scm:
565         * tests/network-clock.scm:
566         * tests/plot-data:
567         First pass at cleaning up tests/ dir before moving the rest
568         Combined with CVS surgery
569
570 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
571
572         * po/POTFILES.in:
573           queue has moved, update
574
575 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
576
577         * docs/gst/gstreamer-sections.txt:
578           remove double entries from the docs
579         * gst/gst_private.h:
580         * gst/gstinfo.c: (_gst_debug_init):
581           remove the THREAD debug category
582         * gst/Makefile.am:
583         * gst/gstqueue.c:
584         * gst/gstqueue.h:
585         * docs/gst/gstreamer.types:
586         * plugins/elements/gstqueue.c: (gst_queue_get_type),
587         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
588           completely move queue and fix up debugging categories
589
590 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
591
592         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
593           make initialization portable, using LL is not
594
595 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
596
597         * win32/common/gstconfig.h:
598           add large padding
599
600 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
601
602         * win32/common/libgstreamer.def:
603           rename symbols; sort base section
604
605 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
606
607         * gst/gstclock.c: (do_linear_regression):
608           remove crack non-portable handrolled DEBUG macro
609
610 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
611
612         * docs/random/release:
613           update notes
614         * win32/common/gstenumtypes.c: (register_gst_object_flags),
615         (gst_object_flags_get_type), (register_gst_bin_flags),
616         (gst_bin_flags_get_type), (register_gst_buffer_flag),
617         (gst_buffer_flag_get_type), (register_gst_bus_flags),
618         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
619         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
620         (gst_caps_flags_get_type), (register_gst_clock_return),
621         (gst_clock_return_get_type), (register_gst_clock_entry_type),
622         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
623         (gst_clock_flags_get_type), (register_gst_state),
624         (gst_state_get_type), (register_gst_state_change_return),
625         (gst_state_change_return_get_type), (register_gst_state_change),
626         (gst_state_change_get_type), (register_gst_element_flags),
627         (gst_element_flags_get_type), (register_gst_core_error),
628         (gst_core_error_get_type), (register_gst_library_error),
629         (gst_library_error_get_type), (register_gst_resource_error),
630         (gst_resource_error_get_type), (register_gst_stream_error),
631         (gst_stream_error_get_type), (register_gst_event_type_flags),
632         (gst_event_type_flags_get_type), (register_gst_event_type),
633         (gst_event_type_get_type), (register_gst_seek_type),
634         (gst_seek_type_get_type), (register_gst_seek_flags),
635         (gst_seek_flags_get_type), (register_gst_format),
636         (gst_format_get_type), (register_gst_index_certainty),
637         (gst_index_certainty_get_type), (register_gst_index_entry_type),
638         (gst_index_entry_type_get_type),
639         (register_gst_index_lookup_method),
640         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
641         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
642         (gst_index_resolver_method_get_type), (register_gst_index_flags),
643         (gst_index_flags_get_type), (register_gst_debug_level),
644         (gst_debug_level_get_type), (register_gst_debug_color_flags),
645         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
646         (gst_iterator_result_get_type), (register_gst_iterator_item),
647         (gst_iterator_item_get_type), (register_gst_message_type),
648         (gst_message_type_get_type), (register_gst_mini_object_flags),
649         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
650         (gst_pad_link_return_get_type), (register_gst_flow_return),
651         (gst_flow_return_get_type), (register_gst_activate_mode),
652         (gst_activate_mode_get_type), (register_gst_pad_direction),
653         (gst_pad_direction_get_type), (register_gst_pad_flags),
654         (gst_pad_flags_get_type), (register_gst_pad_presence),
655         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
656         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
657         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
658         (gst_plugin_error_get_type), (register_gst_plugin_flags),
659         (gst_plugin_flags_get_type), (register_gst_rank),
660         (gst_rank_get_type), (register_gst_query_type),
661         (gst_query_type_get_type), (register_gst_tag_merge_mode),
662         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
663         (gst_tag_flag_get_type), (register_gst_task_state),
664         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
665         (gst_alloc_trace_flags_get_type),
666         (register_gst_type_find_probability),
667         (gst_type_find_probability_get_type), (register_gst_uri_type),
668         (gst_uri_type_get_type), (register_gst_parse_error),
669         (gst_parse_error_get_type):
670         * win32/common/gstenumtypes.h:
671         * win32/common/gstversion.h:
672           update visual studio generated files
673
674 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
675
676         * win32/vs6/libgstbase.dsp:
677         * win32/vs6/libgstelements.dsp:
678           update project files for new locations
679
680 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
681
682         * Makefile.am:
683           remove some files
684         * README:
685           reinstate and update
686         * DEVEL:
687         * REQUIREMENTS:
688           removed
689         * LICENSE:
690         * docs/random/LICENSE:
691           moved to random
692
693 2005-11-30  Edward Hervey  <edward@fluendo.com>
694
695         * gst/gsttypefind.c: (gst_type_find_register):
696         * gst/gsttypefind.h:
697         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
698         (gst_type_find_factory_dispose):
699         * gst/gsttypefindfactory.h:
700         Fix memory leak in GstTypeFindFactory.
701
702 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
703
704         * gst/gst.c:
705         * plugins/elements/Makefile.am:
706         * plugins/elements/gstelements.c:
707         * plugins/elements/gstqueue.c:
708           move queue from core to the elements plugin
709
710 2005-11-29  Andy Wingo  <wingo@pobox.com>
711
712         * libs/gst/base/gstbasetransform.h: 
713         * libs/gst/base/gstbasesrc.h: 
714         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
715
716         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
717         of pointers by which to pad very extensible base classes (like the
718         ones in libs/gst/base).
719
720 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
721
722         * docs/gst/gstreamer-docs.sgml:
723         * docs/gst/gstreamer-sections.txt:
724         * docs/libs/gstreamer-libs-docs.sgml:
725         * docs/libs/gstreamer-libs-sections.txt:
726           moving documentation from core to lib
727
728 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
729
730         * check/Makefile.am:
731         * configure.ac:
732         * docs/gst/Makefile.am:
733         * gst/Makefile.am:
734         * gst/base/.cvsignore:
735         * gst/base/Makefile.am:
736         * gst/base/README:
737         * gst/base/gstadapter.c:
738         * gst/base/gstadapter.h:
739         * gst/base/gstbasesink.c:
740         * gst/base/gstbasesink.h:
741         * gst/base/gstbasesrc.c:
742         * gst/base/gstbasesrc.h:
743         * gst/base/gstbasetransform.c:
744         * gst/base/gstbasetransform.h:
745         * gst/base/gstcollectpads.c:
746         * gst/base/gstcollectpads.h:
747         * gst/base/gstpushsrc.c:
748         * gst/base/gstpushsrc.h:
749         * gst/base/gsttypefindhelper.c:
750         * gst/base/gsttypefindhelper.h:
751         * gst/check/Makefile.am:
752         * gst/check/gstcheck.c:
753         * gst/check/gstcheck.h:
754         * gst/net/Makefile.am:
755         * gst/net/gstnet.h:
756         * gst/net/gstnetclientclock.c:
757         * gst/net/gstnetclientclock.h:
758         * gst/net/gstnettimepacket.c:
759         * gst/net/gstnettimepacket.h:
760         * gst/net/gstnettimeprovider.c:
761         * gst/net/gstnettimeprovider.h:
762         * libs/gst/Makefile.am:
763         * libs/gst/base/Makefile.am:
764         * libs/gst/base/gstbasetransform.c:
765         * libs/gst/check/Makefile.am:
766         * plugins/elements/Makefile.am:
767         * po/POTFILES.in:
768           CVS surgery + support to move base, check, and net out of gst
769           and into libs/gst
770
771 2005-11-29  Andy Wingo  <wingo@pobox.com>
772
773         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
774
775         * gst/gststructure.h (struct _GstStructure): Only one pointer of
776         padding.
777
778         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
779
780         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
781
782         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
783
784         * gst/gstobject.h: (struct _GstObject): Only one pointer of
785         padding; reduces object size by about 30%. We don't expect
786         anything else to go into gstobject.
787
788         * gst/gstminiobject.h (struct _GstMiniObject)
789         (struct _GstMiniObjectClass): Only one pointer of padding; the
790         payload is only a pointer and two ints anyway. For the class there
791         are only two methods as well.
792         
793         * gst/gstelement.h (struct _GstElementClass): Removed
794         the state_changed signal callback, it is not used.
795
796 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
797
798         * docs/gst/gstreamer.types:
799           fix includes, though they are a little dinky
800
801 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
802
803         * check/Makefile.am:
804           look in the right place for elements, a lot more chance of
805           success
806         * gst/Makefile.am:
807           remove indexers and elements subdirs
808         * plugins/Makefile.am:
809           make indexers conditional
810
811 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
812
813         * Makefile.am:
814         * configure.ac:
815         * plugins/elements/Makefile.am:
816         * plugins/elements/gstcapsfilter.c:
817         * plugins/elements/gstfilesink.c:
818         * plugins/elements/gstfilesrc.c:
819         * plugins/elements/gstidentity.c:
820         * plugins/indexers/Makefile.am:
821           do CVS surgery and related build fixery to move elements
822           and indexers in a new gstreamer/plugins directory, out of the
823           gst/ directory
824
825 2005-11-29  Andy Wingo  <wingo@pobox.com>
826
827         * check/Makefile.am:
828         * pkgconfig/gstreamer-net-uninstalled.pc.in:
829         * pkgconfig/gstreamer-net.pc.in:
830         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
831         #322257.
832
833 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
834
835         * tools/Makefile.am:
836         * tools/gst-complete.1.in:
837         * tools/gst-complete.c:
838         * tools/gst-compprep.1.in:
839         * tools/gst-compprep.c:
840           removing -compprep and -complete
841
842 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
843
844         * gst/gstevent.c: (gst_event_new_new_segment),
845         (gst_event_parse_new_segment):
846         * gst/gstevent.h:
847           fix #320529 - clean up new_segment API and structure.
848           Let's hope everyone was using the methods, and not the structure.
849
850 2005-11-29  Edward Hervey  <edward@fluendo.com>
851
852         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
853         (gst_base_sink_event), (gst_base_sink_do_sync),
854         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
855         Properly handle non GST_FORMAT_TIME segment
856         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
857         Properly handle non GST_FORMAT_TIME segment
858         * gst/gstsegment.c:
859         This function is valid if the accumulator is 0 and the format
860         is different from the requested format.
861         
862 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
863
864         * docs/gst/gstreamer-sections.txt:
865         Add gst_query_new_seeking and gst_query_parse_seeking to the
866         docs.
867
868 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
869
870         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
871           Treat a pad alloc with new caps the same as if we were not
872           negotiated, in order to allow a changing upstream output
873           to produce a new format of data.
874
875 2005-11-29  Edward Hervey  <edward@fluendo.com>
876
877         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
878         (gst_base_transform_event), (gst_base_transform_eventfunc):
879         The event virtual method is now properly implemented, with a default
880         handler
881         Sub classes should call the parent_class event method. They should
882         return FALSE if they had a problem handling the given event, or don't
883         want GstBaseTransform to send that even downstream
884         * gst/elements/gstidentity.c: (gst_identity_class_init),
885         (gst_identity_init), (gst_identity_event),
886         (gst_identity_transform_ip), (gst_identity_set_property),
887         (gst_identity_get_property):
888         * gst/elements/gstidentity.h:
889         Added the single-segment boolean property.
890         If set to TRUE, it will output a single segment of data, starting from
891         0, will eat up all incoming newsegment, and modify the timestamp of the
892         buffers accordingly
893
894 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
895
896         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
897           Don't ref NULL target pad (#322751). Improve docs.
898
899 2005-11-29  Michael Smith  <msmith@fluendo.com>
900
901         * gst/gstregistryxml.c: (load_plugin):
902           Don't crash if we failed to load a feature from a plugin. 
903
904 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
905
906         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
907         (GST_START_TEST):
908           use more check API and less GLib API
909
910 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
911
912         * Makefile.am:
913           don't run checks if we don't have check
914         * common/check.mak:
915           remove the registry when running make torture
916         * docs/gst/gstreamer-sections.txt:
917           remove second multiply
918         * gst/gstqueue.c: (gst_queue_loop):
919           fix a compile warning when disabling debug
920
921 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
922
923         * gst/gstinfo.h:
924         Hey! Let's print the pad name if the pointer != NULL instead
925         of when it == NULL :-)
926
927 2005-11-28  Wim Taymans  <wim@fluendo.com>
928
929         * check/gst/gstutils.c: (GST_START_TEST):
930         Updated check, add some scaling accuracy checking code.
931
932         * gst/gstutils.c: (gst_util_div128_64),
933         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
934         (gst_util_uint64_scale_int):
935         Fix 6 times faster division code. Optimize for common 
936         1/1 and less common X/1 cases.
937
938 2005-11-28  Wim Taymans  <wim@fluendo.com>
939
940         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
941         More checks.
942
943         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
944         (do_linear_regression), (gst_clock_add_observation):
945         Cleanups.
946         Release lock when the clock cannot be slaved.
947         Catch the case where the regression returned an invalid denominator.
948
949         * gst/gstutils.c: (gst_util_div128_64_iterate),
950         (gst_util_div128_64), (gst_util_uint64_scale_int64),
951         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
952         Add protentially more performant non-iterative 128/64 divide function
953         that unfortunatly does not work yet.
954         Shortcut the trivial 0/X = 0 case.
955         Remove the warnings on overflow.
956
957 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
958
959         * gst/gstplugin.c: (gst_plugin_register_func):
960           everything causing a plugin not to load should be at least a WARNING
961
962 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
963
964         * docs/random/ensonic/dparams.txt:
965           some TODOs for the next dev cycle
966         * libs/gst/controller/gstcontroller.c:
967         (gst_controlled_property_set_interpolation_mode),
968         (gst_controlled_property_new):
969         * libs/gst/controller/gstcontroller.h:
970           use base type to assign acccessor functions
971
972 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
973
974         * check/Makefile.am:
975         Oops, that should have been top_srcdir
976
977 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
978
979         * check/Makefile.am:
980         * check/elements/fdsrc.c: (GST_START_TEST):
981         Use a cmdline define to specify the location of a file to use for
982         testing, to avoid breaking distcheck.
983
984 2005-11-28  Andy Wingo  <wingo@pobox.com>
985
986         * gst/gstpad.c (fixate_value): Use array functions for arrays.
987
988 2005-11-28  Edward Hervey  <edward@fluendo.com>
989
990         * tools/gst-launch.c: (main):
991         Clarify the output strings, makes it easier to translate.
992         Fixes #322626
993
994 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
995
996         * gst/Makefile.am:
997           don't try and build net if we don't even have <sys/socket.h>
998
999 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
1000
1001         * check/Makefile.am:
1002         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
1003         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
1004           Add tests for fdsrc seekability
1005
1006         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
1007         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
1008         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
1009         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
1010         * gst/elements/gstfdsrc.h:
1011           fdsrc should not be a 'live' source.
1012           Implement seeking on seekable fd's.
1013
1014         * gst/gstquery.c: (gst_query_new_seeking),
1015         (gst_query_parse_seeking):
1016         * gst/gstquery.h:
1017           Implement SEEKING query functions: 
1018             *_new_seeking and *_parse_seeking
1019
1020 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
1021
1022         * gst/gstelement.c: (gst_element_dispose):
1023           don't loop forever
1024
1025         * gst/gstiterator.c:
1026         * gst/gststructure.c:
1027           doc fixes
1028
1029         * libs/gst/controller/gstcontroller.c:
1030         (gst_controlled_property_set_interpolation_mode):
1031         * libs/gst/controller/gstcontroller.h:
1032         * libs/gst/controller/gstinterpolation.c:
1033         (interpolate_none_get_enum_value_array):
1034           support controlling enums
1035
1036 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1037
1038         * gst/gstvalue.c:
1039           Improve documentation for gst_value_union().
1040
1041         * gst/gstvalue.h:
1042           Change return value for union, intersect and subtract functions
1043           from gint to gboolean.
1044
1045 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1046
1047         * gst/gstvalue.c: (gst_value_serialize_any_list),
1048         (gst_value_transform_any_list_string),
1049         (gst_value_deserialize_list), (gst_value_deserialize_array),
1050         (gst_value_set_int_range), (gst_value_deserialize_int_range),
1051         (gst_value_set_double_range), (gst_value_deserialize_double_range),
1052         (gst_value_set_fraction_range_full),
1053         (gst_value_deserialize_fraction_range),
1054         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
1055         (gst_value_deserialize_boolean),
1056         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
1057         (gst_value_serialize_float), (gst_value_deserialize_float),
1058         (gst_string_wrap), (gst_value_deserialize_string),
1059         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
1060         (gst_value_union_int_range_int_range),
1061         (gst_value_intersect_int_range_int_range),
1062         (gst_value_intersect_double_range_double_range),
1063         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
1064         (gst_value_subtract_int_range_int_range),
1065         (gst_value_subtract_double_double_range),
1066         (gst_value_subtract_double_range_double_range),
1067         (gst_value_deserialize_fraction):
1068         * gst/gstvalue.h:
1069           Use gint, gdouble and gchar in our API instead of int, double and
1070           char (and make usage in gstvalue.c more consistent).
1071
1072 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1073
1074         * check/Makefile.am:
1075         * libs/gst/controller/Makefile.am:
1076         * libs/gst/dataprotocol/Makefile.am:
1077           fix up Makefile.am and remove GST_ENABLE_NEW
1078
1079 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1080
1081         * configure.ac:
1082         * gst/Makefile.am:
1083         * gst/base/Makefile.am:
1084         * gst/check/Makefile.am:
1085         * gst/elements/Makefile.am:
1086         * gst/net/Makefile.am:
1087           update LDFLAGS use some more
1088
1089 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1090
1091         * common/m4/gst-doc.m4:
1092           Fixes #312589
1093
1094 2005-11-26  Edward Hervey  <edward@fluendo.com>
1095
1096         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1097         This shouldn't issue a g_warning since it returns NULL if it
1098         couldn't find the plugin, and all functions using this behave
1099         properly on a NULL return. Switching to a GST_WARNING.
1100
1101 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
1102
1103         * gst/gstbin.c: (gst_bin_handle_message_func):
1104         Don't leak clock messages.
1105
1106 2005-11-25  Wim Taymans  <wim@fluendo.com>
1107
1108         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1109         (gst_util_uint64_scale_int):
1110         Optimisations, remove unneeded vars.
1111
1112 2005-11-25  Wim Taymans  <wim@fluendo.com>
1113
1114         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1115         Added more checks for the high precision uint64 cases.
1116
1117         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1118         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1119         Implement high precision (guint64 * guint64) / guint64.
1120
1121 2005-11-24  Wim Taymans  <wim@fluendo.com>
1122
1123         * gst/base/gstbasesrc.c: (gst_base_src_query):
1124         Fix wrong percentage query.
1125
1126         * gst/gstutils.c: (gst_util_uint64_scale),
1127         (gst_util_uint64_scale_int):
1128         Add some more common cases that can be handled 
1129         efficiently to _scale.
1130
1131 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1132
1133         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
1134         (gst_mini_object_suite):
1135           don't use check calls from threads; check probably isn't
1136           threadsafe and using a lock to make it threadsafe would
1137           defeat the purpose of this check
1138         * gst/check/gstcheck.c:
1139         * gst/check/gstcheck.h:
1140           use GST_DEBUG some more
1141
1142 2005-11-24  Wim Taymans  <wim@fluendo.com>
1143
1144         * gst/gstutils.c: (gst_util_uint64_scale),
1145         (gst_util_uint64_scale_int):
1146         Chain trivial case to _scale_int.
1147
1148 2005-11-24  Wim Taymans  <wim@fluendo.com>
1149
1150         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1151         Added test for scaling.
1152
1153         * gst/gstclock.h:
1154         Small doc fix.
1155
1156         * gst/gstutils.c: (gst_util_uint64_scale_int):
1157         Implemented high precision scaling code.
1158
1159 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
1160
1161         * gst/gstinfo.h:
1162           do not crash on pad==NULL
1163
1164 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1165
1166         Patch by: Stefan Kost
1167
1168         * common/gtk-doc.mak:
1169         * docs/gst/Makefile.am:
1170         * docs/libs/Makefile.am:
1171           Fix distcheck issues for the libraries docs build
1172           Closes #319599.
1173
1174 2005-11-24  Michael Smith <msmith@fluendo.com>
1175
1176         * docs/manual/basics-helloworld.xml:
1177           Fix bug #315027: memory leak in example code in docs.
1178
1179 2005-11-24  Michael Smith <msmith@fluendo.com>
1180
1181         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1182           Unlock the PREROLL_LOCK in a failure case.
1183
1184 2005-11-24  Wim Taymans  <wim@fluendo.com>
1185
1186         * docs/gst/gstreamer-sections.txt:
1187         * gst/base/gstadapter.h:
1188         * gst/base/gstbasesink.h:
1189         * gst/base/gstbasesrc.h:
1190         * gst/base/gstbasetransform.h:
1191         * gst/base/gstpushsrc.h:
1192         * gst/elements/gstfakesink.h:
1193         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1194         * gst/elements/gstfakesrc.h:
1195         * gst/elements/gstfilesink.h:
1196         * gst/elements/gstfilesrc.h:
1197         * gst/gst.c:
1198         * gst/gstbin.c:
1199         * gst/gstbuffer.c: (_gst_buffer_copy):
1200         * gst/gstbus.h:
1201         * gst/gstcaps.c:
1202         * gst/gstchildproxy.c:
1203         * gst/gstclock.c:
1204         * gst/gstelement.c:
1205         * gst/gstelementfactory.c:
1206         * gst/gstelementfactory.h:
1207         * gst/gstevent.c:
1208         * gst/gstghostpad.h:
1209         * gst/gstindex.h:
1210         * gst/gstinterface.h:
1211         * gst/gstminiobject.c:
1212         * gst/gstminiobject.h:
1213         * gst/gstpad.c:
1214         * gst/gstpad.h:
1215         * gst/gstpadtemplate.h:
1216         * gst/gstpipeline.h:
1217         * gst/gstpluginfeature.h:
1218         * gst/gstquery.h:
1219         * gst/gstqueue.h:
1220         * gst/gsttaglist.c:
1221         * gst/gsttaglist.h:
1222         * gst/gsttagsetter.c:
1223         * gst/gsttagsetter.h:
1224         * gst/gsttrace.c:
1225         * gst/gsttrace.h:
1226         * gst/gsttypefind.h:
1227         * gst/gsturi.h:
1228         * gst/gstvalue.c:
1229         * gst/net/gstnetclientclock.c:
1230         * gst/net/gstnetclientclock.h:
1231         * gst/net/gstnettimepacket.c:
1232         * gst/net/gstnettimeprovider.c:
1233         * gst/net/gstnettimeprovider.h:
1234         Doc fixes.
1235
1236 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1237
1238         * configure.ac: back to HEAD
1239
1240 === release 0.9.6 ===
1241
1242 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
1243
1244         * configure.ac:
1245           releasing 0.9.6, "Always On Time"
1246
1247 2005-11-23  Wim Taymans  <wim@fluendo.com>
1248
1249         * docs/gst/gstreamer-sections.txt:
1250         * gst/glib-compat.c:
1251         * gst/gsttagsetter.c:
1252         * gst/gstvalue.c:
1253         * gst/net/gstnetclientclock.c:
1254         * gst/net/gstnettimepacket.h:
1255         Doc updates.
1256
1257 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1258
1259         * docs/faq/using.xml:
1260         * docs/libs/tmpl/gstcontrol.sgml:
1261         * docs/manual/advanced-dparams.xml:
1262         * docs/manual/appendix-checklist.xml:
1263         * docs/manual/basics-elements.xml:
1264         * docs/pwg/other-source.xml:
1265         * docs/random/moving-plugins:
1266         * gst/gstpad.c:
1267         * tools/gst-launch.1.in:
1268           remove mentions of sinesrc
1269
1270 2005-11-23  Michael Smith <msmith@fluendo.com>
1271
1272         * docs/gst/gstreamer-sections.txt:
1273           Update for new API and API changes.
1274         * gst/gstobject.h:
1275           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1276         * gst/gstvalue.c:
1277           Documentation typo fix.
1278         * gst/net/gstnettimepacket.c:
1279           Documentation fixes for arguments.
1280
1281 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
1282
1283         * gst/gststructure.c: (gst_structure_get_fraction),
1284         (gst_structure_parse_value),
1285         (gst_structure_fixate_field_nearest_fraction):
1286         * gst/gststructure.h:
1287         * gst/gstutils.c: (gst_util_uint64_scale_int):
1288         * gst/gstutils.h:
1289         * scripts/update-funcnames:
1290         API Changes. 
1291         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1292         Make gst_structure_fixate_field_nearest_fraction take a numerator
1293         and denominator argument instead of a GValue
1294         add gst_structure_get_fraction helper function.
1295
1296 2005-11-23  Wim Taymans  <wim@fluendo.com>
1297
1298         * docs/design/part-TODO.txt:
1299         Update TODO.
1300
1301         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1302         * gst/net/gstnetclientclock.h:
1303         Use parent fields for timeout and window_size.
1304
1305 2005-11-23  Andy Wingo  <wingo@pobox.com>
1306
1307         * check/net/gstnetclientclock.c (test_functioning): Adjust to
1308         rate_num/rate_denom change.
1309
1310         * gst/net/gstnetclientclock.c
1311         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1312         OBJECT_LOCK. Don't call add_observation with the lock.
1313
1314         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1315         fraction.
1316         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1317         rate fraction.
1318         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1319         deal with rate as a fraction whose numerator and denominator are
1320         GstClockTime values.
1321         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1322         master; the other fields are protected by the SLAVE_LOCK.
1323         (do_linear_regression): Note that this must be called with the
1324         SLAVE_LOCK.
1325         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1326         OBJECT_LOCK. Call set_calibration instead of touching the
1327         variables directly.
1328         (gst_clock_set_property, gst_clock_get_property): Protect
1329         master/slave parameters with the SLAVE_LOCK.
1330
1331         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1332         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1333         note that all of the instance variables that add_observation and
1334         the set_master functions use are protected by that lock and not
1335         the OBJECT_LOCK.
1336         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1337
1338         * gst/gstclock.c (gst_clock_add_observation): No longer requires
1339         the caller to take the object lock.
1340
1341 2005-11-23  Wim Taymans  <wim@fluendo.com>
1342
1343         * gst/gsterror.c: (_gst_core_errors_init):
1344         * gst/gsterror.h:
1345         Add error for clock stuff.
1346
1347         * gst/gstpipeline.c: (gst_pipeline_change_state),
1348         (gst_pipeline_set_clock):
1349         Post clock error when clock cannot be used in a pipeline.
1350
1351 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
1352
1353         * docs/gst/gstreamer-sections.txt:
1354           make two symbols from gstinfo private for the docs
1355         * gst/base/gstcollectpads.h:
1356         * gst/gstutils.c:
1357           fix doc typos, update docs
1358
1359 2005-11-22  Wim Taymans  <wim@fluendo.com>
1360
1361         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1362         (gst_base_sink_wait), (gst_base_sink_do_sync),
1363         (gst_base_sink_handle_event):
1364         * gst/base/gstbasesink.h:
1365         No need to store the clock, the parent element class already
1366         has it.
1367
1368         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
1369         Updates for clock_set returning a gboolean
1370
1371         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
1372         (gst_clock_id_wait_async), (gst_clock_class_init),
1373         (gst_clock_init), (gst_clock_finalize),
1374         (gst_clock_get_internal_time), (gst_clock_get_time),
1375         (gst_clock_slave_callback), (gst_clock_set_master),
1376         (gst_clock_get_master), (do_linear_regression),
1377         (gst_clock_add_observation), (gst_clock_set_property),
1378         (gst_clock_get_property):
1379         * gst/gstclock.h:
1380         Implement master/slave. When setting a clock as a slave, a
1381         periodic timeout is scheduled to sample master and slave times.
1382         Then the slave clock is recalibrated to match offset and rate
1383         of the master clock.
1384         Update logging a bit.
1385         Add flag so that a clock can state that is cannot be slaved to
1386         another clock.
1387
1388         * gst/gstelement.c: (gst_element_set_clock):
1389         * gst/gstelement.h:
1390         The set clock returns a gboolean for when an element cannot
1391         deal with the selected clock in the pipeline. 
1392
1393         * gst/gstpipeline.c: (gst_pipeline_change_state),
1394         (gst_pipeline_set_clock):
1395         * gst/gstpipeline.h:
1396         Handle the case where the selected clock cannot be set on
1397         the pipeline.
1398
1399         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
1400         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1401         (gst_net_client_clock_set_property),
1402         (gst_net_client_clock_get_property),
1403         (gst_net_client_clock_observe_times):
1404         * gst/net/gstnetclientclock.h:
1405         Use regression code in GstClock parent, remove duplicated
1406         functionality.
1407
1408 2005-11-22  Michael Smith <msmith@fluendo.com>
1409
1410         * gst/gstutils.c: (gst_util_clock_time_scale):
1411         * gst/gstutils.h:
1412         * docs/gst/gstreamer-sections.txt:
1413           Rename method to have extra underscore.
1414
1415 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1416
1417         * gst/elements/Makefile.am:
1418         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
1419         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1420         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1421         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
1422         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
1423         * gst/elements/gstfakesrc.h:
1424         * gst/gstqueue.c: (queue_leaky_get_type):
1425           correctly fix GEnumValues so that nick is the short lowercase
1426           dashed tag
1427         * tools/gst-inspect.c: (print_element_properties_info):
1428           also show the nick, since it's useful to use from parse_launch
1429           syntax
1430           Fixes #322139
1431
1432 2005-11-22  Michael Smith <msmith@fluendo.com>
1433
1434         * gst/gstutils.c: (gst_util_clocktime_scale):
1435         * gst/gstutils.h:
1436         * docs/gst/gstreamer-sections.txt:
1437           Add util method for scaling a clocktime by a fraction. Useful 
1438           implementation is left as an exercise for the reader.
1439
1440 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1441
1442         * gst/gstvalue.c: (gst_value_collect_fraction_range):
1443         If needed, allocate storage in the destination value during
1444         collection.
1445
1446 2005-11-22  Edward Hervey  <edward@fluendo.com>
1447
1448         * docs/gst/gstreamer-sections.txt:
1449         * gst/Makefile.am:
1450         * gst/gst.h:
1451         * gst/gsturitype.c:
1452         * gst/gsturitype.h:
1453         * gst/gstutils.c: (gst_util_set_object_arg):
1454         * tools/gst-compprep.c: (main):
1455         * tools/gst-inspect.c: (print_element_properties_info):
1456         Removed GstURI, closes bug #321061
1457
1458 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1459
1460         * check/gst/gststructure.c: (GST_START_TEST):
1461         * gst/gststructure.c: (gst_structure_parse_value):
1462           Oops, broke automatic string type parsing.
1463           Add a test to catch it in future.
1464
1465 2005-11-22  Andy Wingo  <wingo@pobox.com>
1466
1467         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
1468         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
1469         Actually rename the function implementations. Grr.
1470
1471 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1472
1473         * check/gst/capslist.h:
1474           Comment test cases
1475         * check/gst/gststructure.c: (GST_START_TEST),
1476         (gst_structure_suite):
1477           Test automatic value type detection in gst_structure_from_string.
1478         * gst/gststructure.c: (gst_structure_parse_value):
1479           Add fraction as a type we try and guess automatically in
1480           caps/structure strings.
1481
1482 2005-11-22  Andy Wingo  <wingo@pobox.com>
1483
1484         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
1485
1486         * gst/gsttagsetter.h:
1487         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
1488         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
1489         (gst_tag_setter_add_tag_valist)
1490         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
1491         _add_values, _add_valist, and _add_valist_values. Since this is an
1492         interface the function suffixes should be more explicit so
1493         language binding don't end up with element.add_valist ->
1494         gst_tag_setter_add_valist, for example. Fixes #322069.
1495
1496 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1497
1498         * check/gst/gstcaps.c: (GST_START_TEST):
1499           Extend caps string tests to check that a caps to string
1500           conversion is reversible and produces the same caps.
1501
1502         * gst/gststructure.c: (gst_structure_value_get_generic_type):
1503           Output "fraction" as the generic type fraction range, so caps
1504           serialisation and deserialisation works.
1505         * check/gst/capslist.h:
1506         * gst/gstvalue.c: (gst_value_deserialize_fraction):
1507           Support 'MIN' and 'MAX' for deserialising fractions.
1508
1509 2005-11-22  Andy Wingo  <wingo@pobox.com>
1510
1511         * gst/gstevent.h (gst_event_new_new_segment)
1512         (gst_event_parse_new_segment, gst_event_new_buffer_size)
1513         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
1514         Renamed from *_newsegment, *_buffersize, *_notarget.
1515
1516         * scripts/update-funcnames: New script, performs the changes
1517         listed above.
1518
1519 2005-11-22  Wim Taymans  <wim@fluendo.com>
1520
1521         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1522         Make sure the GstFlowReturn is returned.
1523
1524         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
1525         (gst_bus_add_signal_watch):
1526         * gst/gstbus.h:
1527         add gst_bus_add_signal_watch_full.
1528
1529         * gst/gstplugin.c: (gst_plugin_load_file):
1530         Small style cleanup.
1531
1532 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1533
1534         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
1535           Block the fakesrc srcpad when we send an event, to avoid
1536           contention on the stream_lock causing random test failures.
1537
1538 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1539
1540         * check/gst/gstvalue.c: (GST_START_TEST):
1541         * gst/gstvalue.c: (gst_value_fraction_subtract):
1542           Fix subtraction.
1543
1544 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
1545
1546         * gst/gst.h:
1547           include "gstchildproxy.h"
1548         * gst/gstchildproxy.h:
1549         * libs/gst/controller/gstcontroller.h:
1550           use G_GNUC_NULL_TERMINATED
1551
1552 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1553
1554         * check/gst/capslist.h:
1555         * check/gst/gstcaps.c: (GST_START_TEST):
1556         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1557         * gst/gststructure.c: (gst_structure_parse_range),
1558         (gst_structure_fixate_field_nearest_fraction):
1559         * gst/gststructure.h:
1560         * gst/gstvalue.c: (gst_value_init_fraction_range),
1561         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
1562         (gst_value_collect_fraction_range),
1563         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
1564         (gst_value_set_fraction_range_full),
1565         (gst_value_get_fraction_range_min),
1566         (gst_value_get_fraction_range_max),
1567         (gst_value_serialize_fraction_range),
1568         (gst_value_transform_fraction_range_string),
1569         (gst_value_compare_fraction_range),
1570         (gst_value_deserialize_fraction_range),
1571         (gst_value_intersect_fraction_fraction_range),
1572         (gst_value_intersect_fraction_range_fraction_range),
1573         (gst_value_subtract_fraction_fraction_range),
1574         (gst_value_subtract_fraction_range_fraction),
1575         (gst_value_subtract_fraction_range_fraction_range),
1576         (gst_value_collect_fraction), (gst_value_fraction_multiply),
1577         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
1578         (gst_value_transform_string_fraction), (_gst_value_initialize):
1579         * gst/gstvalue.h:
1580           Implement fraction ranges and extend GstFraction to support
1581           arithmetic subtraction, as well as deserialization from integer
1582           strings such as "100"
1583           Add a testsuite as for int and double range set operations
1584
1585 2005-11-21  Andy Wingo  <wingo@pobox.com>
1586
1587         * gst/gsttaglist.h: 
1588         * gst/gstcaps.h: 
1589         * gst/gststructure.h: Add glib-compat.h.
1590
1591 2005-11-21  Wim Taymans  <wim@fluendo.com>
1592
1593         * gst/gstbin.c: (gst_bin_change_state_func):
1594         Fix for #321595
1595
1596 2005-11-21  Wim Taymans  <wim@fluendo.com>
1597
1598         * gst/gstsegment.h:
1599         And add a nice define too.
1600
1601 2005-11-21  Wim Taymans  <wim@fluendo.com>
1602
1603         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
1604         (gst_segment_new), (gst_segment_free), (gst_segment_init),
1605         (gst_segment_set_duration), (gst_segment_set_last_stop),
1606         (gst_segment_set_seek), (gst_segment_set_newsegment),
1607         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1608         (gst_segment_clip):
1609         * gst/gstsegment.h:
1610         Make binding friendly.
1611
1612 2005-11-21  Andy Wingo  <wingo@pobox.com>
1613
1614         * gst/gsttagsetter.h: 
1615         * gst/gsttaglist.h: 
1616         * gst/gststructure.h: 
1617         * gst/gstcaps.h: 
1618         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
1619         #319940.
1620
1621         * gst/gsterror.c (_gst_core_errors_init):
1622         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
1623         category.
1624
1625         * gst/Makefile.am (gst_headers): Add glib-compat.h.
1626         (noinst_HEADERS): noinst the -private.
1627
1628 2005-11-21  Michael Smith <msmith@fluendo.com>
1629
1630         * gst/gstplugin.h:
1631         * gst/gstregistry.h:
1632           Remove unimplemented declarations for which we can see no sensible
1633           use.
1634
1635 2005-11-21  Andy Wingo  <wingo@pobox.com>
1636
1637         * gst/gst.h: Include glib-compat.h.
1638
1639         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
1640
1641         * gst/glib-compat.c: Include the public and the private header.
1642
1643         * gst/glib-compat-private.h: Copied here from glib-compat.h.
1644
1645         * gst/gstvalue.c: 
1646         * gst/gstpad.c: 
1647         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
1648
1649         * check/gst/gstevent.c (create_custom_events): Check that
1650         FLUSH_STOP is serialized.
1651
1652         * check/elements/identity.c (event_func): 
1653         * check/elements/fakesrc.c (event_func): No stream lock, the core
1654         takes it.
1655
1656         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
1657         stream lock taking, yay.
1658
1659         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
1660         ensure that core takes the stream lock.
1661
1662         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
1663         lock name change.
1664
1665         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
1666         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
1667         it already. For the flush start we do take it though so we get the
1668         right preroll state change messages.
1669
1670         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
1671         the stream lock here, the core does it for us.
1672
1673         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
1674         GST_STREAM_GET_LOCK.
1675         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
1676         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
1677         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
1678         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
1679         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
1680         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
1681
1682         * gst/gstpad.c: Update for stream lock name change.
1683
1684         * gst/base/gstbasesink.c: Update for preroll lock name change.
1685
1686 2005-11-21  Wim Taymans  <wim@fluendo.com>
1687
1688         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
1689         (gst_clock_get_master):
1690         * gst/gstclock.h:
1691         * gst/gstsystemclock.c: (gst_system_clock_init):
1692         Convert Clock flags to object flags.
1693         Added methods to manage master/slave clocks.
1694
1695 2005-11-21  Wim Taymans  <wim@fluendo.com>
1696
1697         * check/gst/gstsegment.c: (GST_START_TEST):
1698         * docs/design/part-TODO.txt:
1699         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1700         (gst_base_sink_event), (gst_base_sink_do_sync),
1701         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
1702         (gst_base_sink_query), (gst_base_sink_change_state):
1703         * gst/base/gstbasesink.h:
1704         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
1705         (gst_base_src_default_newsegment),
1706         (gst_base_src_configure_segment), (gst_base_src_do_seek),
1707         (gst_base_src_get_range), (gst_base_src_loop),
1708         (gst_base_src_change_state):
1709         * gst/base/gstbasesrc.h:
1710         * gst/base/gstbasetransform.c:
1711         (gst_base_transform_prepare_output_buf),
1712         (gst_base_transform_event), (gst_base_transform_change_state):
1713         * gst/base/gstbasetransform.h:
1714         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1715         (gst_collect_pads_event):
1716         * gst/base/gstcollectpads.h:
1717         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
1718         (gst_fake_src_create):
1719         * gst/elements/gstfakesrc.h:
1720         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1721         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1722         (gst_segment_set_last_stop), (gst_segment_set_seek),
1723         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
1724         (gst_segment_to_running_time), (gst_segment_clip):
1725         * gst/gstsegment.h:
1726         More segment updates, replace code in plugins with segment
1727         helper functions.
1728
1729 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1730
1731         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
1732         Don't ignore sscanf results
1733
1734 2005-11-21  Andy Wingo  <wingo@pobox.com>
1735
1736         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
1737
1738         * *.h:
1739         * *.c: Ran scripts/update-macros. Oh yes.
1740
1741         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
1742         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
1743         GST_GET_LOCK, etc.
1744
1745         * scripts/update-macros: New script. Run it on your files to
1746         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
1747         well.
1748
1749 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1750
1751         * docs/gst/Makefile.am:
1752         * docs/gst/gstreamer-docs.sgml:
1753         * docs/gst/gstreamer-sections.txt:
1754         * docs/gst/gstreamer.types:
1755         * gst/gstinfo.h:
1756           more docs fixes, add new api to the docs
1757
1758 2005-11-21  Andy Wingo  <wingo@pobox.com>
1759
1760         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
1761         state_broadcast call.
1762
1763         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
1764
1765 2005-11-21  Julien MOUTTE  <julien@moutte.net>
1766
1767         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
1768         function calls for arrays.
1769
1770 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1771
1772         * docs/random/ensonic/media-device-daemon.txt:
1773           wild idea, can this be done?
1774         * docs/gst/gstreamer-sections.txt:
1775         * gst/gsterror.h:
1776         * gst/gstfilter.c:
1777         * gst/gstfilter.h:
1778         * gst/gstplugin.h:
1779         * gst/gstpluginfeature.c:
1780         * gst/gsttrace.c:
1781         * gst/gstvalue.c:
1782         * gst/gstvalue.h:
1783           doc fixes and additions
1784
1785 2005-11-21  Andy Wingo  <wingo@pobox.com>
1786
1787         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
1788         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
1789         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
1790         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
1791         private to the basesrc implementation.
1792
1793         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
1794         behalf of event function if necessary. It should no longer be
1795         necessary to take the stream lock in pad's event functions. Fixes
1796         #320299.
1797
1798 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1799         * docs/gst/gstreamer-sections.txt:
1800         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
1801         (gst_structure_fixate_field_nearest_double),
1802         (gst_structure_fixate_field_boolean):
1803         * gst/gststructure.h:
1804         * win32/common/libgstreamer.def:
1805         * win32/gstreamer.def:
1806
1807         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
1808         (#322027)
1809
1810 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1811
1812         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
1813         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
1814         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
1815         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
1816         (gst_fdsrc_uri_handler_init):
1817         * gst/elements/gstfdsrc.h:
1818           Port fd:// URI handler from 0.8 to fdsrc
1819
1820 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1821
1822         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
1823         (gst_value_serialize_fourcc):
1824         * gst/gstvalue.h:
1825           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
1826           consistent with our other format defines (#320324).
1827
1828 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1829
1830         * gst/gstvalue.c: (gst_value_is_fixed):
1831           Revert previous commit. Value lists are by definition
1832           not fixed, as they are a list of possible values.
1833
1834 2005-11-21  Andy Wingo  <wingo@pobox.com>
1835
1836         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
1837         during the stable series if we need it. Fixes #319178.
1838
1839         * gst/gstevent.c (gst_event_new_filler): Removed.
1840
1841         * check/gst/gstevent.c: Update comment about filler events.
1842
1843 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1844
1845         * gst/gstvalue.c: (gst_value_is_fixed):
1846           Should handle both value arrays and value lists.
1847
1848 2005-11-21  Andy Wingo  <wingo@pobox.com>
1849
1850         patch by: Alessandro Dessina <alessandro nnva org>
1851
1852         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
1853         functions to access arrays. Fixes #321962.
1854
1855 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1856
1857         * docs/gst/gstreamer.types:
1858           gst_collectpads_get_type => gst_collect_pads_get_type.
1859           
1860         * gst/base/gstbasetransform.c:
1861           Remove unused SIGNAL_HANDOFF enum.
1862
1863 2005-11-21  Andy Wingo  <wingo@pobox.com>
1864
1865         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
1866         the event type (upstream, downstream, serialized). Renamed
1867         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
1868         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
1869         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
1870
1871         * gst/gstevent.c: Update for new CUSTOM event names.
1872
1873         * check/gst/gstevent.c: Update check for new CUSTOM event names.
1874
1875         * gst/gstevent.h:
1876         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
1877         bug #319392.
1878
1879 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1880
1881         * docs/gst/gstreamer-sections.txt:
1882         * win32/common/libgstbase.def:
1883         * win32/libgstbase.def:
1884         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1885         (gst_collect_pads_class_init), (gst_collect_pads_init),
1886         (gst_collect_pads_finalize), (gst_collect_pads_new),
1887         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
1888         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
1889         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
1890         (gst_collect_pads_start), (gst_collect_pads_stop),
1891         (gst_collect_pads_peek), (gst_collect_pads_pop),
1892         (gst_collect_pads_available), (gst_collect_pads_read),
1893         (gst_collect_pads_flush), (gst_collect_pads_event),
1894         (gst_collect_pads_chain):
1895         * gst/base/gstcollectpads.h:
1896           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
1897           unimplemented functions as unimplemented. Add padding to
1898           GstCollectData. (#320766, #320423)
1899
1900 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1901
1902         * gst/gstmessage.c:
1903           Improve docs for DURATION message (usage of duration parameter)
1904           (#320113)
1905
1906 2005-11-20  Wim Taymans  <wim@fluendo.com>
1907
1908         * check/Makefile.am:
1909         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
1910         (main):
1911         * gst/Makefile.am:
1912         * gst/gst.h:
1913         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1914         (gst_segment_set_seek), (gst_segment_set_newsegment),
1915         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1916         (gst_segment_clip):
1917         * gst/gstsegment.h:
1918         Added segment helper structure and methods. Not fully implemented
1919         yet.
1920         Added segment check.
1921
1922 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
1923
1924         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1925           Add a deserialisation test for fractions
1926         * examples/metadata/read-metadata.c: (message_loop),
1927         (make_pipeline), (main):
1928           Fix up metadata reading sample.
1929         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1930           Debug format fix
1931         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1932           Don't try and fixate empty caps
1933         * gst/gst_private.h:
1934           Wrap in G_BEGIN_DECLS/G_END_DECLS
1935         * gst/gstvalue.c: (gst_value_collect_fraction),
1936         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
1937         (gst_value_transform_string_fraction),
1938         (gst_value_compare_fraction):
1939           Add some extra guards to ensure that we don't end up 
1940           with an invalid denominator of 0 in a gstfraction and
1941           that fractions always get reduced.
1942
1943 2005-11-20  Wim Taymans  <wim@fluendo.com>
1944
1945         * docs/gst/gstreamer-sections.txt:
1946         * gst/gstbuffer.h:
1947         * gst/gstelement.c:
1948         * gst/gstformat.c:
1949         * gst/gstformat.h:
1950         * gst/gstindex.h:
1951         * gst/gstquery.c:
1952         * gst/gstquery.h:
1953         * gst/gstvalue.c:
1954         Doc fixes.
1955
1956 2005-11-20  Wim Taymans  <wim@fluendo.com>
1957
1958         * docs/design/part-TODO.txt:
1959         * gst/gstcaps.h:
1960         Make a proper enum of the flag.
1961
1962 2005-11-19  Wim Taymans  <wim@fluendo.com>
1963
1964         * docs/design/part-TODO.txt:
1965         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
1966         (gst_format_to_quark), (gst_format_register):
1967         * gst/gstformat.h:
1968         * gst/gstquery.c: (_gst_query_initialize),
1969         (gst_query_type_get_name), (gst_query_type_to_quark),
1970         (gst_query_type_register):
1971         * gst/gstquery.h:
1972         Add type to quark and type to string conversions.
1973
1974 2005-11-19  Andy Wingo  <wingo@pobox.com>
1975
1976         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
1977         #320097.
1978
1979 2005-11-19  Wim Taymans  <wim@fluendo.com>
1980
1981         * docs/design/part-TODO.txt:
1982         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
1983         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
1984         (gst_bin_handle_message_func):
1985         * gst/gstbin.h:
1986         Make message handling overridable.
1987
1988 2005-11-19  Andy Wingo  <wingo@pobox.com>
1989
1990         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
1991
1992         * gst/gstclock.h:
1993         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
1994         be a GstClockTime.
1995         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
1996         is a GstClockTime. Fixes #321710.
1997
1998         * gst/gstclock.h (GstClock): Remove offset property. Add
1999         internal_calibration and external_calibration. Fix padding. Pad
2000         also by GstClockTime so we don't run into problems.
2001
2002         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
2003         (gst_clock_get_rate_offset): Remove.
2004         (gst_clock_set_time_adjust): Remove. Fixes #321712.
2005
2006         * gst/gstutils.h:
2007         * gst/gstutils.c (g_static_rec_cond_wait)
2008         (g_static_rec_cond_timed_wait): Removed, no longer needed.
2009
2010         * gst/gstbin.c: Remove terrible continue_state prototype.
2011
2012         * gst/gstelement.h (gst_element_continue_state): Make public.
2013
2014         * gst/gstelement.h:
2015         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
2016         by continue_state. Fixes #319389.
2017
2018         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
2019         Really fixes #168438. However I don't see anywhere where the
2020         filter function is called... stupid GStreamer...
2021         
2022         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
2023         don't have a dispose function, so it won't get called when the
2024         object is unreffed, but oh well!
2025
2026         * gst/gstindex.c (gst_index_set_filter_full): New API function,
2027         allows a destroy function to be set so user_data can be freed.
2028         Fixes #168438.
2029         (gst_index_set_filter): Call gst_index_set_filter_full.
2030
2031         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
2032
2033         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
2034         string should produce an error, given the lack of a way to
2035         represent NULL strings. Fixes #165650.
2036         
2037         * gst/gstvalue.h: 
2038         * gst/gstvalue.c (gst_value_array_append_value) 
2039         (gst_value_array_prepend_value, gst_value_array_get_size) 
2040         (gst_value_array_get_value): New API, copied from
2041         gst_value_list_*, only operates on arrays.
2042         (gst_value_list_append_value, gst_value_list_prepend_value) 
2043         (gst_value_list_concat, gst_value_list_get_size) 
2044         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
2045
2046         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
2047         init_list, because it works on both.
2048         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
2049         (gst_value_copy_list_or_array): Renamed from copy_list.
2050         (gst_value_free_list_or_array): Renamed from free_list.
2051         (gst_value_collect_list_or_array): Renamed from collect_list.
2052         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
2053         (gst_value_list_or_array_peek_pointer): Renamed from
2054         list_peek_pointer.
2055         (_gst_value_array_value_table, _gst_value_list_value_table):
2056         Update value table functions.
2057         (gst_value_compare_list_or_array): Renamed from compare_list.
2058
2059         * gsttaglist.h: Whoops, foreach function returns void. Also fix
2060         some constness.
2061
2062         * gst/gsttaglist.c:
2063         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
2064         GstTagList*. Fixes #143472.
2065
2066         * gst/gststructure.h: Clarify what the foreach/map functions can
2067         or can't do to their arguments.
2068
2069 2005-11-18  Wim Taymans  <wim@fluendo.com>
2070
2071         * gst/gstclock.c: (gst_clock_set_calibration),
2072         (gst_clock_get_calibration):
2073         Doc and API fixes.
2074         Calibration can be set with internal time equal to current
2075         internal time too.
2076
2077 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2078
2079         * gst/gsterror.c:
2080         * gst/gsterror.h:
2081           document
2082
2083 2005-11-18  Andy Wingo  <wingo@pobox.com>
2084
2085         * configure.ac: 
2086         * pkgconfig/gstreamer-net.pc.in:
2087         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2088         * pkgconfig/Makefile.am: Add net pkgconfig files.
2089
2090 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
2091
2092         * gst/gstcaps.c:
2093         * gst/gstghostpad.c:
2094         * gst/gsttrace.c:
2095         * gst/gstvalue.c:
2096         * gst/gstvalue.h:
2097           docs fixes
2098
2099 2005-11-18  Andy Wingo  <wingo@pobox.com>
2100
2101         * gst/net/gstnetclientclock.c: Turn off debugging.
2102
2103         * check/net/gstnetclientclock.c (test_functioning): Assert that the
2104         times connverge somewhat. Can't make a real test.
2105
2106         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
2107         integer arithmetic. Return the minimum of the domain, which can be
2108         set as "internal" for gst_clock_set_calibration.
2109         (gst_net_client_clock_observe_times): Call _set_calibration.
2110         (gst_net_client_clock_new): Call _set_calibration instead of
2111         rate_offset.
2112
2113         * check/net/gstnetclientclock.c (test_functioning): Use the right
2114         adjustment api.
2115
2116         * gst/gstclock.h:
2117         * gst/gstclock.c (gst_clock_get_calibration) 
2118         (gst_clock_set_calibration): New functions, obsolete the ones I
2119         added yesterday. Doh. Precision issues mean we have to extrapolate
2120         from a point in the more recent past than 1970.
2121         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
2122         obsolete.
2123         (gst_clock_adjust_unlocked): Use the right calibration data.
2124
2125 2005-11-18  Edward Hervey  <edward@fluendo.com>
2126
2127         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
2128         Also reset the ->current_* values in READY->PAUSED
2129
2130 2005-11-18  Andy Wingo  <wingo@pobox.com>
2131
2132         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
2133         Whoops, check the right fd. Also add some debugging.
2134         (gst_net_client_clock_observe_times): Adjust for int64 offset.
2135         (do_linear_regression): Add a crapload of debugging. Subtract off
2136         the minimum values from the input series to discard unneeded bits.
2137         Use only int arithmetic. There is still double arithmetic when
2138         calculating the intercept that needs fixing. Return boolean to
2139         indicate success; FALSE would mean the domain or range is too
2140         great. Still needs fixes.
2141
2142 2005-11-18  Wim Taymans  <wim@fluendo.com>
2143
2144         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2145         For the current position in stream time, we need to subtract
2146         accumulated time.
2147         
2148         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2149         Release lock before calling the callback function of async
2150         entries.
2151
2152 2005-11-18  Andy Wingo  <wingo@pobox.com>
2153
2154         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
2155         Port goes all the way to MAXUINT16.
2156
2157         * gst/net/gstnettimeprovider.c: Make the port range the same as
2158         for the kernel: 0 assigns, otherwise ports are less than
2159         MAXUINT16.
2160
2161         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
2162         port change.
2163
2164         * check/net/gstnetclientclock.c (test_functioning): Add the start
2165         of another test. 
2166
2167 2005-11-18  Wim Taymans  <wim@fluendo.com>
2168
2169         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2170         (gst_bin_remove_func), (bin_bus_handler):
2171         * gst/gstbin.h:
2172         Removing a clock provider from a bin, triggers a clock lost message
2173         so that a new clock will be selected.
2174         Adding a clock to a bin triggers a clock provider message.
2175         Make sure we reselect a clock when we received a clock lost message.
2176         Keep a reference to the element that provided the clock.
2177
2178 2005-11-18  Andy Wingo  <wingo@pobox.com>
2179
2180         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2181         the clock initially so it produces values around the base time.
2182         (gst_net_client_clock_class_init): Typo fix.
2183         (gst_net_client_clock_thread): Add note on when the socket gets
2184         closed.
2185
2186 2005-11-17  Wim Taymans  <wim@fluendo.com>
2187
2188         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2189         Free remote and local time arrays.
2190
2191 2005-11-17  Wim Taymans  <wim@fluendo.com>
2192
2193         * gst/net/gstnetclientclock.c: (do_linear_regression),
2194         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2195         Fix compilation, uninitialized vars and a forgotten continue.
2196
2197 2005-11-17  Andy Wingo  <wingo@pobox.com>
2198
2199         * check/Makefile.am (check_PROGRAMS): 
2200         * check/net/gstnetclientclock.c: Add a most minimal test for the
2201         net client clock. More to come later.
2202
2203         * gst/net/gstnet.h: 
2204         * gst/net/Makefile.am: Add netclientclock.
2205
2206         * gst/net/gstnetclientclock.h:
2207         * gst/net/gstnetclientclock.c: New files, implement an untested
2208         GstClock that takes its time from a network time provider.
2209         Implements the algorithm in network-clock.scm.
2210
2211         * tests/network-clock.scm (*window-size*): Rename from
2212         *queue-length*.
2213         * tests/network-clock.scm (network-time): 
2214         * tests/network-clock-utils.scm (q-push): Update callers.
2215
2216 2005-11-17  Wim Taymans  <wim@fluendo.com>
2217
2218         * gst/gstbin.c: (gst_bin_provide_clock_func),
2219         (gst_bin_sort_iterator_new):
2220         And unref the child too..
2221
2222 2005-11-17  Wim Taymans  <wim@fluendo.com>
2223
2224         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2225         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2226         Refactor the sort iterator so it can be used while holding the
2227         LOCK too.
2228         Make clock selection select a clock closest to the source.
2229
2230 2005-11-17  Michael Smith <msmith@fluendo.com>
2231
2232         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2233         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2234         * gst/gstclock.h:
2235           Anonymous structs are a gcc (and some other compilers) extension, so
2236           don't use them. Since this is only for ABI-compatibility, and our
2237           API/ABI freeze is over in a few days, this whole thing will only
2238           last a few days, so don't bother trying to think up a meaningful
2239           name for the struct.
2240
2241 2005-11-17  Andy Wingo  <wingo@pobox.com>
2242
2243         * gst/gstclock.h (GstClock): Add rate and offset properties,
2244         preserving ABI stability. Add rate/offset accessors. Will file bug
2245         for the freeze break.
2246
2247         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2248         and offset, trying to keep precision and avoiding
2249         underflow/overflow.
2250         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2251         functions. Make gst_clock_set_time_adjust obsolete.
2252         (gst_clock_set_time_adjust): Note that this function is obsolete.
2253         Will file bug soon.
2254
2255         * gst/base/gstbasetransform.h: Make the ABI-stability hack
2256         greppable by using GST_PADDING-1+1.
2257
2258 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
2259
2260         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2261
2262         * gst/gstmessage.c: (gst_message_parse_clock_lost):
2263           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2264
2265         * gst/gstpadtemplate.h:
2266         * gst/gstpluginfeature.h:
2267           Don't use c++ style comments in headers (#321638).
2268
2269 2005-11-16  Andy Wingo  <wingo@pobox.com>
2270
2271         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2272         buffer.
2273
2274         * check/net/gstnettimeprovider.c: Check to see that the time
2275         provider actually provides times. Works, yo!
2276
2277 2005-11-16  Wim Taymans  <wim@fluendo.com>
2278
2279         * check/Makefile.am:
2280         Enable more tests.
2281
2282         * check/elements/fakesrc.c: (GST_START_TEST):
2283         Set element to NULL before disposing it.
2284
2285 2005-11-16  Andy Wingo  <wingo@pobox.com>
2286
2287         * gst/net/Makefile.am:
2288         * gst/net/gstnet.h:
2289         * gst/net/gstnettimeprovider.c: 
2290         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2291         provider, include it from gstnet.h, and add it to the build.
2292
2293         * gst/net/gstnettimepacket.h: 
2294         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2295         sending and receiving.
2296
2297 2005-11-16  Wim Taymans  <wim@fluendo.com>
2298
2299         * check/Makefile.am:
2300         Enable valgrind check.
2301
2302         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2303         (gst_fake_src_alloc_buffer):
2304         Fix memleak.
2305
2306 2005-11-16  Wim Taymans  <wim@fluendo.com>
2307
2308         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2309         Call parent finalize too.
2310
2311 2005-11-16  Wim Taymans  <wim@fluendo.com>
2312
2313         * check/Makefile.am:
2314         Enable valgrind check that should work fine now.
2315
2316         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2317         * gst/gstqueue.c: (gst_queue_init):
2318         Fix memleaks in pad allocation.
2319
2320 2005-11-16  Andy Wingo  <wingo@pobox.com>
2321
2322         * gst/net/Makefile.am:
2323         * gst/net/gstnet.h: New part of core to hold network elements and
2324         objects. Put in core because it exposes API that applications want
2325         to use. The library is named libgstnet-tempname right now because
2326         of the existing libgstnet in gst-plugins-base. Solution is
2327         probably to rename the one in plugins-base; will file a bug for
2328         the freeze break.
2329
2330         * gst/net/gstnettimeprovider.c: 
2331         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2332         get_time call over the network.
2333
2334         * configure.ac: 
2335         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2336
2337         * check/Makefile.am:
2338         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2339         get additions shortly.
2340
2341 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2342
2343         * gst/gstpad.c: (gst_pad_new_from_static_template):
2344         * gst/gstpad.h:
2345           add gst_pad_new_from_static_template functions
2346         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2347         (gst_check_setup_sink_pad):
2348         * gst/elements/gsttee.c: (gst_tee_init):
2349           and use them
2350
2351 2005-11-16  Wim Taymans  <wim@fluendo.com>
2352
2353         * gst/gstpad.c: (gst_pad_pause_task):
2354         Removed warning, it's not really an error either.
2355
2356 2005-11-16  Wim Taymans  <wim@fluendo.com>
2357
2358         * gst/base/gstbasetransform.c:
2359         (gst_base_transform_prepare_output_buf),
2360         (gst_base_transform_event):
2361         Check if the caps are NULL, this can happen if the element
2362         is shutting down and the pad caps are set to NULL.
2363
2364 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2365
2366         * gst/elements/gsttee.c: (gst_tee_init):
2367           fix pad template leak in tee
2368
2369 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2370
2371         * gst/glib-compat.c: (g_value_dup_gst_object):
2372         * gst/glib-compat.h:
2373         * gst/gstpad.c: (gst_pad_set_property):
2374           use gst_object_ref when setting the pad template; this will
2375           trigger the pad template leaks on GLib 2.6 and the slaves
2376
2377 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2378
2379         * gst/glib-compat.c: (gst_flags_get_first_value):
2380         * gst/glib-compat.h:
2381         * gst/gstregistryxml.c:
2382           remove functions copied from GLib 2.6
2383
2384 2005-11-16  Michael Smith <msmith@fluendo.com>
2385
2386         * gst/Makefile.am:
2387           Don't link against VALGRIND_LIBS. That was always the wrong thing to
2388           do, but only breaks with newer valgrind versions. We're not a
2389           valgrind tool, we have no link-time dependencies on libcoregrind.
2390
2391 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2392
2393         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2394           some debug changes
2395         * gst/gstmessage.h:
2396           typo fixes
2397
2398 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2399
2400         * gst/base/gstbasesrc.c: (gst_base_src_init):
2401         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2402         * gst/gstqueue.c: (gst_queue_init):
2403         * gst/gstregistryxml.c: (load_feature):
2404           Revert all these unrefs, they don't even pass make check !
2405
2406 2005-11-15  Johan Dahlin  <johan@gnome.org>
2407
2408         * gst/base/gstbasesrc.c: (gst_base_src_init):
2409         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2410         * gst/gstqueue.c: (gst_queue_init): 
2411         Free pad templates, fixes a couple of leaks.
2412
2413 2005-11-15  Daniel Fischer  <dan at f3c dot com>
2414
2415         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2416
2417         * gst/gstpad.c: (gst_pad_get_property):
2418           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
2419           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
2420           (#321452)
2421
2422 2005-11-15  Wim Taymans  <wim@fluendo.com>
2423
2424         * gst/gstevent.c:
2425         Small doc update.
2426
2427 2005-11-15  Andy Wingo  <wingo@pobox.com>
2428
2429         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
2430
2431         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
2432         using GST_CLOCK_TIME_NONE to disable base time management.
2433         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
2434         time if it was NONE before.
2435         (gst_pipeline_change_state): Only munge the base time if
2436         stream_time != GST_CLOCK_TIME_NONE.
2437
2438         * check/gst/gstpipeline.c (test_base_time): Punt around the
2439         problem of the probe not being called, because that's not the
2440         issue I'm looking at. Add a check that setting stream_time to NONE
2441         disables base time management.
2442         
2443 2005-11-15  Wim Taymans  <wim@fluendo.com>
2444
2445         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2446         segment_stop == -1 at startup.
2447
2448         * gst/base/gstbasetransform.c: (gst_base_transform_event),
2449         (gst_base_transform_change_state):
2450         Init segment values at start.
2451
2452 2005-11-15  Wim Taymans  <wim@fluendo.com>
2453
2454         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2455         0 segment values are 0 in any format.
2456
2457         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2458         * gst/base/gstbasetransform.h:
2459         Parse newsegment correctly in basetransform
2460
2461         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2462         Sync to clock using updated segment values.
2463
2464 2005-11-15  Andy Wingo  <wingo@pobox.com>
2465
2466         * check/gst/gstpipeline.c (test_base_time): Add check that the
2467         base time and stream time are reset correctly.
2468
2469 2005-11-15  Wim Taymans  <wim@fluendo.com>
2470
2471         * docs/design/part-TODO.txt:
2472         Some more TODO items.
2473
2474 2005-11-15  Andy Wingo  <wingo@pobox.com>
2475
2476         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
2477         error if the user selected "no clock" as the clocking method.
2478
2479         * check/gst/gstpipeline.c (test_base_time): New test for buffer
2480         timestamps with live capture.
2481
2482         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
2483         is 0 but we are a live source, timestamp the buffers using the
2484         element's clock.
2485
2486 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
2487
2488         * docs/gst/gstreamer-sections.txt:
2489         * gst/gsterror.c:
2490         * gst/gstghostpad.c:
2491         * gst/gstobject.h:
2492         * gst/gstxml.c:
2493           more section docs
2494
2495 2005-11-14  Wim Taymans  <wim@fluendo.com>
2496
2497         * common/gst.supp:
2498           add suppressions from Wim's Debian machine
2499
2500 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2501
2502         * common/gst.supp:
2503           add suppressions from Andy's AMD64 Ubuntu machine
2504
2505 2005-11-14  Andy Wingo  <wingo@pobox.com>
2506
2507         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
2508         STATE_LOCK not necessary. Fixes #311489.
2509
2510         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
2511         #305291.
2512
2513         * gst/gstindex.c (gst_index_add_object): Note in the docs that
2514         this function is not implemented.
2515
2516 2005-11-14  Julien MOUTTE  <julien@moutte.net>
2517
2518         * gst/base/gstbasetransform.c:
2519         (gst_base_transform_prepare_output_buf):
2520         Ref the source pad caps while we need them.
2521         Fixes (#321386)
2522
2523 2005-11-11  Wim Taymans  <wim@fluendo.com>
2524
2525         * docs/gst/gstreamer-sections.txt:
2526         Added some docs for GstCollectData.
2527
2528         * gst/base/gstadapter.c:
2529         Some small code example fix.
2530
2531         * gst/base/gstcollectpads.c:
2532         * gst/base/gstcollectpads.h:
2533         Document some more.
2534
2535 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2536
2537         * configure.ac: back to HEAD
2538
2539 === release 0.9.5 ===
2540
2541 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
2542
2543         * configure.ac:
2544           releasing 0.9.5, "Bike Lunch Day"
2545
2546 2005-11-11  Wim Taymans  <wim@fluendo.com>
2547
2548         * gst/gstbuffer.c: (_gst_buffer_copy):
2549         Copy more flags.
2550
2551         * gst/gstcaps.c: (gst_caps_is_equal):
2552         Fix some docs.
2553         Make _is_equal fast in the trivial cases.
2554
2555         * gst/gstminiobject.c:
2556         * gst/gstminiobject.h:
2557         More docs. Spifify .h file.
2558
2559         * gst/gstutils.c:
2560         Small doc update.
2561
2562 2005-11-11  Wim Taymans  <wim@fluendo.com>
2563
2564         * gst/base/gstbasetransform.c:
2565         (gst_base_transform_prepare_output_buf),
2566         (gst_base_transform_handle_buffer):
2567         Small cleanups.
2568         If we're processing a buffer and need to allocate an output
2569         buffer, we cannot accept a format change. If we did get a 
2570         format change, we have to alloc a buffer ourselves of the 
2571         right size.
2572
2573 2005-11-11  Wim Taymans  <wim@fluendo.com>
2574
2575         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
2576         While checking the flag for reentrancy in the gstcaps function
2577         is nice to detect recursive invocations, it also makes it 
2578         impossible to call getcaps from multiple threads, which must be
2579         possible. So, checking for recursive calls has to go.
2580
2581 2005-11-11  Michael Smith <msmith@fluendo.com>
2582
2583         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2584           Don't sync on buffers that fall partially outside our current
2585           segment. Prevents an assertion failure/abort playing some files.
2586
2587 2005-11-10  Andy Wingo  <wingo@pobox.com>
2588
2589         * check/gst/gstbin.c (test_message_state_changed_children): Style
2590         fix..
2591
2592         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
2593         gst_bus_poll with the signal watch. Ensures that poll and a signal
2594         watch see the same messages.
2595
2596         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
2597         a poll and a watch at the same time get the same messages.
2598
2599 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2600
2601         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
2602         * gst/gstcaps.c: (gst_caps_intersect):
2603           Don't call gst_caps_do_simplify - it doesn't respect order of caps
2604           and it's not needed.
2605
2606 2005-11-10  Wim Taymans  <wim@fluendo.com>
2607
2608         * docs/design/part-TODO.txt:
2609         Updated todo.
2610
2611 2005-11-10  Wim Taymans  <wim@fluendo.com>
2612
2613         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2614         * gst/base/gstbasesrc.c: (gst_base_src_wait),
2615         (gst_base_src_do_sync), (gst_base_src_get_range):
2616         Implement clock sync in base class.
2617
2618 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2619
2620         patch by: Tim-Philipp Müller <tim at centricular dot net>
2621
2622         * gst/gststructure.c: (gst_structure_parse_field),
2623         (gst_structure_from_string):
2624           Forward-port a 0.8 patch to handle escaped spaces in structure string,
2625           so that gst_parse_launch() can deal with spaces in filtered link
2626           caps (fixes #164479)
2627         * check/gst/capslist.h:
2628         * check/gst/gststructure.c: (GST_START_TEST):
2629           add unit tests for this change
2630
2631 2005-11-10  Wim Taymans  <wim@fluendo.com>
2632
2633         * docs/gst/gstreamer-sections.txt:
2634         * gst/gstelement.c:
2635         * gst/gstelement.h:
2636         Fix docs, move some STATE macros to private.
2637
2638 2005-11-10  Wim Taymans  <wim@fluendo.com>
2639
2640         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
2641         Added check for bug #317341
2642
2643         * gst/gstbuffer.c:
2644         * gst/gstbuffer.h:
2645         Some more spiffifying.
2646
2647         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
2648         Call peer linkfunction if we are a source pad. Totally fixes
2649         #317341
2650
2651         * gst/gstpad.c:
2652         Update docs, source pads should call the peer linkfunction
2653         so they can atomically perform the pad link.
2654
2655 2005-11-09  Wim Taymans  <wim@fluendo.com>
2656
2657         * gst/gstbuffer.c:
2658         * gst/gstbuffer.h:
2659         Uber-spiffy-spiffify some more.
2660
2661 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
2662
2663         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
2664         * gst/elements/gstfilesink.c: (gst_file_sink_init):
2665         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2666         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
2667         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
2668         * gst/gstpad.c: (gst_pad_init):
2669           Use GST_DEBUG_FUNCPTR() more extensively.
2670
2671 2005-11-09  Wim Taymans  <wim@fluendo.com>
2672
2673         * gst/gstobject.c: (gst_object_class_init):
2674         * gst/gstobject.h:
2675         Documentation fixes.
2676
2677 2005-11-09  Edward Hervey  <edward@fluendo.com>
2678
2679         * gst/gsttypefindfactory.c:
2680         Fix docs.
2681         
2682 2005-11-09  Edward Hervey  <edward@fluendo.com>
2683
2684         * gst/base/gsttypefindhelper.c:
2685         * gst/gsttypefind.c:
2686         * gst/gsttypefind.h:
2687         Fix docs.
2688
2689 2005-11-09  Wim Taymans  <wim@fluendo.com>
2690
2691         * gst/gstiterator.c:
2692         Fix revision data.
2693
2694         * gst/gsttask.c:
2695         * gst/gsttask.h:
2696         Fix docs.
2697
2698 2005-11-09  Wim Taymans  <wim@fluendo.com>
2699
2700         * gst/gstevent.h:
2701         * gst/gsturi.h:
2702         Fix docs.
2703
2704 2005-11-09  Wim Taymans  <wim@fluendo.com>
2705
2706         * docs/gst/gstreamer-sections.txt:
2707         Moved the message async delivery private lock and cond
2708         to the private section.
2709
2710         * gst/gstmessage.c:
2711         * gst/gstmessage.h:
2712         Fixed docs.
2713
2714 2005-11-09  Edward Hervey  <edward@fluendo.com>
2715
2716         * docs/gst/gstreamer-sections.txt:
2717         * gst/gsturi.c:
2718         * gst/gsturi.h:
2719         Document GstURIHandler
2720
2721 2005-11-09  Wim Taymans  <wim@fluendo.com>
2722
2723         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
2724         (gst_iterator_find_custom):
2725         * gst/gstiterator.h:
2726         Fix iterator docs.
2727
2728 2005-11-09  Wim Taymans  <wim@fluendo.com>
2729
2730         * gst/gstbin.h:
2731         Document another field.
2732
2733         * gst/gststructure.c:
2734         * gst/gststructure.h:
2735         Document.
2736
2737 2005-11-09  Wim Taymans  <wim@fluendo.com>
2738
2739         * gst/gstbin.h:
2740         Documented structs.
2741
2742 2005-11-09  Wim Taymans  <wim@fluendo.com>
2743
2744         * docs/gst/gstreamer-sections.txt:
2745         Added some new macros.
2746
2747         * gst/gstclock.c:
2748         * gst/gstclock.h:
2749         * gst/gstobject.h:
2750         Docs updates.
2751
2752 2005-11-09  Wim Taymans  <wim@fluendo.com>
2753
2754         * docs/design/part-TODO.txt:
2755         Some more items for the TODO
2756
2757         * gst/gstcaps.c:
2758         * gst/gstcaps.h:
2759         Document GstCaps.
2760
2761 2005-11-09  Andy Wingo  <wingo@pobox.com>
2762
2763         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
2764         to work on something else now tho...
2765
2766         * gst/base/gstadapter.c: More adapter docs.
2767
2768         * gst/elements/gstfilesink.c (gst_file_sink_start) 
2769         (gst_file_sink_stop): New functions, replace the state change
2770         handler.
2771         (gst_file_sink_class_init): Hook up the start and stop functions.
2772         (gst_file_sink_base_init): Don't set the state change handler any
2773         more. It was a bit ugly too, being set from here...
2774         (gst_file_sink_get_property, gst_file_sink_set_property):
2775         Cleanups...
2776         (gst_file_sink_set_location): More robust check that doesn't call
2777         GST_STATE. Ugggggg.
2778
2779 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
2780
2781         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2782           Hold STREAM_LOCK while pushing newsegment or tag events as well.
2783
2784 2005-11-08  Wim Taymans  <wim@fluendo.com>
2785
2786         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2787         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
2788         (gst_base_sink_chain), (gst_base_sink_change_state):
2789         * gst/base/gstbasesink.h:
2790         * gst/base/gstbasesrc.h:
2791         * gst/gstelement.h:
2792         * gst/gstevent.h:
2793         Avoid excessive typechecking in macros.
2794
2795         * gst/gstminiobject.c: (gst_mini_object_get_type),
2796         (gst_mini_object_init), (gst_mini_object_new),
2797         (gst_mini_object_free):
2798         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
2799         (gst_object_finalize):
2800         Remove cruft code, optimize alloc_trace.
2801
2802 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2803
2804         * docs/faq/gst-uninstalled:
2805           fix up PS1 for systems that try to reset it
2806
2807 2005-11-07  Wim Taymans  <wim@fluendo.com>
2808
2809         * gst/base/gstbasesrc.c: (gst_base_src_init),
2810         (gst_base_src_get_range):
2811         Set the segment_end to -1 initially. Fixed typefind.
2812
2813 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2814
2815         * gst/base/gstadapter.c:
2816           Debug category should be 'adapter', not 'GstAdapter'.
2817           
2818         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
2819         (gst_collectpads_class_init), (gst_collectpads_init),
2820         (gst_collectpads_peek), (gst_collectpads_pop),
2821         (gst_collectpads_event), (gst_collectpads_chain):
2822           Add debug category and some debugging output. Use boilerplate
2823           macros. Remove some extraneous words from docs.
2824
2825 2005-11-05  Andy Wingo  <wingo@pobox.com>
2826
2827         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
2828         macro.
2829
2830 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2831
2832         * docs/gst/gstreamer-sections.txt:
2833         * gst/gstcaps.h:
2834         * gst/gstinfo.c:
2835         * gst/gstminiobject.h:
2836         * gst/gstobject.h:
2837         * gst/gstutils.h:
2838           more docs added
2839
2840 2005-11-04  Wim Taymans  <wim@fluendo.com>
2841
2842         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2843         Small update to stop at the configured segment_end
2844         position.
2845
2846 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2847
2848         * gst/gstregistry.c:
2849         * gst/gstregistry.h:
2850           added missing docs
2851
2852 2005-11-04  Edward Hervey  <edward@fluendo.com>
2853
2854         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2855         Check if we are doing a segment seek and have arrived at the
2856         end of that segment.
2857
2858 2005-11-04  Wim Taymans  <wim@fluendo.com>
2859
2860         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
2861         Don't leak a mutex unlock in case of an error.
2862
2863         * gst/gstbus.h:
2864         Doc fixes.
2865
2866 2005-11-04  Wim Taymans  <wim@fluendo.com>
2867
2868         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
2869         (gst_bus_post):
2870         Get the context to wake up only once.
2871
2872 2005-11-03  Wim Taymans  <wim@fluendo.com>
2873
2874         * check/states/sinks.c: (GST_START_TEST):
2875         Uncomment fixed check.
2876
2877         * docs/design/part-TODO.txt:
2878         Updated TODO.
2879
2880         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2881         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2882         (gst_base_sink_get_position):
2883         If we are going to PLAYING, post the right pending state
2884         when we post the intermediate paused message.
2885
2886         * gst/gstelement.c: (gst_element_continue_state),
2887         (gst_element_set_state_func), (gst_element_change_state):
2888         Don't post state changes that were between the same state
2889         and were not ASYNC.
2890
2891 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2892
2893         * docs/gst/gstreamer-sections.txt:
2894         * gst/gstcaps.h:
2895         * gst/gstinfo.c:
2896         * gst/gstminiobject.h:
2897         * gst/gstobject.h:
2898         * gst/gstutils.h:
2899           more docs and doc style fixes
2900
2901 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2902
2903         * docs/gst/gstreamer-sections.txt:
2904         * gst/gstelement.c:
2905         * gst/gstminiobject.c:
2906         doc fixes
2907
2908 2005-11-03  Andy Wingo  <wingo@pobox.com>
2909
2910         * check/states/sinks.c (test_livesrc_sink): Add checks that the
2911         state-changed messages actually have the right order and the right
2912         values.
2913
2914 2005-11-03  Wim Taymans  <wim@fluendo.com>
2915
2916         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
2917         Added some more checks. Specifically the case where NO_PREROLL
2918         elements are in the pipeline.
2919
2920         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2921         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2922         (gst_base_sink_get_position):
2923         Post READY->PAUSED state change messages too.
2924         Fix bug where VOID was posted as pending state...
2925
2926         * gst/gstbin.c: (gst_bin_recalc_state):
2927         use _element_continue_state() to continue the state change.
2928
2929         * gst/gstelement.c: (gst_element_continue_state),
2930         (gst_element_commit_state), (gst_element_set_state_func),
2931         (gst_element_change_state), (gst_element_change_state_func):
2932         Lots of state change cleanups, assign the STATE_RETURN in
2933         a new continue_state() function that also propagates the
2934         last return value from a state change to the app.
2935         Update some debug statements with proper category.
2936
2937 2005-11-03  Wim Taymans  <wim@fluendo.com>
2938
2939         * docs/design/part-events.txt:
2940         * docs/design/part-gstpipeline.txt:
2941         * docs/design/part-messages.txt:
2942         * docs/design/part-overview.txt:
2943         * docs/design/part-seeking.txt:
2944         * docs/design/part-states.txt:
2945         * docs/design/part-trickmodes.txt:
2946         * docs/manual/advanced-position.xml:
2947         Small docs updates.
2948
2949         * gst/gstobject.h:
2950         People think !! is ugly, this looks better.
2951
2952         * gst/gstpad.c: (gst_pad_set_blocked_async):
2953         Remove !! since it's fixed elsewhere now.
2954
2955 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2956
2957         * gst/gstminiobject.h:
2958         * gst/gstobject.h:
2959           Add !! to _FLAG_IS_SET macros to make the result boolean.
2960
2961 2005-11-03  Edward Hervey  <edward@fluendo.com>
2962
2963         * gst/gstpad.c: (gst_pad_set_blocked_async):
2964         comparing a flag and a gboolean rarely returns coherent results...
2965         Added two characters (!!) to make that work correctly.
2966         
2967 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2968
2969         * gst/gstbus.c: (gst_bus_class_init):
2970           Fix some typos.
2971           
2972         * gst/gstqueue.c: (gst_queue_loop):
2973           Don't assume a miniobject that isn't a buffer is an
2974           event (it could be that there is a refcounting
2975           problem somewhere and the pointer is stale and
2976           refers to an already destroyed miniobject).
2977
2978 2005-11-03  Julien MOUTTE  <julien@moutte.net>
2979
2980         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
2981
2982 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2983
2984         * docs/manual/advanced-position.xml:
2985           Update seek example and explanations to current 0.9 API.
2986
2987         * gst/elements/gsttypefindelement.c:
2988         (gst_type_find_element_activate):
2989           Remove FIXME comment now that the found caps
2990           are unreffed.
2991
2992 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2993
2994         * gst/gstregistryxml.c: (load_feature):
2995           Add another GST_STR_NULL instance
2996
2997 2005-11-02  Edward Hervey  <edward@fluendo.com>
2998
2999         * gst/gstpad.c: (handle_pad_block):
3000         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
3001         
3002 2005-11-02  Wim Taymans  <wim@fluendo.com>
3003
3004         * gst/gstbin.c:
3005         Fix typo in docs.
3006
3007         * gst/gstelement.c: (gst_element_commit_state):
3008         Remove unused value.
3009
3010         * gst/gstiterator.c:
3011         Mention that the returned element is reffed in the docs.
3012
3013 2005-11-02  Wim Taymans  <wim@fluendo.com>
3014
3015         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
3016         (gst_pad_push), (gst_pad_push_event):
3017         Unlock blocked pads when they are flushed.
3018
3019 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3020
3021         * docs/README:
3022         * docs/gst/gstreamer-sections.txt:
3023         * gst/gstbin.c:
3024           doc updates
3025         * gst/gstregistry.c: (gst_registry_scan_path_level):
3026           fix for a nasty little missed situation where an installed plug-in
3027           which was in the cache did not get overridden by an uninstalled one
3028           which was earlier in the plugin path because the newly created plugin
3029           for the uninstalled one (not in the registry) didn't get its
3030           ->registered set to TRUE
3031
3032 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3033
3034         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
3035         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
3036         (gst_collectpads_is_active), (gst_collectpads_collect),
3037         (gst_collectpads_collect_range), (gst_collectpads_start),
3038         (gst_collectpads_stop), (gst_collectpads_peek),
3039         (gst_collectpads_pop), (gst_collectpads_available),
3040         (gst_collectpads_read), (gst_collectpads_flush):
3041           Guard public API with assertions.
3042         
3043         * gst/gstpad.c:
3044           Fix docs for gst_pad_set_link_function().
3045
3046 2005-11-02  Johan Dahlin  <johan@gnome.org>
3047
3048         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
3049         Unref found_caps after we used it.
3050
3051 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3052
3053         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
3054           Don't try to ref NULL.
3055
3056 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3057
3058         * win32/common/config.h.in:
3059           provide a GST_FUNCTION that just gives a string for now
3060
3061 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3062
3063         * win32/common/gstenumtypes.c: (register_gst_object_flags),
3064         (gst_object_flags_get_type), (register_gst_bin_flags),
3065         (gst_bin_flags_get_type), (register_gst_buffer_flag),
3066         (gst_buffer_flag_get_type), (register_gst_bus_flags),
3067         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3068         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
3069         (gst_clock_return_get_type), (register_gst_clock_entry_type),
3070         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3071         (gst_clock_flags_get_type), (register_gst_state),
3072         (gst_state_get_type), (register_gst_state_change_return),
3073         (gst_state_change_return_get_type), (register_gst_state_change),
3074         (gst_state_change_get_type), (register_gst_element_flags),
3075         (gst_element_flags_get_type), (register_gst_core_error),
3076         (gst_core_error_get_type), (register_gst_library_error),
3077         (gst_library_error_get_type), (register_gst_resource_error),
3078         (gst_resource_error_get_type), (register_gst_stream_error),
3079         (gst_stream_error_get_type), (register_gst_event_type),
3080         (gst_event_type_get_type), (register_gst_seek_type),
3081         (gst_seek_type_get_type), (register_gst_seek_flags),
3082         (gst_seek_flags_get_type), (register_gst_format),
3083         (gst_format_get_type), (register_gst_index_certainty),
3084         (gst_index_certainty_get_type), (register_gst_index_entry_type),
3085         (gst_index_entry_type_get_type),
3086         (register_gst_index_lookup_method),
3087         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3088         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3089         (gst_index_resolver_method_get_type), (register_gst_index_flags),
3090         (gst_index_flags_get_type), (register_gst_debug_level),
3091         (gst_debug_level_get_type), (register_gst_debug_color_flags),
3092         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3093         (gst_iterator_result_get_type), (register_gst_iterator_item),
3094         (gst_iterator_item_get_type), (register_gst_message_type),
3095         (gst_message_type_get_type), (register_gst_mini_object_flags),
3096         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3097         (gst_pad_link_return_get_type), (register_gst_flow_return),
3098         (gst_flow_return_get_type), (register_gst_activate_mode),
3099         (gst_activate_mode_get_type), (register_gst_pad_direction),
3100         (gst_pad_direction_get_type), (register_gst_pad_flags),
3101         (gst_pad_flags_get_type), (register_gst_pad_presence),
3102         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3103         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3104         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3105         (gst_plugin_error_get_type), (register_gst_plugin_flags),
3106         (gst_plugin_flags_get_type), (register_gst_rank),
3107         (gst_rank_get_type), (register_gst_query_type),
3108         (gst_query_type_get_type), (register_gst_tag_merge_mode),
3109         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3110         (gst_tag_flag_get_type), (register_gst_task_state),
3111         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3112         (gst_alloc_trace_flags_get_type),
3113         (register_gst_type_find_probability),
3114         (gst_type_find_probability_get_type), (register_gst_uri_type),
3115         (gst_uri_type_get_type), (register_gst_parse_error),
3116         (gst_parse_error_get_type):
3117         * win32/common/gstversion.h:
3118           update win32 copies
3119
3120 2005-11-01  Luca Ognibene  <luogni@tin.it>
3121
3122         * gst/gst.c:
3123           fix docs. popt is dead, long live GOption.
3124
3125 2005-10-31  Wim Taymans  <wim@fluendo.com>
3126
3127         * gst/gstbuffer.h:
3128         Small doc fix.
3129
3130 2005-10-31  Andy Wingo  <wingo@pobox.com>
3131
3132         * Boo!
3133
3134         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
3135
3136         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
3137         need to serialize property notifications on GLib 2.8. GLib 2.6 has
3138         the possibility of deadlocks here if code calling notify() or
3139         set() has a lock that can be taken in another notify handler (ABBA
3140         with class lock and e.g. python GIL state lock).
3141
3142 2005-10-28  Julien MOUTTE  <julien@moutte.net>
3143
3144         * gst/gstbus.c: Doc updates.
3145
3146 2005-10-28  Wim Taymans  <wim@fluendo.com>
3147
3148         * docs/design/part-TODO.txt:
3149         * gst/gstiterator.c:
3150         * gst/gstsystemclock.c:
3151         * gst/gstsystemclock.h:
3152         Doc updates.
3153
3154 2005-10-28  Edward Hervey  <edward@fluendo.com>
3155
3156         * docs/gst/gstreamer-docs.sgml:
3157         * docs/gst/gstreamer-sections.txt:
3158         the GstURIType documentation page is private, it only defines GstURIType
3159         which should be defined in the GstURIHandler page
3160         
3161 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3162
3163         * gst/gstbin.c: (gst_bin_class_init):
3164         * gst/gstbin.h:
3165         * gst/gstutils.c:
3166         Documentation updates.
3167
3168 2005-10-28  Wim Taymans  <wim@fluendo.com>
3169
3170         * docs/gst/gstreamer-sections.txt:
3171         * gst/gstclock.c:
3172         * gst/gstclock.h:
3173         Documented the clocks.
3174
3175 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
3176
3177         * docs/gst/gstreamer-sections.txt:
3178           move some macros to private sections
3179         * gst/gstminiobject.c:
3180         * gst/gstminiobject.h:
3181           add descriptions provided by ds and some more
3182         * gst/gstpad.h:
3183           mark macro as to be removed
3184
3185 2005-10-28  Wim Taymans  <wim@fluendo.com>
3186
3187         * docs/design/part-TODO.txt:
3188         Add an item to TODO.
3189
3190         * gst/gstiterator.c: (gst_iterator_fold),
3191         (gst_iterator_find_custom):
3192         * gst/gstiterator.h:
3193         Add iterator docs.
3194
3195 2005-10-28  Wim Taymans  <wim@fluendo.com>
3196
3197         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3198         (gst_base_transform_init):
3199         Don't leak class.
3200
3201         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3202         An EOS event marks the queue as completely filled.
3203
3204 2005-10-27  Wim Taymans  <wim@fluendo.com>
3205
3206         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3207         (gst_base_sink_do_sync), (gst_base_sink_get_position):
3208         Some more debugging.
3209
3210         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3211         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3212         (gst_base_transform_event), (gst_base_transform_getrange),
3213         (gst_base_transform_chain):
3214         * gst/base/gstbasetransform.h:
3215         Fix debugging,
3216         Protect transform and concurrent buffer alloc with a new lock.
3217         Try not to break ABI/API.
3218
3219 2005-10-27  Wim Taymans  <wim@fluendo.com>
3220
3221         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3222         (gst_base_src_init), (gst_base_src_query),
3223         (gst_base_src_default_newsegment),
3224         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3225         (gst_base_src_send_event), (gst_base_src_event_handler),
3226         (gst_base_src_pad_get_range), (gst_base_src_loop),
3227         (gst_base_src_unlock), (gst_base_src_default_negotiate),
3228         (gst_base_src_start), (gst_base_src_deactivate),
3229         (gst_base_src_activate_push), (gst_base_src_change_state):
3230         Move some stuff around and cleanup things.
3231
3232 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
3233
3234         * gst/base/gstbasesrc.c: (gst_base_src_query):
3235           Add missing break statements.
3236
3237 2005-10-27  Wim Taymans  <wim@fluendo.com>
3238
3239         * check/gst/gstbin.c: (GST_START_TEST):
3240         An extra refcount is taken in basesrc.
3241
3242         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3243         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3244         (gst_base_src_loop):
3245         Small cleanups, check for flushing after being unlocked from the 
3246         LIVE_LOCK. take refcounts correctly (not yet everywhere).
3247         Don't send out EOS when going to READY.
3248
3249 2005-10-27  Wim Taymans  <wim@fluendo.com>
3250
3251         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3252         (gst_base_sink_get_position):
3253         Some more debug.
3254
3255         * gst/gstbin.c: (message_check), (bin_replace_message),
3256         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3257         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3258         (bin_query_duration_init), (bin_query_duration_fold),
3259         (bin_query_duration_done), (bin_query_generic_fold),
3260         (gst_bin_query):
3261         * tools/gst-launch.c: (main):
3262         Remove old option.
3263
3264 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
3265
3266         * examples/controller/audio-example.c: (main):
3267         * examples/queue/queue.c: (event_loop):
3268         * gst/base/gstbasetransform.h:
3269         * gst/gstelement.c: (gst_element_send_event):
3270         * gst/gstevent.h:
3271         * gst/gstpad.c: (gst_pad_send_event):
3272           fixing examples
3273           fixing docs typos
3274           changing log priority in error situations
3275
3276 2005-10-25  Wim Taymans  <wim@fluendo.com>
3277
3278         * gst/gstbin.c: (message_check), (bin_replace_message),
3279         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3280         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3281         (bin_query_duration_init), (bin_query_duration_fold),
3282         (bin_query_duration_done), (bin_query_generic_fold),
3283         (gst_bin_query):
3284         Some doc and debug updates.
3285         Cache previously requested query DURATION for speed. invalidate
3286         cached duration if element posts a DURATION message.
3287
3288 2005-10-25  Wim Taymans  <wim@fluendo.com>
3289
3290         * docs/design/part-TODO.txt:
3291         Update TODO.
3292
3293         * gst/gstbin.c: (message_check), (bin_replace_message),
3294         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3295         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3296         (bin_query_duration_init), (bin_query_duration_fold),
3297         (bin_query_duration_done), (bin_query_generic_fold),
3298         (gst_bin_query):
3299         Handle SEGMENT_START/DONE messages correctly.
3300         More evolved query algorithm that handles duration queries
3301         correctly.
3302
3303         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3304         (gst_element_get_state_func), (gst_element_abort_state),
3305         (gst_element_commit_state), (gst_element_lost_state):
3306         Some more debugging.
3307
3308         * gst/gstmessage.h:
3309         Added doc.
3310
3311 2005-10-25  Wim Taymans  <wim@fluendo.com>
3312
3313         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3314         Don't use invalid stream_time.
3315
3316         * gst/gstevent.c: (gst_event_new_newsegment):
3317         stream_time in newsegment cannot be undefined.
3318
3319 2005-10-24  Wim Taymans  <wim@fluendo.com>
3320
3321         * gst/gstbus.c:
3322         Doc fix.
3323
3324         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3325         (gst_queue_loop):
3326         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3327
3328 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
3329
3330         * docs/libs/tmpl/gstdparam.sgml:
3331         * docs/libs/tmpl/gstdplinint.sgml:
3332         * docs/libs/tmpl/gstdpman.sgml:
3333         * docs/libs/tmpl/gstdpsmooth.sgml:
3334         * docs/libs/tmpl/gstunitconvert.sgml:
3335           these are obsolete
3336
3337 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3338
3339         * configure.ac:
3340           back to HEAD
3341
3342 === release 0.9.4 ===
3343
3344 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3345
3346         * configure.ac:
3347           releasing 0.9.4, "Tyrannosaurus Rex"
3348
3349 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
3350
3351         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3352         (gst_file_sink_get_current_offset):
3353           Use fseeko() and ftello() if available. When falling back on
3354           lseek() to get the current offset, fflush() first to make sure
3355           everything is up-to-date and we get the right offset.
3356
3357 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3358
3359         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3360         * gst/base/gstbasesrc.c: (gst_base_src_loop):
3361         * gst/gsterror.c: (_gst_stream_errors_init):
3362         * gst/gsterror.h:
3363         * gst/gstqueue.c: (gst_queue_loop):
3364         * po/POTFILES.in:
3365           remove prematurely added error category and clean up the instances
3366
3367 2005-10-21  Wim Taymans  <wim@fluendo.com>
3368
3369         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3370         (gst_base_sink_get_position), (gst_base_sink_query),
3371         (gst_base_sink_change_state):
3372         Simply set the right flag when going to playing, that's all
3373         we need to do instead of calling a function inside the object
3374         lock (that could take the lock as well and deadlock)
3375
3376 2005-10-21  Wim Taymans  <wim@fluendo.com>
3377
3378         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
3379         (gst_base_src_loop):
3380         Don't warn, the peer element knows what to do best when
3381         the seek failed, it might try something else.
3382
3383 2005-10-21  Wim Taymans  <wim@fluendo.com>
3384
3385         * gst/base/gstbasesrc.c: (gst_base_src_init),
3386         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3387         Fix seeking.
3388
3389 2005-10-21  Wim Taymans  <wim@fluendo.com>
3390
3391         * docs/design/part-segments.txt:
3392         More docs.
3393
3394         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3395         Correctly set caps, even on the subbufer.
3396
3397 2005-10-21  Wim Taymans  <wim@fluendo.com>
3398
3399         * docs/gst/gstreamer-docs.sgml:
3400         * docs/gst/gstreamer-sections.txt:
3401         * gst/gstelement.h:
3402         * gst/gstevent.c:
3403         * gst/gstevent.h:
3404         * gst/gstmessage.h:
3405         * gst/gstpad.h:
3406         * gst/gstparse.h:
3407         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
3408         * gst/gsttask.h:
3409         * gst/gstutils.c:
3410         * gst/gstutils.h:
3411         And 2% more doc coverage.
3412
3413 2005-10-21  Andy Wingo  <wingo@pobox.com>
3414
3415         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
3416         position reporting.
3417
3418 2005-10-20  Wim Taymans  <wim@fluendo.com>
3419
3420         * gst/gsterror.c: (gst_error_get_message):
3421         * gst/gstparse.h:
3422         * gst/gstquery.h:
3423         * gst/gststructure.c:
3424         * gst/gsttrace.c:
3425         * gst/gstutils.c:
3426         More docs.
3427
3428 2005-10-20  Wim Taymans  <wim@fluendo.com>
3429
3430         * gst/gstbuffer.h:
3431         * gst/gstpad.c:
3432         * gst/gstparse.c:
3433         Another 1% more coverage.
3434
3435 2005-10-20  Wim Taymans  <wim@fluendo.com>
3436
3437         * docs/gst/gstreamer-sections.txt:
3438         * gst/gstelement.c: (gst_element_get_state_func),
3439         (gst_element_abort_state), (gst_element_commit_state),
3440         (gst_element_lost_state):
3441         * gst/gstevent.h:
3442         * gst/gstquery.c: (gst_query_set_position),
3443         (gst_query_parse_position), (gst_query_set_duration),
3444         (gst_query_parse_duration), (gst_query_new_convert):
3445         * gst/gstutils.c:
3446         Yay! 1% more docs coverage.
3447
3448 2005-10-20  Wim Taymans  <wim@fluendo.com>
3449
3450         * gst/gstpad.h:
3451         * gst/gstquery.c: (gst_query_set_position),
3452         (gst_query_parse_position), (gst_query_set_duration),
3453         (gst_query_parse_duration), (gst_query_new_convert):
3454         * gst/gstquery.h:
3455         * gst/gstutils.c: (gst_element_query_convert):
3456         * gst/gstutils.h:
3457         Docs and consistency fixes.
3458
3459 2005-10-20  Wim Taymans  <wim@fluendo.com>
3460
3461         * gst/gsttask.c:
3462         * gst/gsttask.h:
3463         More docs.
3464
3465 2005-10-20  Wim Taymans  <wim@fluendo.com>
3466
3467         * gst/gstbin.c: (message_check), (bin_replace_message),
3468         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3469         (update_degree), (gst_bin_sort_iterator_next),
3470         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
3471         Reworked the message handling a bit, cache the messages instead of
3472         only the senders. alows us to do more in the future.
3473
3474 2005-10-20  Wim Taymans  <wim@fluendo.com>
3475
3476         * docs/design/part-TODO.txt:
3477         Update TODO
3478
3479         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3480         (gst_base_sink_query):
3481         Don't use clock time to report position when in EOS.
3482
3483 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
3484
3485         * tools/gst-inspect.c: (print_interfaces),
3486         (print_element_properties_info), (print_element_info):
3487           Fix interface output with gst-inspect -a; don't print
3488           newlines after double/float properties.
3489
3490 2005-10-20  Wim Taymans  <wim@fluendo.com>
3491
3492         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3493         (gst_base_sink_query):
3494         Speed up current position calculation.
3495
3496         * gst/base/gstbasesrc.c: (gst_base_src_query),
3497         (gst_base_src_default_newsegment):
3498         Correctly set stream position in newsegment.
3499
3500         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
3501         (update_degree), (gst_bin_sort_iterator_next),
3502         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
3503         * gst/gstmessage.c: (gst_message_new_custom):
3504         Clean up debugging info
3505
3506         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
3507         (gst_queue_loop), (gst_queue_handle_src_query):
3508         Pause task faster.
3509
3510 2005-10-19  Wim Taymans  <wim@fluendo.com>
3511
3512         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3513         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3514         Fix query handling again.
3515
3516 2005-10-19  Wim Taymans  <wim@fluendo.com>
3517
3518         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3519         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3520         * gst/base/gstbasesrc.c: (gst_base_src_query):
3521         * gst/elements/gstfilesink.c: (gst_file_sink_query):
3522         * gst/elements/gsttypefindelement.c:
3523         (gst_type_find_handle_src_query), (find_element_get_length),
3524         (gst_type_find_element_activate):
3525         API change fix.
3526
3527         * gst/gstquery.c: (gst_query_new_position),
3528         (gst_query_set_position), (gst_query_parse_position),
3529         (gst_query_new_duration), (gst_query_set_duration),
3530         (gst_query_parse_duration), (gst_query_set_segment),
3531         (gst_query_parse_segment):
3532         * gst/gstquery.h:
3533         Bundling query position/duration is not a good idea since duration
3534         does not change much and we don't want to recalculate it for every
3535         position query, so they are separated again..
3536         Base value in segment query is not needed.
3537
3538         * gst/gstqueue.c: (gst_queue_handle_src_query):
3539         * gst/gstutils.c: (gst_element_query_position),
3540         (gst_element_query_duration), (gst_pad_query_position),
3541         (gst_pad_query_duration):
3542         * gst/gstutils.h:
3543         Updates for query API change.
3544         Added some docs here and there.
3545
3546 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3547
3548         * check/gst/gstbin.c: (GST_START_TEST):
3549         * check/gst/gstghostpad.c: (GST_START_TEST):
3550         * check/pipelines/cleanup.c: (GST_START_TEST):
3551           wait on thread to die so we can check refcount correctly
3552
3553 2005-10-18  Wim Taymans  <wim@fluendo.com>
3554
3555         * check/pipelines/stress.c: (GST_START_TEST):
3556         Make check a little more time consuming.
3557
3558 2005-10-18  Wim Taymans  <wim@fluendo.com>
3559
3560         * check/Makefile.am:
3561         * check/pipelines/stress.c: (GST_START_TEST),
3562         (simple_launch_lines_suite), (main):
3563         Small state change torture test.
3564
3565         * docs/design/part-states.txt:
3566         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3567         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
3568         (gst_base_sink_change_state):
3569         Never take state lock from streaming thread, clean up ugly
3570         hacks. Unfortunatly core does not yet support nice ways to
3571         async commit state.
3572         
3573         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
3574         (bin_bus_handler):
3575         Start state recalc if a STATE_DIRTY message is posted, but only
3576         on the toplevel bin.
3577
3578         * gst/gstelement.c: (gst_element_sync_state_with_parent),
3579         (gst_element_get_state_func), (gst_element_abort_state),
3580         (gst_element_commit_state), (gst_element_lost_state),
3581         (gst_element_set_state_func), (gst_element_change_state):
3582         * gst/gstelement.h:
3583         State variables are now protected with the LOCK, the state
3584         lock is only used to serialize _set_state().
3585
3586 2005-10-18  Wim Taymans  <wim@fluendo.com>
3587
3588         * check/gst/gstbin.c: (GST_START_TEST):
3589         * check/gst/gstmessage.c: (GST_START_TEST):
3590         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3591         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
3592         (bin_bus_handler):
3593         * gst/gstelement.c: (gst_element_abort_state),
3594         (gst_element_commit_state), (gst_element_lost_state):
3595         * gst/gstmessage.c: (gst_message_new_state_changed),
3596         (gst_message_new_state_dirty), (gst_message_new_segment_start),
3597         (gst_message_new_segment_done), (gst_message_new_duration),
3598         (gst_message_parse_state_changed),
3599         (gst_message_parse_segment_start),
3600         (gst_message_parse_segment_done), (gst_message_parse_duration):
3601         * gst/gstmessage.h:
3602         * tools/gst-launch.c: (event_loop):
3603         Seriously, this is better than a previous commit as we only need
3604         to notify the fact that an element changed state in a streaming
3605         thread, marking the state of the parents dirty, hence the 
3606         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
3607         message.
3608
3609 2005-10-18  Wim Taymans  <wim@fluendo.com>
3610
3611         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
3612         (gst_bin_recalc_func):
3613         * gst/gstelement.c: (gst_element_set_clock),
3614         (gst_element_abort_state), (gst_element_lost_state):
3615         Cleanups, prepare for state change fixes.
3616
3617 2005-10-18  Wim Taymans  <wim@fluendo.com>
3618
3619         * gst/gstbin.h:
3620         * gst/gstelement.c: (gst_element_class_init),
3621         (gst_element_set_state), (gst_element_set_state_func):
3622         * gst/gstelement.h:
3623         Pending ABI changes.
3624         GThreadPool in GstBinClass to monitor async state changes.
3625         state_cookie in GstElement to detect concurrent gst/set state.
3626         set_state is now virtual too in case a very complicated element
3627         has to be constructed.
3628
3629 2005-10-18  Wim Taymans  <wim@fluendo.com>
3630
3631         * check/gst/gstbin.c: (GST_START_TEST):
3632         * check/gst/gstmessage.c: (GST_START_TEST):
3633         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3634         * gst/gstbin.c: (bin_bus_handler):
3635         * gst/gstelement.c: (gst_element_commit_state),
3636         (gst_element_lost_state):
3637         * gst/gstmessage.c: (gst_message_new_state_changed),
3638         (gst_message_new_segment_start), (gst_message_new_segment_done),
3639         (gst_message_new_duration), (gst_message_parse_state_changed),
3640         (gst_message_parse_segment_start),
3641         (gst_message_parse_segment_done), (gst_message_parse_duration):
3642         * gst/gstmessage.h:
3643         * tools/gst-launch.c: (event_loop):
3644         Make messages future proof.
3645         state-change gets a flag if it was a message comming from the
3646         streaming thread.
3647         segment-start/stop can also be specified in other formats.
3648         A message to notify an app that a pipeline changed playback 
3649         duration.
3650         Also fix a GstMessage leak in -launch
3651
3652 2005-10-18  Andy Wingo  <wingo@pobox.com>
3653
3654         * gst/gstelement.c (gst_element_dispose): More helpful message.
3655
3656 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3657
3658         reviewed by: <delete if not using a buddy>
3659
3660         * common/gtk-doc.mak:
3661
3662 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3663
3664         * gst/gstregistry.c: (gst_registry_scan_path_level):
3665           unref a plug-in we get that was already initialized
3666
3667 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
3668
3669         * docs/gst/gstreamer-sections.txt:
3670         * docs/libs/gstreamer-libs-sections.txt:
3671         * gst/gstelement.h:
3672           add new api entries
3673           hide internal macro
3674
3675 2005-10-17  Andy Wingo  <wingo@pobox.com>
3676
3677         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
3678         cleanup.
3679
3680         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
3681
3682         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
3683
3684         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
3685         (gst_element_get_state_func): Better debug message.
3686         (gst_element_commit_state): s/INFO/DEBUG/.
3687         (gst_element_lost_state, gst_element_change_state): 
3688
3689         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
3690         (gst_message_new_custom): s/INFO/LOG/.
3691
3692 2005-10-17  Michael Smith <msmith@fluendo.com>
3693
3694         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3695           Check if end time is valid using end time, not start time.
3696
3697 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
3698
3699         * check/gst-libs/controller.c: (GST_START_TEST),
3700         (gst_controller_suite):
3701         * libs/gst/controller/gstcontroller.c:
3702         (gst_controlled_property_set_interpolation_mode):
3703         * libs/gst/controller/gstcontroller.h:
3704         * libs/gst/controller/gstinterpolation.c:
3705         * testsuite/controller/.cvsignore:
3706         * testsuite/controller/Makefile.am:
3707         * testsuite/controller/interpolator.c:
3708           merge controller testsuites
3709           fix broken tests
3710           remove mem-chunk from docs
3711
3712 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3713
3714         * gst/gstmemchunk.c:
3715         * gst/gstmemchunk.h:
3716         * gst/gsttrashstack.c:
3717         * gst/gsttrashstack.h:
3718           out.  get out.  you're fired.  to the Attic !
3719
3720 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3721
3722         * gst/gstcaps.c: (gst_caps_intersect):
3723           fix signedness issues in a (hopefully) correct way
3724         * gst/gstelement.c: (gst_element_pads_activate):
3725           some debugging
3726         * gst/gstobject.c: (gst_object_set_parent):
3727           some debugging
3728
3729 2005-10-17  Julien MOUTTE  <julien@moutte.net>
3730
3731         * gst/gstvalue.h: Fix prototypes.
3732
3733 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3734
3735         * docs/gst/gstreamer-sections.txt:
3736         * gst/gst.c: (gst_version_string):
3737         * gst/gst.h:
3738         * gst/gstversion.h.in:
3739         * win32/common/libgstreamer.def:
3740           add gst_version_string ()
3741
3742 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3743
3744         * configure.ac:
3745           clean up further
3746         * gst/gst.c: (init_post):
3747         * win32/common/config.h.in:
3748           it's PLUGINDIR now
3749         * gst/gstcaps.c: (gst_caps_intersect):
3750           use gint64, the range could be bigger than a guint
3751
3752 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3753
3754         * gst/gstclock.h:
3755           document potential problem in 2038
3756
3757 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3758
3759         * gst/gstcaps.c: (gst_caps_intersect):
3760           Fix guint j diving under 0
3761
3762 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3763
3764         * configure.ac:
3765         * win32/common/config.h:
3766         * win32/common/config.h.in:
3767           check for process.h, declares getpid() on Windows
3768         * gst/gstinfo.c:
3769           include process.h if we have it
3770         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
3771         * gst/gstmemchunk.h:
3772           fix signedness issues
3773         * win32/common/libgstreamer.def:
3774           fix get_type's
3775
3776 2005-10-16  Julien MOUTTE  <julien@moutte.net>
3777
3778         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
3779         fix. Because of unsigned ints, caps intersection was going nuts and
3780         trying to access structures with G_MAXUINT index. That fixes
3781         videotestsrc ! ffmpegcolorspace ! fakesink
3782         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
3783         consistency.
3784
3785 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3786
3787         * configure.ac:
3788           use the gettext macro
3789         * gst/elements/gstelements.c:
3790         * gst/gst.c:
3791         * gst/indexers/gstindexers.c:
3792           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
3793         * win32/common/config.h:
3794           updated config.h
3795         * win32/common/config.h.in:
3796           add the template to generate config.h
3797         * win32/common/gstenumtypes.c:
3798         * win32/common/gstversion.h:
3799           updated copies
3800
3801 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3802
3803         * gst/gst.c: (gst_version):
3804         * gst/gstversion.h.in:
3805           add the nano
3806
3807 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3808
3809         * gst/gstevent.h:
3810           Oops, add missing closing bracket.
3811
3812 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3813
3814         * configure.ac:
3815           use common m4's for argument checking
3816
3817 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3818
3819         * docs/gst/gstreamer-sections.txt:
3820         * gst/gstevent.h:
3821           Add GST_EVENT_TYPE_NAME() macro.
3822
3823 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3824
3825         * gst/gstinfo.c:
3826         * gst/gstpluginfeature.c:
3827         * gst/gsttask.c:
3828           privatize more symbols
3829
3830 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3831
3832         * configure.ac:
3833           add srcdir, builddir includes to GST_ALL_CFLAGS, since
3834           everything that uses GStreamer API should have the includes
3835
3836 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3837
3838         * docs/gst/gstreamer-sections.txt:
3839         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
3840         * gst/gstvalue.h:
3841           give each value a _get_type, removes the DATA exports
3842
3843 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3844
3845         * gst/gst.c:
3846         * gst/gst.h:
3847           remove _gst_registry_auto_load, not used anymore
3848         * gst/gstbin.c: (gst_bin_get_type):
3849         * gst/gstbin.h:
3850         * gst/gstelement.c: (gst_element_get_type):
3851         * gst/gstelement.h:
3852         * gst/gstobject.c: (gst_object_get_type):
3853         * gst/gstobject.h:
3854         * gst/gstpad.c: (gst_pad_get_type):
3855         * gst/gstpad.h:
3856           make _get_type functions similar, fixes data export from library
3857
3858 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3859
3860         * configure.ac:
3861           correctly make conditionals
3862         * gst/elements/Makefile.am:
3863         * gst/elements/gstelements.c:
3864           fix typo causing fdsrc not to build
3865
3866 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3867
3868         * testsuite/Makefile.am:
3869         * testsuite/bytestream/.cvsignore:
3870         * testsuite/bytestream/Makefile.am:
3871         * testsuite/bytestream/filepadsink.c:
3872         * testsuite/bytestream/gstbstest.c:
3873         * testsuite/bytestream/test1.c:
3874         * testsuite/bytestream/testfile1:
3875         * testsuite/caps/normalisation.c:
3876         * testsuite/caps/random.c: (main):
3877         * testsuite/cleanup/.cvsignore:
3878         * testsuite/cleanup/Makefile.am:
3879         * testsuite/cleanup/cleanup1.c:
3880         * testsuite/cleanup/cleanup2.c:
3881         * testsuite/cleanup/cleanup3.c:
3882         * testsuite/cleanup/cleanup4.c:
3883         * testsuite/cleanup/cleanup5.c:
3884         * testsuite/controller/interpolator.c:
3885         * testsuite/debug/printf_extension.c: (main):
3886         * testsuite/elements/tee.c:
3887         * testsuite/negotiation/.cvsignore:
3888         * testsuite/negotiation/Makefile.am:
3889         * testsuite/negotiation/pad_link.c:
3890         * testsuite/pad/Makefile.am:
3891         * testsuite/pad/chainnopull.c:
3892         * testsuite/pad/getnopush.c:
3893         * testsuite/pad/link.c:
3894         * testsuite/refcounting/sched.c: (create_pipeline):
3895         * testsuite/registry/Makefile.am:
3896         * testsuite/registry/gst-print-formats.c:
3897         * testsuite/schedulers/.cvsignore:
3898         * testsuite/schedulers/142183-2.c:
3899         * testsuite/schedulers/142183.c:
3900         * testsuite/schedulers/143777-2.c:
3901         * testsuite/schedulers/143777.c:
3902         * testsuite/schedulers/147713.c:
3903         * testsuite/schedulers/147819.c:
3904         * testsuite/schedulers/147894-2.c:
3905         * testsuite/schedulers/147894.c:
3906         * testsuite/schedulers/Makefile.am:
3907         * testsuite/schedulers/group_link.c:
3908         * testsuite/schedulers/queue_link.c:
3909         * testsuite/schedulers/relink.c:
3910         * testsuite/schedulers/unlink.c:
3911         * testsuite/schedulers/unref.c:
3912         * testsuite/schedulers/useless_iteration.c:
3913         * testsuite/states/bin.c:
3914           clean out/remove some stuff from the testsuite directories
3915
3916 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3917
3918         * configure.ac:
3919           check for some headers
3920         * gst/elements/Makefile.am:
3921         * gst/elements/gstelements.c:
3922           don't compile fdsrc without sys/socket.h
3923         * gst/indexers/Makefile.am:
3924         * gst/indexers/gstindexers.c: (plugin_init):
3925           don't compile fileindex without mmap
3926
3927 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3928
3929         * configure.ac:
3930           reorganize
3931           clean up
3932           document more
3933           remove cruft
3934         * check/Makefile.am:
3935         * docs/gst/Makefile.am:
3936         * examples/helloworld/Makefile.am:
3937         * gst/Makefile.am:
3938         * gst/base/Makefile.am:
3939         * gst/check/Makefile.am:
3940         * gst/elements/Makefile.am:
3941         * gst/indexers/Makefile.am:
3942         * gst/parse/Makefile.am:
3943         * libs/gst/controller/Makefile.am:
3944         * libs/gst/dataprotocol/Makefile.am:
3945         * examples/helloworld/helloworld.c: (event_loop):
3946           compile fixes, though it's not being compiled currently
3947
3948 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3949
3950         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
3951           Add some simple tests for the new taglist date API.
3952
3953 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3954
3955         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
3956         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
3957           Beautify 'last-message' output: print 'none' for buffer timestamps
3958           and durations if none is set; improve alignment with next messages.
3959
3960 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3961
3962         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
3963         * gst/gstpluginfeature.h:
3964         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
3965         * gst/gstregistry.h:
3966         * docs/gst/gstreamer-sections.txt:
3967           Add new API to check plugin feature version requirements.
3968
3969         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
3970           Some basic tests for the above.         
3971
3972 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3973
3974         * gst/gststructure.c: (gst_structure_to_string):
3975           guard against NULL printf - happens when for example
3976           a message structure with GstClock gets serialized
3977
3978 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3979
3980         * gst/base/gstcollectpads.c: (gst_collectpads_event):
3981           Fix presumable copy'n'pasto.
3982
3983 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3984
3985         * gst/elements/gstfakesrc.h:
3986         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
3987         * gst/elements/gsttypefindelement.c:
3988           fix some signedness
3989         * gst/elements/gstfilesink.c: (gst_file_sink_render):
3990           I wonder if this could actually write +2GB files before
3991
3992 2005-10-13  Andy Wingo  <wingo@pobox.com>
3993
3994         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
3995         Fix Timmeke Waymans bug.
3996         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
3997         string of the proper length to gst_caps_from_string. There's a
3998         potential for, before this fix, that this could cause someone
3999         connecting over the network to cause a segfault if the payload is
4000         not NUL-terminated.
4001
4002 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4003
4004         * docs/design/draft-push-pull.txt:
4005         * docs/design/part-overview.txt:
4006         * docs/random/TODO-pre-0.9:
4007         * docs/random/old/ChangeLog.gstreamer:
4008         * gst/base/gstpushsrc.c:
4009         * gst/gstclock.c:
4010           fixed typos
4011
4012 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4013
4014         * gst/glib-compat.c: (gst_flags_get_first_value):
4015         * gst/glib-compat.h:
4016         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
4017         (gst_value_compare_double), (gst_value_serialize_flags):
4018           GLib 2.6 g_flags_get_first_value has a bug that triggers an
4019           infinite loop
4020
4021 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4022
4023         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4024         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4025           fix up debugging
4026         * tools/gst-launch.c: (event_loop):
4027           print out clock nicely
4028
4029 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4030
4031         * docs/gst/gstreamer-sections.txt:
4032         * gst/gsttaglist.h:
4033         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
4034         (gst_tag_list_get_date_index):
4035           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
4036           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
4037
4038 2005-10-13  Julien MOUTTE  <julien@moutte.net>
4039
4040         * gst/base/gstcollectpads.c: (gst_collectpads_event),
4041         (gst_collectpads_chain):
4042         * gst/base/gstcollectpads.h: Handle newsegment and store informations
4043         in CollectData.
4044
4045 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4046
4047         * docs/gst/gstreamer-sections.txt:
4048         * gst/gst.c:
4049         * gst/gsterror.h:
4050         * tools/gst-inspect.c: (main):
4051         * tools/gst-launch.c: (main):
4052         * tools/gst-run.c: (main):
4053         * tools/gst-xmlinspect.c: (main):
4054           fix GOption context leaks
4055           doc fixes
4056
4057 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4058
4059         * gst/gstbus.c:
4060           use HAVE_UNISTD_H
4061         * win32/common/config.h:
4062           update config
4063         * win32/vs6/grammar.dsp:
4064         * win32/vs6/libgstelements.dsp:
4065         * win32/vs6/libgstreamer.dsp:
4066           update vs6 files
4067
4068 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4069
4070         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4071         * gst/base/gstbasesrc.c: (gst_base_src_query):
4072           fix more guint64<->gdouble conversions
4073
4074 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4075
4076         * Makefile.am:
4077           add win32-update target
4078         * win32/common/gstconfig.h:
4079         * win32/common/gstenumtypes.c:
4080         * win32/common/gstenumtypes.h:
4081         * win32/common/gstversion.h:
4082           add files that visual studio can't generate
4083
4084 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4085
4086         * Makefile.am:
4087           add a win32-update target
4088         * configure.ac:
4089
4090 2005-10-12  Wim Taymans  <wim@fluendo.com>
4091
4092         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4093         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
4094         * gst/gstelement.c: (gst_element_commit_state),
4095         (gst_element_set_state):
4096         Protect flags with proper lock.
4097         unref provided cached clock in dispose.
4098
4099 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4100
4101         * gst/gst.c:
4102         * gst/gstminiobject.h:
4103         * gst/gstpad.h:
4104         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
4105           removed unused flags from miniobject
4106           doc fixes
4107
4108 2005-10-12  Wim Taymans  <wim@fluendo.com>
4109
4110         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4111         (gst_file_sink_event), (gst_file_sink_render):
4112         Flush before seeking.
4113
4114 2005-10-12  Andy Wingo  <wingo@pobox.com>
4115
4116         * gst/gst.c (gst_init_check): Ignore unknown options, as has
4117         always been the case.
4118
4119 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4120
4121         * check/gst/gstbin.c: (GST_START_TEST):
4122         * docs/gst/gstreamer-sections.txt:
4123         * gst/base/gstbasesink.c: (gst_base_sink_init):
4124         * gst/base/gstbasesrc.c: (gst_base_src_init),
4125         (gst_base_src_get_range), (gst_base_src_check_get_range),
4126         (gst_base_src_start), (gst_base_src_stop):
4127         * gst/base/gstbasesrc.h:
4128         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
4129         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4130         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
4131         (bin_bus_handler):
4132         * gst/gstbin.h:
4133         * gst/gstbuffer.h:
4134         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
4135         * gst/gstbus.h:
4136         * gst/gstelement.c: (gst_element_is_locked_state),
4137         (gst_element_set_locked_state), (gst_element_commit_state),
4138         (gst_element_set_state):
4139         * gst/gstelement.h:
4140         * gst/gstindex.c: (gst_index_init):
4141         * gst/gstindex.h:
4142         * gst/gstminiobject.h:
4143         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
4144         (gst_object_set_parent):
4145         * gst/gstobject.h:
4146         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4147         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4148         * gst/gstpad.h:
4149         * gst/gstpadtemplate.h:
4150         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4151         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4152         * gst/gstpipeline.h:
4153         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4154         (gst_file_index_commit):
4155         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4156         * testsuite/pad/link.c: (gst_test_src_init),
4157         (gst_test_filter_init), (gst_test_sink_init):
4158         * testsuite/states/locked.c: (main):
4159           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
4160           moved bitshift from macro to enum definition
4161
4162 2005-10-12  Wim Taymans  <wim@fluendo.com>
4163
4164         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
4165         * gst/elements/gstfilesink.c: (gst_file_sink_event),
4166         (gst_file_sink_render):
4167         Some more debugging info.
4168
4169 2005-10-12  Wim Taymans  <wim@fluendo.com>
4170
4171         * docs/design/part-states.txt:
4172         * tools/gst-launch.c: (main):
4173         Some doc updates.
4174         Revert non-intentional change.
4175
4176 2005-10-12  Wim Taymans  <wim@fluendo.com>
4177
4178         * check/gst/gstbin.c: (GST_START_TEST):
4179         * check/gst/gstelement.c: (GST_START_TEST):
4180         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4181         * check/gst/gstghostpad.c: (GST_START_TEST):
4182         * check/gst/gstpipeline.c: (GST_START_TEST):
4183         * check/pipelines/simple_launch_lines.c: (run_pipeline):
4184         * check/states/sinks.c: (GST_START_TEST):
4185         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4186         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4187         (gst_bin_remove_func), (gst_bin_get_state_func),
4188         (gst_bin_recalc_state), (gst_bin_change_state_func),
4189         (bin_bus_handler):
4190         * gst/gstelement.c: (gst_element_get_state_func),
4191         (gst_element_get_state), (gst_element_abort_state),
4192         (gst_element_commit_state), (gst_element_set_state),
4193         (gst_element_change_state), (gst_element_change_state_func):
4194         * gst/gstelement.h:
4195         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4196         (gst_pipeline_provide_clock_func):
4197         * gst/gstutils.c: (gst_element_link_pads_filtered):
4198         * tools/gst-launch.c: (main):
4199         * tools/gst-typefind.c: (main):
4200         Use GstClockTime in _get_state() instead of GTimeVal.
4201         Remove old code in gstutils.c
4202
4203 2005-10-12  Andy Wingo  <wingo@pobox.com>
4204
4205         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4206         removed.
4207
4208         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4209         there is no task. Shouldn't affect any code, as nothing in our
4210         plugins checks this return value.
4211         (gst_pad_stop_task): Also take the stream lock if the pad has no
4212         task. Docs updated.
4213
4214 2005-10-12  Wim Taymans  <wim@fluendo.com>
4215
4216         * gst/gstpad.c: (pre_activate), (post_activate),
4217         (gst_pad_activate_pull), (gst_pad_activate_push):
4218         Cleanup activation code. Reset old state if
4219         activation failed.
4220
4221 2005-10-12  Wim Taymans  <wim@fluendo.com>
4222
4223         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4224         (gst_base_sink_change_state):
4225         No need to prerol after receiving EOS.
4226
4227         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4228         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4229         * gst/elements/gstidentity.c: (gst_identity_event):
4230         Print events more verbosely.
4231
4232 2005-10-12  Wim Taymans  <wim@fluendo.com>
4233
4234         * check/Makefile.am:
4235         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4236         * check/states/sinks2.c:
4237         Moved sinks2 testcode in sinks check.
4238
4239         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4240         (gst_bin_remove_func), (gst_bin_recalc_state),
4241         (gst_bin_change_state_func), (bin_bus_handler):
4242         Fix potential race condition when _get_state() iterated over an
4243         ASYNC element right before it posted a state completion.
4244
4245         * gst/gstclock.h:
4246         Do proper cast here.
4247
4248         * gst/gstevent.c: (gst_event_new_newsegment),
4249         (gst_event_parse_newsegment):
4250         A playback rate of 0.0 is not allowed.
4251
4252 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4253
4254         * win32/common/config.h:
4255         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4256         (_trewinddir), (_ttelldir), (_tseekdir):
4257         * win32/common/dirent.h:
4258         * win32/common/gtchar.h:
4259         * win32/common/libgstbase.def:
4260         * win32/common/libgstreamer.def:
4261         * win32/vs6/grammar.dsp:
4262         * win32/vs6/gst_inspect.dsp:
4263         * win32/vs6/gst_launch.dsp:
4264         * win32/vs6/gstreamer.dsw:
4265         * win32/vs6/libgstbase.dsp:
4266         * win32/vs6/libgstelements.dsp:
4267         * win32/vs6/libgstreamer.dsp:
4268           Visual Studio 6 project files, and a new common directory.
4269           Phear.
4270
4271 2005-10-11  Wim Taymans  <wim@fluendo.com>
4272
4273         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4274         (gst_base_sink_do_sync), (gst_base_sink_query),
4275         (gst_base_sink_change_state):
4276         * gst/base/gstbasesink.h:
4277         Correctly parse newsegment info.
4278
4279 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4280
4281         * gst/gst.c: (init_post):
4282           split plugin paths correctly
4283
4284 2005-10-11  Wim Taymans  <wim@fluendo.com>
4285
4286         * check/gst/gstevent.c: (GST_START_TEST):
4287         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4288         (gst_base_sink_change_state):
4289         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4290         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4291         * gst/elements/gstfilesink.c: (gst_file_sink_event):
4292         * gst/gstevent.c: (gst_event_new_newsegment),
4293         (gst_event_parse_newsegment):
4294         * gst/gstevent.h:
4295         Added extra flag to newsegment for future API freeze.
4296         Updated check and base elements.
4297
4298 2005-10-11  Julien MOUTTE  <julien@moutte.net>
4299
4300         * gst/base/gstcollectpads.c: (gst_collectpads_init),
4301         (gst_collectpads_add_pad), (gst_collectpads_pop),
4302         (gst_collectpads_event), (gst_collectpads_chain):
4303         * gst/base/gstcollectpads.h: Handle EOS correctly.
4304
4305 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4306
4307         * tools/gst-launch.c: (main):
4308           more null protecting
4309
4310 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4311
4312         * gst/gst-i18n-lib.h:
4313           check for ENABLE_NLS, not GETTEXT_PACKAGE
4314         * gst/gstregistry.c: (gst_registry_add_plugin),
4315         (gst_registry_scan_path_level),
4316         (_gst_registry_remove_cache_plugins):
4317           protect possibly NULL strings
4318         * gst/parse/types.h:
4319           config.h already included before
4320         * tools/gst-inspect.c: (main):
4321           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4322           check for ENABLE_NLS, not GETTEXT_PACKAGE
4323         * tools/gst-launch.c: (main):
4324           check for ENABLE_NLS, not GETTEXT_PACKAGE
4325
4326 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4327
4328         * configure.ac:
4329           if we don't have glib, fail before testing 2.8
4330         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4331           fix a leak, should fix plugins-base testsuite
4332
4333 2005-10-11  Andy Wingo  <wingo@pobox.com>
4334
4335         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4336         take the mode we're going to as an arg. Go head and set the mode
4337         and flushing flags now, so that if the activate function starts a
4338         thread all the flags will be in the right state.
4339         (post_activate): Renamed also. Just handle making sure streaming
4340         finishes for the deactivation case, and setting the deactivated
4341         mode.
4342         (gst_pad_set_active): Complain loudly if deactivation fails.
4343         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4344         (gst_pad_activate_push): Adapt to pre/post_activate changes,
4345         remove the terrible hack.
4346
4347 2005-10-11  Wim Taymans  <wim@fluendo.com>
4348
4349         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4350         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4351         (gst_bin_recalc_state), (gst_bin_change_state_func),
4352         (gst_bin_dispose), (bin_bus_handler):
4353         * gst/gstbin.h:
4354         Prepare to make current EOS message queue more generic.
4355         Fix some typos.
4356
4357         * gst/gstevent.c: (gst_event_new_newsegment),
4358         (gst_event_parse_newsegment):
4359         * gst/gstevent.h:
4360         Rename base to stream_time.
4361
4362         * gst/gstmessage.h:
4363         Fix typo in docs.
4364
4365 2005-10-11  Wim Taymans  <wim@fluendo.com>
4366
4367         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4368         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
4369         (gst_bin_change_state_func), (bin_bus_handler):
4370         * gst/gstbin.h:
4371         Work on proper clock selection.
4372
4373 2005-10-11  Edward Hervey  <edward@fluendo.com>
4374
4375         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
4376         * libs/gst/controller/gstcontroller.h:
4377         Added GList* version of _remove_properties() in order to be able to wrap
4378         it in bindings.
4379
4380 2005-10-11  Wim Taymans  <wim@fluendo.com>
4381
4382         * docs/design/part-states.txt:
4383         Some more docs.
4384
4385         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
4386         (gst_bin_change_state_func), (bin_bus_handler):
4387         Doc updates. Don't distribute the same clock over and over again.
4388
4389         * gst/gstclock.c:
4390         * gst/gstclock.h:
4391         Doc updates.
4392
4393         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
4394         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
4395         (gst_pad_send_event):
4396         * gst/gstpad.h:
4397         Make probe emission threadsafe again.
4398         Register quarks and move _get_name() from utils.
4399         Doc updates.
4400
4401         * gst/gstpipeline.c: (gst_pipeline_class_init),
4402         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4403         Only redistribute the clock of it changed.
4404
4405         * gst/gstsystemclock.h:
4406         Doc updates. 
4407
4408         * gst/gstutils.c:
4409         * gst/gstutils.h:
4410         Moved the _flow_get_name() to GstPad.
4411
4412 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4413
4414         * check/gst-libs/gdp.c: (GST_START_TEST):
4415         * check/gst/gstcaps.c: (GST_START_TEST):
4416         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
4417         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
4418         (gst_dp_packet_from_caps):
4419           fix more valgrind warnings before turning up the heat
4420
4421 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4422
4423         * gst/parse/grammar.y:
4424           some cleanup before the hacking
4425
4426 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4427
4428         * gst/base/gstbasesrc.c: (gst_base_src_query):
4429           use conversions
4430         * gst/gstutils.c: (gst_guint64_to_gdouble),
4431         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
4432         * gst/gstutils.h:
4433           externalize, basesrc uses it
4434           obviously the implementation needs testing
4435
4436 2005-10-10  Wim Taymans  <wim@fluendo.com>
4437
4438         * tests/sched/Makefile.am:
4439         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
4440         (make_pipeline3), (make_pipeline4), (print_elem), (main):
4441
4442 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4443
4444         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
4445           apparently converting from guint64 to double is not implemented
4446           on MSVC
4447
4448 2005-10-10  Wim Taymans  <wim@fluendo.com>
4449
4450         * check/Makefile.am:
4451         * check/generic/states.c: (GST_START_TEST):
4452         * check/gst/gstbin.c: (GST_START_TEST):
4453         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4454         * check/states/sinks.c: (GST_START_TEST):
4455         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
4456         (main):
4457         Check fixes, use API as stated in design docs, remove hacks.
4458
4459         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4460         (gst_base_sink_change_state):
4461         Catch stopping our task while we're shutting down.
4462
4463         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
4464         (gst_bin_remove_func), (gst_bin_get_state_func),
4465         (gst_bin_recalc_state), (gst_bin_change_state_func),
4466         (bin_bus_handler):
4467         * gst/gstbin.h:
4468         * gst/gstelement.c: (gst_element_init),
4469         (gst_element_get_state_func), (gst_element_abort_state),
4470         (gst_element_commit_state), (gst_element_lost_state),
4471         (gst_element_set_state), (gst_element_change_state),
4472         (gst_element_change_state_func):
4473         * gst/gstelement.h:
4474         New state change algorithm (see #318116)
4475
4476         * gst/gstpipeline.c: (gst_pipeline_class_init),
4477         (gst_pipeline_init), (gst_pipeline_set_property),
4478         (gst_pipeline_get_property), (do_pipeline_seek),
4479         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4480         * gst/gstpipeline.h:
4481         Remove crude state change hacks.
4482
4483         * gst/gstutils.h:
4484         Remove crude hacks.
4485
4486         * tools/gst-launch.c: (main):
4487         Fixes for state change. Needs some more work to fully use the
4488         new stuff.
4489
4490 2005-10-10  Andy Wingo  <wingo@pobox.com>
4491
4492         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
4493
4494         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
4495         this flag, but it's not even in GLib 2.6. Odd. Hack around the
4496         issue.
4497
4498 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4499
4500         * gst/gstiterator.c: (gst_iterator_new):
4501           Fix my previous commit: GTypes passed to gst_iterator_new()
4502           can be fundamental types.
4503
4504 2005-10-10  Wim Taymans  <wim@fluendo.com>
4505
4506         * gst/gstelement.c: (gst_element_iterate_pad_list),
4507         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
4508         (gst_element_iterate_sink_pads):
4509         Use src/sink pads lists for the respective iterators instead
4510         of filtering.
4511
4512 2005-10-10  Andy Wingo  <wingo@pobox.com>
4513
4514         Merged in popt removal + GOption addition patch from Ronald, bug
4515         #169772.
4516
4517         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
4518         GstElement macros around, remove popt-related symbols, add goption
4519         stuff.
4520
4521         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
4522         
4523         * docs/gst/Makefile.am:
4524         * docs/libs/Makefile.am: No POPT_CFLAGS.
4525         
4526         * examples/manual/Makefile.am:
4527         * docs/manual/basics-init.xml: Doc updates with an example.
4528         
4529         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4530         (gst_init), (parse_one_option), (parse_goption_arg):
4531         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
4532         bit of hand merging and debugging to get the GOption stuff working
4533         tho.
4534         
4535         * tests/Makefile.am:
4536         * tools/Makefile.am:
4537         * tools/gst-inspect.c: (main):
4538         * tools/gst-launch.c: (main):
4539         * tools/gst-run.c: (main):
4540         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
4541
4542 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4543
4544         * gst/gstiterator.c: (gst_iterator_new):
4545           Add assertions to make sure passed GType is likely to really
4546           be a GType (as the compiler won't catch it if the size and
4547           GType arguments get mixed up, see #318447).
4548
4549 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
4550
4551         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4552
4553         * gst/gstbin.c: (gst_bin_iterate_sorted):
4554           Pass GType and size arguments to gst_iterator_new() in the right
4555           order (maybe we should make _new() take the GType as first argument
4556           just like _new_list()?) (#318447).
4557           
4558
4559 2005-10-10  Wim Taymans  <wim@fluendo.com>
4560
4561         * gst/gstelement.c: (gst_element_finalize):
4562         And free the GStaticRecMutex too
4563
4564 2005-10-10  Andy Wingo  <wingo@pobox.com>
4565
4566         * gst/gstelement.c (gst_element_init, gst_element_finalize):
4567         Allocate and free the mutex properly.
4568
4569         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
4570         New macros.
4571         (GstElement): The state_lock is now recursive. Rebuild your
4572         plugins, suckers. Old macros adapted.
4573
4574         * docs/gst/gstreamer-sections.txt: Doc updates.
4575
4576         * gst/gstutils.h:
4577         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
4578         (g_static_rec_cond_wait): Ported from state changes patch, while
4579         we wait on bug #317802 to be solved in a well-distributed GLib.
4580
4581         * gst/gstelement.c (gst_element_change_state_func): Renamed from
4582         gst_element_change_state, variable name changes.
4583         (gst_element_change_state): Split out of gst_element_set_state in
4584         preparation for the state change merge. Doesn't pay attention to
4585         the 'transition' argument.
4586         (gst_element_set_state): Updates, hopefully purely cosmetic.
4587         (gst_element_sync_state_with_parent): MT-safety. Ported from the
4588         state change patch.
4589         (gst_element_get_state_func): Renamed from get_state, cosmetic
4590         changes.
4591
4592 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4593
4594         * gst/elements/gstelements.c:
4595         * win32/GStreamer.vcproj:
4596         * win32/config.h:
4597         * win32/dirent.c: (_tseekdir):
4598         * win32/gst-inspect.vcproj:
4599         * win32/gst-launch.vcproj:
4600         * win32/gstconfig.h:
4601         * win32/gstelements.vcproj:
4602         * win32/gstenumtypes.c: (gst_object_flags_get_type):
4603         * win32/gstreamer.def:
4604         * win32/msvc71.sln:
4605           updates for the win32 build (patch from Sebastien Moutte)
4606
4607 2005-10-10  Andy Wingo  <wingo@pobox.com>
4608
4609         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
4610         gst_bin_get_state, cleaned up (but no logic changes).
4611         (bin_element_is_sink): Comment updates.
4612         (sink_iterator_filter): Remove needless cast.
4613         (gst_bin_iterate_sinks): Doc update.
4614         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
4615         cleaned up (but no logic changes).
4616
4617         * check/states/sinks.c (test_src_sink): Cleanups from the state
4618         change patch.
4619         (test_livesrc_sink): Sync on the state.
4620
4621         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
4622         the state change patch.
4623
4624         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
4625         change patch.
4626
4627         * check/gst/gstbin.c: Merge in some style fixes and additional
4628         checks from Wim's state change patch.
4629
4630 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4631
4632         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4633         (gst_type_find_helper):
4634           Check whether we have the requested data already in our list of
4635           cached buffers before pulling a new buffer; also make the buffer
4636           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
4637
4638 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4639
4640         * gst/gstcaps.c:
4641         * gst/gstevent.c:
4642           doc updates
4643         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
4644           don't use long long, it's not portable.  Replacing with
4645           gint64 seems to work; let's hope no skeletons fall out of the closet.
4646
4647 2005-10-10  Andy Wingo  <wingo@pobox.com>
4648
4649         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
4650
4651 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
4652
4653         * docs/gst/gstreamer-sections.txt:
4654         * gst/gstevent.c:
4655         * gst/gstevent.h:
4656         * gst/gstinfo.c:
4657         * gst/gstinfo.h:
4658         * gst/gstmessage.c: (gst_message_parse_state_changed):
4659         * gst/gstpad.c:
4660         * gst/gstpad.h:
4661           more docs, fix compilation
4662
4663 2005-10-09  Philippe Khalaf <burger@speedy.org>
4664         * gst/gstmessage.c:
4665           Fixed a few forgotten variables on previous commit
4666
4667 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4668
4669         * gst/base/gsttypefindhelper.c: (helper_find_peek):
4670           Fix evil typefind crasher: getrange() might return a short
4671           buffer at the end of a file, but gst_type_find_peek() must
4672           either return the full data as requested or NULL, but
4673           never a short buffer.
4674
4675 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4676
4677         * gst/gstmessage.c: (gst_message_new_state_changed),
4678         (gst_message_parse_state_changed):
4679         * gst/gstmessage.h:
4680           don't use "new", it's a C++ keyword
4681
4682 2005-10-08  Wim Taymans  <wim@fluendo.com>
4683
4684         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
4685         * gst/gstelement.c: (gst_element_post_message):
4686         * gst/gstpipeline.c: (gst_pipeline_change_state):
4687         Small docs and debug updates.
4688
4689 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4690
4691         * docs/gst/gstreamer-sections.txt:
4692         * gst/gstelementfactory.c:
4693         * gst/gstevent.c:
4694         * gst/gsttaglist.c:
4695           more docs
4696
4697 2005-10-08  Wim Taymans  <wim@fluendo.com>
4698
4699         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
4700         (gst_bin_dispose), (bin_bus_handler):
4701         Fix typos, add comments.
4702         Clear EOS list when going to PAUSED from any direction and do it
4703         in a threadsafe way.
4704         Get base time in a threadsafe way too.
4705         Fix confusing debug in the change_state function.
4706         Various other small cleanups.
4707         
4708         * gst/gstelement.c: (gst_element_post_message):
4709         Fix very verbose bus posting code.
4710
4711         * gst/gstpipeline.c: (gst_pipeline_class_init),
4712         (gst_pipeline_set_property), (gst_pipeline_get_property),
4713         (gst_pipeline_change_state):
4714         Small ARG_ -> PROP_ cleanup
4715
4716 2005-10-08  Wim Taymans  <wim@fluendo.com>
4717
4718         * gst/gstbin.c: (is_eos), (bin_bus_handler):
4719         Do a less CPU demanding EOS check because we can.
4720
4721 2005-10-08  Wim Taymans  <wim@fluendo.com>
4722
4723         * libs/gst/dataprotocol/dataprotocol.c:
4724         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
4725         (gst_dp_packet_from_event):
4726         * libs/gst/dataprotocol/dataprotocol.h:
4727         * libs/gst/dataprotocol/dp-private.h:
4728         It's about time we bump the version number.
4729         Since event types don't fit in the guint8 anymore describing
4730         the payload type, make payload type 16 bits wide.
4731
4732 2005-10-08  Wim Taymans  <wim@fluendo.com>
4733
4734         * docs/design/part-TODO.txt:
4735         * docs/design/part-clocks.txt:
4736         * docs/design/part-events.txt:
4737         * docs/design/part-gstbin.txt:
4738         * docs/design/part-gstelement.txt:
4739         * docs/design/part-gstpipeline.txt:
4740         * docs/design/part-live-source.txt:
4741         * docs/design/part-messages.txt:
4742         * docs/design/part-overview.txt:
4743         * docs/design/part-states.txt:
4744         Many doc updates.
4745
4746 2005-10-08  Wim Taymans  <wim@fluendo.com>
4747
4748         * gst/gstevent.c:
4749         * gst/gstevent.h:
4750         Fix event quark registration.
4751         Add some space between events so we can insert them in the
4752         right groups.
4753
4754 2005-10-08  Wim Taymans  <wim@fluendo.com>
4755
4756         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4757         (gst_base_sink_handle_buffer):
4758         Better log message.
4759
4760         * gst/gstbus.h:
4761         * gst/gstelement.h:
4762         More docs.
4763
4764         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4765         (gst_queue_set_property), (gst_queue_get_property):
4766         * gst/gstqueue.h:
4767         Remove old unused properties.
4768
4769 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4770         * docs/gst/gstreamer-sections.txt:
4771         * gst/gstmessage.c:
4772         * gst/gstmessage.h:
4773         * gst/gstminiobject.c:
4774         * gst/gstminiobject.h:
4775         * gst/gstobject.h:
4776         * gst/gstpad.h:
4777         * gst/gstutils.h:
4778           lots of new docs and doc fixes
4779
4780 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4781
4782         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
4783         * gst/gstplugin.h:
4784         * gst/gstregistry.c: (gst_registry_lookup_locked),
4785         (gst_registry_scan_path_level):
4786         * gst/gstregistryxml.c: (load_plugin):
4787           Only ever load one plugin for a given plugin basename.
4788           This ensures correct overriding of GST_PLUGIN_PATH over
4789           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
4790           system installed plugins.
4791
4792 2005-10-08  Wim Taymans  <wim@fluendo.com>
4793
4794         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4795         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
4796         Prepare for doing QOS.
4797
4798 2005-10-08  Wim Taymans  <wim@fluendo.com>
4799
4800         * check/gst/gstbin.c: (GST_START_TEST):
4801         * check/pipelines/cleanup.c: (GST_START_TEST):
4802         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
4803         Allow new clock message too.
4804
4805 2005-10-08  Wim Taymans  <wim@fluendo.com>
4806
4807         * gst/gstmessage.c: (gst_message_new_error),
4808         (gst_message_new_warning), (gst_message_new_tag),
4809         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4810         (gst_message_new_clock_lost), (gst_message_new_new_clock),
4811         (gst_message_new_segment_start), (gst_message_new_segment_done),
4812         (gst_message_parse_state_changed),
4813         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
4814         (gst_message_parse_new_clock):
4815         * gst/gstmessage.h:
4816         Also carry the clock in question.
4817
4818 2005-10-08  Wim Taymans  <wim@fluendo.com>
4819
4820         * gst/gstmessage.c: (gst_message_new_custom),
4821         (gst_message_new_eos), (gst_message_new_error),
4822         (gst_message_new_warning), (gst_message_new_tag),
4823         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4824         (gst_message_new_new_clock), (gst_message_new_segment_start),
4825         (gst_message_new_segment_done), (gst_message_parse_state_changed),
4826         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
4827         * gst/gstmessage.h:
4828         Clean up.
4829         Added clock related messages.
4830
4831         * gst/gstpipeline.c: (gst_pipeline_change_state):
4832         Post message when the clock changed.
4833
4834         * tools/gst-launch.c: (event_loop):
4835         Print new clock.
4836
4837 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
4838
4839         * tools/gst-inspect.c: (print_element_properties_info):
4840           Can't pass NULL strings to g_print() on windows.
4841
4842 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4843
4844         * docs/Makefile.am:
4845         * docs/gst/Makefile.am:
4846         * docs/gst/gstreamer-docs.sgml:
4847         * docs/gst/running.xml:
4848         * docs/version.entities.in:
4849           add a chapter on running GStreamer.
4850           document GST_DEBUG and GST_PLUGIN* env vars
4851
4852 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4853
4854         * Makefile.am:
4855           remove include dir
4856         * configure.ac:
4857           remove PLUGINS_BUILDDIR stuff
4858         * gst/gst.c: (init_post):
4859           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
4860         * idiottest.mak:
4861           remove, it was condescending and not needed
4862
4863 2005-10-08  Wim Taymans  <wim@fluendo.com>
4864
4865         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
4866         (gst_base_sink_handle_object), (gst_base_sink_event),
4867         (gst_base_sink_wait), (gst_base_sink_handle_event),
4868         (gst_base_sink_change_state):
4869         * gst/base/gstbasesink.h:
4870         Repost EOS message while going to PLAYING if still EOS.
4871         Make sure that when receiving a FLUSH_START we don't attempt
4872         to sync on the clock anymore.
4873
4874 2005-10-08  Wim Taymans  <wim@fluendo.com>
4875
4876         * tools/gst-launch.c: (event_loop):
4877         Better message printout.
4878
4879 2005-10-08  Wim Taymans  <wim@fluendo.com>
4880
4881         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
4882         (gst_bin_child_proxy_get_children_count):
4883         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
4884         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
4885         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
4886         (gst_child_proxy_set_valist):
4887         * gst/parse/grammar.y:
4888         Make ChildProxy threadsafe and fix mem leaks.
4889
4890 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4891
4892         * gst/gst.c: (init_post):
4893           debug the GST_PLUGIN_ env vars
4894
4895 2005-10-08  Wim Taymans  <wim@fluendo.com>
4896
4897         * check/gst/gstbin.c: (GST_START_TEST):
4898         * check/gst/gstmessage.c: (GST_START_TEST):
4899         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4900         * gst/gstelement.c: (gst_element_commit_state),
4901         (gst_element_lost_state):
4902         * gst/gstmessage.c: (gst_message_new_state_changed),
4903         (gst_message_parse_state_changed):
4904         * gst/gstmessage.h:
4905         * tools/gst-launch.c: (event_loop):
4906         Added extra field to STATE_CHANGE message with the pending
4907         state, which will be different from the new state soon.
4908
4909 2005-10-08  Wim Taymans  <wim@fluendo.com>
4910
4911         * gst/gstbus.c: (gst_bus_pop):
4912         * gst/gstclock.c:
4913         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
4914         Small cleanups and doc updates.
4915
4916 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4917
4918         * gst/gst.c: (init_pre):
4919         * gst/gstbin.c: (gst_bin_add_func):
4920           log distributing clocks and base time
4921         * gst/gstregistry.c: (gst_registry_add_plugin),
4922         (gst_registry_scan_path_level), (gst_registry_scan_path):
4923           clean up the debugging output a little
4924         * gst/gstutils.c: (gst_element_state_get_name):
4925           warn about a memleak (I've actually seen this be used, though
4926           it was probably a bug)
4927
4928 2005-10-07  Wim Taymans  <wim@fluendo.com>
4929
4930         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4931         (gst_base_src_init), (gst_base_src_default_newsegment),
4932         (gst_base_src_newsegment), (gst_base_src_do_seek),
4933         (gst_base_src_loop), (gst_base_src_start):
4934         * gst/base/gstbasesrc.h:
4935         Make the newsegment event customizable by subclasses.
4936
4937 2005-10-07  Wim Taymans  <wim@fluendo.com>
4938
4939         * gst/gstevent.c: (gst_event_new_buffersize),
4940         (gst_event_parse_buffersize):
4941         * gst/gstevent.h:
4942         New event for future idea.
4943
4944 2005-10-07  Andy Wingo  <wingo@pobox.com>
4945
4946         * gst/gstelement.c (gst_element_post_message): Doc update.
4947
4948         * docs/gst/gstreamer-sections.txt: Update.
4949
4950         * gst/gstmessage.c (gst_message_new_application): Made into a
4951         function like honest API calls.
4952         (gst_message_new_element): New message type.
4953
4954         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
4955
4956         * check/elements/fakesrc.c (test_no_preroll): New check, checks
4957         that setting a live fakesrc to PAUSED returns NO_PREROLL both
4958         times.
4959
4960         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
4961         NO_PREROLL from gst_element_change_state to fall through.
4962
4963 2005-10-07  Wim Taymans  <wim@fluendo.com>
4964
4965         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
4966         (gst_ghost_pad_do_activate_push):
4967         Activating a ghostpad with no internal pad in push mode
4968         is ok.
4969
4970 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4971
4972         * gst/gstobject.h:
4973           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
4974           Fixes compilation on Windows.
4975
4976 2005-10-07  Michael Smith <msmith@fluendo.com>
4977
4978         * tools/gst-inspect.c:
4979           Print out feature and plugin count at the end when printing out
4980           all features.
4981
4982 2005-10-04  Michael Smith <msmith@fluendo.com>
4983
4984         * gst/gsterror.c: (_gst_stream_errors_init):
4985           Add another error string used in a few existing plugins.
4986
4987         * gst/gstplugin.c:
4988         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4989         * tools/gst-inspect.c: (print_element_info):
4990           When a feature disappears from a plugin (and the feature exists in
4991           the cached registry file), things went horribly wrong. This isn't a
4992           complete fix, we should actually be removing the 'missing' features
4993           from the features list when we load the actual plugin. That's not
4994           yet implemented. 
4995
4996 2005-10-04  Johan Dahlin  <johan@gnome.org>
4997
4998         * check/gst/gstiterator.c: (GST_START_TEST):
4999         * gst/gstbin.c: (gst_bin_iterate_elements),
5000         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
5001         * gst/gstelement.c: (gst_element_iterate_pads):
5002         * gst/gstformat.c: (gst_format_iterate_definitions):
5003         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5004         (gst_iterator_new_list), (gst_iterator_filter):
5005         * gst/gstiterator.h:
5006         * gst/gstquery.c: (gst_query_type_iterate_definitions):
5007         Add a GType to GstIterator, update callsites and tests.
5008
5009 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5010
5011         * gst/gstpad.c: (gst_pad_event_default_dispatch):
5012           give events a chance to be handled by event probes when the pad
5013           is not linked
5014
5015 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5016
5017         * gst/gstevent.c: (gst_event_type_get_name),
5018         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
5019         * gst/gstevent.h:
5020           add string representations for event types
5021
5022 2005-10-06  Wim Taymans  <wim@fluendo.com>
5023
5024         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
5025         Don't use NULL pointers.
5026
5027 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5028
5029         * gst/gst_private.h:
5030         * gst/gstbus.c:
5031         * gst/gstelement.c:
5032         * gst/gstinfo.c:
5033         * gst/gstpluginfeature.c:
5034           widen the debug category in output to fit the biggest one we have
5035           add a bus category and use it
5036           play with the colors
5037           fix up some categories
5038
5039 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5040
5041         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
5042           add push activation of sink ghost pads.
5043           Andye, please verify
5044
5045 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5046
5047         * gst/gstutils.c: (gst_element_link_pads):
5048           fix a bug in the case where neither element has a pad
5049         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5050           add a test for that case
5051
5052 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5053
5054         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
5055           emit have-data before checking for peers.  This allows
5056           for probe handlers to connect elements.  This helps autopluggers.
5057         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
5058         (gst_pad_suite):
5059           add six checks, linked/unlinked with no/true/false probe
5060
5061 2005-10-04  Wim Taymans  <wim@fluendo.com>
5062
5063         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
5064         (gst_fake_sink_event), (gst_fake_sink_preroll),
5065         (gst_fake_sink_render), (gst_fake_sink_change_state):
5066         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
5067         (gst_fake_src_get_property), (gst_fake_src_create),
5068         (gst_fake_src_stop):
5069         * gst/elements/gstidentity.c: (gst_identity_stop):
5070         Protect last_message with lock.
5071
5072 2005-10-04  Edward Hervey  <edward@fluendo.com>
5073
5074         * gst/gstformat.h: 
5075         Added precision in the comments for GST_FORMAT_DEFAULT
5076
5077 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
5078
5079         * tools/gst-launch.c: (main):
5080           Don't try to run erroneous pipelines.
5081
5082 2005-10-04  Julien MOUTTE  <julien@moutte.net>
5083
5084         * gst/gstbus.c: We don't need this header.
5085
5086 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5087
5088         * configure.ac:
5089           back to development
5090
5091 === release 0.9.3 ===
5092
5093 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5094
5095         * README:
5096         * configure.ac:
5097           Releasing 0.9.3, "Unregistered"
5098
5099 2005-10-03  Andy Wingo  <wingo@pobox.com>
5100
5101         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
5102         whereby calling a pad's activatepush() function can start a thread
5103         that starts to push or pull before the pad gets the FLUSHING flag
5104         unset. Hack around it by holding the stream lock until the flag is
5105         set. Need to replace this with a proper solution. Together with
5106         the ghost pad fixes, this fixes mp3 playing/tagreading.
5107
5108         * docs/design/part-gstghostpad.txt: Add a note about activation of
5109         proxy pads outside of ghost pads.
5110
5111         * gst/gstghostpad.c: Implement the ghost pad activation design.
5112
5113 2005-10-02  Andy Wingo  <wingo@pobox.com>
5114
5115         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
5116         It is volatile, after all.
5117
5118         * docs/design/part-gstghostpad.txt: Flesh out activation with
5119         ghost pads.
5120
5121         * gst/base/gstbasesrc.c (gst_base_src_init): Use
5122         GST_DEBUG_FUNCPTR.
5123
5124 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5125
5126         * configure.ac:
5127           Fix (unused) AM_CONDITIONAL tests.
5128
5129 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
5130
5131         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5132
5133         * gst/gstutils.c: (gst_pad_query_convert):
5134           Add assertion that makes sure src_val is >=0, just like
5135           gst_query_new_convert() has. (#315895)
5136
5137 2005-09-30  Edward Hervey  <edward@fluendo.com>
5138
5139         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
5140         Let's not iterate pads we're not interested in, it avoids getting 
5141         sky-high refcounts on sinkpad.
5142
5143 2005-09-30  Wim Taymans  <wim@fluendo.com>
5144
5145         * gst/gstelement.c: (gst_element_set_state),
5146         (gst_element_change_state):
5147         Small tweak, element in ASYNC remains ASYNC.
5148
5149 2005-09-30  Wim Taymans  <wim@fluendo.com>
5150
5151         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5152         Only error is an error.
5153
5154         * gst/gstbin.c: (gst_bin_change_state):
5155         Better debugging.
5156
5157         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
5158         Also call pad_block in pad alloc.
5159
5160         * gst/gstutils.c: (gst_flow_get_name):
5161         Better debugging.
5162
5163 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5164
5165         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5166         (gst_base_src_get_range):
5167           Fix documentation typos. Add some more debug info.
5168
5169 2005-09-29  David Schleef  <ds@schleef.org>
5170
5171         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5172           more end-user friendly.
5173         * tools/gst-inspect.c: (main): Check if command-line argument is
5174           a file and attempt to load that file as a plugin.
5175
5176 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5177
5178         * check/gst/gstbin.c:
5179         * check/states/sinks.c:
5180           fix tests for the new warning
5181         * check/gst/gstpipeline.c:
5182           add a test for pipeline and bus interaction
5183         * gst/gstelement.c:
5184           elements should be NULL if they get disposed; add a warning if not
5185
5186 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5187
5188         * gst/gstobject.c:
5189           for 2.6 refcounting, make debug log more correct by printing
5190           the actual refcounts at the time of swap (Wim)
5191
5192 2005-09-29  Andy Wingo  <wingo@pobox.com>
5193
5194         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5195         removes signal watches previously added via
5196         gst_bus_add_signal_watch.
5197         (gst_bus_add_signal_watch): Don't return the source id, just store
5198         it on the bus if there wasn't an id already.
5199
5200         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5201         add_signal_watch and remove_signal_watch.
5202
5203 2005-09-29  Edward Hervey  <edward@fluendo.com>
5204
5205         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
5206         Better if we actually iterate the list :)
5207
5208 2005-09-29  Wim Taymans  <wim@fluendo.com>
5209
5210         * check/gst/gstbin.c: (GST_START_TEST):
5211         Change for new bus API.
5212
5213         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5214         (send_messages), (GST_START_TEST), (gstbus_suite):
5215         Change for new bus signal API.
5216
5217         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5218         (gst_bus_source_prepare), (gst_bus_source_check),
5219         (gst_bus_create_watch), (gst_bus_add_watch_full),
5220         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5221         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5222         * gst/gstbus.h:
5223         Remove support for multiple GSources operating on different
5224         message types as it is too complex and unneeded when using
5225         signals.
5226         Added support for receiving signals from the bus.
5227
5228 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5229
5230         * docs/libs/tmpl/gstdataprotocol.sgml:
5231         * docs/manual/advanced-dataaccess.xml:
5232         * gst/elements/gstcapsfilter.c:
5233         * gst/gstutils.c:
5234           rename filter-caps to caps property
5235
5236 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5237
5238         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5239           More robust fraction string parsing.
5240
5241         * docs/pwg/appendix-porting.xml:
5242           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5243
5244 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5245
5246         * gst/gstcaps.c: (gst_caps_do_simplify):
5247           Thou shalt not free a structure and then continue using it
5248           in the next loop iteration.
5249
5250         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5251         (gst_caps_suite):
5252           Add test case for caps simplification.
5253
5254 2005-09-29  Wim Taymans  <wim@fluendo.com>
5255
5256         * check/gst/gstbin.c: (GST_START_TEST):
5257         Oops.
5258
5259 2005-09-29  Wim Taymans  <wim@fluendo.com>
5260
5261         * check/gst/gstbin.c: (GST_START_TEST):
5262         Add bus to bin.
5263
5264         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5265         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5266         (find_element), (gst_bin_sort_iterator_next),
5267         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5268         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5269         (gst_bin_change_state), (gst_bin_dispose):
5270         A bin does not have a bus, it gets the bus from the parent.
5271
5272         * gst/gstelement.c: (gst_element_requires_clock),
5273         (gst_element_provides_clock), (gst_element_is_indexable),
5274         (gst_element_is_locked_state), (gst_element_change_state),
5275         (gst_element_set_bus_func):
5276         Small cleanups.
5277
5278         * gst/gstpipeline.c: (gst_pipeline_class_init),
5279         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5280         The pipeline provides a bus.
5281
5282 2005-09-28  Johan Dahlin  <johan@gnome.org>
5283
5284         * gst/gstmessage.c (gst_message_parse_state_changed): Use
5285         gst_structure_get_enum instead of gst_structure_get_int
5286
5287         * gst/gststructure.c (gst_structure_get_enum): Impl.
5288
5289         * gst/gststructure.h (gst_structure_get_enum): Add
5290
5291         * docs/gst/gstreamer-sections.txt: Ditto
5292
5293         * gst/gstmessage.c (gst_message_new_state_changed): Use
5294         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5295         which does introspection.
5296         Reviewed by Christian Schaller
5297
5298 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5299
5300         * gst/gstinfo.c: (gst_debug_log_default):
5301           don't do dummy g_strdup()s
5302         * libs/gst/controller/gstcontroller.c:
5303         (on_object_controlled_property_changed),
5304         (gst_controlled_property_new), (gst_controller_new_valist),
5305         (gst_controller_new_list),
5306         (gst_controller_remove_properties_valist), (gst_controller_set),
5307         (gst_controller_get), (gst_controller_sync_values),
5308         (gst_controller_get_value_array), (_gst_controller_class_init),
5309         (gst_controller_get_type):
5310         * libs/gst/controller/gstcontroller.h:
5311         * libs/gst/controller/gstinterpolation.c:
5312         (gst_controlled_property_find_timed_value_node):
5313           convert // to /**/ comments
5314
5315 2005-09-28  Wim Taymans  <wim@fluendo.com>
5316
5317         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5318         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5319         (gst_bus_sync_signal_handler):
5320         * gst/gstbus.h:
5321         Added async-message and sync-message signals to the bus.
5322         Added helper BusFunc to emit signals for all posted messages.
5323
5324         * gst/gstmessage.c: (gst_message_type_get_name),
5325         (gst_message_type_to_quark), (gst_message_get_type):
5326         * gst/gstmessage.h:
5327         Register quarks for message names.
5328
5329 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5330
5331         * docs/libs/gstreamer-libs-sections.txt:
5332         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5333         (gst_controller_new_list):
5334         * libs/gst/controller/gstcontroller.h:
5335           added another constructor for language bindings
5336
5337 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5338
5339         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5340           add another check
5341         * gst/gstbus.c:
5342           add some doc
5343         * gst/gstinfo.c: (_gst_debug_init):
5344           slightly more readable color for refcount debugging
5345
5346 2005-09-28  Wim Taymans  <wim@fluendo.com>
5347
5348         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5349         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5350         (find_element), (gst_bin_sort_iterator_next),
5351         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5352         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5353         (gst_bin_change_state), (gst_bin_dispose):
5354         Small doc fixes. get_clock -> provide_clock.
5355
5356         * gst/gstelement.c: (gst_element_class_init),
5357         (gst_element_provides_clock), (gst_element_provide_clock),
5358         (gst_element_get_clock), (gst_element_commit_state),
5359         (gst_element_lost_state):
5360         * gst/gstelement.h:
5361         Make get/set_clock() symetric. Add provide_clock vmethod since
5362         that is actually what this function does.
5363
5364         * gst/gstpipeline.c: (gst_pipeline_class_init),
5365         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
5366         (gst_pipeline_get_clock):
5367         get_clock -> provide_clock.
5368
5369 2005-09-28  Andy Wingo  <wingo@pobox.com>
5370
5371         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
5372         lieu of real docs...
5373
5374         * gst/elements/gstfdsrc.c: Cleaned up a bit.
5375
5376 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
5377
5378         * gst/elements/gstcapsfilter.c:
5379         * gst/elements/gstfakesink.c:
5380         * gst/elements/gstfakesrc.c:
5381         * gst/elements/gstfdsink.c:
5382         * gst/elements/gstfdsrc.c:
5383         * gst/elements/gstfilesink.c:
5384         * gst/elements/gstfilesrc.c:
5385         * gst/elements/gstidentity.c:
5386         * gst/elements/gsttee.c:
5387         * gst/elements/gsttypefindelement.c:
5388           Make element details static.
5389
5390 2005-09-28  Wim Taymans  <wim@fluendo.com>
5391
5392         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5393         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5394         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5395         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5396         (gst_bin_change_state), (gst_bin_dispose):
5397         Some documentation updates.
5398         Clean up dispose handlers.
5399
5400         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
5401         * gst/gstpad.c: (gst_pad_dispose):
5402         Clean up dispose handler.
5403
5404         * gst/gstpipeline.c: (gst_pipeline_change_state):
5405         Removed spurious UNLOCK.
5406
5407 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
5408
5409         * docs/gst/gstreamer-sections.txt:
5410         * gst/base/gstbasesrc.h:
5411         * gst/gstelement.h:
5412         * gst/gstevent.h:
5413         * gst/gstobject.h:
5414         * gst/gstpad.h:
5415         * gst/gstpipeline.c:
5416         * gst/gstpipeline.h:
5417         * gst/gstutils.h:
5418         * gst/gstxml.h:
5419           added two new functions to the docs
5420                 documents all undocumented GstXXXFlags
5421                 completed some incomplete docs 
5422
5423 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5424
5425         * gst/gstbin.c: (gst_bin_dispose):
5426         * gst/gstelement.c: (gst_element_dispose):
5427           remove now useless and leaky resurrection code in dispose
5428         * gst/base/gstbasesrc.c: (gst_base_src_init):
5429         * gst/gstelementfactory.c: (gst_element_factory_create):
5430         * gst/gstobject.c: (gst_object_set_parent):
5431           add some debugging
5432
5433 2005-09-27  Wim Taymans  <wim@fluendo.com>
5434
5435         * docs/design/part-TODO.txt:
5436         Update TODO.
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/gstelement.h:
5444         Remove element variable, we keep element info in the iterator now.
5445
5446 2005-09-27  Andy Wingo  <wingo@pobox.com>
5447
5448         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
5449         values.
5450
5451 2005-09-27  Wim Taymans  <wim@fluendo.com>
5452
5453         * check/gst/gstbin.c: (GST_START_TEST):
5454         Enable check that works now.
5455
5456         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5457         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5458         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5459         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5460         (gst_bin_change_state):
5461         * gst/gstbin.h:
5462         Redid the state change algorithm using a topological sort algo.
5463         Handles all cases correctly.
5464         Exposed iterator for state change order.
5465
5466         * gst/gstelement.h:
5467         Temp storage for state changes. Need to get rid of this soon.
5468
5469 2005-09-27  Wim Taymans  <wim@fluendo.com>
5470
5471         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
5472         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
5473         (link_fold_func), (gst_pad_proxy_setcaps):
5474         Leak fixes, the fold functions need to unref the passed object and
5475         _get_parent_*() returns ref to parent.
5476
5477 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5478
5479         * check/gst/gstbuffer.c: (test_make_writable):
5480           Plug leak in test case and fix 'make check-valgrind'
5481
5482 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5483
5484         * gst/gstbuffer.c: (gst_subbuffer_init):
5485           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
5486           works correctly in all circumstances (we could have just copied
5487           the parent buffer's readonly flag, but conceptually it seems
5488           cleaner to mark all subbuffers as read-only). (based on patch
5489           by Alessandro Decina, #314710).
5490         
5491         * check/gst/gstbuffer.c: (create_read_only_buffer),
5492         (test_make_writable), (test_subbuffer_make_writable),
5493         (gst_test_suite):
5494           Add some tests for gst_buffer_make_writable().
5495
5496 2005-09-27  Wim Taymans  <wim@fluendo.com>
5497
5498         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
5499         use gst_object_has_ancestor().
5500
5501         * gst/gstobject.c: (gst_object_has_ancestor):
5502         * gst/gstobject.h:
5503         gst_object_has_ancestor() copied from gstbin.c as it is a
5504         usefull function.
5505
5506         * tests/instantiate/create.c: (create_all_elements):
5507         * tests/lat.c: (handoff_src), (handoff_sink):
5508         * tests/sched/runxml.c: (main):
5509         * tests/seeking/seeking1.c: (main):
5510         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
5511         (main):
5512         Fix compilation of some tests.
5513
5514 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5515
5516         * gst/gsterror.h:
5517           Remove comment. GST_TYPE_G_ERROR is here to stay,
5518           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
5519           (#316961, #300610).
5520
5521 2005-09-26  Wim Taymans  <wim@fluendo.com>
5522
5523         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5524         Added check that shows error in state change order.
5525
5526 2005-09-26  Wim Taymans  <wim@fluendo.com>
5527
5528         * gst/gstbin.c: (gst_bin_change_state):
5529         Make state change function use 3 queues again, we were
5530         adding elements in the wrong order.
5531
5532         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
5533         Some debug info,
5534
5535         * gst/gstpad.c: (gst_pad_dispose):
5536         Added some debug info first.
5537
5538 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
5539
5540         * docs/design/draft-push-pull.txt:
5541         * docs/design/part-events.txt:
5542         * docs/design/part-overview.txt:
5543         * docs/design/part-scheduling.txt:
5544           Replace all _pull_region() with _pull_range()
5545           
5546 2005-09-26  Andy Wingo  <wingo@pobox.com>
5547
5548         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
5549
5550         * check/gst-libs/controller.c: Update for controller api change.
5551
5552         * configure.ac: 
5553         * tests/Makefile.am:
5554         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
5555         over by GLib bug 118439.
5556         
5557         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
5558         routines to a function.
5559
5560         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
5561
5562         * libs/gst/controller/gsthelper.c:
5563         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
5564         (gst_object_sync_values): Renamed from sink_values. Ugh.
5565
5566         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
5567
5568         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
5569         Renamed from controller_key, as it is exported.
5570
5571         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
5572
5573 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5574
5575         * gst/Makefile.am:
5576         * gst/gst.h:
5577         * gst/gstpad.h:
5578         * gst/gstpadtemplate.h:
5579         * gst/gstquery.c:
5580         * gst/gstquery.h:
5581         * gst/gstqueryutils.c:
5582         * gst/gstqueryutils.h:
5583           remove queryutils headers after moving the two used functions
5584           to gstquery.  also fixes build problem for gstsiddec
5585
5586 2005-09-26  Michael Smith <msmith@fluendo.com>
5587
5588         * tools/gst-launch.1.in:
5589         Correct documentation in manpage of debug syntax
5590
5591 2005-09-26  Wim Taymans  <wim@fluendo.com>
5592
5593         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
5594         (gst_base_src_is_seekable), (gst_base_src_change_state):
5595         Some more debugging info.
5596
5597 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5598
5599         * docs/gst/gstreamer-sections.txt:
5600         * gst/base/gstbasetransform.h:
5601         * gst/gstindex.h:
5602           added more docs
5603
5604 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5605
5606         * docs/gst/.cvsignore:
5607         * docs/gst/tmpl/.cvsignore:
5608         * docs/gst/tmpl/gstpipeline.sgml:
5609         * docs/gst/tmpl/gstplugin.sgml:
5610         * gst/gstpipeline.c:
5611         * gst/gstplugin.c:
5612         * gst/gstplugin.h:
5613           inlined the last two docs files
5614           removed the tmpl directory from cvs (no more conflicts here!)
5615
5616 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5617
5618         * docs/gst/gstreamer-sections.txt:
5619         * docs/gst/tmpl/.cvsignore:
5620         * docs/gst/tmpl/gstpad.sgml:
5621         * docs/gst/tmpl/gstpadtemplate.sgml:
5622         * gst/Makefile.am:
5623         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
5624         (gst_pad_finalize), (gst_pad_set_pad_template):
5625         * gst/gstpad.h:
5626         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5627         (gst_pad_template_class_init), (gst_pad_template_init),
5628         (gst_pad_template_dispose), (name_is_valid),
5629         (gst_static_pad_template_get), (gst_pad_template_new),
5630         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
5631         (gst_pad_template_pad_created):
5632         * gst/gstpadtemplate.h:
5633           inlined two more docs
5634           factored gstpadtemplate out of gstpad
5635
5636 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
5637
5638         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5639         (test_children_state_change_order_semi_sink):
5640           Fix test case: we can't rely on a fixed state change order when
5641           going from READY => PAUSED because the sink might commit its 
5642           new state first when the first buffer created by the source 
5643           reaches the sink before the source has finished its change state.
5644           (Test case still fails at times, see #316856, comment 5 onwards)
5645
5646 2005-09-24  Wim Taymans  <wim@fluendo.com>
5647
5648         * docs/design/part-events.txt:
5649         * docs/design/part-gstbus.txt:
5650         * docs/design/part-gstpipeline.txt:
5651         * docs/design/part-messages.txt:
5652         * docs/design/part-overview.txt:
5653         * docs/design/part-segments.txt:
5654         * gst/gstbin.c:
5655         * gst/gstbuffer.c:
5656         * gst/gstclock.c:
5657         * gst/gstelement.c:
5658         * gst/gstevent.c:
5659         * gst/gstfilter.c:
5660         * gst/gstiterator.c:
5661         Various documentation updates.
5662
5663 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5664
5665         * gst/gstclock.h:
5666           Well, that's embarassing.  Luckily we weren't using
5667           GST_CLOCK_DIFF anywhere.
5668
5669 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5670
5671         * common/gtk-doc.mak:
5672           don't fail on building XML, FC4 slave shows a bunch of doc
5673           missing bits that I don't get
5674         * gst/gstpad.c:
5675         * gst/gstpipeline.c:
5676         * gst/gststructure.c:
5677           some doc updates
5678
5679 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5680
5681         * docs/design/part-gstbin.txt:
5682         * docs/design/part-gstbus.txt:
5683         * gst/gstbus.c:
5684           Add blurb about how the bus goes into flushing mode and
5685           drops all messages when its bin goes from READY into NULL 
5686           state.
5687
5688 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5689
5690         * docs/gst/gstreamer-sections.txt:
5691         * gst/gststructure.c: (gst_structure_get_clock_time):
5692         * gst/gststructure.h:
5693           add a method to get a GstClockTime out of a structure
5694
5695 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5696
5697         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5698         (test_children_state_change_order_semi_sink), (gst_bin_suite):
5699           Added test to check state change order in bins (can still be made
5700           to fail here under heavy disk load; bails out with 'Push on pad
5701           fakesink:sink0, but it was not activated in push mode').
5702
5703         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
5704           Fix state change order when there is only a semi sink (#316856)
5705
5706         * gst/gstbus.c: (gst_bus_class_init):
5707           Use _class_peek_parent(), not _class_ref(); fix docs to say
5708           'default main context' instead of 'mainloop' where that is
5709           what's meant.
5710
5711         * gst/gstelement.c: (gst_element_commit_state),
5712         (gst_element_set_state):
5713           Fix typos in debug messages
5714
5715 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5716
5717         * docs/README:
5718         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
5719         * gst/gstpluginfeature.c:
5720         * gst/gstutils.c:
5721           various doc updates
5722         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5723           change an assert into an error until it gets fixed properly
5724
5725 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
5726
5727         * docs/gst/gstreamer-sections.txt:
5728         * docs/gst/tmpl/.cvsignore:
5729         * docs/gst/tmpl/gstelement.sgml:
5730         * docs/gst/tmpl/gstinfo.sgml:
5731         * docs/gst/tmpl/gstobject.sgml:
5732         * gst/gstelement.c:
5733         * gst/gstelement.h:
5734         * gst/gstinfo.c:
5735         * gst/gstinfo.h:
5736         * gst/gstobject.c: (gst_object_class_init):
5737         * gst/gstobject.h:
5738           inlined 3 more biiiig doc files and added some missing docs on the fly
5739
5740 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5741
5742         * check/gst/.cvsignore:
5743         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
5744         * gst/gstregistryxml.c: (load_plugin),
5745         (gst_registry_xml_save_plugin):
5746           put back source in registry.  add checks for find_plugin.
5747         * testsuite/states/bin.c: (assert_state), (empty_bin),
5748         (test_adding_one_element), (main):
5749         * testsuite/states/locked.c: (main):
5750           some compile/run fixes
5751
5752 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5753
5754         * check/gst/gstvalue.c: (GST_START_TEST):
5755           fix leaks in the test itself
5756
5757 2005-09-22  Wim Taymans  <wim@fluendo.com>
5758
5759         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5760         (gst_base_sink_send_event), (gst_base_sink_peer_query),
5761         (gst_base_sink_query):
5762         Prepare for more accurate position reporting and query
5763         handling.
5764
5765         * gst/gstelement.c: (gst_element_send_event),
5766         (gst_element_set_state):
5767         Add some comment.
5768
5769 2005-09-22  Wim Taymans  <wim@fluendo.com>
5770
5771         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
5772         (gst_query_parse_segment):
5773         * gst/gstquery.h:
5774         More documentation.
5775         Add segment query for future use.
5776
5777 2005-09-22  Wim Taymans  <wim@fluendo.com>
5778
5779         * gst/gstbin.c: (gst_bin_add_func):
5780         Some more debug info.
5781
5782         * gst/gstelement.c: (gst_element_send_event):
5783         Simplify send_event
5784
5785         * gst/gstelement.h:
5786         Don't know how flags got broken.
5787
5788         * gst/gstquery.h:
5789         Added new query.
5790
5791 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5792
5793         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
5794           Add simplistic test suite for GST_TYPE_DATE serialisation and
5795           deserialisation.
5796
5797 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5798
5799         * docs/gst/gstreamer-sections.txt:
5800         * gst/gststructure.c: (gst_structure_set_valist),
5801         (gst_structure_get_date):
5802         * gst/gststructure.h:
5803         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
5804         (gst_date_copy), (gst_value_compare_date),
5805         (gst_value_serialize_date), (gst_value_deserialize_date),
5806         (gst_value_transform_date_string),
5807         (gst_value_transform_string_date), (_gst_value_initialize):
5808         * gst/gstvalue.h:
5809           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
5810           bunch of utility functions along with a hack that checks that
5811           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
5812           is required. Part of the grand scheme in #170777.
5813
5814 2005-09-22  Andy Wingo  <wingo@pobox.com>
5815
5816         * gst/gstconfig.h.in: Psych out gtk-doc.
5817
5818         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
5819
5820         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
5821
5822         * tools/gst-inspect.c (print_element_list): Plug some
5823         inconsequential leaks.
5824
5825         * gst/gstregistry.c (gst_registry_get_default): Doc.
5826
5827         * check/gst/gstplugin.c: 
5828         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
5829         * gst/gstelementfactory.c (gst_element_factory_create): 
5830         * gst/gstindexfactory.c (gst_index_factory_create): Update for
5831         refcount changes.
5832
5833         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
5834         (gst_plugin_feature_load): Doc, don't eat refs.
5835
5836         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
5837         (gst_plugin_list_free): Doc.
5838         (gst_plugin_load_file): Doc updates.
5839
5840         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
5841         accessors returning refcounted objects, return a ref.
5842
5843         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
5844         accessor for caps. IDEMPOTENCE. Oh yes.
5845
5846 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
5847
5848         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5849
5850         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
5851         (_gst_debug_register_funcptr):
5852           Add mutex to serialise access to the hash table with
5853           the function pointer => function name string mapping;
5854           make that hash table static scope (#316809).
5855
5856         * gst/registries/.cvsignore:
5857           Remove left-over file.
5858
5859 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5860
5861         * docs/pwg/appendix-porting.xml:
5862           And something about newsegment events and caps-on-buffers to
5863           the porting guide (feel free to improve).
5864
5865 2005-09-21  Andy Wingo  <wingo@pobox.com>
5866
5867         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
5868         data and event probes on the same pad.
5869         (test_buffer_probe_once): Test that removing probes from within
5870         the probe functions works.
5871
5872 2005-09-21  Andy Wingo  <wingo@pobox.com>
5873
5874         * check/gst/gstutils.c: New file.
5875         (test_buffer_probe_n_times): A simple buffer probe test. More to
5876         come, foolios.
5877
5878         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
5879         have-data::buffer, not have-data.
5880         (gst_pad_add_event_probe): Likewise for have-data::event.
5881         (gst_pad_add_data_probe): More docs. The part about 'resolving the
5882         peer' isn't quite right yet though.
5883         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
5884         (gst_pad_remove_data_probe): Change to take the guint handler_id
5885         as their arg, not the function+data, which is more glib-like.
5886
5887         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
5888         the signal emission to indicate if the data is a buffer or an
5889         event.
5890         (gst_pad_get_type): Initialize buffer and event quarks.
5891         (gst_pad_class_init): have-data is now a detailed signal, yes it
5892         is.
5893
5894 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5895
5896         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
5897         * gst/gstutils.c: (gst_util_set_value_from_string),
5898         (gst_util_set_object_arg):
5899           Don't put functional code in g_return_if_fail() or
5900           g_return_val_if_fail() statements, otherwise things will 
5901           break when G_DISABLE_CHECKS is defined during compilation.
5902
5903 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5904
5905         * docs/gst/tmpl/.cvsignore:
5906         * docs/gst/tmpl/gstvalue.sgml:
5907         * gst/gstvalue.c:
5908         * gst/gstvalue.h:
5909           inlied another one and added  some obvious docs
5910
5911 2005-09-21  Wim Taymans  <wim@fluendo.com>
5912
5913         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5914         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
5915         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
5916         (gst_fdsrc_get_property), (gst_fdsrc_create):
5917         * gst/elements/gstfdsrc.h:
5918         Properly implement fdsrc. Removed signal and timeout,
5919         better implemented somewhere else.
5920
5921 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5922
5923         * docs/gst/tmpl/.cvsignore:
5924         * docs/gst/tmpl/gstimplementsinterface.sgml:
5925         * gst/gstinterface.c:
5926           inlined more docs
5927
5928 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5929
5930         * docs/gst/gstreamer-sections.txt:
5931         * docs/gst/tmpl/.cvsignore:
5932         * docs/gst/tmpl/gstenumtypes.sgml:
5933           remove obsolete doc file
5934
5935 2005-09-21  David Schleef  <ds@schleef.org>
5936
5937         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
5938         little beer, fix a little leak.
5939
5940 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5941
5942         * docs/gst/gstreamer-docs.sgml:
5943         * docs/gst/gstreamer-sections.txt:
5944         * docs/gst/tmpl/.cvsignore:
5945         * gst/Makefile.am:
5946         * gst/gst.h:
5947         * gst/gstbin.c:
5948         * gst/gstelement.h:
5949         * gst/gstindex.c: (gst_index_class_init):
5950         * gst/gstindex.h:
5951         * gst/gstindexfactory.c: (gst_index_factory_get_type),
5952         (gst_index_factory_class_init), (gst_index_factory_init),
5953         (gst_index_factory_finalize), (gst_index_factory_new),
5954         (gst_index_factory_destroy), (gst_index_factory_find),
5955         (gst_index_factory_create), (gst_index_factory_make):
5956         * gst/gstindexfactory.h:
5957         * gst/gstpluginfeature.c:
5958         * gst/gstpluginfeature.h:
5959         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5960           more docs inlined, splitted gstindex.{c,h}
5961
5962 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5963
5964         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5965           fix a leak
5966
5967 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5968
5969         * gst/elements/gstfilesink.c: (gst_file_sink_init):
5970           Set sync to FALSE by default.
5971
5972 2005-09-20  Wim Taymans  <wim@fluendo.com>
5973
5974         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5975         (gst_base_sink_init):
5976         Make sync property settable from subclass.
5977
5978         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5979         (gst_fake_sink_change_state):
5980         Set sync to FALSE by default.
5981
5982 2005-09-20  Wim Taymans  <wim@fluendo.com>
5983
5984         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
5985         * tools/gst-launch.c: (main):
5986         The timeout handler should have lower priority than the source
5987         so we don't timeout before popping a message with 0 timeout.
5988         Dump error messages after failed state change.
5989
5990 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5991
5992         * tools/gst-inspect.c: (print_element_properties_info):
5993           Fix two typos.
5994
5995 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5996
5997         * check/gst/gstevent.c:
5998         * gst/elements/gstfakesink.c:
5999         * gst/elements/gstfakesink.h:
6000           remove the sync property from fakesink.
6001           has the side effect of setting sync TRUE
6002           for fakesink, which is a change.  Anyone who knows how
6003           to fix this nicely in a GObject-y way, feel free.
6004
6005 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6006
6007         * docs/gst/gstreamer-docs.sgml:
6008           remove probe refsection
6009
6010 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6011
6012         * check/Makefile.am:
6013           disable valgrinding the controller test again
6014         * docs/gst/gstreamer-sections.txt:
6015           update for api-changes
6016
6017 2005-09-20  Wim Taymans  <wim@fluendo.com>
6018
6019         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6020         (gst_base_sink_set_property), (gst_base_sink_get_property),
6021         (gst_base_sink_do_sync):
6022         * gst/base/gstbasesink.h:
6023         Added sync property to basesink to disable clock sync.
6024
6025 2005-09-20  Andy Wingo  <wingo@pobox.com>
6026
6027         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
6028         eating the caller's refcount.
6029
6030         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
6031         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
6032         refcount.
6033
6034         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
6035         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
6036         of GLib 2.8 public, so we can know which refcount to check in
6037         tests.
6038
6039         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
6040         (gst_object_init): Only set the gst refcount if we're going ahead
6041         with the refcount hack.
6042
6043 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6044
6045         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6046         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6047           more leaks plumbed, added more debug-logging
6048         * gst/gstmacros.h:
6049           whitespace fix
6050
6051 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6052
6053         * gst/gstmessage.c:
6054           remove include of gstmemchunk.h
6055
6056 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6057
6058         * gst/gstclock.c: (_gst_clock_id_free):
6059           Commit from the Political Party For More Atomic CVS Commits,
6060           so that people don't waste too much of their day fishing
6061           out obvious leaks out of massive commits.
6062           Oh, and fix a pretty damn obvious leak in the memchunk
6063           removal code.
6064
6065 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6066
6067         * check/Makefile.am:
6068         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6069           plug mem-leak, re-add to valgrindable tests
6070
6071 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6072
6073         * gst/gstplugin.h:
6074           unbreak the build for those who have chronic arthritis
6075           and typing "make check" is just too taxing on the hands
6076
6077 2005-09-20  Andy Wingo  <wingo@pobox.com>
6078
6079         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
6080         really want it out, you should fix plugins at the same time.
6081
6082 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
6083
6084         * configure.ac:
6085         * docs/gst/gstreamer-sections.txt:
6086         * gst/gstobject.c:
6087           added missing symbols to api docs
6088           disable ref-count hack if we have glib >= 2.8
6089
6090 2005-09-19  David Schleef  <ds@schleef.org>
6091
6092         * docs/gst/Makefile.am: Ignore a few more internal headers
6093         * docs/gst/gstreamer-docs.sgml: Remove old sections
6094         * docs/gst/gstreamer-sections.txt: Remove old sections
6095         * docs/gst/tmpl/gstobject.sgml: update
6096         * docs/gst/tmpl/gstplugin.sgml: update
6097         * docs/gst/tmpl/gstpluginfeature.sgml: update
6098         * docs/random/ds/0.9-suggested-changes: update.
6099         * gst/Makefile.am: remove memchunk and trashstack, since they're
6100           not used.
6101         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
6102         * gst/gst.h: don't include some headers
6103         * gst/gstchildproxy.c: add gstmarshal.h
6104         * gst/gstclock.c: Don't use memchunks
6105         * gst/gstminiobject.c: Add some docs
6106         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
6107         * gst/gstobject.h: same
6108         * gst/gstplugin.c: include gstmacros.h
6109         * gst/gstplugin.h: don't include gstmacros.h, since it's private
6110         * gst/gstquery.c: don't use memchunks
6111         * gst/gstregistry.c: rename gst_registry_deinit()
6112         * gst/gstregistry.h: same
6113
6114 2005-09-19  David Schleef  <ds@schleef.org>
6115
6116         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
6117         * docs/libs/gstreamer-libs-sections.txt:
6118         * docs/libs/tmpl/gstgetbits.sgml:
6119         * docs/libs/tmpl/gstputbits.sgml:
6120
6121 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6122
6123         * win32/gstenumtypes.c:
6124         * win32/gstenumtypes.h:
6125           Update.
6126
6127 2005-09-19  Wim Taymans  <wim@fluendo.com>
6128
6129         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
6130         Automatically PAUSE and RESUME a pipeline when a flushing seek
6131         is performed.
6132
6133 2005-09-19  Andy Wingo  <wingo@pobox.com>
6134
6135         * gst/gstregistry.h: Spacing fixen.
6136
6137 2005-09-19  Wim Taymans  <wim@fluendo.com>
6138
6139         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
6140         Handle state change failure more correctly.
6141
6142 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6143
6144         * check/Makefile.am:
6145         * check/pipelines/cleanup.c: (run_pipeline):
6146         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6147         (GST_START_TEST):
6148           enable cleanup again after fixing the leak
6149         * docs/README:
6150           some more info on docs
6151
6152 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6153
6154         * check/Makefile.am:
6155           re-enable tests now that leaks are plugged
6156         * check/gst/gst.c:
6157         * check/gst/gstbin.c:
6158         * check/gst/gstpipeline.c:
6159           add some more tests while fixing leaks
6160         * common/check.mak:
6161           make sure binaries are uptodate when valgrinding/gdbing
6162         * gst/gst.c:
6163         * gst/gstelementfactory.c:
6164           remove a ref too many, and add a FIXME for when we get
6165           round to disposing of classes
6166         * gst/gstplugin.c:
6167           fix the refcounting when loading a plugin from a file and
6168           the code pretends that the pointer is the same even though
6169           of course it can change
6170         * gst/gstpluginfeature.c:
6171           unref plugins marked cached (a bit confusing as a name)
6172           as the docs state should be done
6173           various doc additions to explain refcounting
6174         * gst/gstregistry.c:
6175         * gst/gstregistryxml.c:
6176           debugging
6177
6178 2005-09-19  Wim Taymans  <wim@fluendo.com>
6179
6180         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6181         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6182         (send_messages), (GST_START_TEST), (gstbus_suite):
6183         * check/gst/gstpipeline.c: (GST_START_TEST):
6184         * check/pipelines/cleanup.c: (run_pipeline):
6185         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6186         (GST_START_TEST):
6187         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6188         (gst_bus_source_check), (gst_bus_source_dispatch),
6189         (gst_bus_create_watch), (gst_bus_add_watch_full),
6190         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6191         * gst/gstbus.h:
6192         * tools/gst-launch.c: (event_loop):
6193         * tools/gst-md5sum.c: (event_loop):
6194         GstBusHandler -> GstBusFunc, return value has the same meaning as
6195         any other GSource (FALSE == remove source).
6196         _add_watch() and _add_watch_full() now take a MessageType mask to
6197         only handle specific types of messages.
6198         _poll() returns the GstMessage instead of the message type to avoid
6199         race conditions.
6200         _have_pending() takes a MessageType mask now too.
6201         Added testsuite for multiple bus watches.
6202         Fix testsuites and applications for new bus API.
6203
6204 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6205
6206         * check/Makefile.am:
6207           mark a bunch of the tests as to fix until we fix them
6208
6209 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6210
6211         * common/check.mak:
6212           use GST_PLUGIN settings for valgrind tests as well, so we're
6213           valgrinding the correct thing
6214         * gst/gst.c: (init_post):
6215           plug another leak
6216
6217 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6218
6219         * gst/gst.c: (init_post), (gst_deinit):
6220         * gst/gstelementfactory.c: (gst_element_factory_class_init),
6221         (gst_element_factory_finalize), (gst_element_factory_cleanup):
6222         * gst/gstindex.c: (gst_index_factory_class_init),
6223         (gst_index_factory_finalize):
6224         * gst/gstobject.c: (gst_object_dispose):
6225         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6226         (gst_plugin_load_file), (gst_plugin_desc_free):
6227         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6228         (gst_plugin_feature_finalize):
6229         * gst/gstregistry.c: (gst_registry_class_init),
6230         (gst_registry_init), (gst_registry_finalize),
6231         (gst_registry_get_default), (gst_registry_deinit):
6232         * gst/gstregistry.h:
6233         * gst/gstregistryxml.c: (load_feature), (load_plugin):
6234           various cleanups and memleak plugging.  make valgrind is happy now.
6235
6236 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6237
6238         * common/check.mak:
6239           add a check-valgrind target
6240
6241 2005-09-18  David Schleef  <ds@schleef.org>
6242
6243         * tools/gst-inspect.c: Revert the GOption code.
6244
6245 2005-09-17  David Schleef  <ds@schleef.org>
6246
6247         * check/Makefile.am: Fix environment variables.
6248         * check/gst/gstplugin.c: Fix for API changes.
6249         * tools/gst-inspect.c: Fix for API changes.
6250         * tools/gst-xmlinspect.c: Fix for API changes.
6251         * gst/gstelementfactory.c:
6252         * gst/gstplugin.c:
6253         * gst/gstplugin.h:
6254         * gst/gstpluginfeature.c:
6255         * gst/gstpluginfeature.h:
6256         * gst/gstregistry.c:
6257         * gst/gstregistry.h:
6258         * gst/gstregistryxml.c:
6259         * gst/gsttypefind.c:
6260         * gst/gsttypefindfactory.c:
6261         * gst/indexers/gstfileindex.c:
6262         * gst/indexers/gstmemindex.c:
6263         * gst/schedulers/Makefile.am:
6264           Change registry to keep track of both plugins and features,
6265           removing the feature tracking from plugins themselves.
6266
6267 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6268
6269         * check/Makefile.am:
6270         * tools/gst-register.1.in:
6271           remove gst-register
6272
6273 2005-09-15  David Schleef  <ds@schleef.org>
6274
6275         * check/gst/gstplugin.c:
6276         * gst/gstelementfactory.c:
6277         * gst/gstplugin.c:
6278         * gst/gstpluginfeature.c:
6279         * gst/gstregistry.c:
6280           Getting tired of debugging.  Disabled all the unreffing of
6281           plugins and features, which fixes the segfaults, but of
6282           course leaks like crazy.  At least playbin works.
6283
6284 2005-09-15  David Schleef  <ds@schleef.org>
6285
6286         * check/gst/gstplugin.c: (register_check_elements),
6287         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6288         More testing
6289         * gst/elements/gsttypefindelement.c: Fix refcounting.
6290         * gst/gsttypefind.c:
6291         * gst/gsttypefindfactory.c:
6292         * gst/gsttypefindfactory.h:
6293
6294 2005-09-15  David Schleef  <ds@schleef.org>
6295
6296         * gst/gstindex.c: get refcounting correct.
6297         * gst/gstregistry.c: Handle the case where a feature/plugin is
6298           not found.
6299
6300 2005-09-15  David Schleef  <ds@schleef.org>
6301
6302         * check/Makefile.am:
6303         * check/gst/gstplugin.c: Add test
6304         * gst/gstplugin.c: Fix problems noticed by testsuite
6305         * gst/gstplugin.h:
6306         * gst/gstregistry.c: 
6307         * gst/gstregistry.h:
6308
6309 2005-09-15  David Schleef  <ds@schleef.org>
6310
6311         * gst/gstplugin.c: Implement semi-decent recounting and locking
6312           in plugins and plugin features.
6313         * gst/gstplugin.h:
6314         * gst/gstpluginfeature.c:
6315         * gst/gstpluginfeature.h:
6316         * gst/gstregistry.c:
6317
6318 2005-09-15  Michael Smith <msmith@fluendo.com>
6319
6320         * gst/gstregistry.c: (gst_registry_get_feature_list):
6321           Implement this. Makes oggdemux work; decodebin still broken.
6322
6323 2005-09-14  David Schleef  <ds@schleef.org>
6324
6325         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6326           #316076)
6327         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6328         * gst/check/Makefile.am:
6329         * libs/gst/controller/Makefile.am:
6330         * libs/gst/dataprotocol/Makefile.am:
6331
6332 2005-09-14  David Schleef  <ds@schleef.org>
6333
6334         * configure.ac: Remove getbits library.  Nothing uses it, and
6335           it should be in something like liboil if someone did want
6336           to use it.
6337         * libs/gst/Makefile.am:
6338         * libs/gst/getbits/Makefile.am:
6339         * libs/gst/getbits/gbtest.c:
6340         * libs/gst/getbits/getbits.c:
6341         * libs/gst/getbits/getbits.h:
6342         * libs/gst/getbits/gstgetbits_generic.c:
6343         * libs/gst/getbits/gstgetbits_i386.s:
6344         * libs/gst/getbits/gstgetbits_inl.h:
6345
6346 2005-09-14  David Schleef  <ds@schleef.org>
6347
6348         * gst/Makefile.am: Dist glib-compat.h
6349
6350 2005-09-14  David Schleef  <ds@schleef.org>
6351
6352         * configure.ac: Remove gst/registries, since it's no longer used.
6353         * gst/registries/Makefile.am:
6354         * gst/registries/gstlibxmlregistry.c:
6355         * gst/registries/gstlibxmlregistry.h:
6356         * gst/registries/gstxmlregistry.c:
6357         * gst/registries/gstxmlregistry.h:
6358         * gst/registries/registrytest.c:
6359
6360 2005-09-14  David Schleef  <ds@schleef.org>
6361
6362         * gst/glib-compat.h:
6363         * gst/gstregistryxml.c:
6364           Convergence is near.  Seriously.
6365
6366 2005-09-14  David Schleef  <ds@schleef.org>
6367
6368         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6369         * gst/glib-compat.h:
6370           Attempt #4 to appease the buildbots.
6371
6372 2005-09-14  David Schleef  <ds@schleef.org>
6373
6374         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6375           Attempt #3.
6376
6377 2005-09-14  David Schleef  <ds@schleef.org>
6378
6379         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6380         Attempt #2.
6381
6382 2005-09-14  David Schleef  <ds@schleef.org>
6383
6384         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
6385           the new functions.
6386
6387 2005-09-14  David Schleef  <ds@schleef.org>
6388
6389         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6390         * gst/glib-compat.h: Add some functions that are in newer versions
6391           of glib than we care to require.
6392         * gst/gstregistryxml.c: Use them.
6393
6394 2005-09-14  David Schleef  <ds@schleef.org>
6395
6396         * po/POTFILES.in: remove gst-register.c
6397
6398 2005-09-14  David Schleef  <ds@schleef.org>
6399
6400         * docs/gst/gstreamer-docs.sgml:
6401         * docs/gst/gstreamer-sections.txt:
6402         * docs/gst/gstreamer.types:
6403         * docs/gst/tmpl/gstelement.sgml:
6404         * docs/gst/tmpl/gstplugin.sgml:
6405         * docs/gst/tmpl/gstpluginfeature.sgml:
6406           Documentation updates for registry changes.
6407
6408 2005-09-14  David Schleef  <ds@schleef.org>
6409
6410         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
6411           because we don't require glib-2.8.
6412
6413 2005-09-14  David Schleef  <ds@schleef.org>
6414
6415         * gst/gstregistryxml.c: Added.  Essentially moved out of the
6416           registries directory.
6417
6418 2005-09-14  David Schleef  <ds@schleef.org>
6419
6420         * check/Makefile.am:
6421         * check/generic/states.c:
6422         * gst/Makefile.am:
6423         * gst/gst.c:
6424         * gst/gst.h:
6425         * gst/gst_private.h:
6426         * gst/gstelementfactory.c:
6427         * gst/gstindex.c:
6428         * gst/gstinfo.c:
6429         * gst/gstplugin.c:
6430         * gst/gstplugin.h:
6431         * gst/gstpluginfeature.c:
6432         * gst/gstpluginfeature.h:
6433         * gst/gstregistry.c:
6434         * gst/gstregistry.h:
6435         * gst/gstregistrypool.c: remove
6436         * gst/gstregistrypool.h: remove
6437         * gst/gsttypefind.c:
6438         * gst/gsttypefindfactory.c:
6439         * gst/gsturi.c:
6440         * tools/Makefile.am:
6441         * tools/gst-compprep.c:
6442         * tools/gst-inspect.c:
6443         * tools/gst-register.c: remove
6444         * tools/gst-xmlinspect.c:
6445           Registry rewrite.  Changes registry from being a file created
6446           by a tool into a simple cache file created automatically by 
6447           libgstreamer.  Removed gst-register (because it's no longer
6448           needed).  Remove registry pools, because we only have one
6449           registry implementation (XML).  Fix up other subsystems as
6450           necessary.
6451
6452 2005-09-13  Michael Smith <msmith@fluendo.com>
6453
6454         * gst/gstconfig.h.in:
6455           Don't Use windows linking attributes for MinGW. Fixes #316157
6456
6457 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6458
6459         * gst/gstutils.c: (set_state_async_thread_func),
6460         (gst_element_set_state_async):
6461           Apparently people think it's better if this function doesn't
6462           try to set the state to whatever state was asked for on the first
6463           call to this function for any object.  Seriously.
6464
6465 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6466
6467         * check/gst/gstpipeline.c: (GST_START_TEST):
6468         * docs/gst/gstreamer-sections.txt:
6469         * gst/gstutils.c: (set_state_async_thread_func),
6470         (gst_element_set_state_async):
6471         * gst/gstutils.h:
6472           add a "gst_element_set_state_async" method that
6473           sets the state and starts a thread to make sure the state
6474           change completes as best as it can
6475
6476 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6477
6478         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6479           codify design+behaviour in testsuite after discussion
6480
6481 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6482
6483         * docs/gst/tmpl/gstelement.sgml:
6484         * docs/manual/appendix-quotes.xml:
6485           add a quote
6486         * gst/gstelement.c: (gst_element_set_state):
6487           add some debug
6488
6489 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
6490
6491         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6492         (gst_base_transform_prepare_output_buf),
6493         (gst_base_transform_handle_buffer):
6494         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
6495         (gst_capsfilter_prepare_buf):
6496           Remove the requirement for sub-classes to call the parent
6497           implementation of prepare_output_buffer with a wrapper function.
6498           
6499         * gst/gsttaglist.h:
6500         * gst/gsttagsetter.h:
6501           Fix #define wrapper
6502
6503 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
6504
6505         * docs/gst/gstreamer-sections.txt:
6506           more doc cleanups
6507
6508 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6509
6510         * docs/gst/gstreamer-sections.txt:
6511         * docs/gst/tmpl/gstelement.sgml:
6512         * docs/gst/tmpl/gstplugin.sgml:
6513         * gst/gstminiobject.c:
6514         * gst/gstvalue.h:
6515           docs now stop throwing warnings
6516
6517 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6518
6519         * docs/gst/gstreamer-sections.txt:
6520         * docs/gst/gstreamer.types:
6521         * docs/gst/tmpl/gstpad.sgml:
6522         * docs/gst/tmpl/gsttypes.sgml:
6523         * gst/base/gstadapter.h:
6524         * gst/base/gstbasesink.h:
6525         * gst/base/gstbasesrc.h:
6526         * gst/gstbin.h:
6527         * gst/gstbuffer.h:
6528         * gst/gstbus.h:
6529         * gst/gstcaps.h:
6530         * gst/gstclock.h:
6531         * gst/gstelement.h:
6532         * gst/gstevent.h:
6533         * gst/gstmessage.h:
6534         * gst/gstpad.h:
6535         * gst/gststructure.c:
6536         * gst/registries/gstlibxmlregistry.h:
6537           various documentation fixes
6538
6539 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6540
6541         * docs/gst/gstreamer-sections.txt:
6542         * docs/gst/tmpl/gstvalue.sgml:
6543           rearrange gstvalue section
6544         * gst/gstutils.c: (gst_element_state_get_name):
6545           NONE -> VOID
6546         * gst/gstvalue.c: (_gst_value_initialize):
6547         * gst/gstvalue.h:
6548           doc updates
6549
6550 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
6551
6552         * check/gst-libs/controller.c:
6553           Header include fix.
6554         * gst/base/gstbasetransform.c:
6555         (gst_base_transform_default_prepare_buf),
6556         (gst_base_transform_handle_buffer):
6557         * gst/base/gstbasetransform.h:
6558           Some more basetransform changes and fixes to enable sub-classes
6559           that modify buffer metadata only.
6560         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6561         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
6562         (gst_capsfilter_prepare_buf):
6563           If the output pad has fixed allowed caps and input buffers 
6564           don't have any, set the fixed caps on outgoing buffers.
6565
6566 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
6567         * check/elements/identity.c: (GST_START_TEST):
6568           Make the error a little clearer when the test fails because
6569           identity made a copy of the buffer.
6570         * docs/gst/gstreamer-sections.txt:
6571           New symbols in gstbasetransform.h
6572         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6573         (gst_base_transform_init), (gst_base_transform_transform_size),
6574         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6575         (gst_base_transform_default_prepare_buf),
6576         (gst_base_transform_get_unit_size),
6577         (gst_base_transform_buffer_alloc),
6578         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
6579         (gst_base_transform_change_state),
6580         (gst_base_transform_set_passthrough),
6581         (gst_base_transform_set_in_place),
6582         (gst_base_transform_is_in_place):
6583         * gst/base/gstbasetransform.h:
6584           Change BaseTransform to separate in_place operate from same_caps
6585           output. in_place implies that the element can perform the transform
6586           on incoming buffers in-place, even if the caps on the output are
6587           different.
6588           Sub-class elements can now implement special buffer allocation
6589           methods for outgoing buffers if they wish to.
6590           Big documentation addition.
6591         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
6592         * gst/elements/gstelements.c:
6593           Changes for basetransform modifications.
6594         * gst/elements/Makefile.am:
6595         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
6596           Compile fix. Extra debug output.
6597
6598 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6599
6600         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
6601         (gst_pad_suite):
6602           add tests for valid pad naming
6603         * gst/check/gstcheck.c: (gst_check_log_message_func),
6604         (gst_check_log_critical_func):
6605           add ASSERT_WARNING
6606           remove printing of code, it is fragile when the code contains
6607           % and the line number is enough info
6608         * gst/check/gstcheck.h:
6609         * gst/gstpad.c: (gst_pad_template_new):
6610           fix memleaks
6611
6612 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6613
6614         * configure.ac:
6615           say what CHECK flags we use
6616         * docs/libs/gstreamer-libs.types:
6617         * libs/gst/controller/Makefile.am:
6618         * libs/gst/controller/gst-controller.c:
6619         * libs/gst/controller/gst-controller.h:
6620         * libs/gst/controller/gst-helper.c:
6621         * libs/gst/controller/gst-interpolation.c:
6622         * libs/gst/controller/gstcontroller.c:
6623         * libs/gst/controller/gsthelper.c:
6624         * libs/gst/controller/gstinterpolation.c:
6625         * tools/gst-inspect.c: (print_plugin_info):
6626           we don't use dashes in header names
6627
6628 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6629
6630         * check/Makefile.am:
6631         * check/gst/.cvsignore:
6632         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
6633         (gst_pipeline_suite), (main):
6634           adding a test for pipelines and state changes
6635         * gst/gstutils.c: (get_state_func):
6636           add some debugging
6637         * gstreamer.spec.in:
6638           fix up spec file
6639
6640 2005-09-08  Michael Smith <msmith@fluendo.com>
6641
6642         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
6643         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
6644         (gst_file_src_is_seekable), (gst_file_src_get_size),
6645         (gst_file_src_start):
6646         * gst/elements/gstfilesrc.h:
6647           Various fixes for unseekable, unmmapable, and non-normal files, so
6648           that fallback to read() rather than mmap() works.
6649         * gst/gstevent.c: (gst_event_new_newsegment):
6650           Allow newsegment events with segment_start == segment_end, as will
6651           correctly happen if you use filesrc on a zero-size file, for
6652           example.
6653
6654 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6655
6656         * gst/gstplugin.c: (gst_plugin_load_file):
6657           Call g_module_close when we don't load the module
6658
6659         * gst/registries/gstlibxmlregistry.c:
6660         (gst_xml_registry_get_property):
6661           Port leak fix from 0.8
6662
6663 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6664
6665         * docs/gst/gstreamer-docs.sgml:
6666         * docs/gst/tmpl/.cvsignore:
6667         * docs/gst/tmpl/gsttrace.sgml:
6668         * docs/gst/tmpl/gsttrashstack.sgml:
6669         * gst/Makefile.am:
6670         * gst/gst.h:
6671         * gst/gstelement.h:
6672         * gst/gstevent.h:
6673         * gst/gstmessage.c:
6674         * gst/gstmessage.h:
6675         * gst/gsttag.c:
6676         * gst/gsttag.h:
6677         * gst/gsttaginterface.c:
6678         * gst/gsttaginterface.h:
6679         * gst/gsttaglist.c:
6680         * gst/gsttaglist.h:
6681         * gst/gsttagsetter.c:
6682         * gst/gsttagsetter.h:
6683         * gst/gsttrace.c:
6684         * gst/gsttrace.h:
6685         * gst/gsttrashstack.c:
6686           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
6687           inlined docs for gsttrace, gsttrashstack
6688
6689 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6690
6691         * gst/Makefile.am:
6692         * gst/elements/gstbufferstore.h:
6693         * gst/elements/gsttypefindelement.c:
6694         * gst/elements/gsttypefindelement.h:
6695         * gst/gst.h:
6696         * gst/gsttypefind.c:
6697         * gst/gsttypefind.h:
6698         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
6699         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
6700         (gst_type_find_factory_dispose),
6701         (gst_type_find_factory_unload_thyself),
6702         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
6703         (gst_type_find_factory_get_caps),
6704         (gst_type_find_factory_get_extensions),
6705         (gst_type_find_factory_call_function):
6706         * gst/gsttypefindfactory.h:
6707         * gst/registries/gstlibxmlregistry.c:
6708         * gst/registries/gstxmlregistry.c:
6709           splitted gsttypefind into gsttypefind, gsttypefindfactory
6710
6711 2005-09-07  Andy Wingo  <wingo@pobox.com>
6712
6713         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
6714         condition whereby the pad's task function is entered before the
6715         pad_mode variable was set.
6716
6717 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6718
6719         * gst/gstpad.c: (gst_pad_alloc_buffer):
6720           Catch misbehaving pad_alloc functions that don't
6721           set up caps and do it for them.
6722
6723 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6724
6725         * check/pipelines/simple_launch_lines.c: (run_pipeline):
6726           test for pipe!=NULL
6727         * docs/gst/tmpl/.cvsignore:
6728         * docs/gst/tmpl/gstmemchunk.sgml:
6729         * docs/gst/tmpl/gstparse.sgml:
6730         * docs/gst/tmpl/gsttaglist.sgml:
6731         * docs/gst/tmpl/gsttagsetter.sgml:
6732         * docs/gst/tmpl/gsttypefind.sgml:
6733         * docs/gst/tmpl/gsttypefindfactory.sgml:
6734         * gst/gstmemchunk.c:
6735         * gst/gstparse.c:
6736         * gst/gsttag.c:
6737         * gst/gsttaginterface.c:
6738         * gst/gsttypefind.c:
6739         * gst/gsttypefind.h:
6740           inlined more docs
6741
6742 === release 0.9.2 ===
6743
6744 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6745
6746         * NEWS:
6747         * RELEASE:
6748         * configure.ac:
6749           releasing 0.9.2, "South"
6750
6751 2005-09-05  Andy Wingo  <wingo@pobox.com>
6752
6753         * gst/registries/gstxmlregistry.h:
6754         * gst/registries/gstxmlregistry.c: Um... resurrect...
6755         
6756         * gst/registries/gstxmlregistry.h:
6757         * gst/registries/gstxmlregistry.c: and update to newer API.
6758         Incidentally they should be a bit faster now that they don't have
6759         to parse the caps.
6760         
6761 2005-09-05  Andy Wingo  <wingo@pobox.com>
6762
6763         * gst/registries/gstxmlregistry.h:
6764         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
6765         replaced by the libxml registry a while back
6766
6767 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6768
6769         * docs/gst/tmpl/gstplugin.sgml:
6770         * gst/elements/gstelements.c:
6771         * gst/gst.c:
6772         * gst/gstplugin.c: (gst_plugin_register_func),
6773         (gst_plugin_desc_copy), (gst_plugin_desc_free),
6774         (gst_plugin_get_source):
6775         * gst/gstplugin.h:
6776         * gst/registries/gstlibxmlregistry.c: (load_plugin),
6777         (gst_xml_registry_save_plugin):
6778         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
6779         (gst_xml_registry_save_plugin):
6780         * tools/gst-inspect.c: (print_plugin_info):
6781           add a "source" plugin description field, to represent the source
6782           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
6783           will set it to PACKAGE, which is automake's idea of the name of
6784           the source project.
6785
6786 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6787
6788         * Makefile.am:
6789         * autogen.sh:
6790         * configure.ac:
6791         * docs/Makefile.am:
6792         * docs/faq/Makefile.am:
6793         * docs/gst/tmpl/gstelement.sgml:
6794         * docs/gst/tmpl/gsttypes.sgml:
6795         * docs/htmlinstall.mak:
6796         * docs/manual/Makefile.am:
6797         * docs/pwg/Makefile.am:
6798           reorganize doc build a little
6799           split out docbook and gtk-doc stuff
6800           have two separate --enable's and enable them through autogen
6801           but disable by default in configure (to be similar to other
6802           projects)
6803         * gstreamer.spec.in:
6804           clean up docs install
6805         * po/af.po:
6806         * po/az.po:
6807         * po/ca.po:
6808         * po/cs.po:
6809         * po/de.po:
6810         * po/en_GB.po:
6811         * po/fr.po:
6812         * po/it.po:
6813         * po/nb.po:
6814         * po/nl.po:
6815         * po/ru.po:
6816         * po/sq.po:
6817         * po/sr.po:
6818         * po/sv.po:
6819         * po/tr.po:
6820         * po/uk.po:
6821         * po/vi.po:
6822           translation updates
6823
6824 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
6825
6826         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
6827           Add comment.
6828           
6829         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6830         (gst_fake_sink_change_state):
6831           Make state change function thread-safe.
6832           
6833         * gst/gstpad.c: (gst_pad_alloc_buffer):
6834           Set offset on generic buffer allocated by fallback.
6835
6836 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
6837
6838         * docs/gst/gstreamer-sections.txt:
6839         * docs/gst/tmpl/gstelement.sgml:
6840         * gst/gstpad.c:
6841         * libs/gst/controller/gst-controller.c:
6842         (gst_controlled_property_set_interpolation_mode),
6843         (gst_controlled_property_new),
6844         (gst_controller_find_controlled_property):
6845          run the wingo-magic script against the docs
6846
6847 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6848
6849         * docs/gst/gstreamer-docs.sgml:
6850         * docs/gst/gstreamer-sections.txt:
6851         * docs/gst/tmpl/.cvsignore:
6852         * docs/gst/tmpl/gstelementdetails.sgml:
6853         * docs/gst/tmpl/gstelementfactory.sgml:
6854         * gst/gst.c:
6855         * gst/gstbus.c:
6856         * gst/gstelementfactory.c:
6857         * gst/gstelementfactory.h:
6858           merged elementdetails docs into elementfactory docs
6859           inlined both
6860
6861 2005-09-02  Andy Wingo  <wingo@pobox.com>
6862
6863         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
6864         consider this enum an enum and not a flags.
6865
6866 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6867
6868         * docs/gst/gstreamer-docs.sgml:
6869         * docs/gst/tmpl/.cvsignore:
6870         * docs/gst/tmpl/gstghostpad.sgml:
6871         * docs/gst/tmpl/gstiterator.sgml:
6872         * docs/gst/tmpl/gstmacros.sgml:
6873         * docs/gst/tmpl/gstrealpad.sgml:
6874         * docs/gst/tmpl/gstregistry.sgml:
6875         * docs/gst/tmpl/gstregistrypool.sgml:
6876         * docs/gst/tmpl/gststructure.sgml:
6877         * docs/gst/tmpl/gstsystemclock.sgml:
6878         * docs/gst/tmpl/gsttrace.sgml:
6879         * gst/gstghostpad.c:
6880         * gst/gstmacros.h:
6881         * gst/gstmemchunk.c:
6882         * gst/gstmemchunk.h:
6883         * gst/gstqueue.c:
6884         * gst/gstregistry.c:
6885         * gst/gstregistrypool.c:
6886         * gst/gststructure.c:
6887         * gst/gstsystemclock.c:
6888           more docs inlined
6889
6890 2005-09-02  Andy Wingo  <wingo@pobox.com>
6891
6892         * gst/gstelement.h (GstState): Renamed from GstElementState,
6893         changed to be a normal enum instead of flags.
6894         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
6895         munged to be GST_STATE_CHANGE_*.
6896         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
6897         work with the new state representation.
6898         (GstStateChange): New enumeration of possible state transitions.
6899         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
6900         (GstElementClass::change_state): Pass the GstStateChange along as
6901         an argument. Helps language bindings, so they don't have to use
6902         tricky lock-needing macros like GST_STATE_CHANGE ().
6903
6904         * scripts/update-states (file): New script. Run it on a file to
6905         update it for state naming and API changes. Updates files in
6906         place.
6907
6908         * All files updated for the new API.
6909
6910 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6911
6912         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
6913         * gst/gstutils.c: (gst_util_set_value_from_string),
6914         (gst_util_set_object_arg):
6915           fix a bunch of unchecked return values
6916         * tools/gst-complete.c: (main):
6917         * gstreamer.spec.in:
6918           clean up a little
6919
6920 2005-09-01  Wim Taymans  <wim@fluendo.com>
6921
6922         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6923         (gst_base_sink_event), (gst_base_sink_do_sync),
6924         (gst_base_sink_handle_event):
6925         * gst/base/gstbasesink.h:
6926         Handle newsegments more correctly.
6927
6928         * gst/gstbus.c:
6929         Fix docs.
6930
6931         * gst/gstevent.c: (gst_event_new_newsegment):
6932         A newsegment cannot have a start_time of -1
6933
6934 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
6935
6936         * win32/gstenumtypes.c:
6937         * win32/gstenumtypes.h:
6938           Update
6939
6940 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6941
6942         * libs/gst/controller/gst-controller.c:
6943         (gst_controlled_property_set_interpolation_mode),
6944         (gst_controlled_property_new):
6945          fixed boolean again
6946
6947 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
6948
6949         * docs/faq/gst-uninstalled:
6950           add -good
6951         * gst/gstevent.c:
6952         * gst/gstevent.h:
6953           remove wrong docs
6954         * gst/gstutils.c: (gst_element_link_filtered):
6955         * gst/gstutils.h:
6956           add gst_element_link_filtered
6957
6958 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6959
6960         * docs/gst/gstreamer-docs.sgml:
6961         * docs/gst/gstreamer-sections.txt:
6962         * docs/gst/tmpl/.cvsignore:
6963         * docs/gst/tmpl/gsterror.sgml:
6964         * docs/gst/tmpl/gstfilter.sgml:
6965         * docs/gst/tmpl/gsturihandler.sgml:
6966         * docs/gst/tmpl/gsturitype.sgml:
6967         * docs/gst/tmpl/gstutils.sgml:
6968         * docs/gst/tmpl/gstxml.sgml:
6969         * gst/gsterror.c:
6970         * gst/gsterror.h:
6971         * gst/gstfilter.c:
6972         * gst/gsturi.c:
6973         * gst/gsturitype.c:
6974         * gst/gstutils.c:
6975         * gst/gstxml.c:
6976           inlined more docs, fixed double id-ref
6977
6978 2005-08-31  Wim Taymans  <wim@fluendo.com>
6979
6980         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6981         (gst_base_transform_handle_buffer):
6982         Passthrough elements don't need the caps as they don't care.
6983
6984 2005-08-31  Wim Taymans  <wim@fluendo.com>
6985
6986         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6987         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
6988         Don't leak refcounts on buffers.
6989
6990 2005-08-31  Wim Taymans  <wim@fluendo.com>
6991
6992         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
6993         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
6994         (gst_base_transform_chain), (gst_base_transform_change_state):
6995         * gst/base/gstbasetransform.h:
6996         Handle the case where we are not negotiated more gracefully.
6997
6998 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
6999
7000         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
7001         (gst_file_src_map_region):
7002           Set READONLY flag on mmap'ed buffers, otherwise
7003           gst_buffer_make_writable() won't work properly (#314708).
7004
7005 2005-08-31  Wim Taymans  <wim@fluendo.com>
7006
7007         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
7008         passthrough elements can even do inplace on non writable
7009         buffers (as they don't touch them).
7010
7011 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7012
7013         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7014         (gst_test_mono_source_set_property),
7015         (gst_test_mono_source_class_init), (GST_START_TEST),
7016         (gst_controller_suite):
7017           more tests (hehe I have the most)
7018         * gst/gstbus.c:
7019           describe popping messages whenusing mulltiple sources
7020         * libs/gst/controller/gst-controller.c:
7021         (gst_controlled_property_set_interpolation_mode),
7022         (gst_controlled_property_new):
7023         * libs/gst/controller/gst-controller.h:
7024         * libs/gst/controller/gst-interpolation.c:
7025           implement boolean properties
7026
7027 2005-08-31  Wim Taymans  <wim@fluendo.com>
7028
7029         * gst/gstminiobject.c: (gst_mini_object_ref):
7030         Cannot assert that the refcount has to be positive
7031         since a disposed object can be resurrected.
7032
7033 2005-08-31  Wim Taymans  <wim@fluendo.com>
7034
7035         * gst/gstpad.c: (gst_pad_init):
7036         Revert change, need to first fix badly behaving 
7037         apps.
7038
7039 2005-08-30  Wim Taymans  <wim@fluendo.com>
7040
7041         * check/elements/fakesrc.c: (setup_fakesrc):
7042         * check/elements/identity.c: (setup_identity):
7043         Activate pads before using them.
7044
7045 2005-08-30  Wim Taymans  <wim@fluendo.com>
7046
7047         * gst/base/gstadapter.c: (gst_adapter_flush):
7048         Flushing out 0 bytes is ok for this function.
7049
7050         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7051         no newsegment gives a warning and sets the start/stop to 
7052         invalid.
7053
7054         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
7055         (gst_base_transform_set_passthrough):
7056         Some debug info.
7057
7058         * gst/gstminiobject.c: (gst_mini_object_ref):
7059         Check refcount here too.
7060
7061         * gst/gstpad.c: (gst_pad_init):
7062         Pads are initially flushing and refusing data.
7063
7064         * gst/gstutils.c: (gst_element_link_pads_filtered):
7065         When adding a capsfilter element make sure it has the
7066         same state as the parent bin.
7067
7068 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7069
7070         * docs/gst/tmpl/.cvsignore:
7071         * docs/gst/tmpl/gstformat.sgml:
7072         * docs/gst/tmpl/gstversion.sgml:
7073         * gst/gstbus.h:
7074         * gst/gstformat.c:
7075         * gst/gstformat.h:
7076         * gst/gstversion.h.in:
7077           more docs and two more inlined
7078
7079 2005-08-30  Wim Taymans  <wim@fluendo.com>
7080
7081         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
7082         Don't sync to clock.
7083
7084 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7085
7086         * docs/gst/gstreamer-sections.txt:
7087           ultral33t func10ns deserve to appear in the docs actually
7088         * docs/gst/tmpl/.cvsignore:
7089         * docs/gst/tmpl/gstcompat.sgml:
7090         * docs/gst/tmpl/gstconfig.sgml:
7091         * gst/check/gstcheck.c:
7092         * gst/gstcompat.h:
7093         * gst/gstconfig.h.in:
7094           inlined more docs
7095
7096 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7097
7098         * docs/gst/tmpl/.cvsignore:
7099         * docs/gst/tmpl/gstquery.sgml:
7100         * docs/gst/tmpl/gstutils.sgml:
7101         * gst/gstquery.c:
7102         * gst/gstquery.h:
7103           inlined and extended docs
7104
7105 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7106
7107         * check/gst-libs/controller.c: (GST_START_TEST),
7108         (gst_controller_suite):
7109           more tests
7110         * docs/gst/tmpl/gstutils.sgml:
7111         * docs/libs/gstreamer-libs-sections.txt:
7112         * docs/libs/tmpl/gstdataprotocol.sgml:
7113           include path fixes
7114         * examples/controller/audio-example.c: (main):
7115           controller example works now
7116         * gst/gstclock.h:
7117           doc fixes
7118         * tools/gst-inspect.c: (print_element_properties_info):
7119           show param spec flags
7120
7121 2005-08-29  Andy Wingo  <wingo@pobox.com>
7122
7123         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
7124
7125 2005-08-28  Andy Wingo  <wingo@pobox.com>
7126
7127         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
7128         as having two arguments instead of just one. Allows superclasses
7129         to access information on subclasses -- see the terrible for() loop
7130         in gtype.c:g_type_create_instance for the reason why. All callers
7131         changed.
7132
7133 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7134
7135         * docs/design/part-messages.txt:
7136           update info
7137         * docs/gst/tmpl/.cvsignore:
7138         * docs/gst/tmpl/gstcaps.sgml:
7139         * docs/gst/tmpl/gstclock.sgml:
7140         * gst/gstbus.c:
7141         * gst/gstcaps.c:
7142         * gst/gstcaps.h:
7143         * gst/gstclock.c:
7144         * gst/gstclock.h:
7145         * gst/gstmessage.c:
7146           added descriptions for bus and message
7147           inline caps and clock docs
7148
7149 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7150
7151         * gst/gstmessage.c:
7152         * gst/gstmessage.h:
7153           doc fixes
7154
7155 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7156
7157         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7158           fix div-by-zero
7159
7160 2005-08-26  Andy Wingo  <wingo@pobox.com>
7161
7162         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
7163         element_set_state's return val.
7164         (test_2_elements): Add test that's been disabled for months.
7165
7166         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
7167         can-activate-pull properties.
7168
7169         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
7170         can-activate-pull properties. Implement is_seekable so fakesrc can
7171         operate in pull mode.
7172
7173         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7174         properties.
7175         (gst_base_sink_activate, gst_base_sink_activate_pull)
7176         (gst_base_sink_activate_push): Make activation mode choosing work.
7177         Cleanups.
7178         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7179         is right. Make pull mode work. Post an eos before pausing in pull
7180         mode.
7181         (gst_base_sink_change_state): Pay attention to the core's
7182         change_state() return val.
7183         
7184         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7185         has-getrange properties. Cleanups.
7186         
7187         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7188         has_getrange and replace with can_activate_pull and
7189         can_activate_push.
7190
7191         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7192         locking comments. Remove has_loop, has_chain and replace with
7193         can_activate_pull and can_activate_push.
7194
7195 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
7196
7197         * configure.ac:
7198         * examples/Makefile.am:
7199         * examples/metadata/Makefile.am:
7200         * examples/metadata/read-metadata.c: (message_loop),
7201         (have_pad_handler), (make_pipeline), (print_tag), (main):
7202           Add metadata reading example that loops over a list of filenames,
7203           dumping any tags found.
7204
7205         * gst/gstbus.c: (gst_bus_dispose):
7206         * gst/gstelement.c: (gst_element_dispose):
7207           Release a few potentially-held references in dispose.
7208
7209 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7210
7211         * docs/gst/tmpl/gstminiobject.sgml:
7212           do *not* add tmpl/*.sgml files to CVS!
7213
7214 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7215
7216         * libs/gst/bytestream/.cvsignore:
7217         * libs/gst/bytestream/Makefile.am:
7218         * libs/gst/bytestream/adapter.c:
7219         * libs/gst/bytestream/adapter.h:
7220         * libs/gst/bytestream/bytestream.c:
7221         * libs/gst/bytestream/bytestream.h:
7222         * libs/gst/bytestream/filepad.c:
7223         * libs/gst/bytestream/filepad.h:
7224           removing obsolete files
7225
7226 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7227
7228         * docs/gst/gstreamer-docs.sgml:
7229         * docs/libs/gstreamer-libs-docs.sgml:
7230           disabed additional index entries again, as this makes docs-gen just
7231           slow and they aren't useful yet
7232         * docs/libs/gstreamer-libs-sections.txt:
7233           little -section.txt cleanup for libs
7234
7235 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7236
7237         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7238         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7239           fix up some debugging
7240         (gst_base_transform_get_unit_size),
7241         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7242         (gst_base_transform_handle_buffer):
7243         * gst/base/gstbasetransform.h:
7244           handle and store timed NEWSEGMENT events so that subclasses that
7245           calculate time by counting samples have a segment_start time they
7246           need to add to their timestamps - see audioresample
7247
7248 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7249
7250         * gst/gstbin.h:
7251           removed ';' from the end of macro defs
7252         * docs/gst/gstreamer-docs.sgml:
7253         * docs/gst/gstreamer-sections.txt:
7254         * docs/gst/tmpl/.cvsignore:
7255         * gst/gstbus.h:
7256         * gst/gstelement.c: (gst_element_class_init),
7257         (gst_element_set_state), (activate_pads),
7258         (gst_element_save_thyself):
7259         * gst/gstevent.c: (gst_event_new_newsegment):
7260         * gst/gstevent.h:
7261         * gst/gstiterator.c:
7262         * gst/gstiterator.h:
7263         * gst/gstpad.c:
7264         * gst/gstprobe.h:
7265         * gst/gstutils.c: (gst_pad_query_convert):
7266         * gst/gstutils.h:
7267           fixed parameter name mismatches between source, header and docs
7268           added some more docs, resolved the last batch of unused elements in
7269           docs (now someone needs to doc them)
7270
7271 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7272
7273         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7274         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7275           don't walk through the plugins backwards.  Where is all this
7276           reversed logic coming from ?
7277
7278 2005-08-25  Wim Taymans  <wim@fluendo.com>
7279
7280         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7281         (gst_base_transform_transform_size),
7282         (gst_base_transform_configure_caps),
7283         (gst_base_transform_get_unit_size),
7284         (gst_base_transform_buffer_alloc),
7285         (gst_base_transform_change_state):
7286         * gst/base/gstbasetransform.h:
7287         Cache caps unit_size.
7288         Make sure we cannot negotiate up and downstream at the
7289         same time.
7290
7291 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7292
7293         * gst/gst.c: (init_pre), (init_post):
7294           register the installed plugin path after the env var
7295         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7296         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7297           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7298           directories, so the tests can prefer uninstalled over installed
7299
7300 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7301
7302         * gst/base/gstbasetransform.h:
7303           comment
7304         * gst/gstpad.c:
7305           add to docs
7306
7307 2005-08-25  Wim Taymans  <wim@fluendo.com>
7308
7309         * gst/gstbin.c: (bin_bus_handler):
7310         Be a bit more conservative about the posted message.
7311         
7312         * gst/gstbus.c: (gst_bus_post):
7313         Some cleanups, warn wrong return values.
7314
7315 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
7316
7317         * check/gst/gstbin.c: (GST_START_TEST):
7318         * gst/gstbin.c: (bin_bus_handler):
7319         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7320         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7321         (gst_message_new_warning), (gst_message_new_tag),
7322         (gst_message_new_state_changed), (gst_message_new_segment_start),
7323         (gst_message_new_segment_done), (gst_message_new_custom):
7324         * gst/gstmessage.h:
7325         * tools/gst-launch.c: (event_loop):
7326         * tools/gst-md5sum.c: (event_loop):
7327           Revert unpopular change for GST_MESSAGE_SRC to GObject.
7328
7329 2005-08-25  Wim Taymans  <wim@fluendo.com>
7330
7331         * check/generic/states.c: (GST_START_TEST):
7332         Cleanup can be done at the end.
7333
7334         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7335         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7336         (gst_task_get_state), (gst_task_start), (gst_task_pause):
7337         Oh boy.. Thanks for finding this, Thomas. 
7338
7339 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7340
7341         * docs/gst/gstreamer.types:
7342           added missing types
7343
7344 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7345
7346         * docs/gst/gstreamer-docs.sgml:
7347         * docs/gst/gstreamer-sections.txt:
7348         * docs/gst/tmpl/.cvsignore:
7349         * gst/gstbin.c:
7350         * gst/gstiterator.c:
7351         * gst/gstutils.c:
7352         * gst/registries/gstxmlregistry.h:
7353           added missing classes and symbols (123 more to go)
7354           removed removed symbols from section file
7355           fixed many doc-comments
7356
7357 2005-08-24  Wim Taymans  <wim@fluendo.com>
7358
7359         * check/generic/states.c: (GST_START_TEST):
7360         Make sure all tasks are stopped.
7361
7362         * check/gst/gstbin.c: (GST_START_TEST):
7363         Unref after usage for proper valgrinding.
7364
7365         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
7366         Really wait for the task to stop before destroying the
7367         mutex.
7368
7369         * gst/gstqueue.c: (gst_queue_sink_activate_push),
7370         (gst_queue_src_activate_push):
7371         Small cleanups. Don't stop the task when we did not start
7372         it.
7373
7374         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
7375         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7376         (gst_task_get_state), (gst_task_start), (gst_task_pause),
7377         (gst_task_join):
7378         * gst/gsttask.h:
7379         Protect the stream lock with the object lock.
7380         Disallow setting the stream lock when running.
7381         Add cleanup_all to wait for the threadpool to finish.
7382         Remove code to autoallocate a mutex if none was provided.
7383         Add _join() to wait for a task to stop.
7384         Protect the thread pool with a global lock.
7385
7386 2005-08-24  Wim Taymans  <wim@fluendo.com>
7387
7388         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7389         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7390         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
7391         * gst/base/gstbasesink.h:
7392         Handle newsegment events correctly.
7393         Drop buffers out of the segment range.
7394
7395 2005-08-22  Andy Wingo  <wingo@pobox.com>
7396
7397         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
7398         macro, implements an interface and gstimplementsinterface for a
7399         new type.
7400
7401 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7402
7403         * check/Makefile.am:
7404         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
7405           add a test that does a bunch of state changes on elements
7406           needs some fixing for valgrind
7407         * check/states/sinks.c: (gst_object_suite):
7408           whitespace
7409         * gst/gstcaps.h:
7410           add prototype for gst_caps_is_equal_fixed
7411         * gst/gstplugin.c:
7412         * gst/gstregistrypool.c:
7413           doc fixes
7414
7415 2005-08-24  Andy Wingo  <wingo@pobox.com>
7416
7417         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
7418         convert a negative value. Doesn't make much sense. Mostly this is
7419         here to force callers to ensure -1 maps to -1.
7420
7421 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7422
7423         * docs/pwg/advanced-types.xml:
7424           Well done to Michael for catching my deliberate introduction
7425           of this spelling mistake. 
7426         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
7427         * gst/gstelement.h:
7428           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
7429           unlink pads before removing the element from the bin.
7430
7431 2005-08-24  Andy Wingo  <wingo@pobox.com>
7432
7433         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
7434         the same thing as GST_DEBUG=*:4.
7435         (parse_debug_level, parse_debug_category): New helper parsers.
7436
7437 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7438
7439         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7440         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
7441         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
7442         (gst_base_transform_buffer_alloc),
7443         (gst_base_transform_handle_buffer):
7444           use gboolean return values and pointers to size so we can use the
7445           full GST_BUFFER_SIZE range (guint) for buffer sizes
7446           use GstPadDirection for transform_caps
7447         * gst/base/gstbasetransform.h:
7448           rename get_size to get_unit_size since that's what it is
7449         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
7450           use GstPadDirection for transform_caps
7451         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7452         * gst/gstutils.h:
7453           cleanup and debugging
7454
7455 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7456
7457         * gst/gstelement.c: (gst_element_class_init),
7458         (gst_element_set_state), (activate_pads),
7459         (gst_element_save_thyself):
7460         * tools/gst-compprep.c: (main):
7461         * tools/gst-inspect.c: (print_element_properties_info):
7462         * tools/gst-xmlinspect.c: (print_element_properties):
7463           Fixed long standing mem-leak
7464
7465 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7466
7467         * check/gst/gstbin.c: (GST_START_TEST):
7468         * gst/gstbin.c: (bin_bus_handler):
7469         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7470         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7471         (gst_message_new_warning), (gst_message_new_tag),
7472         (gst_message_new_state_changed), (gst_message_new_segment_start),
7473         (gst_message_new_segment_done), (gst_message_new_custom):
7474         * gst/gstmessage.h:
7475         * tools/gst-launch.c: (event_loop):
7476         * tools/gst-md5sum.c: (event_loop):
7477           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
7478           that applications can sensibly post custom messages with references
7479           to their own objects.
7480
7481 2005-08-24  Andy Wingo  <wingo@pobox.com>
7482
7483         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
7484         already.
7485
7486 2005-08-24  Wim Taymans  <wim@fluendo.com>
7487
7488         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7489         (gst_base_transform_transform_caps),
7490         (gst_base_transform_transform_size),
7491         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7492         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7493         (gst_base_transform_handle_buffer):
7494         * gst/base/gstbasetransform.h:
7495         Many fixes and new features added by Thomas. Can now also do
7496         transforms with variable sizes and a custom fixate_caps function.
7497
7498 2005-08-24  Wim Taymans  <wim@fluendo.com>
7499
7500         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7501         Some debugging.
7502
7503         * gst/gstclock.h:
7504         Cast to ClockTime before formatting to time.
7505
7506         * gst/gstutils.h:
7507         Cleanups.
7508
7509 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7510
7511         * check/gst-libs/controller.c: (GST_START_TEST),
7512         (gst_controller_suite):
7513         * docs/gst/tmpl/gstcaps.sgml:
7514         * docs/gst/tmpl/gstghostpad.sgml:
7515         * docs/gst/tmpl/gstquery.sgml:
7516         * docs/gst/tmpl/gstutils.sgml:
7517         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
7518         (gst_object_sink_values), (gst_object_get_value_arrays),
7519         (gst_object_get_value_array):
7520           gracefully handle helper method calls to objects that are not beeing
7521           controlled, added test case for that          
7522
7523 2005-08-23  Wim Taymans  <wim@fluendo.com>
7524
7525         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
7526         (gst_event_new_newsegment), (gst_event_parse_newsegment),
7527         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
7528         (gst_event_parse_qos), (gst_event_new_seek),
7529         (gst_event_parse_seek):
7530         * gst/gstevent.h:
7531         Some more debugging output and doc cleanups.
7532
7533         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7534         Fix possible deadlock.
7535
7536 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7537
7538         * docs/gst/gstreamer-docs.sgml:
7539         * docs/gst/gstreamer-sections.txt:
7540         * docs/gst/gstreamer.types:
7541         * docs/gst/tmpl/.cvsignore:
7542         * gst/gstbin.h:
7543         * gst/gstbus.c:
7544         * gst/gstelement.c:
7545         * gst/gstevent.h:
7546           added 100 symbols from gstreamer-unused.txt to the right sections
7547           fixed more broken comments
7548           added GstBus to docs
7549
7550 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7551
7552         * docs/gst/gstreamer-sections.txt:
7553         * docs/gst/tmpl/.cvsignore:
7554         * docs/gst/tmpl/gstbin.sgml:
7555         * docs/gst/tmpl/gstbuffer.sgml:
7556         * gst/base/gstbasesrc.c:
7557         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
7558         * gst/gstbuffer.c:
7559         * gst/gstbuffer.h:
7560         * tools/gst-launch.1.in:
7561           inlined more doc comments, added missing comments and fixed comments
7562           fixed typos
7563
7564 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7565
7566         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7567           some debugging
7568         * gst/gstcaps.h:
7569           whitespace fixes
7570         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
7571           more debugging
7572         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
7573         * gst/gststructure.h:
7574           add a fixate function for booleans; add a FIXME that these func
7575           names should probably be gst_structure_fixate_*
7576
7577 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7578
7579         * docs/gst/gstreamer-docs.sgml:
7580         * docs/gst/gstreamer-sections.txt:
7581         * gst/Makefile.am:
7582         * gst/gstbin.c: (gst_bin_get_type),
7583         (gst_bin_child_proxy_get_child_by_index),
7584         (gst_bin_child_proxy_get_children_count),
7585         (gst_bin_child_proxy_init):
7586         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
7587         (gst_child_proxy_get_child_by_index),
7588         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
7589         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
7590         (gst_child_proxy_get), (gst_child_proxy_set_property),
7591         (gst_child_proxy_set_valist), (gst_child_proxy_set),
7592         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
7593         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
7594         * gst/gstchildproxy.h:
7595         * gst/parse/grammar.y:
7596         * tools/gst-inspect.c: (print_interfaces),
7597         (print_element_properties_info), (print_element_info):
7598           ported gstchildproxy over from 0.8
7599           ported gst-inspect fixes and enhancements over from 0.8
7600
7601 2005-08-22  Wim Taymans  <wim@fluendo.com>
7602
7603         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7604         (gst_base_transform_handle_buffer):
7605         Also call the transform function if we have ANY caps.
7606
7607         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
7608         Fix debug info.
7609
7610 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7611
7612         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
7613           Don't pretend to handle seek events if the source is not seekable
7614
7615 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7616
7617         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7618           Remove extra parameter to debug output
7619
7620         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7621         (gst_base_src_do_seek), (gst_base_src_activate_push):
7622           Fix seek event handling.
7623
7624         * gst/gstpipeline.c: (gst_pipeline_change_state):
7625         * gst/gstqueue.c: (gst_queue_handle_sink_event),
7626         (gst_queue_src_activate_push):
7627           Don't start the src pad task on FLUSH_STOP if the pad
7628           isn't linked.
7629           Debug changes.
7630
7631 2005-08-22  Wim Taymans  <wim@fluendo.com>
7632
7633         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
7634         Added check for gst_static_caps_get() refcounting.
7635
7636 2005-08-22  Wim Taymans  <wim@fluendo.com>
7637
7638         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
7639         Make _static_caps_get() refcounting sane.
7640         
7641         * gst/gstelement.c: (gst_element_set_state):
7642         Add g_return_val_if_fail() to protect against segfaults.
7643
7644 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
7645
7646         * docs/gst/tmpl/gstevent.sgml:
7647         * gst/gstevent.c:
7648         * gst/gstevent.h:
7649           inlined remaining docs, added missing doc comments
7650
7651 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7652
7653         * check/gst/gstbin.c: (GST_START_TEST):
7654           since we don't know when preroll is done, use refcount range
7655           check for the sink
7656         * gst/check/gstcheck.h:
7657           add macro for checking refcount range
7658
7659 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7660
7661         * check/Makefile.am:
7662           clean up environment for when registry gets built versus
7663           when actual tests are run; valgrind seems to not report
7664           leaks if GST_PLUGIN_PATH is set to some specific values
7665         * check/gst/gstbin.c: (GST_START_TEST):
7666           add more refcounting checks; maybe this exposes a
7667           preroll lock bug ?
7668         * common/check.mak:
7669         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7670         * gst/check/gstcheck.h:
7671         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
7672         (gst_bin_change_state):
7673         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
7674           add/fix debugging/whitespace
7675
7676 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7677
7678         * check/gst/gstevent.c: (event_probe), (test_event),
7679         (GST_START_TEST):
7680          Er, don't call gst_bin_watch_for_state_change you idiot.
7681
7682 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7683
7684         * check/Makefile.am:
7685           Use CHECK_CFLAGS and CHECK_LIBS
7686         * check/gst/gstevent.c: (event_probe), (test_event),
7687         (GST_START_TEST):
7688           Don't leak events.
7689         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7690         (gst_base_src_start), (gst_base_src_stop),
7691         (gst_base_src_activate_push), (gst_base_src_activate_pull),
7692         (gst_base_src_change_state):
7693           Sprinkle gst_base_src_stop liberally around error paths to fix
7694           problems reusing a source after failed state changes.
7695         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7696         (helper_find_suggest), (gst_type_find_helper):
7697           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
7698         * gst/gstevent.h:
7699         * docs/gst/tmpl/gstevent.sgml:
7700           Migrate part of the docs from the SGML file. Wait for ensonic to
7701           tell me how I did it wrong ;)
7702         * tools/gst-typefind.c: (main):
7703           Extra robustness to state changes between files.
7704
7705 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7706
7707         * check/Makefile.am:
7708           don't valgrind the controller test - it's leaking - Stefan, HELP
7709         * gst/check/gstcheck.c: (gst_check_message_error),
7710         (gst_check_chain_func), (gst_check_setup_element),
7711         (gst_check_teardown_element), (gst_check_setup_src_pad),
7712         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
7713         (gst_check_teardown_sink_pad):
7714         * gst/check/gstcheck.h:
7715           add a bunch of methods to set up elements, and src and sink pads
7716         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
7717         * check/elements/identity.c: (setup_identity), (cleanup_identity),
7718         (GST_START_TEST):
7719           use them
7720         * gst/gstmessage.c:
7721         * gst/gsttag.h:
7722           whitespace/doc fixes
7723
7724 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7725
7726         * gst/gstelement.h:
7727           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
7728           be handled by the application and not always printed as well
7729
7730 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7731
7732         * check/Makefile.am:
7733           set GST_TOOLS_DIR
7734         * gst/check/gstcheck.c: (gst_check_message_error):
7735         * gst/check/gstcheck.h:
7736           add a fail_unless_equals_int
7737           add fail_unless for error messages
7738
7739 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7740
7741         * check/Makefile.am:
7742         * check/gst.supp:
7743         * common/Makefile.am:
7744         * common/check.mak:
7745         * common/gst.supp:
7746           factor out some of the common stuff so we can use it
7747
7748 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7749
7750         * check/Makefile.am:
7751         * check/gst/gstiterator.c: (GST_START_TEST):
7752         * check/gst/gstsystemclock.c: (GST_START_TEST),
7753         (gst_systemclock_suite):
7754         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7755         * gst/gstclock.c:
7756           valgrind more tests
7757
7758 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7759
7760         * check/elements/.cvsignore:
7761         * check/elements/gstfakesrc.c:
7762           rename to name of element
7763         * check/elements/identity.c: (chain_func), (event_func),
7764         (setup_identity), (cleanup_identity), (GST_START_TEST),
7765         (identity_suite), (main):
7766           add a test for identity
7767         * check/Makefile.am:
7768         * pkgconfig/Makefile.am:
7769         * pkgconfig/gstreamer-check.pc.in:
7770         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7771         * gst/check:
7772         * gst/Makefile.am:
7773         * configure.ac:
7774           move the check stuff to a library that gets installed
7775         * check/gst-libs/controller.c: (GST_START_TEST):
7776         * check/gst-libs/gdp.c:
7777         * check/gst/gst.c: (GST_START_TEST):
7778         * check/gst/gstbin.c:
7779         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7780         * check/gst/gstbus.c:
7781         * check/gst/gstcaps.c: (GST_START_TEST):
7782         * check/gst/gstelement.c:
7783         * check/gst/gstghostpad.c:
7784         * check/gst/gstiterator.c:
7785         * check/gst/gstmessage.c:
7786         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
7787         * check/gst/gstobject.c:
7788         * check/gst/gstpad.c: (GST_START_TEST):
7789         * check/gst/gststructure.c: (GST_START_TEST):
7790         * check/gst/gstsystemclock.c: (GST_START_TEST),
7791         (gst_systemclock_suite):
7792         * check/gst/gsttag.c: (gst_tag_suite):
7793         * check/gst/gstvalue.c:
7794         * check/pipelines/cleanup.c:
7795         * check/pipelines/simple_launch_lines.c:
7796         * check/states/sinks.c:
7797           change include statement
7798
7799         * docs/gst/gstreamer-sections.txt:
7800         * docs/gst/tmpl/gstpad.sgml:
7801           document more pad stuff
7802         * gst/gstminiobject.c: (gst_mini_object_ref),
7803         (gst_mini_object_unref):
7804           debug refcounting
7805
7806 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
7807
7808         * docs/gst/tmpl/gst.sgml:
7809         * gst/gst.c:
7810           eliminate another tmpl file, fix spelling in the long-description
7811
7812 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7813
7814         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7815         (test_event), (timediff), (gstevents_suite):
7816           Should fix build on 64-bit arch's
7817
7818 2005-08-18  Andy Wingo  <wingo@pobox.com>
7819
7820         Make sure that when a pipeline goes to PLAYING, that data has
7821         actually hit the sink.
7822
7823         * check/states/sinks.c (test_sink): A sink that doesn't get any
7824         data shouldn't return SUCCESS for going to either PLAYING or
7825         PAUSED. Test also the return values on the way back down.
7826
7827         * gst/gstelement.c (gst_element_set_state): When changing the
7828         state of an element currently changing state asynchronously, go to
7829         lost-state after commiting the pending state. Makes future calls
7830         to get_state continue to return ASYNC.
7831
7832         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
7833         ASYNC when going to PLAYING if we still don't have preroll, as can
7834         happen with live sources.
7835
7836 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7837
7838         * docs/pwg/advanced-types.xml:
7839           Hack long paragraph into 2 chunks as a workaround for buggy
7840           jadetex version in sid and breezy that loops infinitely and
7841           eats all RAM.
7842
7843 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7844
7845         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7846         (test_event), (timediff), (gstevents_suite):
7847           Provide more error margin in clock measurements to allow for 
7848           g_get_current_time inaccuracies.
7849
7850 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7851
7852         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7853         (test_event), (timediff), (gstevents_suite):
7854            Fix error message output so I might be able to tell why the
7855            test works here but fails on the build farm.
7856
7857 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7858
7859         * check/Makefile.am:
7860         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7861         (test_event), (timediff), (gstevents_suite), (main):
7862           I wrote a test!
7863
7864         * docs/design/part-seeking.txt:
7865           Spelling correction
7866
7867         * docs/gst/tmpl/gstevent.sgml:
7868         * docs/gst/tmpl/gstfakesrc.sgml:
7869           Docs updates.
7870
7871         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7872           Treat a buffer-without-newsegment the same as a receiving 
7873           a newsegment not in time format, and disable syncing to the clock
7874           with a warning.
7875
7876         * gst/gstbus.c: (gst_bus_set_sync_handler):
7877           Assert if anyone tries to replace the existing sync_handler for bus, 
7878           as only the owner should be setting it.
7879
7880         * gst/gstevent.h:
7881           Have a fixed set of custom event enums with events identified by
7882           their structure name (as in 0.8), rather than a free-for-all
7883           allowing collisions between enum values from different plugins.
7884
7885         * gst/gstpad.c: (gst_pad_class_init):
7886           Docs change.
7887           
7888         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7889           Handle out-of-band downstream events from the sending thread.
7890
7891 2005-08-17  Andy Wingo  <wingo@pobox.com>
7892
7893         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
7894         play-timeout==0 to mean no timeout at all. In that case, don't
7895         bother with a get_state or a warning, just return directly, even
7896         if it's ASYNC.
7897
7898         * gst/base/gstbasetransform.c: Debug changes.
7899
7900         * gst/gstutils.h:
7901         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
7902         ensure bins post state change messages. A bit of a hack but I can't
7903         think of a way to avoid it.
7904
7905         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
7906
7907 2005-08-16  Andy Wingo  <wingo@pobox.com>
7908
7909         * gst/base/gstadapter.h:
7910         * gst/base/gstadapter.c (gst_adapter_take): New function, like
7911         peek() but you own the data. Not terribly efficient atm.
7912
7913 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7914
7915         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
7916         (gst_element_found_tags):
7917         * gst/gstutils.h:
7918           Add two utility functions for tag handling.
7919
7920 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7921
7922         * docs/manual/advanced-dataaccess.xml:
7923         * docs/manual/basics-helloworld.xml:
7924           Fix docs to use _bin_add() before _link(), which fixes the examples
7925           with recent core versions (reported by Madhan Raj M
7926           <raj_madan@rediffmail.com>, #313199).
7927
7928 2005-08-16  Wim Taymans  <wim@fluendo.com>
7929
7930         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7931         Added subtract checks.
7932
7933         * docs/design/part-events.txt:
7934         Some more docs about newsegment
7935
7936         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
7937         Fix FIXME
7938
7939         * gst/gstcaps.c: (gst_caps_to_string):
7940         Add comments, cleanups.
7941         
7942         * gst/gstelement.c: (gst_element_save_thyself):
7943         cleanups
7944         
7945         * gst/gstvalue.c: (gst_value_collect_int_range),
7946         (gst_string_unwrap), (gst_value_union_int_int_range),
7947         (gst_value_union_int_range_int_range),
7948         (gst_value_intersect_int_int_range),
7949         (gst_value_intersect_int_range_int_range),
7950         (gst_value_intersect_double_double_range),
7951         (gst_value_intersect_double_range_double_range),
7952         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
7953         (gst_value_subtract_int_range_int),
7954         (gst_value_subtract_double_range_double),
7955         (gst_value_subtract_double_range_double_range),
7956         (gst_value_subtract_from_list), (gst_value_subtract_list),
7957         (gst_value_can_compare), (gst_value_compare_fraction):
7958         Cleanups, add comments, remove unneeded asserts.
7959
7960 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7961
7962         * tools/gst-launch.c: (event_loop):
7963           don't convert NULL structures to strings
7964
7965 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
7966
7967         * docs/gst/gstreamer-sections.txt:
7968           made some defines private
7969         * docs/gst/tmpl/gstconfig.sgml:
7970         * docs/gst/tmpl/gstqueue.sgml:
7971         * docs/gst/tmpl/gsttaglist.sgml:
7972         * docs/gst/tmpl/gsttypes.sgml:
7973         * docs/gst/tmpl/gstutils.sgml:
7974         * docs/pwg/appendix-porting.xml:
7975         * gst/base/gstbasesink.h:
7976         * gst/base/gstbasesrc.c:
7977         * gst/base/gstbasesrc.h:
7978         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
7979         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
7980         * gst/gstelement.c: (gst_element_class_init):
7981         * gst/gstpad.c: (gst_pad_class_init):
7982         * gst/gstqueue.c: (gst_queue_class_init):
7983         * gst/gstxml.c: (gst_xml_class_init):
7984           documented all undocumented signal inline
7985         * libs/gst/controller/gst-controller.h:
7986           added padding
7987
7988 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7989
7990         * docs/pwg/appendix-porting.xml:
7991           Document _set_link_function -> _set_setcaps_function.
7992
7993 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7994
7995         * check/Makefile.am:
7996           add a .check target for running the check
7997         * check/gst-libs/controller.c: (GST_START_TEST):
7998           cosmetic fixups
7999         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8000           complete checks for gstbuffer; would be nice if I could get the
8001           gcov stuff to work so I can see if I actually completed gstbuffer.c
8002         * check/gstcheck.h:
8003           add ASSERT_BUFFER_REFCOUNT
8004
8005 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
8006
8007         * docs/gst/gstreamer-sections.txt:
8008         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
8009         * gst/gsttag.h:
8010           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
8011           spew out a warning if a tag that is already registered
8012           is re-registered, unless it is re-registered with a 
8013           different type (#308438).
8014
8015 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
8016
8017         * docs/pwg/appendix-porting.xml:
8018         * docs/pwg/building-state.xml:
8019           Add some paragraphs about state changes in 0.9 to the PWG
8020           and the porting guide, in particular about the new meaning
8021           of GST_STATE_PAUSED and how to write state change functions
8022           with concurrent access by multiple threads in mind.
8023
8024 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
8025
8026         * docs/gst/gstreamer-docs.sgml:
8027         * docs/libs/gstreamer-libs-docs.sgml:
8028           added deprecation and since indexes
8029         * libs/gst/controller/gst-controller.c:
8030         * libs/gst/controller/gst-helper.c:
8031           added since tags
8032
8033
8034 2005-08-11  Wim Taymans  <wim@fluendo.com>
8035
8036         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
8037         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
8038         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
8039         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
8040         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
8041         (gst_ghost_pad_set_target):
8042         Actually implement (re)setting the target on a ghostpad
8043         as described in the docs.
8044
8045 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8046
8047         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
8048           Check whether GST_DEBUG_NO_COLOR environment variable is
8049           set and disable coloured debug output if that is the case.
8050
8051 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8052
8053         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8054         (gst_type_find_helper):
8055           The memory returned by gst_type_find_peek() needs to
8056           stay valid until the end of a typefind function, and
8057           typefind functions may keep results from different 
8058           offsets around, so we can't just unref the buffer from
8059           the previous _peek(), but have to save all buffers 
8060           returned by _peek() until typefinding is done and only
8061           free them then.
8062
8063 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
8064
8065         * docs/gst/gstreamer-sections.txt:
8066         * gst/gstutils.h:
8067           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
8068
8069 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8070
8071         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8072           Fix a pretty good memleak.
8073
8074 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8075
8076         * gst/gstiterator.h:
8077           Fix wrong include and 'make distcheck'.
8078
8079 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8080
8081         * gst/gstbin.c: (bin_bus_handler):
8082           Use gst_element_post_message() instead.
8083
8084 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8085
8086         * gst/base/gstadapter.h:
8087         * gst/base/gstbasesink.h:
8088         * gst/base/gstbasesrc.h:
8089         * gst/base/gstbasetransform.h:
8090         * gst/base/gstcollectpads.h:
8091         * gst/base/gstpushsrc.h:
8092         * gst/gstiterator.h:
8093           Add padding to our base elements' class and instance structs and
8094           to GstIterator (you will need to rebuild all plugins and apps!)
8095
8096 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8097
8098         * gst/gstbin.c: (bin_bus_handler):
8099           Make default message forwarding from child->bus to bin->bus
8100           threadsafe and make it not emit warnings if the parent has no bus.
8101
8102 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8103
8104         * gst/gstelement.c: (activate_pads):
8105           On paused->ready, set pad->caps to NULL, as is the documented
8106           behaviour in this state change. Fixes playback of series of
8107           media files when visualization is enabled in Totem.
8108
8109 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8110
8111         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8112           Allow NULL as filter-caps (which means "any").
8113
8114 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8115
8116         * docs/libs/gstreamer-libs-sections.txt:
8117         * libs/gst/controller/gst-controller.c:
8118         * libs/gst/controller/gst-controller.h:
8119         * libs/gst/controller/gst-helper.c:
8120           adding more entries to the docs and fix small doc-bugs
8121
8122 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8123
8124         * docs/gst/gstreamer-docs.sgml:
8125         * docs/gst/gstreamer-sections.txt:
8126         * docs/gst/gstreamer.types:
8127         * docs/gst/tmpl/gstbasesink.sgml:
8128         * docs/gst/tmpl/gstbasesrc.sgml:
8129         * docs/gst/tmpl/gstbasetransform.sgml:
8130         * docs/gst/tmpl/gstfakesrc.sgml:
8131         * gst/base/gstcollectpads.c:
8132         * gst/base/gstcollectpads.h:
8133         * libs/gst/controller/gst-controller.c:
8134         * libs/gst/controller/gst-controller.h:
8135         * libs/gst/controller/gst-helper.c:
8136         * libs/gst/controller/gst-interpolation.c:
8137         * libs/gst/controller/lib.c:
8138           added long/short desc for controller docs
8139           added collectpads base class docs
8140           added correct includes to base-class docs
8141
8142 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8143
8144         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8145         (gst_test_mono_source_set_property),
8146         (gst_test_mono_source_class_init), (GST_START_TEST),
8147         (gst_controller_suite):
8148         * docs/gst/gstreamer-docs.sgml:
8149         * docs/gst/gstreamer-sections.txt:
8150         * docs/gst/gstreamer.types:
8151         * docs/libs/gstreamer-libs-docs.sgml:
8152         * docs/libs/gstreamer-libs-sections.txt:
8153         * gst/base/gstadapter.c:
8154         * libs/gst/controller/gst-controller.c:
8155         (gst_controlled_property_new), (gst_controlled_property_free),
8156         (gst_controller_new_valist),
8157         (gst_controller_remove_properties_valist),
8158         (gst_controller_sink_values), (_gst_controller_finalize):
8159         * libs/gst/controller/gst-controller.h:
8160         * libs/gst/controller/gst-helper.c:
8161         (gst_object_control_properties), (gst_object_uncontrol_properties),
8162         (gst_object_get_controller), (gst_object_set_controller),
8163         (gst_object_sink_values), (gst_object_get_value_arrays),
8164         (gst_object_get_value_array):
8165           more tests (and fixes) for the controller
8166           more docs for the controller
8167           integrated companies docs for the adapter 
8168
8169 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8170
8171         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8172         (GST_START_TEST), (fakesrc_suite):
8173           add tests for sizetype
8174
8175 2005-08-04  Andy Wingo  <wingo@pobox.com>
8176
8177         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8178         fixes buffer_alloc proxying among other things.
8179
8180         * gst/base/gstbasetransform.c:
8181         * gst/base/gstbasetransform.h:
8182         Revert patch to gstbasetransform from 7-28 removing
8183         delay_configure.
8184
8185         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8186         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8187         Semantics changed, should return not the size of the output buffer
8188         but the byte size of a buffer with a given caps.
8189
8190         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8191         debug object.
8192         (gst_base_transform_configure_caps): Don't set out_size here: (in,
8193         out) are not the pad caps until setcaps finishes.
8194         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8195         not-in-place case as well. Deal with changing from in-place to
8196         not-in-place within calling pad_alloc_buffer. Still a bit
8197         concerned about the overhead here...
8198
8199 2005-08-03  Andy Wingo  <wingo@pobox.com>
8200
8201         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8202         fixating is an error.
8203
8204 2005-08-04  Edward Hervey  <edward@fluendo.com>
8205
8206         * gst/base/gstadapter.h: 
8207         Added gst_adapter_get_type() to the header
8208
8209 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8210
8211         * check/Makefile.am:
8212         * check/gst-libs/controller.c:
8213         * libs/gst/controller/gst-controller.c:
8214         (gst_controller_new_valist):
8215           added check test suite for the controller
8216         * gst/base/gstpushsrc.c:
8217           fixed a doc typo
8218
8219 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8220
8221         * docs/gst/Makefile.am:
8222         * docs/gst/gstreamer-docs.sgml:
8223         * docs/gst/gstreamer-sections.txt:
8224         * docs/gst/gstreamer.types:
8225         * docs/gst/tmpl/gstfakesrc.sgml:
8226         * gst/base/README:
8227         * gst/base/gstbasesink.c:
8228         * gst/base/gstbasesink.h:
8229         * gst/base/gstbasesrc.c:
8230         * gst/base/gstbasesrc.h:
8231         * gst/base/gstbasetransform.c:
8232         * gst/base/gstpushsrc.c:
8233         * gst/base/gstpushsrc.h:
8234           add short/long description docs to base classes
8235           add pushsrc to the docs
8236           remove consolidated doc fragments
8237
8238 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8239
8240         * configure.ac:
8241         * docs/libs/Makefile.am:
8242         * docs/libs/gstreamer-libs-docs.sgml:
8243         * docs/libs/gstreamer-libs-sections.txt:
8244         * docs/libs/gstreamer-libs.types:
8245         * examples/Makefile.am:
8246         * examples/controller/.cvsignore:
8247         * examples/controller/Makefile.am:
8248         * examples/controller/audio-example.c: (main):
8249         * libs/gst/Makefile.am:
8250         * libs/gst/controller/.cvsignore:
8251         * libs/gst/controller/Makefile.am:
8252         * libs/gst/controller/gst-controller.c:
8253         (on_object_controlled_property_changed), (gst_timed_value_compare),
8254         (gst_timed_value_find),
8255         (gst_controlled_property_set_interpolation_mode),
8256         (gst_controlled_property_new), (gst_controlled_property_free),
8257         (gst_controller_find_controlled_property),
8258         (gst_controller_new_valist), (gst_controller_new),
8259         (gst_controller_remove_properties_valist),
8260         (gst_controller_remove_properties), (gst_controller_set),
8261         (gst_controller_set_from_list), (gst_controller_unset),
8262         (gst_controller_get), (gst_controller_get_all),
8263         (gst_controller_sink_values), (gst_controller_get_value_arrays),
8264         (gst_controller_get_value_array),
8265         (gst_controller_set_interpolation_mode),
8266         (_gst_controller_finalize), (_gst_controller_init),
8267         (_gst_controller_class_init), (gst_controller_get_type):
8268         * libs/gst/controller/gst-controller.h:
8269         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8270         (g_object_uncontrol_properties), (g_object_get_controller),
8271         (g_object_set_controller), (g_object_sink_values),
8272         (g_object_get_value_arrays), (g_object_get_value_array):
8273         * libs/gst/controller/gst-interpolation.c:
8274         (gst_controlled_property_find_timed_value_node),
8275         (interpolate_none_get), (interpolate_trigger_get),
8276         (interpolate_trigger_get_value_array):
8277         * libs/gst/controller/lib.c: (gst_controller_init):
8278         * pkgconfig/Makefile.am:
8279         * pkgconfig/gstreamer-control-uninstalled.pc.in:
8280         * pkgconfig/gstreamer-control.pc.in:
8281         * testsuite/Makefile.am:
8282         * testsuite/controller/.cvsignore:
8283         * testsuite/controller/Makefile.am:
8284         * testsuite/controller/interpolator.c: (main):
8285           added controller code
8286           removed dparam pc files
8287
8288 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8289         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8290         (gst_collectpads_stop):
8291           Broadcast the condition when shutting down, to make sure we wake all
8292           threads up. Shut down pads on finalize, for safety.
8293
8294 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8295         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8296         (gst_base_transform_handle_buffer),
8297         (gst_base_transform_change_state):
8298           Handle PAUSED->READY->PAUSED transition after negotiation
8299           occurred already.
8300         * gst/gstmessage.c: (gst_message_init):
8301           Extra piece of debug for new messages.
8302
8303 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
8304
8305         * configure.ac:
8306         * docs/gst/tmpl/gstbasesrc.sgml:
8307         * docs/gst/tmpl/gstelement.sgml:
8308         * docs/gst/tmpl/gstevent.sgml:
8309         * docs/gst/tmpl/gstfakesrc.sgml:
8310         * docs/gst/tmpl/gstformat.sgml:
8311         * docs/gst/tmpl/gstghostpad.sgml:
8312         * docs/gst/tmpl/gstpad.sgml:
8313         * docs/gst/tmpl/gstquery.sgml:
8314         * docs/gst/tmpl/gststructure.sgml:
8315         * docs/gst/tmpl/gsttaglist.sgml:
8316         * docs/gst/tmpl/gstvalue.sgml:
8317         * docs/libs/gstreamer-libs-docs.sgml:
8318         * docs/libs/gstreamer-libs-sections.txt:
8319         * docs/libs/gstreamer-libs.types:
8320         * libs/gst/Makefile.am:
8321         * libs/gst/control/.cvsignore:
8322         * libs/gst/control/Makefile.am:
8323         * libs/gst/control/control.c:
8324         * libs/gst/control/control.h:
8325         * libs/gst/control/dparam.c:
8326         * libs/gst/control/dparam.h:
8327         * libs/gst/control/dparam_smooth.c:
8328         * libs/gst/control/dparam_smooth.h:
8329         * libs/gst/control/dparamcommon.h:
8330         * libs/gst/control/dparammanager.c:
8331         * libs/gst/control/dparammanager.h:
8332         * libs/gst/control/dplinearinterp.c:
8333         * libs/gst/control/dplinearinterp.h:
8334         * libs/gst/control/unitconvert.c:
8335         * libs/gst/control/unitconvert.h:
8336         * testsuite/Makefile.am:
8337         * testsuite/dynparams/.cvsignore:
8338         * testsuite/dynparams/Makefile.am:
8339         * testsuite/dynparams/dparamstest.c:
8340         * tools/Makefile.am:
8341         * tools/gst-inspect.c: (print_element_info), (main):
8342         * tools/gst-xmlinspect.c: (print_element_info), (main):
8343           deactivate and remove dparams (libgstcontrol)
8344
8345 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8346
8347         * gst/elements/gsttypefindelement.c:
8348         (gst_type_find_element_have_type), (gst_type_find_element_init),
8349         (stop_typefinding), (gst_type_find_element_handle_event),
8350         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8351         * gst/elements/gsttypefindelement.h:
8352           Set caps on all outgoing buffers, not just the first one.
8353
8354 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8355
8356         * gst/elements/gsttypefindelement.c:
8357         (gst_type_find_element_have_type),
8358         (gst_type_find_element_check_set_buffer_caps),
8359         (gst_type_find_element_init), (stop_typefinding),
8360         (gst_type_find_element_handle_event),
8361         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8362         * gst/elements/gsttypefindelement.h:
8363           Set caps on first outgoing buffer when we've found the type.
8364
8365 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8366
8367         * docs/gst/gstreamer-docs.sgml:
8368         * docs/gst/gstreamer-sections.txt:
8369         * docs/gst/tmpl/gstscheduler.sgml:
8370         * docs/gst/tmpl/gstschedulerfactory.sgml:
8371           Remove some old cruft from docs.
8372
8373 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
8374
8375         * gst/gstpad.h:
8376           Fix inline docs for GstPadLinkReturn.
8377           
8378         * gst/gststructure.c: (gst_structure_has_name):
8379         * gst/gststructure.h:
8380         * docs/gst/gstreamer-sections.txt:
8381           New API: gst_structure_has_name().
8382
8383 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
8384
8385         * configure.ac:
8386           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
8387           and _LARGEFILE_SOURCE in config.h as required. Do not 
8388           export those flags in our .pc files any longer (#142209).
8389
8390           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
8391
8392         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
8393         (gst_file_sink_do_seek), (gst_file_sink_event),
8394         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8395           Redo seek/tell calls with large file support in mind; add some
8396           debugging messages; add log message that tells us when large
8397           file support is unavailable or not enabled for some reason.
8398
8399         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
8400           Add log message that tells us when large file support 
8401           is unavailable or not enabled for some reason.
8402
8403 2005-07-29  Wim Taymans  <wim@fluendo.com>
8404
8405         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8406         Added test for removing an element with ghostpad from a bin.
8407         Fixed test as current implementation does the right thing.
8408
8409         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
8410         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
8411         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
8412         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
8413         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
8414         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8415         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8416         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8417         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
8418         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
8419         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
8420         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
8421         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8422         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
8423         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
8424         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8425         * gst/gstghostpad.h:
8426         Clean up ghostpads, remove properties for internal stuff.
8427         Make threadsafe.
8428         Fix refcounting.
8429         Prepare for switching targets, not all use cases work yet.
8430
8431 2005-07-29  Wim Taymans  <wim@fluendo.com>
8432
8433         * docs/design/part-gstghostpad.txt:
8434         Small update.
8435
8436         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8437         (gst_bin_remove_func):
8438         Unlinking pads while holding the bin LOCK is not a good
8439         idea.
8440
8441         * gst/gstpad.c: (gst_pad_class_init),
8442         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
8443         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
8444         No prob setting template after creating the pad.
8445
8446 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
8447
8448         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
8449         (gst_bus_peek), (gst_bus_source_dispatch),
8450         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
8451         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
8452           gst_bus_poll may be called from other threads. Handle
8453           this nicely by not making poll_data disappear off the
8454           stack once gst_bus_poll returns.
8455           gst_bus_peek now increments the refcount on the returned
8456           message.
8457
8458 2005-07-29  Wim Taymans  <wim@fluendo.com>
8459
8460         * docs/design/part-gstghostpad.txt:
8461         Overview of current GhostPad datastructures and use
8462         cases for changing the target.
8463
8464 2005-07-28  Wim Taymans  <wim@fluendo.com>
8465
8466         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8467         Added checks for hierarchy consistency whan adding linked
8468         elements to bins.
8469
8470         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8471         Added check to test element scheduling without bin/pipeline.
8472
8473         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8474         First add elements to bin, then link.
8475         
8476         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8477         (gst_bin_remove_func):
8478         Unlink pads from elements added/removed from bin to maintain
8479         hierarchy consistency.
8480
8481 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8482
8483         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8484         (gst_base_transform_handle_buffer):
8485         * gst/base/gstbasetransform.h:
8486           Remove broken delay_configure (fixes renegotiation of software
8487           scaling pipelines); remove some leftover printf()s.
8488
8489 2005-07-28  Wim Taymans  <wim@fluendo.com>
8490
8491         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8492         Added some more tests for wrong hierarchy
8493
8494         * docs/design/part-overview.txt:
8495         Some updates.
8496
8497         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
8498         Cleanups.
8499
8500         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
8501         (gst_element_dispose):
8502         Some more cleanups.
8503
8504         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8505         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
8506         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8507         (gst_pad_set_caps), (gst_pad_send_event):
8508         Check for correct hierarchy when linking pads. Moving to
8509         strict requirement for ghostpads when linking elements in
8510         different bins.
8511
8512         * gst/gstpad.h:
8513         Clean ups. Added WRONG_HIERARCHY return value.
8514
8515 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8516
8517         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8518           Better debug if no transform is possible.
8519
8520 2005-07-27  Wim Taymans  <wim@fluendo.com>
8521
8522         * docs/random/wtay/network-transp:
8523         Some old doc I had.
8524
8525 2005-07-27  Wim Taymans  <wim@fluendo.com>
8526
8527         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8528         (gst_dp_event_from_packet):
8529         Fix serialization of seek events.
8530
8531 2005-07-27  Wim Taymans  <wim@fluendo.com>
8532
8533         * check/gst-libs/gdp.c: (GST_START_TEST):
8534         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8535         Fix compilation and fix event serialization.
8536
8537 2005-07-27  Wim Taymans  <wim@fluendo.com>
8538
8539         * CHANGES-0.9:
8540         * docs/design/part-TODO.txt:
8541         * docs/design/part-events.txt:
8542         Some docs updates
8543
8544         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8545         (gst_base_sink_event), (gst_base_sink_do_sync),
8546         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8547         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8548         (gst_base_src_do_seek), (gst_base_src_event_handler),
8549         (gst_base_src_loop):
8550         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8551         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8552         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8553         (gst_base_transform_event), (gst_base_transform_handle_buffer),
8554         (gst_base_transform_set_passthrough),
8555         (gst_base_transform_is_passthrough):
8556         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8557         * gst/elements/gstfilesink.c: (gst_file_sink_event):
8558         Event updates.
8559
8560         * gst/gstbuffer.h:
8561         Use faster casts.
8562
8563         * gst/gstelement.c: (gst_element_seek):
8564         * gst/gstelement.h:
8565         Update gst_element_seek.
8566
8567         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
8568         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
8569         (gst_event_new_flush_start), (gst_event_new_flush_stop),
8570         (gst_event_new_eos), (gst_event_new_newsegment),
8571         (gst_event_parse_newsegment), (gst_event_new_tag),
8572         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
8573         (gst_event_parse_qos), (gst_event_new_seek),
8574         (gst_event_parse_seek), (gst_event_new_navigation):
8575         * gst/gstevent.h:
8576         Make GstEvent use GstStructure. Add parsing code, make sure the
8577         API is sufficiently generic.
8578         Mark possible directions of events and serialization.
8579
8580         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
8581         (_gst_message_copy), (gst_message_new_segment_start),
8582         (gst_message_new_segment_done), (gst_message_new_custom),
8583         (gst_message_parse_segment_start),
8584         (gst_message_parse_segment_done):
8585         Small cleanups.
8586
8587         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8588         (gst_pad_set_caps), (gst_pad_send_event):
8589         Update for new events. 
8590         Catch events sent in wrong directions.
8591
8592         * gst/gstqueue.c: (gst_queue_link_src),
8593         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
8594         (gst_queue_handle_src_query):
8595         Event updates.
8596
8597         * gst/gsttag.c:
8598         * gst/gsttag.h:
8599         Remove event code from this file.
8600
8601         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8602         (gst_dp_event_from_packet):
8603         Event updates.
8604
8605 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8606
8607         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
8608         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8609         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
8610           Make debugging actually useful.
8611
8612 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8613
8614         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
8615         (gst_pad_fixate_caps):
8616           Implement default fixation once again, so that gst_pad_fixate()
8617           actually does anything at all. This probably needs to be some
8618           sort of a last resort, and use profile-based fixation first, but
8619           since that doesn't exist yet, this is the best we have. Fixes
8620           visualization in Totem.
8621
8622 2005-07-22  Wim Taymans  <wim@fluendo.com>
8623
8624         * docs/design/part-events.txt:
8625         Small update.
8626
8627         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8628         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
8629         (gst_base_sink_activate_pull):
8630         Some more comments.
8631
8632         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
8633         (gst_fake_src_create):
8634         Fix handoff marshall.
8635
8636         * gst/elements/gstidentity.c: (gst_identity_class_init),
8637         (gst_identity_transform_ip):
8638         We're a real inplace element.
8639
8640         * gst/gstbus.c: (gst_bus_post):
8641         Added some comments.
8642
8643         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
8644         * tests/muxing/case1.c: (main):
8645         * tests/sched/dynamic-pipeline.c: (main):
8646         * tests/sched/interrupt1.c: (main):
8647         * tests/sched/interrupt2.c: (main):
8648         * tests/sched/interrupt3.c: (main):
8649         * tests/sched/runxml.c: (main):
8650         * tests/sched/sched-stress.c: (main):
8651         * tests/seeking/seeking1.c: (event_received), (main):
8652         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
8653         (main):
8654         * tests/threadstate/threadstate3.c: (main):
8655         * tests/threadstate/threadstate4.c: (main):
8656         * tests/threadstate/threadstate5.c: (main):
8657         Fix the tests.
8658
8659 2005-07-21  Wim Taymans  <wim@fluendo.com>
8660
8661         * docs/design/part-seeking.txt:
8662         Some small additions.
8663
8664         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8665         (gst_base_sink_get_times), (gst_base_sink_do_sync),
8666         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8667         * gst/base/gstbasesink.h:
8668         discont values are gint64, handle the math correctly.
8669
8670         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8671         Make the basesrc report error if the source pad is not linked.
8672
8673         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8674         (gst_queue_loop), (gst_queue_handle_src_query),
8675         (gst_queue_src_activate_push):
8676         Make queue collect data even if the srcpad is not linked.
8677         Start pushing out data as soon as it is linked.
8678
8679         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
8680         * gst/gstutils.h:
8681         Added gst_flow_get_name() to ease error reporting.
8682
8683 2005-07-20  Wim Taymans  <wim@fluendo.com>
8684
8685         * gst/gstmessage.c: (gst_message_new_segment_start),
8686         (gst_message_new_segment_done), (gst_message_parse_segment_start),
8687         (gst_message_parse_segment_done):
8688         * gst/gstmessage.h:
8689         Added a bunch of messages for advanced seeking.
8690
8691         * gst/parse/grammar.y:
8692         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
8693         (gst_dpman_state_changed):
8694         Fix some new-pad -> pad-added signals
8695
8696 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8697
8698         * docs/manual/appendix-porting.xml:
8699         * docs/pwg/appendix-porting.xml:
8700           Document new-pad/state-change signal renames and the FixedList
8701           type rename.
8702
8703 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8704
8705         * docs/manual/advanced-autoplugging.xml:
8706         * docs/manual/basics-helloworld.xml:
8707         * docs/manual/basics-pads.xml:
8708         * docs/random/ds/0.9-suggested-changes:
8709         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
8710         * gst/gstelement.h:
8711         * gst/gstevent.h:
8712         * gst/gstformat.h:
8713         * gst/gstquery.h:
8714         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8715         (gst_structure_parse_array), (gst_structure_parse_value):
8716         * gst/gstvalue.c: (gst_type_is_fixed),
8717         (gst_value_list_prepend_value), (gst_value_list_append_value),
8718         (gst_value_list_get_size), (gst_value_list_get_value),
8719         (gst_value_transform_array_string), (gst_value_serialize_array),
8720         (gst_value_deserialize_array), (gst_value_intersect_array),
8721         (gst_value_is_fixed), (_gst_value_initialize):
8722         * gst/gstvalue.h:
8723           GstElement::new-pad -> pad-added, GstElement::state-change ->
8724           state-changed, GstValueFixedList -> GstValueArray, add format and
8725           flags as their own arguments in gst_element_seek() (should improve
8726           "bindeability"), remove function generators since they don't work
8727           under a whole bunch of compilers (they were deprecated already
8728           anyway).
8729
8730 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8731
8732         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
8733         (_gst_debug_register_funcptr):
8734         * gst/gstinfo.h:
8735           Fix illegal cast on some platforms (#309253).
8736
8737 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8738
8739         * gst/gstmessage.c: (gst_message_new_custom):
8740         * gst/gstmessage.h:
8741           Add _new_custom, make _new_application a macro to _new_custom.
8742
8743 2005-07-20  Wim Taymans  <wim@fluendo.com>
8744
8745         * gst/base/gstbasesrc.c: (gst_base_src_init),
8746         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8747         * gst/base/gstbasesrc.h:
8748         Add a gboolean to decide when to push out a discont.
8749
8750         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8751         (gst_queue_loop), (gst_queue_handle_src_query),
8752         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
8753         (gst_queue_set_property), (gst_queue_get_property):
8754         Some cleanups.
8755
8756         * tests/threadstate/threadstate1.c: (main):
8757         Make a thread test compile and run... very silly..
8758
8759
8760 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8761
8762         * docs/manual/appendix-porting.xml:
8763           Mention removal of libgstgconf-0.9.la and existence of gconf
8764           elements.
8765
8766 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8767
8768         * docs/pwg/advanced-clock.xml:
8769         * docs/pwg/appendix-porting.xml:
8770         * docs/pwg/intro-preface.xml:
8771         * docs/pwg/other-base.xml:
8772         * docs/pwg/other-manager.xml:
8773         * docs/pwg/other-nton.xml:
8774         * docs/pwg/other-ntoone.xml:
8775         * docs/pwg/other-oneton.xml:
8776         * docs/pwg/pwg.xml:
8777           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
8778           demuxer), remove n-to-n (was never written), fix some code examples
8779           and links and update the porting section to include all this.
8780
8781 2005-07-19  Wim Taymans  <wim@fluendo.com>
8782
8783         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
8784         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
8785         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
8786         (gst_queue_src_activate_push), (gst_queue_change_state),
8787         (gst_queue_get_property):
8788         * gst/gstqueue.h:
8789         Propagate GstFlowReturn more intelligently upstream and output
8790         an ERROR/EOS when streaming stopped due to fatal error.
8791
8792 2005-07-19  Wim Taymans  <wim@fluendo.com>
8793
8794         * tools/gst-launch.c: (check_intr), (event_loop), (main):
8795         Don't block forever for the state change to complete, the
8796         pipeline already did with a sensible timeout.
8797
8798 2005-07-19  Wim Taymans  <wim@fluendo.com>
8799
8800         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8801         Make sure we never call the create function is we
8802         got deactivated.
8803
8804 2005-07-19  Andy Wingo  <wingo@pobox.com>
8805
8806         * gst/parse/parse.l: Attempt to solve bug #172815.
8807
8808 2005-07-19  Wim Taymans  <wim@fluendo.com>
8809
8810         * docs/design/part-clocks.txt:
8811         * docs/design/part-events.txt:
8812         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
8813         Small docs updates.
8814         Only update the seeking values when we are not
8815         busy streaming.
8816
8817 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8818
8819         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8820           Oops, ignore the result of gst_pad_push_event here.
8821
8822 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8823
8824         * gst/base/gstbasesrc.c: (gst_base_src_loop),
8825         (gst_base_src_activate_push):
8826           Send discont event from the loop function, as pads
8827           aren't activated yet in the activate_push handler.
8828
8829         * gst/gstbin.c: (bin_bus_handler):
8830           Don't leak element name.
8831
8832 2005-07-18  Andy Wingo  <wingo@pobox.com>
8833
8834         * configure.ac: Use AS_LIBTOOL_TAGS.
8835
8836 2005-07-18  Wim Taymans  <wim@fluendo.com>
8837
8838         * docs/gst/gstreamer.types:
8839         Remove deleted types.
8840
8841 2005-07-18  Wim Taymans  <wim@fluendo.com>
8842
8843         * check/elements/gstfakesrc.c: (GST_START_TEST):
8844         * configure.ac:
8845         * gst/Makefile.am:
8846         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
8847         (init_popt_callback):
8848         * gst/gst.h:
8849         * gst/gst_private.h:
8850         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
8851         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
8852         * gst/gstbin.h:
8853         * gst/gstbus.h:
8854         * gst/gstconfig.h.in:
8855         * gst/gstelement.c: (gst_element_class_init),
8856         (gst_element_set_base_time), (gst_element_get_base_time),
8857         (iterator_fold_with_resync), (gst_element_change_state),
8858         (gst_element_dispose), (gst_element_get_bus):
8859         * gst/gstelement.h:
8860         * gst/gstelementfactory.h:
8861         * gst/gsterror.c: (_gst_core_errors_init):
8862         * gst/gsterror.h:
8863         * gst/gstevent.h:
8864         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8865         * gst/gstindex.c:
8866         * gst/gstinfo.c: (_gst_debug_init):
8867         * gst/gstmessage.c: (_gst_message_copy):
8868         * gst/gstmessage.h:
8869         * gst/gstminiobject.h:
8870         * gst/gstobject.c:
8871         * gst/gstobject.h:
8872         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8873         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
8874         * gst/gstpad.h:
8875         * gst/gstparse.h:
8876         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8877         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8878         (gst_pipeline_get_last_stream_time):
8879         * gst/gstpipeline.h:
8880         * gst/gstpluginfeature.h:
8881         * gst/gstquery.h:
8882         * gst/gstscheduler.c:
8883         * gst/gstscheduler.h:
8884         * gst/gststructure.h:
8885         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
8886         (gst_task_finalize), (gst_task_func), (gst_task_create),
8887         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
8888         (gst_task_stop), (gst_task_pause):
8889         * gst/gsttask.h:
8890         * gst/gsttypefind.h:
8891         * gst/gsttypes.h:
8892         * gst/registries/gstlibxmlregistry.c: (load_feature),
8893         (gst_xml_registry_load), (gst_xml_registry_save_feature):
8894         * gst/registries/gstxmlregistry.c:
8895         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
8896         * gst/schedulers/threadscheduler.c:
8897         * libs/gst/control/dparammanager.h:
8898         * tools/gst-inspect.c: (print_element_list),
8899         (print_plugin_features), (print_element_features):
8900         * tools/gst-xmlinspect.c: (print_element_list),
8901         (print_plugin_info), (main):
8902         Removed plugable schedulers.
8903         Removed Scheduler/Manager from elements.
8904         Removed gsttypes.h, rearranged includes.
8905         Removed dependency pad<->element, element<>pipeline, and
8906         various others,  fix includes.
8907         implement gst_pad_get_parent() with gst_object_get_parent()
8908         Make GstTask sefcontained.
8909         Fix _get_state() on GstBin, it did not return ASYNC with a 0
8910         timeout.
8911         Fix endless loop in iterator_fold_with_resync.
8912
8913
8914 2005-07-18  Wim Taymans  <wim@fluendo.com>
8915
8916         * gst/Makefile.am:
8917         * gst/gstarch.h:
8918         Remove old file.
8919
8920 2005-07-18  Wim Taymans  <wim@fluendo.com>
8921
8922         * gst/Makefile.am:
8923         No more cothreads.h
8924
8925 2005-07-18  Wim Taymans  <wim@fluendo.com>
8926
8927         * gst/cothreads.c:
8928         * gst/cothreads.h:
8929         Let's remove these.
8930
8931 2005-07-18  Wim Taymans  <wim@fluendo.com>
8932
8933         * docs/design/part-dynamic.txt:
8934         * docs/design/part-events.txt:
8935         * docs/design/part-seeking.txt:
8936         Some more docs in the works.
8937
8938         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8939         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
8940         (gst_base_transform_setcaps), (gst_base_transform_get_size),
8941         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8942         (gst_base_transform_handle_buffer),
8943         (gst_base_transform_sink_activate_push),
8944         (gst_base_transform_src_activate_pull),
8945         (gst_base_transform_set_passthrough),
8946         (gst_base_transform_is_passthrough):
8947         Refcounting fixes.
8948
8949         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
8950         Cleanups.
8951
8952         * gst/gstevent.c: (gst_event_finalize):
8953         Set SRC to NULL.
8954
8955         * gst/gstutils.c: (gst_element_unlink),
8956         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
8957         (gst_pad_proxy_setcaps):
8958         * gst/gstutils.h:
8959         Add _get_parent_element() to get a pads parent as an element.
8960
8961 2005-07-18  Wim Taymans  <wim@fluendo.com>
8962
8963         * check/gst/gstbin.c: (GST_START_TEST):
8964         Remove bogus test.
8965
8966 2005-07-18  Wim Taymans  <wim@fluendo.com>
8967
8968         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8969         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8970         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8971         (gst_base_sink_event), (gst_base_sink_do_sync),
8972         (gst_base_sink_chain), (gst_base_sink_loop),
8973         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
8974         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
8975         Refcounting fixes.
8976         Fix logic for returning ASYNC when not prerolled.
8977
8978 2005-07-18  Wim Taymans  <wim@fluendo.com>
8979
8980         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8981         Fix nasty refcount bug.
8982
8983 2005-07-16 Philippe Khalaf <burger@speedy.org>
8984
8985         * gst/elements/gstfdsrc.c:
8986         * gst/elements/gstfdsrc.h:
8987         * gst/elements/gstelements.c:
8988         * gst/elements/Makefile.am:
8989         Ported fdsrc to 0.9.
8990
8991 2005-07-16  Wim Taymans  <wim@fluendo.com>
8992
8993         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8994         (gst_base_sink_do_sync):
8995         Fix compile error.
8996
8997 2005-07-16  Wim Taymans  <wim@fluendo.com>
8998
8999         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9000         (gst_base_sink_event), (gst_base_sink_get_times),
9001         (gst_base_sink_do_sync), (gst_base_sink_change_state):
9002         * gst/base/gstbasesink.h:
9003         Store and use discont values when syncing buffers as described
9004         in design docs.
9005         
9006         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9007         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
9008         (gst_base_src_activate_push):
9009         Push discont event when starting.
9010
9011         * gst/elements/gstidentity.c: (gst_identity_transform):
9012         Small cleanups.
9013
9014         * gst/gstbin.c: (gst_bin_change_state):
9015         Small cleanups in base_time  distribution.
9016
9017         * gst/gstelement.c: (gst_element_set_base_time),
9018         (gst_element_get_base_time), (gst_element_change_state):
9019         * gst/gstelement.h:
9020         Added methods for the base_time of the element.
9021         Some MT fixes.
9022
9023         * gst/gstpipeline.c: (gst_pipeline_send_event),
9024         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9025         (gst_pipeline_get_last_stream_time):
9026         * gst/gstpipeline.h:
9027         MT fixes.
9028         Handle seeking as described in design doc, remove stream_time
9029         hack.
9030         Cleanups clock and stream_time selection code. Added accessors
9031         for the stream_time.
9032         
9033
9034 2005-07-16  Andy Wingo  <wingo@pobox.com>
9035
9036         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
9037         (#305291).
9038
9039 2005-07-16  Wim Taymans  <wim@fluendo.com>
9040
9041         * check/gst/gstbin.c: (GST_START_TEST):
9042         Make elements silent as the deep_notify refs the
9043         parent, which might make the test fail.
9044
9045         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9046         Don't hold the lock for too long.
9047
9048 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
9049
9050         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9051           Don't unref the caps we passed to gst_caps_make_writable() after
9052           passing them. gst_caps_make_writable() will do that for us.
9053
9054 2005-07-15  Andy Wingo  <wingo@pobox.com>
9055
9056         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
9057         (#157311).
9058
9059         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
9060         own marshalling function for the handoff signal. Properly type the
9061         buffer as a buffer. Fixes some warnings. Should do a more general
9062         solution.
9063         (gst_identity_class_init): Plug into the right marshaller.
9064
9065 2005-07-15  Wim Taymans  <wim@fluendo.com>
9066
9067         * docs/design/part-TODO.txt:
9068         * docs/design/part-clocks.txt:
9069         * docs/design/part-element-sink.txt:
9070         * docs/design/part-events.txt:
9071         * docs/design/part-gstpipeline.txt:
9072         Updated docs, mostly DISCONT related.
9073
9074 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
9075
9076         * docs/pwg/building-pads.xml:
9077           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
9078
9079 2005-07-15  Andy Wingo  <wingo@pobox.com>
9080
9081         * tools/gst-typefind.c: Update, add copyright block.
9082
9083         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
9084         Normalize and truncate caps before fixation.
9085
9086         * gst/gstcaps.h:
9087         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
9088         discards all but the first structure from its argument.
9089
9090 2005-07-15  Wim Taymans  <wim@fluendo.com>
9091
9092         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9093         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
9094         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9095         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9096         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
9097         (gst_base_transform_chain), (gst_base_transform_change_state),
9098         (gst_base_transform_set_passthrough),
9099         (gst_base_transform_is_passthrough):
9100         * gst/base/gstbasetransform.h:
9101         Make passthrough work using the bufferpools.
9102         Changed API a bit, subclasses have to write into a buffer
9103         provided by the base class.
9104         More debug info in nego functions.
9105         
9106         * gst/elements/gstidentity.c: (gst_identity_init),
9107         (gst_identity_transform):
9108         Port to new base class.
9109
9110 2005-07-15  Wim Taymans  <wim@fluendo.com>
9111
9112         * gst/gstmessage.c: (gst_message_new_state_changed):
9113         * tools/gst-launch.c: (event_loop), (main):
9114         Totally dump messages in -launch with the -m option.
9115         Fix message name for State messages,
9116
9117 2005-07-14  Wim Taymans  <wim@fluendo.com>
9118
9119         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9120         Post error messages on errors.
9121
9122 2005-07-14  Wim Taymans  <wim@fluendo.com>
9123
9124         * gst/gstcaps.c: (gst_caps_do_simplify):
9125         Remove debug info.
9126
9127         * gst/gsterror.h:
9128         Define error for stream stopped.
9129
9130         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9131         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
9132         Do proper return values.
9133
9134         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9135         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
9136         (gst_pad_get_range):
9137         Better return values.
9138
9139         * gst/gstpad.h:
9140         Reorganise return values, add macro to check for fatal errors.
9141
9142         * gst/gstqueue.c: (gst_queue_chain):
9143         Return proper GstFlowReturn values,
9144
9145 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9146
9147         * docs/gst/gstreamer-sections.txt:
9148         * docs/gst/gstreamer.types:
9149         * docs/gst/tmpl/gst.sgml:
9150         * docs/gst/tmpl/gstbasesink.sgml:
9151         * docs/gst/tmpl/gstbasesrc.sgml:
9152         * docs/gst/tmpl/gstbasetransform.sgml:
9153         * docs/gst/tmpl/gstbin.sgml:
9154         * docs/gst/tmpl/gstbuffer.sgml:
9155         * docs/gst/tmpl/gstcaps.sgml:
9156         * docs/gst/tmpl/gstclock.sgml:
9157         * docs/gst/tmpl/gstcompat.sgml:
9158         * docs/gst/tmpl/gstconfig.sgml:
9159         * docs/gst/tmpl/gstelement.sgml:
9160         * docs/gst/tmpl/gstelementdetails.sgml:
9161         * docs/gst/tmpl/gstelementfactory.sgml:
9162         * docs/gst/tmpl/gstenumtypes.sgml:
9163         * docs/gst/tmpl/gsterror.sgml:
9164         * docs/gst/tmpl/gstevent.sgml:
9165         * docs/gst/tmpl/gstfakesink.sgml:
9166         * docs/gst/tmpl/gstfakesrc.sgml:
9167         * docs/gst/tmpl/gstfilesink.sgml:
9168         * docs/gst/tmpl/gstfilesrc.sgml:
9169         * docs/gst/tmpl/gstfilter.sgml:
9170         * docs/gst/tmpl/gstformat.sgml:
9171         * docs/gst/tmpl/gstghostpad.sgml:
9172         * docs/gst/tmpl/gstimplementsinterface.sgml:
9173         * docs/gst/tmpl/gstindex.sgml:
9174         * docs/gst/tmpl/gstindexfactory.sgml:
9175         * docs/gst/tmpl/gstinfo.sgml:
9176         * docs/gst/tmpl/gstiterator.sgml:
9177         * docs/gst/tmpl/gstmacros.sgml:
9178         * docs/gst/tmpl/gstmemchunk.sgml:
9179         * docs/gst/tmpl/gstminiobject.sgml:
9180         * docs/gst/tmpl/gstobject.sgml:
9181         * docs/gst/tmpl/gstpad.sgml:
9182         * docs/gst/tmpl/gstpadtemplate.sgml:
9183         * docs/gst/tmpl/gstparse.sgml:
9184         * docs/gst/tmpl/gstpipeline.sgml:
9185         * docs/gst/tmpl/gstplugin.sgml:
9186         * docs/gst/tmpl/gstpluginfeature.sgml:
9187         * docs/gst/tmpl/gstquery.sgml:
9188         * docs/gst/tmpl/gstqueue.sgml:
9189         * docs/gst/tmpl/gstregistry.sgml:
9190         * docs/gst/tmpl/gstregistrypool.sgml:
9191         * docs/gst/tmpl/gstscheduler.sgml:
9192         * docs/gst/tmpl/gstschedulerfactory.sgml:
9193         * docs/gst/tmpl/gststructure.sgml:
9194         * docs/gst/tmpl/gstsystemclock.sgml:
9195         * docs/gst/tmpl/gsttaglist.sgml:
9196         * docs/gst/tmpl/gsttagsetter.sgml:
9197         * docs/gst/tmpl/gsttrace.sgml:
9198         * docs/gst/tmpl/gsttrashstack.sgml:
9199         * docs/gst/tmpl/gsttypefind.sgml:
9200         * docs/gst/tmpl/gsttypefindfactory.sgml:
9201         * docs/gst/tmpl/gsttypes.sgml:
9202         * docs/gst/tmpl/gsturihandler.sgml:
9203         * docs/gst/tmpl/gsturitype.sgml:
9204         * docs/gst/tmpl/gstutils.sgml:
9205         * docs/gst/tmpl/gstvalue.sgml:
9206         * docs/gst/tmpl/gstversion.sgml:
9207         * docs/gst/tmpl/gstxml.sgml:
9208         * docs/libs/tmpl/gstcontrol.sgml:
9209         * docs/libs/tmpl/gstdataprotocol.sgml:
9210         * docs/libs/tmpl/gstdparam.sgml:
9211         * docs/libs/tmpl/gstdplinint.sgml:
9212         * docs/libs/tmpl/gstdpman.sgml:
9213         * docs/libs/tmpl/gstdpsmooth.sgml:
9214         * docs/libs/tmpl/gstgetbits.sgml:
9215         * docs/libs/tmpl/gstunitconvert.sgml:
9216         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9217         (gst_push_src_base_init), (gst_push_src_class_init),
9218         (gst_push_src_init), (gst_push_src_create):
9219         * gst/base/gstpushsrc.h:
9220         * gst/elements/gstelements.c:
9221         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9222         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9223         (gst_fake_sink_init), (gst_fake_sink_set_property),
9224         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9225         (gst_fake_sink_event), (gst_fake_sink_preroll),
9226         (gst_fake_sink_render), (gst_fake_sink_change_state):
9227         * gst/elements/gstfakesink.h:
9228         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9229         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9230         (gst_fake_src_base_init), (gst_fake_src_class_init),
9231         (gst_fake_src_init), (gst_fake_src_event_handler),
9232         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9233         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9234         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9235         (gst_fake_src_create_buffer), (gst_fake_src_create),
9236         (gst_fake_src_start), (gst_fake_src_stop):
9237         * gst/elements/gstfakesrc.h:
9238         * gst/elements/gstfilesink.c: (_do_init),
9239         (gst_file_sink_base_init), (gst_file_sink_class_init),
9240         (gst_file_sink_init), (gst_file_sink_dispose),
9241         (gst_file_sink_set_location), (gst_file_sink_set_property),
9242         (gst_file_sink_get_property), (gst_file_sink_open_file),
9243         (gst_file_sink_close_file), (gst_file_sink_query),
9244         (gst_file_sink_event), (gst_file_sink_render),
9245         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9246         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9247         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9248         * gst/elements/gstfilesink.h:
9249         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9250         (gst_file_src_class_init), (gst_file_src_init),
9251         (gst_file_src_finalize), (gst_file_src_set_location),
9252         (gst_file_src_set_property), (gst_file_src_get_property),
9253         (gst_file_src_map_region), (gst_file_src_map_small_region),
9254         (gst_file_src_create_mmap), (gst_file_src_create_read),
9255         (gst_file_src_create), (gst_file_src_is_seekable),
9256         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9257         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9258         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9259         (gst_file_src_uri_handler_init):
9260         * gst/elements/gstfilesrc.h:
9261           more autistic cleanliness in functions/names/defines
9262
9263 2005-07-13  Andy Wingo  <wingo@pobox.com>
9264
9265         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9266         source couldn't negotiate.
9267
9268         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9269         connections again.
9270
9271         * gst/gstutils.h:
9272         * gst/gstutils.c (gst_element_link_pads_filtered): New old
9273         function. I am channeling Hades. Put your boots on suckers!!!
9274
9275 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9276
9277         * testsuite/caps/Makefile.am:
9278         * testsuite/caps/value_compare.c:
9279         * testsuite/caps/value_intersect.c:
9280         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9281           move two testsuite apps over to the check dir
9282
9283 2005-07-12  Wim Taymans  <wim@fluendo.com>
9284
9285         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9286         Added more debug info in the negotiate process.
9287
9288         * gst/gstmessage.h:
9289         Prepare for segment playback.
9290
9291         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9292         Better debugging.
9293
9294         * gst/gstutils.c:
9295         Some more docs.
9296
9297         * tools/gst-launch.c: (main):
9298         NULL pipeline on errors.
9299
9300 2005-07-12  Andy Wingo  <wingo@pobox.com>
9301
9302         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9303         not it comes from a malloc region. Make sure our copy gets freed.
9304
9305 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9306
9307         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9308         * check/gst/gstmessage.c: (GST_START_TEST):
9309         * check/gst/gststructure.c: (GST_START_TEST),
9310         (gst_structure_suite), (main):
9311           more testing
9312         * gst/gstelement.c: (gst_element_message_full):
9313           clean up GError and debug string now that they get copied
9314         * gst/gstmessage.c: (gst_message_new_error),
9315         (gst_message_new_warning), (gst_message_parse_error),
9316         (gst_message_parse_warning):
9317           use GST_TYPE_G_ERROR for structure_new, and take copies of
9318           arguments, so that we don't mess up refcounting
9319
9320 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9321
9322         * check/Makefile.am:
9323           add per-test valgrind targets
9324         * check/gst-libs/gdp.c: (GST_START_TEST),
9325         (gst_data_protocol_suite), (main):
9326           clean up
9327
9328 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9329
9330         * check/Makefile.am:
9331           instate more valgrindable tests
9332         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9333         (GST_START_TEST), (fakesrc_suite):
9334         * check/gst/gstpad.c: (GST_START_TEST):
9335         * check/gst/gststructure.c: (GST_START_TEST):
9336           fix test leaks
9337         * docs/gst/tmpl/gstminiobject.sgml:
9338         * gst/gstpad.c: (gst_pad_finalize):
9339           fix the static mutex leak
9340
9341 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9342
9343         * check/Makefile.am:
9344           add two more tests for valgrinding
9345         * check/gst/gstvalue.c: (GST_START_TEST):
9346           test refcount of deserialized buffer, found a leak
9347         * docs/gst/gstreamer-docs.sgml:
9348         * docs/gst/gstreamer-sections.txt:
9349         * docs/gst/gstreamer.types:
9350         * docs/gst/tmpl/gstminiobject.sgml:
9351           add miniobject to docs
9352         * gst/gstminiobject.c:
9353           add some docs
9354         * gst/gstvalue.c: (gst_value_deserialize_buffer),
9355         (gst_string_unwrap):
9356           fix a hard-to-find invalid write for one of the tests
9357           fix a leak for deserialized buffers
9358
9359 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9360
9361         * docs/pwg/advanced-events.xml:
9362         * docs/pwg/advanced-request.xml:
9363         * docs/pwg/advanced-scheduling.xml:
9364         * docs/pwg/appendix-porting.xml:
9365         * docs/pwg/building-boiler.xml:
9366         * docs/pwg/intro-preface.xml:
9367         * docs/pwg/other-ntoone.xml:
9368           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
9369           of example code and explanation for pad activation, loop() and
9370           getrange() functions and a bit more. Remove old comments pointing
9371           to loop-functions.
9372         * examples/pwg/Makefile.am:
9373           Add loop/getrange examples.
9374
9375 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9376
9377         * configure.ac:
9378           check for valgrind binary + some fixes
9379         * check/gst.supp:
9380           valgrind suppressions for the tests
9381         * check/Makefile.am:
9382           add a valgrind: target that valgrinds the unit tests
9383         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
9384         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9385         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9386         * check/gst/gstghostpad.c:
9387           added some cleanup
9388         * check/gst/gstdata.c:
9389           removed
9390         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
9391         (thread_unref), (gst_mini_object_suite), (main):
9392           added
9393         * gst/gst.c: (gst_deinit):
9394         * gst/gst.h:
9395           add a method to clean up.
9396         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9397         (gst_system_clock_obtain):
9398           allow for disposing the system clock.
9399         * tools/gst-launch.c: (main):
9400           deinit
9401
9402 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9403
9404         * docs/gst/tmpl/gstbasesrc.sgml:
9405         * docs/gst/tmpl/gstfakesrc.sgml:
9406         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9407         (gst_base_src_init), (gst_base_src_set_property),
9408         (gst_base_src_get_property), (gst_base_src_get_range),
9409         (gst_base_src_start):
9410         * gst/base/gstbasesrc.h:
9411           add num-buffers property
9412         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9413         (gst_fakesrc_init), (gst_fakesrc_set_property),
9414         (gst_fakesrc_get_property), (gst_fakesrc_create),
9415         (gst_fakesrc_start):
9416           remove num-buffers property
9417
9418 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9419
9420         * docs/gst/gstreamer-sections.txt:
9421         * docs/gst/tmpl/gstbasesink.sgml:
9422         * docs/gst/tmpl/gstbasesrc.sgml:
9423         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9424         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9425         (gst_base_sink_finalize), (gst_base_sink_set_clock),
9426         (gst_base_sink_set_property), (gst_base_sink_get_property),
9427         (gst_base_sink_handle_object), (gst_base_sink_event),
9428         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9429         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
9430         (gst_base_sink_loop), (gst_base_sink_deactivate),
9431         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
9432         (gst_base_sink_change_state):
9433         * gst/base/gstbasesink.h:
9434         * gst/base/gstbasesrc.h:
9435         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
9436         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9437         (gst_filesink_init):
9438           more macro splitting
9439
9440 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9441
9442         * gst/gstelement.c: (gst_element_get_bus):
9443           add debug
9444         * tools/gst-launch.c: (check_intr), (event_loop):
9445           fix bus leaks
9446
9447 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9448
9449         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9450           fix a caps leak
9451
9452 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9453
9454         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9455         (gst_base_src_finalize):
9456           add finalize method and clean up properly
9457         * gst/gstpipeline.c: (gst_pipeline_dispose):
9458           add debug
9459
9460 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9461
9462         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
9463         (gst_bin_suite):
9464           add more things to check
9465         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9466         * gst/gstelement.c:
9467           more debug
9468
9469 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9470
9471         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9472         (GST_START_TEST), (fakesrc_suite):
9473         * check/gst-libs/gdp.c: (GST_START_TEST):
9474         * check/gst/gst.c: (GST_START_TEST):
9475         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9476         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9477         * check/gst/gstbus.c: (GST_START_TEST):
9478         * check/gst/gstcaps.c: (GST_START_TEST):
9479         * check/gst/gstdata.c: (GST_START_TEST):
9480         * check/gst/gstelement.c: (GST_START_TEST):
9481         * check/gst/gstghostpad.c: (GST_START_TEST):
9482         * check/gst/gstiterator.c: (GST_START_TEST):
9483         * check/gst/gstmessage.c: (GST_START_TEST):
9484         * check/gst/gstobject.c: (GST_START_TEST):
9485         * check/gst/gstpad.c: (GST_START_TEST):
9486         * check/gst/gststructure.c: (GST_START_TEST):
9487         * check/gst/gstsystemclock.c: (GST_START_TEST),
9488         (gst_systemclock_suite):
9489         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9490         * check/gst/gstvalue.c: (GST_START_TEST):
9491         * check/pipelines/cleanup.c: (GST_START_TEST):
9492         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9493         * check/states/sinks.c: (GST_START_TEST):
9494         * check/gstcheck.c: (gst_check_init):
9495         * check/gstcheck.h:
9496           add debugging category
9497           use GST_START_TEST now, so we add a debug line
9498
9499 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9500
9501         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
9502           add test for state change message on a bin
9503         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
9504           add another test
9505         * gst/gstbin.c: (gst_bin_init):
9506         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
9507         * gst/gstelement.c: (gst_element_post_message),
9508         (gst_element_set_state):
9509         * gst/gstelementfactory.c: (gst_element_factory_create):
9510         * gst/gstmessage.c: (gst_message_new):
9511         * gst/gstscheduler.c:
9512           various debugging additions and cleanups
9513
9514 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9515
9516         * check/Makefile.am:
9517         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
9518         (main):
9519           adding tests for elements
9520         * gst/gstelement.c: (gst_element_dispose):
9521
9522 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9523
9524         * gst/registries/gstlibxmlregistry.c: (load_feature):
9525           plug more leaks.  A simple gst_init() now is leakfree, yay.
9526
9527 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9528
9529         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
9530         (gst_xml_registry_load):
9531           plug another memleak
9532
9533 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9534
9535         * configure.ac:
9536           use GST_SET_ERROR_CFLAGS
9537         * docs/faq/cvs.xml:
9538           change to ERROR_CFLAGS
9539
9540 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9541
9542         * configure.ac:
9543           make GST_ERROR_CFLAGS overridable and re-enable Werror
9544         * docs/faq/cvs.xml:
9545           add a note about error CFLAGS
9546         * docs/gst/tmpl/gstfakesrc.sgml:
9547         * gst/elements/gstfakesrc.c:
9548           comment out some unused code
9549         * gst/gst.c: (split_and_iterate):
9550         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
9551         (load_feature):
9552           plug some memleaks
9553
9554 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9555
9556         * common/Makefile.am:
9557         * common/gtk-doc.mak:
9558         * docs/gst/Makefile.am:
9559           factor out gtk-doc.mak
9560
9561 2005-07-07  Wim Taymans  <wim@fluendo.com>
9562
9563         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
9564         (gst_thread_scheduler_dispose):
9565         Unlock the STREAM_LOCK completely.
9566
9567 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9568
9569         * check/Makefile.am:
9570         * check/elements/.cvsignore:
9571         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9572         (START_TEST), (fakesrc_suite), (main):
9573         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9574         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
9575         (gst_fakesrc_create), (gst_fakesrc_start):
9576         * gst/elements/gstfakesrc.h:
9577           adding a first element test
9578
9579 2005-07-07  Andy Wingo  <wingo@pobox.com>
9580
9581         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
9582         debug message.
9583
9584 2005-07-07  Wim Taymans  <wim@fluendo.com>
9585
9586         * gst/gstquery.c:
9587         * gst/gstquery.h:
9588         Remove old types
9589
9590 2005-07-07  Wim Taymans  <wim@fluendo.com>
9591
9592         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
9593         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
9594         Allow subclasses to implement their own negotiation.
9595
9596 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9597
9598         * docs/design/part-gstbin.txt:
9599         * docs/design/part-gstpipeline.txt:
9600           Update design notes to reflect the movement of
9601           responsibility for bus handling from GstPipeline to
9602           GstBin
9603
9604 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9605
9606         * configure.ac:
9607           Remove unnecessary queue2/3/4 examples.
9608
9609 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9610
9611         * examples/Makefile.am:
9612         * examples/helloworld/helloworld.c: (event_loop), (main):
9613         * examples/queue/queue.c: (event_loop), (main):
9614         * examples/queue2/queue2.c: (main):
9615           Update a couple of the examples to work again.
9616
9617         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9618         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
9619          Spelling corrections and extra debug.
9620         
9621         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
9622         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
9623         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
9624         * gst/gstbin.h:
9625         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9626         (gst_pipeline_change_state):
9627         * gst/gstpipeline.h:
9628           Move the bus handler for children to the GstBin, and create a
9629           separate bus for receiving messages from children to the one the
9630           bus sends 'upwards' on.
9631
9632 2005-07-06  Wim Taymans  <wim@fluendo.com>
9633
9634         * gst/base/README:
9635         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9636         (gst_base_sink_handle_object), (gst_base_sink_loop),
9637         (gst_base_sink_change_state):
9638         * gst/base/gstbasesink.h:
9639         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9640         (gst_base_src_init), (gst_base_src_setcaps),
9641         (gst_base_src_getcaps), (gst_base_src_loop),
9642         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
9643         (gst_base_src_start), (gst_base_src_change_state):
9644         * gst/base/gstbasesrc.h:
9645         Make basesrc negotiate.
9646         Handle the case where preroll fails in basesink.
9647         Update README.
9648
9649 2005-07-06  Wim Taymans  <wim@fluendo.com>
9650
9651         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
9652         Implement the fixate function.
9653         Clean up acceptcaps.
9654
9655 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9656
9657         * docs/pwg/building-filterfactory.xml:
9658         * docs/pwg/pwg.xml:
9659           Remove never-written filter-factory chapter; I'll add the various
9660           base classes to part 4 ("other element types") later on.
9661
9662 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9663
9664         * docs/pwg/advanced-negotiation.xml:
9665         * docs/pwg/building-boiler.xml:
9666         * docs/pwg/building-pads.xml:
9667         * docs/pwg/pwg.xml:
9668         * examples/pwg/Makefile.am:
9669           Add a chapter on caps negotiation, simplify the original code
9670           samples a bit w.r.t. caps negotiation, add link to the advanced
9671           section. Add a bunch of examples showing different use cases of
9672           different types of caps negotiation. Upstream renegotiation isn't
9673           fully documented yet since nobody knows how that works.
9674
9675 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9676
9677         * check/gst/gstpad.c:
9678         * check/gstcheck.c:
9679         * gst/gstpad.c: (gst_pad_get_internal_links_default):
9680           if pad has no parent, return NULL as list of internal links
9681
9682 2005-07-05  Andy Wingo  <wingo@pobox.com>
9683
9684         * gst/elements/gstfilesrc.c:
9685         * gst/elements/gstfakesrc.c: 
9686         * gst/base/gstpushsrc.c:
9687         * gst/base/gstbasesrc.h: 
9688         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
9689         
9690 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
9691
9692         * Makefile.am:
9693           better report generation target (lcov needs a patch)
9694
9695 2005-07-05  Andy Wingo  <wingo@pobox.com>
9696
9697         * gst/elements, testsuite: Null if we got it...
9698
9699 2005-07-05  Wim Taymans  <wim@fluendo.com>
9700
9701         * configure.ac:
9702         * libs/gst/dataprotocol/Makefile.am:
9703         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
9704         * libs/gst/dataprotocol/dataprotocol.h:
9705         * pkgconfig/Makefile.am:
9706         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
9707         * pkgconfig/gstreamer-dataprotocol.pc.in:
9708         Ported dataprotol to 0.9. 
9709         Added pkgconfig files.
9710
9711 2005-07-05  Andy Wingo  <wingo@pobox.com>
9712
9713         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
9714         Default to returning TRUE for the case when tranform_caps returns
9715         a fixed caps, like for identity or volume.
9716
9717         * check/gst/gstbus.c (pound_bus_with_messages): 
9718         * check/gst/gstmessage.c (START_TEST): 
9719         * check/pipelines/simple_launch_lines.c (got_handoff): Application
9720         message API change.
9721
9722         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
9723         logic weaks here: always run transform_caps, trying passthrough
9724         operation only if the original caps intersects with the transform.
9725
9726         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
9727         source and sink caps.
9728
9729         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
9730         Intersect the peer caps with the pad template before going into
9731         transform_caps.
9732         (gst_base_transform_transform_caps): More debugging.
9733
9734         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
9735         src argument.
9736
9737 2005-07-04  Edward Hervey  <edward@fluendo.com>
9738
9739         * gst/gstutils.c:
9740         * gst/gstutils.h:
9741         (gst_pad_add_*_probe): now returns the signal id for better wrapping
9742         in bindings.
9743
9744 2005-07-04  Andy Wingo  <wingo@pobox.com>
9745
9746         * check/gst/gstpad.c: Only set explicit caps on pads.
9747
9748 2005-07-01  Andy Wingo  <wingo@pobox.com>
9749
9750         * tests/network-clock.scm: Commentary update.
9751
9752         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
9753         Didn't really make sense, not implementable with basetransform,
9754         etc.
9755         (gst_identity_transform): Unref inbuf via make_writable. Feeble
9756         attempt at implementing the sync property, needs an unlock method.
9757
9758         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
9759         New func, by default returns the same caps (the identity
9760         transformation).
9761         (gst_base_transform_getcaps): Uses transform_caps to return
9762         something sensible.
9763         (gst_base_transform_setcaps): Complicated logic to get caps on
9764         both pads, even if they are different, and to call set_caps once
9765         for every time both pads get their caps set.
9766         (gst_base_transform_handle_buffer): Give the ref to the transform
9767         function. Allows in-place modification of the buffer.
9768
9769         * gst/base/gstbasetransform.h (transform_caps): New class method.
9770         Given caps on one side, what can I do on the other.
9771         (set_caps): Take two caps, one for each side of the element.
9772
9773         * gst/gstpad.h:
9774         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
9775         caps in place. This is safe because we can check the mutability of
9776         the caps, and a good idea because fixate functions are just called
9777         as a matter of last resort. (Not actually implemented.)
9778         (gst_pad_set_caps): If the caps we're setting is actually the same
9779         as the existing pad caps, just update the pointer without calling
9780         setcaps. Assert that caps is either NULL or fixed, as per the
9781         docs.
9782
9783         * gst/gstghostpad.c: Update for fixate changes.
9784
9785 2005-07-02  Andy Wingo  <wingo@pobox.com>
9786
9787         * gst/gstcaps.c:
9788         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
9789         two refcounts makes it immutable, which is enough. Doc more.
9790
9791 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
9792
9793         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
9794           Put the mini_object into GValue as a mini_object,
9795           not a gpointer, since that's how we declared
9796           the signal.
9797
9798 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9799
9800         * examples/pwg/Makefile.am:
9801           Fix buildbot again.
9802
9803 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9804
9805         * docs/pwg/building-testapp.xml:
9806           Add extra check.
9807         * examples/pwg/Makefile.am:
9808           Fix buildbot.
9809
9810 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9811
9812         * configure.ac:
9813         * examples/Makefile.am:
9814         * examples/pwg/Makefile.am:
9815         * examples/pwg/extract.pl:
9816           Enable building the PWG examples.
9817         * docs/pwg/advanced-interfaces.xml:
9818           Add URI interface stub.
9819         * docs/pwg/advanced-types.xml:
9820         * docs/pwg/other-autoplugger.xml:
9821         * docs/pwg/appendix-porting.xml:
9822         * docs/pwg/pwg.xml:
9823           Add porting guide (mostly stubs), remove autoplugging (see ADM).
9824         * docs/pwg/building-boiler.xml:
9825         * docs/pwg/building-chainfn.xml:
9826         * docs/pwg/building-pads.xml:
9827         * docs/pwg/building-props.xml:
9828         * docs/pwg/building-state.xml:
9829         * docs/pwg/building-testapp.xml:
9830           Update the building-*.xml parts for 0.9 changes. All examples
9831           code blocks compile in examples/pwg/*.
9832
9833 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9834
9835         * docs/manual/advanced-autoplugging.xml:
9836         * docs/manual/appendix-checklist.xml:
9837         * docs/manual/appendix-integration.xml:
9838         * docs/manual/highlevel-components.xml:
9839           Fix playbin/decodebin examples, update docs a bit, mention bus
9840           instead of signals in various places, mention kmplayer and
9841           kaffeine since they have a working GStreamer backend in the KDE
9842           section.
9843
9844 2005-06-30  Wim Taymans  <wim@fluendo.com>
9845
9846         * CHANGES-0.9:
9847         * docs/design/draft-ghostpads.txt:
9848         * docs/design/draft-push-pull.txt:
9849         * docs/design/draft-query.txt:
9850         * docs/design/part-TODO.txt:
9851         * docs/design/part-query.txt:
9852         Added CHANGES-0.9 doc, updated status of other docs.
9853         
9854         * gst/gstquery.h:
9855         Remove "hmm" macro
9856
9857 2005-06-30  Wim Taymans  <wim@fluendo.com>
9858
9859         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9860         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9861         (gst_base_sink_change_state):
9862         * gst/base/gstbasesink.h:
9863         Some tweaks, only EOS and a buffer complete a preroll.
9864
9865 2005-06-30  Andy Wingo  <wingo@pobox.com>
9866
9867         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
9868         activate_push down to the internal pad as well.
9869
9870 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
9871
9872         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9873
9874         * gst/gsttaginterface.c:
9875           Some documentation fixes (#307394 and #307397).
9876
9877 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
9878
9879         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9880
9881         * gst/gstvalue.c: (gst_value_intersect_list):
9882           Fix memleak (#309125).
9883
9884 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9885
9886         * docs/manual/advanced-dataaccess.xml:
9887           Fix fakesrc example to compile; doesn't work, bug somewhere...?
9888         * docs/manual/basics-pads.xml:
9889           Add reference for filtered caps to above chapter.
9890
9891 2005-06-30  Wim Taymans  <wim@fluendo.com>
9892
9893         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
9894         (gst_bin_change_state):
9895         Probes are gone.
9896         Lame attempt at making the state change function a bit
9897         more readable.
9898
9899 2005-06-30  Wim Taymans  <wim@fluendo.com>
9900
9901         * docs/design/part-clocks.txt:
9902         * docs/design/part-element-sink.txt:
9903         * docs/design/part-events.txt:
9904         * docs/design/part-preroll.txt:
9905         * docs/design/part-states.txt:
9906         Some more tweeks and additions to the docs.
9907
9908 2005-06-30  Wim Taymans  <wim@fluendo.com>
9909
9910         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9911         (default_have_data), (gst_pad_class_init), (gst_pad_init),
9912         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9913         (gst_pad_check_pull_range), (gst_pad_get_range),
9914         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
9915         * gst/gstpad.h:
9916         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
9917         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9918         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9919         (gst_pad_remove_buffer_probe):
9920         Removed atomic operations, use existing LOCK.
9921         Move exception handling out of main code path.
9922
9923 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9924
9925         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9926         (silly_return_true_function), (gst_pad_class_init),
9927         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9928         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
9929         (gst_pad_send_event):
9930           Fix accumulator, add default value by using _emitv() instead
9931           of _emit() for signal emission.
9932
9933 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9934
9935         * docs/manual/advanced-dataaccess.xml:
9936         * examples/manual/Makefile.am:
9937           Add probe example.
9938         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
9939           Make work (??).
9940
9941 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
9942
9943         * gst/elements/gstfilesink.c: (gst_filesink_render):
9944           Simplify code so that we don't have to handle short
9945           writes and return GST_FLOW_ERROR if an error occured.
9946
9947 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9948
9949         * docs/gst/gstreamer-docs.sgml:
9950           Remove probes more.
9951
9952 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9953
9954         * docs/gst/gstreamer-sections.txt:
9955         * docs/gst/tmpl/gstpad.sgml:
9956         * docs/gst/tmpl/gstprobe.sgml:
9957         * gst/Makefile.am:
9958         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9959         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
9960         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
9961         (gst_pad_push_event), (gst_pad_send_event):
9962         * gst/gstpad.h:
9963         * gst/gstutils.c: (gst_pad_add_data_probe),
9964         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9965         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9966         (gst_pad_remove_buffer_probe):
9967         * gst/gstutils.h:
9968           Remove old probes, add new g-signal-based probes and some utility
9969           functions.
9970
9971 2005-06-29  Edward Hervey  <edward@fluendo.com>
9972
9973         * gst/gstelementfactory.c:
9974         * gst/gstutils.h:
9975         * gst/gstutils.c:
9976         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
9977         the definition to the header file.
9978
9979 2005-06-29  Andy Wingo  <wingo@pobox.com>
9980
9981         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
9982         plugins from the source directory.
9983
9984 2005-06-29  Wim Taymans  <wim@fluendo.com>
9985
9986         * docs/gst/tmpl/gstbuffer.sgml:
9987         * docs/gst/tmpl/gstclock.sgml:
9988         Some fixings for blantently wrong text.
9989
9990 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9991
9992         * check/Makefile.am:
9993         * gst/gst.c: (add_path_func), (init_pre):
9994         * gst/gstregistry.c: (gst_registry_add_path):
9995           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
9996           only scan the GST_PLUGIN_PATH locations, and not add
9997           system locations
9998
9999 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10000
10001         * docs/gst/gstreamer-sections.txt:
10002         * docs/gst/tmpl/gstbasesrc.sgml:
10003         * gst/gstelement.c:
10004         * gst/gstelement.h:
10005         * gst/gstevent.c:
10006         * gst/gstutils.c:
10007           doc fixes
10008
10009 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10010
10011         * docs/manual/advanced-autoplugging.xml:
10012           Fix autoplugging example.
10013
10014 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10015
10016         * docs/manual/advanced-autoplugging.xml:
10017         * docs/manual/mime-world.fig:
10018           Try to get autoplugging working, fix type detection. Fix text
10019           in hello-world image.
10020
10021 2005-06-29  Wim Taymans  <wim@fluendo.com>
10022
10023         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10024         (gst_base_sink_change_state):
10025         Small debug line.
10026
10027         * gst/gstclock.h:
10028         map SIGNAL and BROADCAST to the right function.
10029
10030         * gst/gstobject.h:
10031         Remove redundant braces.
10032
10033         * gst/gstpad.c: (gst_pad_set_caps):
10034         Don't call setcaps function when reseting caps to NULL.
10035
10036         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10037         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
10038         (gst_system_clock_id_unschedule):
10039         Use BROADCAST as this is what we do.
10040
10041 2005-06-29  Wim Taymans  <wim@fluendo.com>
10042
10043         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10044         We are actually prerolling before commiting the state
10045         change. 
10046
10047 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10048
10049         * docs/manual/advanced-clocks.xml:
10050         * docs/manual/advanced-interfaces.xml:
10051         * docs/manual/advanced-metadata.xml:
10052         * docs/manual/advanced-position.xml:
10053         * docs/manual/advanced-schedulers.xml:
10054         * docs/manual/advanced-threads.xml:
10055         * docs/manual/appendix-porting.xml:
10056         * docs/manual/basics-bins.xml:
10057         * docs/manual/basics-bus.xml:
10058         * docs/manual/basics-elements.xml:
10059         * docs/manual/basics-helloworld.xml:
10060         * docs/manual/basics-pads.xml:
10061         * docs/manual/highlevel-components.xml:
10062         * docs/manual/manual.xml:
10063         * docs/manual/thread.fig:
10064           Update (until threads/scheduling) Application Development Manual;
10065           remove GstThread, add GstBus, add simple porting checklist, add
10066           documentation for tag writing, clocks, make all examples until this
10067           part compile and run.
10068         * examples/manual/Makefile.am:
10069           Update from changes to Application Development Manual; add bus
10070           example, remove thread example.
10071
10072 2005-06-28  Wim Taymans  <wim@fluendo.com>
10073
10074         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
10075         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
10076         (gst_bus_source_dispatch):
10077         Add debugging messages.
10078         Make internal methods static.
10079         Handle the case where the bus is flushed in the handler.
10080         
10081         * gst/gstelement.c: (gst_element_get_bus):
10082         Fix refcount in _get_bus();
10083
10084         * gst/gstpipeline.c: (gst_pipeline_change_state),
10085         (gst_pipeline_get_clock_func):
10086         Clock refcounting fixes.
10087         Handle the case where preroll timed out more gracefully.
10088         
10089         * gst/gstsystemclock.c: (gst_system_clock_dispose):
10090         Clean up the internal thread in dispose. This is needed
10091         for subclasses that actually get disposed.
10092         
10093         * gst/schedulers/threadscheduler.c:
10094         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10095         (gst_thread_scheduler_dispose):
10096         Free thread pool in dispose.
10097
10098 2005-06-28  Andy Wingo  <wingo@pobox.com>
10099
10100         * tests/network-clock-utils.scm (debug, print-event): New utils.
10101
10102         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
10103         (*packet-loss*): Unified loss probability.
10104         (network-time): Report out-of-band events.
10105
10106         * tests/plot-data: Add support for out-of-band events. Hack it
10107         into this script instead of passing it down the pipe; should fix
10108         this later.
10109
10110 2005-06-28  Wim Taymans  <wim@fluendo.com>
10111
10112         * docs/gst/gstreamer.types:
10113         * docs/gst/tmpl/gstbasesrc.sgml:
10114         * docs/gst/tmpl/gstpad.sgml:
10115         Docs fixes.
10116
10117 2005-06-28  Wim Taymans  <wim@fluendo.com>
10118
10119         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10120         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
10121         (gst_proxy_pad_do_fixatecaps):
10122         Correctly proxy the check_pull_range function.
10123
10124 2005-06-28  Andy Wingo  <wingo@pobox.com>
10125
10126         * tests/network-clock.scm: Removed need for slib.
10127         
10128 2005-06-28  Wim Taymans  <wim@fluendo.com>
10129
10130         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
10131         (gst_basesink_preroll_queue_flush):
10132         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
10133         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
10134         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10135         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10136         (gst_proxy_pad_set_property):
10137         * gst/gstpad.c:
10138         * gst/gstpad.h:
10139         * gst/gstqueue.c: (gst_queue_init):
10140         The deprecated pad loop function is removed now.
10141
10142 2005-06-28  Andy Wingo  <wingo@pobox.com>
10143
10144         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
10145         New parameters, simulate network packet loss.
10146
10147         * tests/network-clock-utils.scm: Initialize the RNG.
10148
10149 2005-06-28  Wim Taymans  <wim@fluendo.com>
10150
10151         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
10152         (gst_basesink_event), (gst_basesink_deactivate):
10153         Flushing the preroll queue always needs to unlock the waiters.
10154
10155 2005-06-28  Edward Hervey  <edward@fluendo.com>
10156
10157         * gst/gstpipeline.c: (gst_pipeline_send_event): 
10158         Wheen a seek was successful on a pipeline, set the stream_time to the
10159         seek offset in order to have a synchronized stream_time.
10160
10161 2005-06-28  Wim Taymans  <wim@fluendo.com>
10162
10163         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10164         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10165         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
10166         (gst_proxy_pad_do_fixatecaps):
10167         Call wrapper function instead of just calling the function
10168         pointers. This takes care of any locking and whatmore.
10169
10170 2005-06-28  Wim Taymans  <wim@fluendo.com>
10171
10172         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10173         (gst_pad_pull_range):
10174         * gst/gstpad.h:
10175         CONNECTED -> LINKED.
10176
10177 2005-06-28  Andy Wingo  <wingo@pobox.com>
10178
10179         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10180         source-munging commit!!!
10181
10182         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
10183         (gst_object_sink): Take gpointer arguments, not GstObject --
10184         avoids casts. Like GLib.
10185
10186         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10187         activate.
10188
10189 2005-06-27  Andy Wingo  <wingo@pobox.com>
10190
10191         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10192         remaining buffer.
10193
10194         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10195         returns a sorted copy of the trace list.
10196         (gst_alloc_trace_print_live): New API, only prints traces with
10197         live objects. Sort the list.
10198         (gst_alloc_trace_print_all): Sort the list.
10199         (gst_alloc_trace_print): Align columns.
10200
10201         * gst/elements/gstttypefindelement.c:
10202         * gst/elements/gsttee.c:
10203         * gst/base/gstbasesrc.c:
10204         * gst/base/gstbasesink.c:
10205         * gst/base/gstbasetransform.c:
10206         * gst/gstqueue.c: Adapt for pad activation changes.
10207
10208         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10209         sched.
10210         (gst_pipeline_dispose): Drop ref on sched.
10211
10212         * gst/gstpad.c (gst_pad_init): Set the default activate func.
10213         (gst_pad_activate_default): Push mode by default.
10214         (pre_activate_switch, post_activate_switch): New stubs, things to
10215         do before and after switching activation modes on pads.
10216         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10217         the pad's activate function to choose which mode to activate.
10218         Shortcut on deactivation and call the right function directly.
10219         (gst_pad_activate_pull): New API, (de)activates a pad in pull
10220         mode.
10221         (gst_pad_activate_push): New API, same for push mode.
10222         (gst_pad_set_activate_function) 
10223         (gst_pad_set_activatepull_function) 
10224         (gst_pad_set_activatepush_function): Setters for new API.
10225
10226         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10227         Trace all miniobjects.
10228         (gst_mini_object_make_writable): Unref the arg if we copy, like
10229         gst_caps_make_writable.
10230
10231         * gst/gstmessage.c (_gst_message_initialize): No trace init.
10232
10233         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
10234         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10235         Adapt for new pad API.
10236
10237         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10238
10239         * gst/gstelement.h:
10240         * gst/gstelement.c (gst_element_iterate_src_pads) 
10241         (gst_element_iterate_sink_pads): New API functions.
10242         
10243         * gst/gstelement.c (iterator_fold_with_resync): New utility,
10244         should fold into gstiterator.c in some form.
10245         (gst_element_pads_activate): Simplified via use of fold and
10246         delegation of decisions to gstpad->activate.
10247
10248         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10249         help in debugging.
10250
10251         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10252         class once in init, like gstmessage. Didn't run into this issue
10253         but it seems correct. Don't initialize a trace, gstminiobject does
10254         that.
10255
10256         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10257         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10258         to the bus.
10259         (assert_live_count): New util function, uses alloc traces to check
10260         cleanup.
10261
10262         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10263         To be modified when unlink drops the internal pad.
10264
10265 2005-06-27  Wim Taymans  <wim@fluendo.com>
10266
10267         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10268         (gst_bin_change_state):
10269         Cleanup the get_state() function a little, make sure it
10270         iterates the same set of elements.
10271         Added stub iterate_state_order().
10272
10273 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10274
10275         * docs/gst/gstreamer-docs.sgml:
10276         * docs/gst/gstreamer-sections.txt:
10277         * docs/gst/gstreamer.types:
10278         * docs/gst/tmpl/gstbasesink.sgml:
10279         * docs/gst/tmpl/gstbasesrc.sgml:
10280         * docs/gst/tmpl/gstbasetransform.sgml:
10281         * docs/gst/tmpl/gstelement.sgml:
10282         * docs/gst/tmpl/gstiterator.sgml:
10283         * gst/base/gstbasesrc.c:
10284         * gst/base/gstbasesrc.h:
10285         * gst/base/gstbasetransform.h:
10286         * gst/gstelement.c:
10287         * gst/gstiterator.h:
10288           adding basetransform and iterator docs
10289
10290 2005-06-27  Andy Wingo  <wingo@pobox.com>
10291
10292         * docs/design/part-activation.txt: Notes on how activation should
10293         work -- not quite implemented yet.
10294
10295 2005-06-25  Wim Taymans  <wim@fluendo.com>
10296
10297         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10298         At least get the chain function correct, needs more
10299         fixing.
10300
10301 2005-06-25  Wim Taymans  <wim@fluendo.com>
10302
10303         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10304         (gst_basesink_handle_object), (gst_basesink_event),
10305         (gst_basesink_do_sync), (gst_basesink_handle_event),
10306         (gst_basesink_change_state):
10307         * gst/gsttask.h:
10308         Right, two problems here: ghostpads don't take locks and
10309         glib _rec_mutex_lock_full() with depth==0 still locks.
10310         Catch illegal locking and g_warn them.
10311
10312 2005-06-25  Wim Taymans  <wim@fluendo.com>
10313
10314         * check/states/sinks.c: (START_TEST), (gst_object_suite):
10315         Have to check for completion now...
10316
10317 2005-06-25  Wim Taymans  <wim@fluendo.com>
10318
10319         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10320         (gst_basesink_handle_object), (gst_basesink_event),
10321         (gst_basesink_do_sync), (gst_basesink_handle_event),
10322         (gst_basesink_change_state):
10323         * gst/gstpad.h:
10324         Unlock STREAM_LOCK whatever the recursion was.
10325
10326 2005-06-25  Wim Taymans  <wim@fluendo.com>
10327
10328         * gst/base/gstbasesink.c: (gst_basesink_set_property),
10329         (gst_basesink_preroll_queue_empty),
10330         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10331         (gst_basesink_event), (gst_basesink_do_sync),
10332         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10333         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10334         (gst_basesink_change_state):
10335         Reworked the base sink, handle event and buffer serialisation
10336         correctly and removed possible deadlock.
10337         Handle EOS correctly.
10338
10339 2005-06-25  Wim Taymans  <wim@fluendo.com>
10340
10341         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10342         (gst_pipeline_change_state):
10343         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10344         Allow elements to post EOS in the state change function.
10345         Fix up -launch, make it exit the poll loop when the
10346         pipeline actually changed state.
10347         Fix up warning parsing in -launch.
10348
10349 2005-06-25  Wim Taymans  <wim@fluendo.com>
10350
10351         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10352         (gst_tee_sink_activate):
10353         Core takes STREAM_LOCK for us now.
10354
10355 2005-06-25  Wim Taymans  <wim@fluendo.com>
10356
10357         * gst/gstelement.c: (gst_element_get_state_func),
10358         (gst_element_set_state):
10359         * gst/gstelement.h:
10360         * gst/gstmessage.c: (gst_message_parse_error),
10361         (gst_message_parse_warning):
10362         Keep track of current target state while performing a state
10363         change so that subclasses can do something interesting.
10364         Fix parsing of warning/error messages when GError is NULL.
10365
10366 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10367
10368         * docs/gst/Makefile.am:
10369         * docs/gst/gstreamer-docs.sgml:
10370         * docs/gst/gstreamer-sections.txt:
10371         * docs/gst/gstreamer.types:
10372         * docs/gst/tmpl/gstbasesink.sgml:
10373         * docs/gst/tmpl/gstbasesrc.sgml:
10374         * docs/gst/tmpl/gstbin.sgml:
10375         * docs/gst/tmpl/gstcompat.sgml:
10376         * docs/gst/tmpl/gstfakesink.sgml:
10377         * docs/gst/tmpl/gstfakesrc.sgml:
10378         * docs/gst/tmpl/gstfilesink.sgml:
10379         * docs/gst/tmpl/gstfilesrc.sgml:
10380         * docs/gst/tmpl/gstindex.sgml:
10381         * docs/manual/appendix-quotes.xml:
10382         * gst/base/gstbasesrc.h:
10383         * gst/elements/gstfakesrc.h:
10384         * gst/gstmessage.h:
10385           start pulling in base classes and elements in our docs
10386
10387 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
10388
10389         * docs/gst/Makefile.am:
10390         * docs/libs/Makefile.am:
10391           fixed make distcheck with gtk-doc 1.3
10392
10393 2005-06-23  Wim Taymans  <wim@fluendo.com>
10394
10395         * gst/gstelement.c: (gst_element_get_state_func),
10396         (gst_element_set_state), (gst_element_change_state):
10397         When the state did not change, also report NO_PREROLL
10398         when it matters.
10399
10400 2005-06-23  Wim Taymans  <wim@fluendo.com>
10401
10402         * gst/gstpad.c: (gst_pad_event_default):
10403         * gst/gstqueue.c: (gst_queue_loop):
10404         No unsafe task pausing please.
10405
10406 2005-06-23  Wim Taymans  <wim@fluendo.com>
10407
10408         * gst/schedulers/threadscheduler.c:
10409         (gst_thread_scheduler_task_start),
10410         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
10411         Ref the task before pushing it on the threadpool. This
10412         makes sure that we have a ref when the threadfunction is
10413         actually called.
10414
10415 2005-06-23  Andy Wingo  <wingo@pobox.com>
10416
10417         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
10418         offset is greater than the file's size.
10419
10420         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
10421         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
10422         * gst/gstobject.c (gst_object_class_init): Make the class lock
10423         recursive. Wim won't let me drop deep_notify. Decodebin works
10424         again, whoopdy doo.
10425
10426         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
10427         internal pad, and hacks accordingly. Doesn't do it on the target
10428         pad because we change its caps. Probably catches all cases of
10429         interest tho.
10430         (gst_ghost_pad_set_property): Connect to notify::caps as
10431         appropritate.
10432
10433         * tests/network-clock.scm (plot-simulation): Pipe data to the
10434         elite python skript.
10435
10436         * tests/network-clock-utils.scm (define-parameter): New macro,
10437         defines a parameter that can be set via the command line.
10438         (set-parameter!, parse-parameter-arguments): Command line args
10439         parser.
10440
10441         * tests/plot-data: Simple matplotlib-based plotter, takes input on
10442         stdin.
10443
10444 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
10445
10446         * gst/elements/gsttypefindelement.c:
10447         (gst_type_find_element_handle_event):
10448           Don't restart typefinding on a discont.
10449         * gst/gstelement.c: (gst_element_set_state):
10450           Debug spelling fix.
10451         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
10452           Allow changing mode of an active pad.
10453           Debug output fixes.
10454         * gst/registries/gstlibxmlregistry.c: (load_feature):
10455           Don't cast a static pad template to a normal pad template.
10456
10457 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10458
10459         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10460         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10461           remove gst_strtoll completely, since it didn't actually do
10462           anything more than what g_ascii_strtoull already does.
10463           check for range errors when deserializing
10464           do a cast for the unsigned cases; but further fixing needs
10465           a decision on what the interpretation of "(int)" and
10466           deserialization should be for values that fall outside the
10467           type's boundaries (ie, refuse, or interpret as casting)
10468
10469 2005-06-23  Wim Taymans  <wim@fluendo.com>
10470
10471         * check/Makefile.am:
10472         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
10473         * docs/design/part-live-source.txt:
10474         * docs/design/part-states.txt:
10475         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10476         (gst_basesrc_set_live), (gst_basesrc_is_live),
10477         (gst_basesrc_get_range), (gst_basesrc_activate),
10478         (gst_basesrc_change_state):
10479         * gst/base/gstbasesrc.h:
10480         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10481         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10482         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
10483         * gst/gstelement.c: (gst_element_get_state_func),
10484         (gst_element_set_state):
10485         * gst/gstelement.h:
10486         * gst/gsttypes.h:
10487         * tools/gst-launch.c: (event_loop), (main):
10488         Added support for live sources and other elements that
10489         cannot do preroll.
10490         Updated design docs, added live-source design doc.
10491         Implemented live source functionality in basesrc
10492         Fix error condition in _bin_get_state()
10493         Implement live source handling in -launch.
10494         Added check for live sources.
10495         Fixed case in GstBin where elements were changed state
10496         multiple times.
10497
10498
10499 2005-06-23  Andy Wingo  <wingo@pobox.com>
10500
10501         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
10502         borken refcounting.
10503
10504         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
10505         gst_caps_replace takes care of this for us.
10506
10507         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
10508         gst_pad_set_caps on the target, not just its setcaps() function.
10509
10510         * tests/network-clock.scm: 
10511         * tests/network-clock-utils.scm: A network clock simulator.
10512         Something of an algorithmic testbed before doing something in C.
10513
10514 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10515
10516         * check/Makefile.am:
10517         * check/gst/capslist.h:
10518           copy over from 0.8, and add two with bitmasks specified with
10519           (int) 0xFF...
10520         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10521           add test to parse everything from capslist.h
10522         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
10523         (main):
10524           add test for structure deserialization
10525         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10526           add tests for deserialization of strings to int types
10527         * gst/gststructure.c: (gst_structure_nth_field_name):
10528         * gst/gststructure.h:
10529           add a way to get the name of a field referenced by index
10530         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10531           instead of checking if the resulting long long lies between
10532           min and max, we check if the long long would fit into
10533           a number of bytes for the final type.
10534           This fixes cases where a string represents 2^32 - 1, which
10535           when cast to int would be the (valid) -1, but is bigger than
10536           G_MAXINT
10537
10538 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10539
10540         * gst/parse/grammar.y:
10541           add a log line for type deserialization
10542
10543 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10544
10545         * check/gst/gstvalue.c: (START_TEST):
10546         * gst/gstvalue.c: (gst_value_deserialize):
10547           return long long, not int, so gint64 deserialization actually
10548           works.  Is there any flag that makes the compiler check this ?
10549           Fixes #308559
10550
10551 2005-06-22  Wim Taymans  <wim@fluendo.com>
10552
10553         * gst/gstbuffer.h:
10554         Added convenience macros for setting buffers in GValue.
10555
10556 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10557
10558         * check/gst/.cvsignore:
10559         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10560           add a test deserializing int64, and comment part out because
10561           it fails, yay !
10562
10563 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10564
10565         * check/Makefile.am:
10566         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
10567         * testsuite/Makefile.am:
10568         * testsuite/caps/Makefile.am:
10569         * testsuite/caps/value_serialize.c:
10570         * testsuite/test_gst_init.c:
10571           move a value_serialize test over
10572
10573 2005-06-20  Wim Taymans  <wim@fluendo.com>
10574
10575         * gst/gstpad.c:
10576         Small doc updates.
10577         
10578         * gst/gstvalue.c: (gst_value_compare_buffer),
10579         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
10580         (gst_value_compare_flags), (gst_value_serialize_flags),
10581         (gst_value_deserialize_flags), (_gst_value_initialize):
10582         Fix serialisation of buffers, they are not boxed types anymore
10583
10584 2005-06-20  Wim Taymans  <wim@fluendo.com>
10585
10586         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10587         Testcase to show error in buffer-on-caps serialisation.
10588
10589 2005-06-20  Andy Wingo  <wingo@pobox.com>
10590
10591         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
10592         will be adding to later.
10593
10594         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
10595         if its socks fill with rocks.
10596         (gst_system_clock_obtain): Set the name on object construction.
10597         Avoid double-checked locking.
10598
10599 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
10600
10601         * gst/gsturi.c: (gst_element_make_from_uri):
10602           Fix potential endless loop.
10603
10604 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10605
10606         * check/Makefile.am:
10607           add gsttag
10608         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
10609         (main):
10610           move over from testsuite dir and clean up
10611         * configure.ac:
10612         * gst/gsttag.c:
10613         * testsuite/Makefile.am:
10614         * testsuite/tags/.cvsignore:
10615         * testsuite/tags/Makefile.am:
10616         * testsuite/tags/merge.c:
10617           remove testsuite/tags
10618
10619 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10620
10621         * docs/gst/gstreamer-sections.txt:
10622         * docs/gst/tmpl/gstenumtypes.sgml:
10623         * win32/gstenumtypes.c:
10624           clean up documentation build a little
10625
10626 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10627
10628         * check/gstcheck.h:
10629           add macros for checking refcounts on objects and caps
10630         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
10631           add some more unit tests
10632         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
10633         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
10634           fix leaked refcounts (I hope :)) so unittest works
10635         * gst/gstpad.h:
10636           whitespace removal
10637
10638 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10639
10640         * configure.ac: back to HEAD
10641
10642 === release 0.9.1 ===
10643
10644 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10645
10646         * NEWS:
10647         * RELEASE:
10648           updated
10649
10650 2005-06-17  Andy Wingo  <wingo@pobox.com>
10651
10652         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
10653         assert; it's always possible that the pad gets deactivated in
10654         between the checks in gstpad.c and the implementation. Rely on
10655         finish_preroll() to return a FLUSHING or similar instead of on the
10656         assert.
10657         
10658         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
10659         clock and post an EOS message if we come out of finish_preroll in
10660         the playing state.
10661
10662 2005-06-16  David Schleef  <ds@schleef.org>
10663
10664         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
10665         (gst_capsfilter_set_property): Allow NULL as possible value
10666         for filter_caps property, indicating GST_CAPS_ANY.
10667
10668 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10669
10670         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
10671           fix debug output
10672         * gst/schedulers/Makefile.am:
10673           use libgst prefix
10674         * gstreamer.spec.in:
10675           fix spec for it
10676
10677 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10678
10679         * gstreamer.spec.in:
10680           clean up
10681
10682 2005-06-08  Andy Wingo  <wingo@pobox.com>
10683
10684         * gst/gstutils.c: RPAD fixes all around.
10685         (gst_element_link_pads): Refcounting fixes.
10686
10687         * tools/gst-inspect.c:
10688         * tools/gst-xmlinspect.c:
10689         * parse/grammar.y:
10690         * gst/base/gsttypefindhelper.c:
10691         * gst/base/gstbasesink.c:
10692         * gst/gstqueue.c: RPAD fixes.
10693
10694         * gst/gstghostpad.h:
10695         * gst/gstghostpad.c: New ghost pad implementation as full proxy
10696         pads. The tricky thing is they provide both source and sink
10697         interfaces, since they proxy the internal pad for the external
10698         pad, and vice versa. Implement with lower-level ProxyPad objects,
10699         with the interior proxy pad as a child of the exterior ghost pad.
10700         Should write a doc on this.
10701         
10702         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
10703         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
10704         gst_object API.
10705         
10706         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
10707         pads are real pads. No ghost pads in this file. Not documenting
10708         the myriad s/RPAD/PAD/ and REALIZE fixes.
10709         (gst_pad_class_init): Add properties for "direction" and
10710         "template". Both are construct-only, so they can't change during
10711         the life of the pad. Fixes properly deriving from GstPad.
10712         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
10713         derived objects, just set properties when creating the objects via
10714         g_object_new.
10715         (gst_pad_get_parent): Implement as a function, return NULL if the
10716         parent is not an element.
10717         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
10718         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
10719         
10720         * gst/gstobject.c (gst_object_class_init): Make name a construct
10721         property. Don't set it in the object init.
10722
10723         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
10724         with UNKNOWN direction.
10725         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
10726         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
10727         (gst_element_remove_pad): Remove ghost-pad special cases.
10728         (gst_element_pads_activate): Remove rpad cruft.
10729
10730         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
10731         catch the pad's-parent-not-an-element case.
10732
10733         * gst/gst.h: Include gstghostpad.h.
10734
10735         * gst/gst.c (init_post): No more real, ghost pads.
10736
10737         * gst/Makefile.am: Add gstghostpad.[ch].
10738
10739         * check/Makefile.am:
10740         * check/gst/gstbin.c:
10741         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
10742         into a bin creates ghost pads, and that the refcounts are right.
10743         Partly moved from gstbin.c.
10744
10745 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10746
10747         * check/gst-libs/.cvsignore:
10748         * check/gst/.cvsignore:
10749         * check/pipelines/.cvsignore:
10750           ignore more
10751         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
10752         (START_TEST), (cleanup_suite), (main):
10753           add some tests related to cleanup after running pipelines
10754
10755 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10756
10757         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
10758           add a testsuite for GstBuffer
10759
10760 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10761
10762         * gst/gstminiobject.h:
10763           add defines for accessing the refcount
10764
10765 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
10766
10767         * Makefile.am: added support for html unit test coverage reports
10768
10769 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
10770
10771         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
10772           Free existing caps if the capsfilter changes. Add a FIXME about
10773           setting those caps on the pads.
10774
10775         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
10776           Before adding a ghost pad to a parent bin, check that there isn't
10777           already one for the element on the bin. Prevents infinite recursion
10778           when using decodebin in parse pipelines. Andy says he'll rewrite the
10779           way this works anyway, so ignore the hack.
10780
10781 2005-06-02  Andy Wingo  <wingo@pobox.com>
10782
10783         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
10784         file size, pass it on to the type find helper.
10785
10786         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
10787         segment_start and segment_end properly according to the seek
10788         method. Segment_end is still a bit flaky because offset can be
10789         negative for CUR and END cases, but it takes -1 as an "unset"
10790         value.
10791
10792 2005-06-02  Wim Taymans  <wim@fluendo.com>
10793
10794         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
10795         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
10796         (gst_basesink_activate):
10797         * gst/base/gstbasesink.h:
10798         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10799         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10800         (gst_pad_query), (gst_pad_start_task):
10801         * gst/gstpad.h:
10802         * gst/gstqueue.c: (gst_queue_bufferalloc),
10803         (gst_queue_handle_sink_event), (gst_queue_chain):
10804         Bufferalloc: return GstFlowReturn to more accuratly report
10805         why allocation failed.
10806
10807 2005-06-02  Wim Taymans  <wim@fluendo.com>
10808
10809         * gst/gstpipeline.c: (gst_pipeline_send_event):
10810         Take snapshot of state without blocking.
10811
10812 2005-06-02  Wim Taymans  <wim@fluendo.com>
10813
10814         * docs/design/part-TODO.txt:
10815         * docs/design/part-caps.txt:
10816         * docs/design/part-clocks.txt:
10817         * docs/design/part-negotiation.txt:
10818         * docs/design/part-preroll.txt:
10819         Small doc updates 
10820
10821 2005-05-30  Wim Taymans  <wim@fluendo.com>
10822
10823         * gst/elements/gstidentity.c: (gst_identity_event),
10824         (gst_identity_transform), (gst_identity_get_property):
10825         Protect last_message property as it is accessed from
10826         multiple threads.
10827
10828 2005-05-30  Wim Taymans  <wim@fluendo.com>
10829
10830         * gst/gstelement.c: (gst_element_init),
10831         (gst_element_pads_activate), (gst_element_change_state):
10832         Slicker pad activation code.
10833
10834 2005-05-30  Wim Taymans  <wim@fluendo.com>
10835
10836         * gst/Makefile.am:
10837         * gst/gstelement.h:
10838         * gst/gstelementfactory.h:
10839         * gst/gsttypes.h:
10840         Move elementfactory methods to separate .h file.
10841
10842 2005-05-30  Wim Taymans  <wim@fluendo.com>
10843
10844         * docs/design/part-overview.txt:
10845         * gst/gstsystemclock.h:
10846         Small typo fixes, doc updates.
10847
10848 2005-05-30  Wim Taymans  <wim@fluendo.com>
10849
10850         * gst/gst.c: (gst_init_get_popt_table), (init_post),
10851         (init_popt_callback):
10852         Remove cpu-opt flag.
10853
10854 2005-05-30  Wim Taymans  <wim@fluendo.com>
10855
10856         * gst/gstbuffer.c: (gst_subbuffer_finalize),
10857         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
10858         * gst/gstbuffer.h:
10859         Avoid typechecking in places where not needed.
10860         Added accessor for malloc_data.
10861
10862 2005-05-30  Wim Taymans  <wim@fluendo.com>
10863
10864         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
10865         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
10866         (gst_pad_configure_sink), (gst_pad_configure_src),
10867         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
10868         (gst_pad_start_task):
10869         Propagate errors from _set_caps() in configure_src/sink
10870         functions instead of returning TRUE.
10871         FLUSH events can travel up and downstream
10872
10873
10874 2005-05-30  Wim Taymans  <wim@fluendo.com>
10875
10876         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10877         (gst_basesink_activate):
10878         Handle EOS in preroll.
10879
10880 2005-05-30  Wim Taymans  <wim@fluendo.com>
10881
10882         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10883         (gst_queue_loop), (gst_queue_handle_src_event):
10884         Remove old pieces of code
10885         Flushing the queue in an upstream event is a very bad idea.
10886
10887 2005-05-26  Andy Wingo  <wingo@pobox.com>
10888
10889         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
10890         gst_value_set_mini_object so as to add a ref on the object (which
10891         will be removed when the value is unset).
10892
10893         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
10894         arg type in ::handoff.
10895
10896         * gst/gstelement.c (gst_element_change_state): Also deactivate
10897         pads in READY->NULL, just in case the element didn't make it to
10898         PAUSED. Wingo tested, Wim approved.
10899
10900 2005-05-26  Wim Taymans  <wim@fluendo.com>
10901
10902         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10903         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10904         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
10905         A flushing pad cannot be used to alloc_buffer from.
10906
10907 2005-05-26  Wim Taymans  <wim@fluendo.com>
10908
10909         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
10910         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
10911         (gst_bus_source_dispatch), (gst_bus_source_finalize),
10912         (gst_bus_create_watch), (gst_bus_add_watch_full):
10913         * gst/gstbus.h:
10914         Implement a real GSource and use g_main_context_wakeup() to
10915         signal new messages instead of the socketpair.
10916
10917 2005-05-25  Wim Taymans  <wim@fluendo.com>
10918
10919         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
10920         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
10921         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10922         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10923         (gst_pad_send_event), (gst_pad_start_task):
10924         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
10925         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
10926         (gst_queue_sink_activate), (gst_queue_src_activate),
10927         (gst_queue_change_state):
10928         * gst/gstqueue.h:
10929         Fix state changes for non sinks. We now change sinks, then elements
10930         with unconnected srcpads, then the rest.
10931         More efficient queue unlocking in flush and state changes.
10932         Set the pad activate mode even if it does not have an activate
10933         function.
10934
10935 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10936
10937         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
10938           Don't go in pull mode for non-seekable sources.
10939         * gst/elements/gsttypefindelement.h:
10940         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10941         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
10942         (free_entry), (stop_typefinding),
10943         (gst_type_find_element_handle_event), (find_peek),
10944         (gst_type_find_element_chain), (do_pull_typefind),
10945         (gst_type_find_element_change_state):
10946           Allow typefinding (w/o seeking) in push-mode, simplified version
10947           of what was in 0.8.
10948         * gst/gstutils.c: (gst_buffer_join):
10949         * gst/gstutils.h:
10950           gst_buffer_join() from 0.8.
10951
10952 2005-05-25  Wim Taymans  <wim@fluendo.com>
10953
10954         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10955         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10956         (gst_pad_send_event), (gst_pad_start_task):
10957         Disable attempt at mode switching until it is figured out.
10958
10959 2005-05-25  Wim Taymans  <wim@fluendo.com>
10960
10961         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
10962         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10963         (gst_basesink_finish_preroll), (gst_basesink_chain),
10964         (gst_basesink_loop), (gst_basesink_activate),
10965         (gst_basesink_change_state):
10966         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
10967         (gst_basesrc_get_range), (gst_basesrc_loop),
10968         (gst_basesrc_activate):
10969         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10970         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
10971         (gst_real_pad_init), (gst_real_pad_set_property),
10972         (gst_real_pad_get_property), (gst_pad_set_active),
10973         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
10974         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
10975         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
10976         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
10977         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10978         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
10979         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
10980         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10981         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
10982         (gst_pad_stop_task):
10983         * gst/gstpad.h:
10984         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10985         (gst_queue_loop), (gst_queue_src_activate):
10986         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
10987         (gst_task_get_state):
10988         * gst/gsttask.h:
10989         * gst/schedulers/threadscheduler.c:
10990         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
10991         Implement gst_pad_pause/start/stop_task(), take STREAM lock
10992         in task function.
10993         Remove ACTIVE pad flag, use FLUSHING everywhere
10994         Added _pad_chain(), _pad_get_range() to call chain/getrange 
10995         functions.
10996         Add locks around IS_FLUSHING when reading.
10997         Take STREAM lock in chain(), get_range() functions so plugins
10998         don't need to take it anymore.
10999         
11000
11001
11002 2005-05-25  Wim Taymans  <wim@fluendo.com>
11003
11004         * tools/gst-launch.c: (event_loop):
11005         Unref message after using its contents instead of
11006         before.
11007
11008 2005-05-24  Wim Taymans  <wim@fluendo.com>
11009
11010         * docs/design/draft-ghostpads.txt:
11011         * docs/design/draft-push-pull.txt:
11012         * docs/design/draft-query.txt:
11013         * docs/design/part-overview.txt:
11014         Docs updates, added general overview doc.
11015
11016 2005-05-21  David Schleef  <ds@schleef.org>
11017
11018         * docs/gst/tmpl/old/GstBin.sgml:
11019         * docs/gst/tmpl/old/GstBuffer.sgml:
11020         * docs/gst/tmpl/old/GstCaps.sgml:
11021         * docs/gst/tmpl/old/GstClock.sgml:
11022         * docs/gst/tmpl/old/GstCompat.sgml:
11023         * docs/gst/tmpl/old/GstData.sgml:
11024         * docs/gst/tmpl/old/GstElement.sgml:
11025         * docs/gst/tmpl/old/GstEvent.sgml:
11026         * docs/gst/tmpl/old/GstIndex.sgml:
11027         * docs/gst/tmpl/old/GstStructure.sgml:
11028         * docs/gst/tmpl/old/GstTag.sgml:
11029         * docs/gst/tmpl/old/cothreads.sgml:
11030         * docs/gst/tmpl/old/cothreads_compat.sgml:
11031         * docs/gst/tmpl/old/gettext.sgml:
11032         * docs/gst/tmpl/old/gobject2gtk.sgml:
11033         * docs/gst/tmpl/old/grammar.tab.sgml:
11034         * docs/gst/tmpl/old/gst-i18n-app.sgml:
11035         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
11036         * docs/gst/tmpl/old/gst_private.sgml:
11037         * docs/gst/tmpl/old/gstaggregator.sgml:
11038         * docs/gst/tmpl/old/gstarch.sgml:
11039         * docs/gst/tmpl/old/gstatomic_impl.sgml:
11040         * docs/gst/tmpl/old/gstbufferstore.sgml:
11041         * docs/gst/tmpl/old/gstdata_private.sgml:
11042         * docs/gst/tmpl/old/gstdisksink.sgml:
11043         * docs/gst/tmpl/old/gstdisksrc.sgml:
11044         * docs/gst/tmpl/old/gstelementfactory.sgml:
11045         * docs/gst/tmpl/old/gstextratypes.sgml:
11046         * docs/gst/tmpl/old/gstfakesink.sgml:
11047         * docs/gst/tmpl/old/gstfakesrc.sgml:
11048         * docs/gst/tmpl/old/gstfdsink.sgml:
11049         * docs/gst/tmpl/old/gstfdsrc.sgml:
11050         * docs/gst/tmpl/old/gstfilesink.sgml:
11051         * docs/gst/tmpl/old/gstfilesrc.sgml:
11052         * docs/gst/tmpl/old/gsthttpsrc.sgml:
11053         * docs/gst/tmpl/old/gstidentity.sgml:
11054         * docs/gst/tmpl/old/gstindexfactory.sgml:
11055         * docs/gst/tmpl/old/gstmarshal.sgml:
11056         * docs/gst/tmpl/old/gstmd5sink.sgml:
11057         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
11058         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
11059         * docs/gst/tmpl/old/gstpadtemplate.sgml:
11060         * docs/gst/tmpl/old/gstpipefilter.sgml:
11061         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
11062         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
11063         * docs/gst/tmpl/old/gstshaper.sgml:
11064         * docs/gst/tmpl/old/gstspider.sgml:
11065         * docs/gst/tmpl/old/gstspideridentity.sgml:
11066         * docs/gst/tmpl/old/gststatistics.sgml:
11067         * docs/gst/tmpl/old/gsttee.sgml:
11068         * docs/gst/tmpl/old/gsttimecache.sgml:
11069         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
11070         * docs/gst/tmpl/old/gstxmlregistry.sgml:
11071         * docs/gst/tmpl/old/gthread-cothreads.sgml:
11072         * docs/gst/tmpl/old/types.sgml:
11073           I didn't intend to add these or check them in.
11074
11075 2005-05-19  David Schleef  <ds@schleef.org>
11076
11077         * configure.ac: Use -no-common everywhere.  In a sane world, it
11078           would be the default in libtool, because without it, you can't
11079           build DLLs on Windows.
11080         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
11081         * docs/gst/gstreamer-sections.txt:
11082         * docs/gst/tmpl/gstcpu.sgml:
11083         * docs/gst/tmpl/gstdata.sgml:
11084         * docs/gst/tmpl/gstthread.sgml:
11085
11086 2005-05-19  David Schleef  <ds@schleef.org>
11087
11088         * gst/gstminiobject.c: (gst_value_set_mini_object),
11089         (gst_value_take_mini_object), (gst_value_get_mini_object):
11090         * gst/gstminiobject.h: Add GValue set/get functions.
11091
11092 2005-05-19  Wim Taymans  <wim@fluendo.com>
11093
11094         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
11095         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
11096         (gst_subbuffer_init), (gst_buffer_is_span_fast):
11097         * gst/gstbuffer.h:
11098         * gst/gstbus.c: (gst_bus_post):
11099         * gst/gstelement.c: (gst_element_get_random_pad):
11100         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
11101         Make subbufer unref the parent in finalize.
11102         some more debugging info.
11103
11104
11105 2005-05-19  Wim Taymans  <wim@fluendo.com>
11106
11107         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11108         (gst_basesink_init), (gst_basesink_finalize),
11109         (gst_basesink_activate), (gst_basesink_change_state):
11110         Don't free preroll queue too early.
11111
11112 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11113
11114         * gst/Makefile.am:
11115         * gst/ROADMAP:
11116           Hi, I'm outdated. Please shoot me.
11117
11118 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11119
11120         * gst/gstpipeline.c: (gst_pipeline_send_event):
11121           Do not access variables after they have been deleted.
11122
11123 2005-05-19  Wim Taymans  <wim@fluendo.com>
11124
11125         * tools/gst-inspect.c: (print_plugin_features):
11126         A plugin feature does unfortunatly not use the
11127         object name yet...
11128
11129 2005-05-18  Wim Taymans  <wim@fluendo.com>
11130
11131         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
11132         Port _span() functions to new subbuffers.
11133
11134 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11135
11136         * gst/gstbin.c: (gst_bin_add_func):
11137           Fix clock settery in bins when adding kids after the clock has
11138           been selected.
11139
11140 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11141
11142         * gst/elements/gstidentity.c: (gst_identity_class_init):
11143           Workaround until signals support GstMiniObject.
11144
11145 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
11146
11147         * gst/gstbuffer.c:
11148         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11149
11150 2005-05-18  Wim Taymans  <wim@fluendo.com>
11151
11152         * gst/base/Makefile.am:
11153         * gst/base/gstadapter.c: (gst_adapter_base_init),
11154         (gst_adapter_class_init), (gst_adapter_init),
11155         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
11156         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
11157         (gst_adapter_flush), (gst_adapter_available),
11158         (gst_adapter_available_fast):
11159         * gst/base/gstadapter.h:
11160         Ported and added adapter to the base classes.
11161
11162 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11163
11164         * gst/gst.c:
11165         * gst/gstmessage.c:
11166           Make sure the class is reffed/unreffed once before threads can be
11167           used.  Fixes #304551.
11168
11169 2005-05-17  Wim Taymans  <wim@fluendo.com>
11170
11171         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11172         (gst_basesink_chain_unlocked), (gst_basesink_activate):
11173         * gst/gstminiobject.c: (gst_mini_object_get_type),
11174         (gst_mini_object_free):
11175         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11176         (gst_pad_push), (gst_pad_push_event):
11177         * gst/gstqueue.c: (gst_queue_change_state):
11178         Don't queue buffers in basesink when we are flushing.
11179         Unref buffer when flushing in basesink.
11180         Flush queue when going to READY
11181         Unref buffer when _push() returns an error.
11182         Don't free MiniObject instance when refcount is incremented
11183         in _finalize() so that we can recover objects.
11184
11185 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11186
11187         * docs/manual/advanced-schedulers.xml:
11188         * docs/manual/appendix-checklist.xml:
11189         * docs/pwg/advanced-clock.xml:
11190         * docs/pwg/advanced-interfaces.xml:
11191         * docs/pwg/advanced-request.xml:
11192         * docs/pwg/advanced-types.xml:
11193         * docs/pwg/intro-preface.xml:
11194         * examples/plugins/example.c: (gst_example_get_type),
11195         (gst_example_class_init), (gst_example_chain),
11196         (gst_example_set_property), (gst_example_get_property),
11197         (gst_example_change_state), (plugin_init):
11198         * examples/plugins/example.h:
11199           small doc fixes
11200
11201 2005-05-17  Wim Taymans  <wim@fluendo.com>
11202
11203         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11204         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11205         * gst/gstqueue.c: (gst_queue_change_state):
11206         Clear queue when going to READY.
11207         Remove IN_SETCAPS flag too.
11208
11209 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
11210
11211         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11212           Remove implicit cast from gboolean to GstElementStateReturn;
11213           make sure we still return failure in paused => ready case if
11214           the parent class fails to change state and our own stop 
11215           vfunc succeeds.
11216
11217 2005-05-17  Wim Taymans  <wim@fluendo.com>
11218
11219         * tools/gst-launch.c: (event_loop):
11220         Message was unreffed too soon.
11221
11222 2005-05-16  Andy Wingo  <wingo@pobox.com>
11223
11224         * gst/gstbin.c (sink_iterator_filter): Err... um...
11225
11226         * check/gst/gstbin.c (test_ghost_pads): New test for the
11227         ghosting-if-elements-not-in-same-bin behavior.
11228
11229 2005-05-16  David Schleef  <ds@schleef.org>
11230
11231         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11232         accessing refcount directly.
11233
11234 2005-05-15  David Schleef  <ds@schleef.org>
11235
11236         * check/Makefile.am: remove GstData checks
11237         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11238         * gst/Makefile.am: add miniobject, remove data
11239         * gst/gst.h: add miniobject, remove data
11240         * gst/gstdata.c: remove
11241         * gst/gstdata.h: remove
11242         * gst/gstdata_private.h: remove
11243         * gst/gsttypes.h: remove GstEvent and GstMessage
11244         * gst/gstelement.c: (gst_element_post_message): fix for API changes
11245         * gst/gstmarshal.list: change BOXED -> OBJECT
11246
11247         Implement GstMiniObject.
11248         * gst/gstminiobject.c:
11249         * gst/gstminiobject.h:
11250
11251         Modify to be subclasses of GstMiniObject.
11252         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11253         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11254         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11255         (gst_subbuffer_get_type), (gst_subbuffer_init),
11256         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11257         (gst_buffer_span):
11258         * gst/gstbuffer.h:
11259         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11260         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11261         (_gst_event_copy), (gst_event_new):
11262         * gst/gstevent.h:
11263         * gst/gstmessage.c: (_gst_message_initialize),
11264         (gst_message_get_type), (gst_message_class_init),
11265         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11266         (gst_message_new), (gst_message_new_error),
11267         (gst_message_new_warning), (gst_message_new_tag),
11268         (gst_message_new_state_changed), (gst_message_new_application):
11269         * gst/gstmessage.h:
11270         * gst/gstprobe.c: (gst_probe_perform),
11271         (gst_probe_dispatcher_dispatch):
11272         * gst/gstprobe.h:
11273         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11274         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11275         (_gst_query_copy), (gst_query_new):
11276
11277         Update elements for GstData -> GstMiniObject changes
11278         * gst/gstquery.h:
11279         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11280         (gst_queue_chain), (gst_queue_loop):
11281         * gst/elements/gstbufferstore.c:
11282         (gst_buffer_store_add_buffer_func),
11283         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11284         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11285         (gst_fakesink_render):
11286         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11287         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11288         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11289         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11290         (gst_filesrc_create_read):
11291         * gst/elements/gstidentity.c: (gst_identity_class_init):
11292         * gst/elements/gsttypefindelement.c:
11293         (gst_type_find_element_src_event), (free_entry_buffers),
11294         (gst_type_find_element_handle_event):
11295         * libs/gst/dataprotocol/dataprotocol.c:
11296         (gst_dp_header_from_buffer):
11297         * libs/gst/dataprotocol/dataprotocol.h:
11298         * libs/gst/dataprotocol/dp-private.h:
11299
11300 2005-05-15  David Schleef  <ds@schleef.org>
11301
11302         * gst/elements/gstelements.c: Don't include headers that were
11303         just removed.
11304
11305 2005-05-15  David Schleef  <ds@schleef.org>
11306
11307         * gst/elements/Makefile.am: Remove some elements that don't
11308         need to be in the core (or even exist at all).
11309         * gst/elements/gstaggregator.c:
11310         * gst/elements/gstaggregator.h:
11311         * gst/elements/gstmd5sink.c:
11312         * gst/elements/gstmd5sink.h:
11313         * gst/elements/gstmultifilesrc.c:
11314         * gst/elements/gstmultifilesrc.h:
11315         * gst/elements/gstpipefilter.c:
11316         * gst/elements/gstpipefilter.h:
11317         * gst/elements/gstshaper.c:
11318         * gst/elements/gstshaper.h:
11319         * gst/elements/gststatistics.c:
11320         * gst/elements/gststatistics.h:
11321         * po/POTFILES.in: Remove above files.
11322
11323 2005-05-14  Andy Wingo  <wingo@pobox.com>
11324
11325         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11326         so as to get the refs right.
11327         (sink_iterator_filter): New function, wraps bin_element_is_sink,
11328         unreffing objects that don't pass the filter.
11329
11330         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11331         gst_element_set_bus.
11332         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11333         normal cases, this will destroy the bus.
11334
11335         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11336         object.
11337
11338         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11339         has no sinks.
11340
11341 2005-05-13  Andy Wingo  <wingo@pobox.com>
11342
11343         * gst/gstutils.c (gst_element_link_pads): Instead of calling
11344         gst_pad_link, call pad_link_maybe_ghosting,
11345         (pad_link_maybe_ghosting): Links pads, making sure that the
11346         elements being linked are in the same bin.
11347         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11348         Helpers for pad_link_maybe_ghosting.
11349
11350 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11351
11352         * configure.ac:
11353           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11354
11355 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11356
11357         * docs/design/part-element-source.txt:
11358           Mention GstPushSrc
11359
11360 2005-05-12  Wim Taymans  <wim@fluendo.com>
11361
11362         * gst/base/gstbasesink.c: (gst_basesink_init),
11363         (gst_basesink_activate):
11364         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11365         (gst_basesrc_is_seekable):
11366         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11367         (bin_element_is_sink), (gst_bin_change_state):
11368         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11369         * gst/gstelement.h:
11370         Identify sinks by their flag to avoid overly complicated
11371         checks (fow now).
11372         Do state changes even for elements not reachable from the
11373         sinks.
11374         BaseSink is a sink now :)
11375         Some more debugging info in the basesrc.
11376
11377
11378 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11379
11380         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
11381           Implement _query on a bin, similar to _send_event.
11382
11383 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
11384
11385         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
11386           Discont event offset format should be GST_FORMAT_BYTES,
11387           not GST_FORMAT_TIME.
11388
11389 2005-05-12  Wim Taymans  <wim@fluendo.com>
11390
11391         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
11392         Same fix as Ronald's but without the signal. 
11393
11394 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11395
11396         * gst/gstutils.c: (gst_element_query_position):
11397           No, an element is not a pad.
11398
11399 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11400
11401         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
11402         (gst_bin_get_state):
11403           If a child is removed from a bin while we remove the child from
11404           the bin and while we're retrieving its state, signal this to the
11405           get_state function so we abort the wait (instead of waiting for
11406           a timeout) and can immediately re-iterate over all other elements.
11407
11408 2005-05-12  Wim Taymans  <wim@fluendo.com>
11409
11410         * gst/base/Makefile.am:
11411         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
11412         (gst_basesrc_start):
11413         * gst/base/gstbasesrc.h:
11414         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
11415         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
11416         (gst_pushsrc_init), (gst_pushsrc_create):
11417         * gst/base/gstpushsrc.h:
11418         Added is_seekable to BaseSrc
11419         Added simple PushSrc.
11420
11421 2005-05-11  Wim Taymans  <wim@fluendo.com>
11422
11423         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11424         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11425         (gst_element_link_pads), (gst_element_query_position),
11426         (gst_element_query_convert), (intersect_caps_func),
11427         (gst_pad_query_position), (gst_pad_query_convert):
11428         Fix refcounting in utils function.
11429         No point in trying to activate a pad when it's added, it could
11430         be added from the state change function and then we deadlock, the
11431         element has to decide what to do.
11432
11433 2005-05-10  Andy Wingo  <wingo@pobox.com>
11434
11435         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
11436         *all* the arguments.
11437
11438         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
11439         stream lock if it's a FLUSH_DONE; normal flushes don't get the
11440         lock (according to the docs -- if this is wrong change the docs).
11441
11442         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
11443         flush messages in the NULL state.
11444
11445         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
11446         message immediately and return.
11447         (gst_bus_set_flushing): New function. If a bus is flushing, it
11448         flushes out any queued messages and immediately unrefs new
11449         messages. This is so when an element goes to NULL, all of the
11450         unhandled messages coming from it can be freed, and their
11451         references to the element dropped. In other words: message source
11452         ref considered harmful :P
11453
11454         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
11455         we're finished with it.
11456
11457         * gst/gstmessage.c (gst_message_new_state_changed): 
11458
11459 2005-05-10  Wim Taymans  <wim@fluendo.com>
11460
11461         * gst/gstvalue.c: (gst_value_compare_flags),
11462         (gst_value_serialize_flags), (gst_value_deserialize_flags),
11463         (_gst_value_initialize):
11464         Added flags serialize/deserialize/compare code.
11465
11466 2005-05-09  Andy Wingo  <wingo@pobox.com>
11467
11468         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
11469         Intersect the peer's caps with our caps.
11470
11471 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11472
11473         * gst/base/gsttypefindhelper.c: (helper_find_peek):
11474         * gst/elements/gsttypefindelement.c: (find_peek):
11475           Handle negative offsets better. Fixes decodebin.
11476
11477 2005-05-09  Wim Taymans  <wim@fluendo.com>
11478
11479         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
11480         (gst_base_transform_event):
11481         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
11482         Implement accept_caps.
11483         Fix silly lock/unlock mismatch in base class.
11484
11485 2005-05-09  Wim Taymans  <wim@fluendo.com>
11486
11487         * docs/design/draft-push-pull.txt:
11488         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
11489         * gst/elements/gstfilesink.c: (gst_filesink_init),
11490         (gst_filesink_query):
11491         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11492         (gst_type_find_handle_src_query), (find_element_get_length):
11493         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
11494         * gst/gstelement.h:
11495         * gst/gstmessage.c:
11496         * gst/gstmessage.h:
11497         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
11498         (gst_real_pad_get_caps_unlocked),
11499         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
11500         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11501         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
11502         (gst_real_pad_dispose), (gst_real_pad_finalize),
11503         (gst_pad_load_and_link), (gst_pad_save_thyself),
11504         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
11505         (gst_pad_check_pull_range), (gst_pad_pull_range),
11506         (gst_pad_template_get_type), (gst_pad_template_class_init),
11507         (gst_pad_template_init), (gst_pad_template_dispose),
11508         (name_is_valid), (gst_static_pad_template_get),
11509         (gst_pad_template_new), (gst_static_pad_template_get_caps),
11510         (gst_pad_template_get_caps), (gst_pad_set_element_private),
11511         (gst_pad_get_element_private), (gst_pad_start_task),
11512         (gst_pad_pause_task), (gst_pad_stop_task),
11513         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
11514         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
11515         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
11516         (gst_ghost_pad_new):
11517         * gst/gstpad.h:
11518         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
11519         (gst_query_new_position), (gst_query_set_position),
11520         (gst_query_parse_position), (gst_query_new_convert),
11521         (gst_query_set_convert), (gst_query_parse_convert):
11522         * gst/gstquery.h:
11523         * gst/gstqueryutils.c:
11524         * gst/gstqueryutils.h:
11525         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11526         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11527         (gst_queue_handle_src_query):
11528         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11529         (gst_element_query_position), (gst_element_query_convert),
11530         (intersect_caps_func), (gst_pad_query_position),
11531         (gst_pad_query_convert):
11532         * gst/gstutils.h:
11533         * tools/gst-inspect.c: (print_pad_info):
11534         * tools/gst-xmlinspect.c: (print_element_info):
11535         Remove old query functions. Ported old code.
11536         Added position/convert helper functions to gstutils.
11537         Reordered gstpad.c code, grouping relevant things.
11538         Remove gst_message_new(), always need to speficy a specific
11539         message.
11540
11541
11542 2005-05-09  Andy Wingo  <wingo@pobox.com>
11543
11544         * gst/gstiterator.h: Add some includes.
11545
11546         * gst/gstqueryutils.h: Include more headers.
11547
11548         * gst/gstpad.h:
11549         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
11550         some uses of gst_pad_query.
11551
11552         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
11553         NULL out parameters.
11554         (gst_query_new_position): New proc, allocates a new position
11555         query.
11556
11557         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
11558         gstqueryutils.c to the build.
11559
11560         * gst/gststructure.c (gst_structure_set_valist): Implement with
11561         the generic G_VALUE_COLLECT.
11562         
11563 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
11564
11565         * gst/Makefile.am: (gst_headers):
11566         Added gstqueryutils.h to the list of headers to install, that was
11567         a 'nachty' move wingo :)
11568
11569 2005-05-06  Andy Wingo  <wingo@pobox.com>
11570
11571         * gst/gstquery.h
11572         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
11573         GstData, init a memchunk.
11574         (standard_definitions): Add a few query types, deprecate a few.
11575         (gst_query_get_type): New proc.
11576         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
11577         implementation.
11578         (gst_query_new_application, gst_query_get_structure): New public
11579         procs.
11580
11581         * docs/design/draft-query.txt: Removed LINKS from the query types,
11582         because all the rest can be dispatched to other pads -- seemed
11583         ugly to have a query that couldn't be dispatched. internal_links
11584         is fine as a pad method.
11585
11586         * gst/gstpad.h: Add query2 as a pad method, add the new functions
11587         in gstpad.c, but maintain binary compatibility for the moment.
11588         Will fix before 0.9 is out.
11589
11590         * gst/gstqueryutils.c: 
11591         * gst/gstqueryutils.h: New files, implement 3 methods for each
11592         query type: parse_query, parse_response, and set. Probably need an
11593         allocator as well.
11594
11595         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
11596
11597         * gst/elements/gstfilesink.c (gst_filesink_query2):
11598         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
11599         query_types, and formats methods.
11600
11601         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
11602         (gst_pad_set_query2_function): New functions.
11603         (gst_real_pad_init): Set query2_default as the default query2
11604         function. Basically just dispatches to internally linked pads.
11605
11606         Needs review!
11607         
11608         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
11609         without using the atomic operations. Only one thread can possibly
11610         be accessing the data at this point. Changed so as to avoid
11611         gst_atomic operations.
11612
11613 2005-05-06  Wim Taymans  <wim@fluendo.com>
11614
11615         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
11616         Also set caps if we use the fallback buffer alloc.
11617
11618 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
11619
11620         * docs/gst/Makefile.am:
11621         * docs/gst/gstreamer-docs.sgml:
11622         * docs/gst/gstreamer-sections.txt:
11623         * docs/gst/tmpl/gstatomic.sgml:
11624         * docs/gst/tmpl/gstmemchunk.sgml:
11625         * testsuite/elements/struct_i386.h:
11626         * win32/GStreamer.vcproj:
11627         * win32/Makefile:
11628           Purge GstAtomic stuff from docs and win32 makefiles as well
11629
11630 2005-05-06  Wim Taymans  <wim@fluendo.com>
11631
11632         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
11633         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
11634         * gst/gstpad.c: (gst_pad_peer_get_caps):
11635         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11636         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11637         (gst_queue_src_activate), (gst_queue_change_state):
11638         * gst/gstqueue.h:
11639         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11640         (intersect_caps_func):
11641         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
11642         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
11643         Some fixes for the peer_get_caps() change.
11644
11645 2005-05-06  Wim Taymans  <wim@fluendo.com>
11646
11647         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11648         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
11649         (gst_basesink_activate):
11650         Actually do something with error codes returned from the push
11651         functions.
11652
11653 2005-05-06  Wim Taymans  <wim@fluendo.com>
11654
11655         * docs/design/part-element-sink.txt:
11656         * docs/design/part-element-source.txt:
11657         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11658         (gst_basesink_event), (gst_basesink_activate):
11659         * gst/base/gstbasesink.h:
11660         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
11661         (gst_basesrc_activate):
11662         * gst/base/gstbasesrc.h:
11663         * gst/gstelement.c: (gst_element_pads_activate):
11664         Some more documentation.
11665         Fixed scheduling decision in _pads_activate().
11666
11667 2005-05-05  Andy Wingo  <wingo@pobox.com>
11668
11669         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
11670         the test suite.
11671
11672 2005-05-05  Wim Taymans  <wim@fluendo.com>
11673
11674         * gst/base/Makefile.am:
11675         * gst/base/gstbasesink.h:
11676         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11677         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
11678         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
11679         (gst_collectpads_class_init), (gst_collectpads_init),
11680         (gst_collectpads_finalize), (gst_collectpads_new),
11681         (gst_collectpads_set_function), (gst_collectpads_add_pad),
11682         (find_pad), (gst_collectpads_remove_pad),
11683         (gst_collectpads_is_active), (gst_collectpads_collect),
11684         (gst_collectpads_collect_range), (gst_collectpads_start),
11685         (gst_collectpads_stop), (gst_collectpads_peek),
11686         (gst_collectpads_pop), (gst_collectpads_available),
11687         (gst_collectpads_read), (gst_collectpads_flush),
11688         (gst_collectpads_chain):
11689         * gst/base/gstcollectpads.h:
11690         * gst/elements/Makefile.am:
11691         * gst/elements/gstelements.c:
11692         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11693         (gst_fakesink_get_times), (gst_fakesink_event),
11694         (gst_fakesink_preroll), (gst_fakesink_render):
11695         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
11696         (gst_filesink_init), (gst_filesink_set_location),
11697         (gst_filesink_open_file), (gst_filesink_close_file),
11698         (gst_filesink_pad_query), (gst_filesink_event),
11699         (gst_filesink_render), (gst_filesink_change_state):
11700         * gst/elements/gstfilesink.h:
11701         Added object to help in making collect pad based elements.
11702         Ported filesink.
11703         Make event function in sink baseclass return gboolean.
11704
11705 2005-05-05  Wim Taymans  <wim@fluendo.com>
11706
11707         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
11708         (gst_bin_get_by_name):
11709         * gst/gstbuffer.h:
11710         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
11711         (gst_clock_finalize):
11712         * gst/gstdata.c: (gst_data_replace):
11713         * gst/gstdata.h:
11714         * gst/gstelement.c: (gst_element_request_pad),
11715         (gst_element_pads_activate):
11716         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
11717         (gst_object_unref):
11718         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11719         (gst_pad_set_checkgetrange_function),
11720         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
11721         (gst_pad_check_pull_range), (gst_pad_pull_range),
11722         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11723         (gst_pad_pause_task), (gst_pad_stop_task):
11724         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11725         (gst_element_request_pad), (gst_pad_proxy_getcaps):
11726         Fix name lookup in GstBin.
11727         Added _data_replace() function and _buffer_replace()
11728         Use finalize method to clean up clock.
11729         Fix refcounting on request pads.
11730         Fix pad schedule mode error.
11731         Some more object refcounting debug info,
11732
11733
11734 2005-05-04  Andy Wingo <wingo@pobox.com>
11735
11736         * check/Makefile.am:
11737         * docs/gst/tmpl/gstatomic.sgml:
11738         * docs/gst/tmpl/gstplugin.sgml:
11739         * gst/base/gstbasesink.c: (gst_basesink_activate):
11740         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
11741         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
11742         (gst_basesrc_query), (gst_basesrc_set_property),
11743         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
11744         (gst_basesrc_activate):
11745         * gst/base/gstbasesrc.h:
11746         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
11747         (gst_base_transform_src_activate):
11748         * gst/elements/gstelements.c:
11749         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11750         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11751         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11752         * gst/elements/gsttypefindelement.c: (find_element_get_length),
11753         (gst_type_find_element_checkgetrange),
11754         (gst_type_find_element_activate):
11755         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
11756         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
11757         (gst_caps_load_thyself):
11758         * gst/gstelement.c: (gst_element_pads_activate),
11759         (gst_element_save_thyself), (gst_element_restore_thyself):
11760         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
11761         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
11762         * gst/gstpad.h:
11763         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
11764         (gst_xml_parse_file), (gst_xml_parse_memory),
11765         (gst_xml_get_element), (gst_xml_make_element):
11766         * gst/indexers/gstfileindex.c: (gst_file_index_load),
11767         (_file_index_id_save_xml), (gst_file_index_commit):
11768         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
11769         (read_enum), (load_pad_template), (load_feature), (load_plugin),
11770         (load_paths):
11771         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
11772         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
11773         * tools/gst-complete.c: (main):
11774         * tools/gst-compprep.c: (main):
11775         * tools/gst-inspect.c: (print_element_properties_info):
11776         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
11777         * tools/gst-xmlinspect.c: (print_element_properties):
11778         GCC 4 fixen.
11779         
11780 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11781
11782         * gst/gstplugin.c: (gst_plugin_check_module),
11783         (gst_plugin_check_file), (gst_plugin_load_file):
11784             apply patch from #172526 to make register work on MacOSX
11785
11786 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11787
11788         * docs/gst/tmpl/gstconfig.sgml:
11789         * gst/gstconfig.h.in:
11790           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
11791         * testsuite/debug/printf_extension.c: (main):
11792           Do not use GST_PTR_FORMAT on pointers to types with
11793           sizeof < sizeof(gpointer).  Fixes test on 64-bit
11794         * testsuite/elements/property.h:
11795           use correct printf format
11796
11797 2005-05-02  Wim Taymans  <wim@fluendo.com>
11798
11799         * docs/design/draft-push-pull.txt:
11800         * docs/design/draft-query.txt:
11801         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
11802         (gst_basesrc_start):
11803         Added draft for new query API.
11804         Added draft for better selecting scheduling methods.
11805         Make basesrc ignore length if the subclass does not support
11806         it.
11807
11808 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11809
11810         * gst/Makefile.am:
11811           possible fixes for automake-1.5 - _LIBADD is reserved
11812
11813 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11814
11815         * docs/faq/Makefile.am:
11816         * docs/manual/Makefile.am:
11817         * docs/manuals.mak:
11818         * docs/pwg/Makefile.am:
11819         * gst/Makefile.am:
11820           possible fixes for automake-1.5
11821
11822 2005-04-28  Wim Taymans  <wim@fluendo.com>
11823
11824         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11825         (gst_basesink_pad_getcaps), (gst_basesink_init),
11826         (gst_basesink_do_sync):
11827         * gst/gstclock.c: (gst_clock_entry_new):
11828         * gst/gstevent.c: (gst_event_discont_get_value):
11829         * gst/gstpipeline.c: (pipeline_bus_handler),
11830         (gst_pipeline_change_state):
11831         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
11832         Better debugging of clocking info.
11833         Allow NULL values when getting discont values.
11834
11835 2005-04-27  Wim Taymans  <wim@fluendo.com>
11836
11837         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11838         * check/gst/gstpad.c: (gst_pad_suite):
11839         Increase timeout for checks.
11840
11841 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11842
11843         * check/Makefile.am:
11844           fix the broken rule for cleanup.  Apparently this rule is
11845           only needed on FC2, so maybe this warrants further autotool
11846           inspection.
11847
11848 2005-04-26  Wim Taymans  <wim@fluendo.com>
11849
11850         * gst/gsttrashstack.h:
11851         Ooohh. a nasty one! After having a failed pop() from the stack,
11852         it's possible that the stack is empty. In that case, don't
11853         follow the NULL pointer.
11854
11855 2005-04-25  Wim Taymans  <wim@fluendo.com>
11856
11857         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11858         (gst_pad_set_checkgetrange_function),
11859         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
11860         (gst_pad_check_pull_range), (gst_pad_pull_range),
11861         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11862         (gst_pad_pause_task), (gst_pad_stop_task):
11863         * gst/gstplugin.c: (gst_plugin_load):
11864         * gst/gstplugin.h:
11865         Remove gst_library_load as it does more harm than good with
11866         the new g_module flags.
11867         Revert bogus caps template check in pad linking, pad caps
11868         are important when linking not the template, which is more
11869         general than the current caps.
11870
11871 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11872
11873         * gst/autoplug/.cvsignore:
11874         * gst/autoplug/Makefile.am:
11875         * gst/autoplug/gstsearchfuncs.c:
11876         * gst/autoplug/gstsearchfuncs.h:
11877         * gst/autoplug/gstspider.c:
11878         * gst/autoplug/gstspider.h:
11879         * gst/autoplug/gstspideridentity.c:
11880         * gst/autoplug/gstspideridentity.h:
11881         * gst/autoplug/spidertest.c:
11882           Die, spider, die.
11883
11884 2005-04-25  Wim Taymans  <wim@fluendo.com>
11885
11886         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11887         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11888         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
11889         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
11890         * gst/gstpad.h:
11891         Added stubs for unimplemented functions. 
11892
11893 2005-04-24  David Schleef  <ds@schleef.org>
11894
11895         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
11896         please fix.
11897
11898 2005-04-24  David Schleef  <ds@schleef.org>
11899
11900         Convert everything from GstAtomicInt to g_atomic_int_*, and
11901         remove gstatomic.
11902         * gst/Makefile.am:
11903         * gst/gstatomic.c:
11904         * gst/gstatomic.h:
11905         * gst/gstatomic_impl.h:
11906         * gst/gstbuffer.c:
11907         * gst/gstcaps.c:
11908         * gst/gstcaps.h:
11909         * gst/gstclock.c:
11910         * gst/gstclock.h:
11911         * gst/gstdata.c:
11912         * gst/gstdata.h:
11913         * gst/gstdata_private.h:
11914         * gst/gstevent.c:
11915         * gst/gstinfo.c:
11916         * gst/gstinfo.h:
11917         * gst/gstmessage.c:
11918         * gst/gstobject.c:
11919         * gst/gstobject.h:
11920         * gst/gststructure.c:
11921         * gst/gststructure.h:
11922         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
11923         * gst/gstutils.h:
11924
11925 2005-04-24  David Schleef  <ds@schleef.org>
11926
11927         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
11928         make the regressions tests work.  Remove some code that is no
11929         longer true.
11930         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
11931         Disable warning for pads without templates.
11932
11933 2005-04-24  David Schleef  <ds@schleef.org>
11934
11935         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
11936         functions that handle filtered links.
11937         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
11938         removed functions.
11939         * gst/gstutils.c: Fix/remove utility functions that handle
11940         filtered caps.
11941         * gst/gstutils.h:
11942         * gst/gstvalue.c: Add serialization/deserialization of caps
11943         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
11944         requires fixing so that the filter caps notation creates
11945         a capsfilter element and sets the filter_caps property.  I
11946         think everyone probably wants to keep the shorthand notation.
11947         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
11948         * docs/gst/tmpl/gstpad.sgml:
11949
11950         * gst/elements/gstelements.c: Register capsfilter element.
11951         * gst/Makefile.am: fix spacing
11952         * docs/random/ds/0.9-suggested-changes: random
11953
11954 2005-04-23  David Schleef  <ds@schleef.org>
11955
11956         * gst/elements/Makefile.am:
11957         * gst/elements/gstcapsfilter.c: New element that acts like an
11958         identity, but filters caps.  Will eventually replace filtered
11959         caps in pad linking.
11960         * gst/gstutils.c: (gst_element_create_all_pads): New function
11961         to create all the ALWAYS pads that are registered with an
11962         element class.  This functionality should eventually be
11963         merged in with GstElement initialization.
11964         * gst/gstutils.h:
11965         * testsuite/trigger/README: part of trigger test code that should
11966         have been checked in a long time ago.
11967
11968 2005-04-23  David Schleef  <ds@schleef.org>
11969
11970         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
11971         needed with new versions of libtool (nobody will confirm this),
11972         and hard to carry around.
11973         * gst/autoplug/Makefile.am:
11974         * gst/base/Makefile.am:
11975         * gst/elements/Makefile.am:
11976         * gst/indexers/Makefile.am:
11977         * gst/schedulers/Makefile.am:
11978         * libs/gst/bytestream/Makefile.am:
11979         * libs/gst/control/Makefile.am:
11980         * libs/gst/dataprotocol/Makefile.am:
11981         * libs/gst/getbits/Makefile.am:
11982
11983 2005-04-21  Wim Taymans  <wim@fluendo.com>
11984
11985         * docs/design/draft-push-pull.txt:
11986         * docs/design/part-MT-refcounting.txt:
11987         * docs/design/part-TODO.txt:
11988         * docs/design/part-caps.txt:
11989         * docs/design/part-events.txt:
11990         * docs/design/part-gstbus.txt:
11991         * docs/design/part-gstpipeline.txt:
11992         * docs/design/part-messages.txt:
11993         * docs/design/part-push-pull.txt:
11994         * docs/design/part-query.txt:
11995         Some more docs.
11996
11997 2005-04-21  Wim Taymans  <wim@fluendo.com>
11998
11999         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
12000         (gst_message_new), (gst_message_new_error),
12001         (gst_message_new_warning), (gst_message_new_tag),
12002         (gst_message_new_state_changed), (gst_message_new_application),
12003         (gst_message_get_structure):
12004         * gst/gstmessage.h:
12005         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12006         (gst_structure_copy_conditional):
12007         Use parent refcount in GstMessage to ensure GstStructure
12008         consistency.
12009         Cleaned up headers a bit.
12010         
12011
12012 2005-04-20  Wim Taymans  <wim@fluendo.com>
12013
12014         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12015         (gst_basesink_pad_getcaps), (gst_basesink_init),
12016         (gst_basesink_chain_unlocked):
12017         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
12018         (gst_type_find_helper):
12019         * gst/elements/gsttypefindelement.c:
12020         (gst_type_find_element_have_type), (gst_type_find_element_init),
12021         (stop_typefinding), (gst_type_find_element_handle_event),
12022         (find_suggest), (gst_type_find_element_chain),
12023         (gst_type_find_element_checkgetrange),
12024         (gst_type_find_element_getrange), (do_typefind),
12025         (gst_type_find_element_activate):
12026         * gst/gstbuffer.c: (_gst_buffer_sub_free),
12027         (gst_buffer_default_free), (gst_buffer_default_copy),
12028         (gst_buffer_set_caps):
12029         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
12030         (gst_caps_replace):
12031         * gst/gstmessage.c: (gst_message_new),
12032         (gst_message_new_state_changed):
12033         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12034         (gst_pad_set_checkgetrange_function),
12035         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
12036         (gst_pad_set_caps), (gst_pad_check_pull_range),
12037         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
12038         * gst/gstpad.h:
12039         * gst/gsttypefind.c: (gst_type_find_register):
12040         Make gst_caps_replace() work like other _replace() functions.
12041         Use _caps_replace() where possible.
12042         Make sure _message_new() initialises its field.
12043         Add gst_static_pad_template_get_caps()
12044
12045
12046 2005-04-18  Andy Wingo  <wingo@pobox.com>
12047
12048         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
12049         on the peer, not the pad. I think that was a typo. Pass an extra
12050         arg to see if random access is possible. Activate the pads as
12051         PULL_RANGE if possible.
12052
12053         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
12054
12055         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
12056         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
12057         to PROP_....
12058
12059 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12060
12061         * docs/faq/using.xml:
12062           Add note on gstreamer-properties (#154996).
12063
12064 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12065
12066         * docs/random/bbb/optional-properties:
12067           Some analysis on optional properties.
12068
12069 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12070
12071         * docs/gst/tmpl/gstelementfactory.sgml:
12072         * gst/gstelement.h:
12073         * gst/gstelementfactory.c: (gst_element_factory_init),
12074         (gst_element_factory_cleanup), (gst_element_register),
12075         (__gst_element_factory_add_static_pad_template),
12076         (gst_element_factory_get_static_pad_templates),
12077         (gst_element_factory_can_src_caps),
12078         (gst_element_factory_can_sink_caps):
12079         * gst/registries/Makefile.am:
12080         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
12081         (gst_xml_registry_class_init), (gst_xml_registry_init),
12082         (gst_xml_registry_new), (gst_xml_registry_set_property),
12083         (gst_xml_registry_get_property), (get_time), (make_dir),
12084         (gst_xml_registry_get_perms_func),
12085         (plugin_times_older_than_recurse), (plugin_times_older_than),
12086         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
12087         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
12088         (add_to_char_array), (read_string), (read_uint), (read_enum),
12089         (load_pad_template), (load_feature), (load_plugin), (load_paths),
12090         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
12091         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
12092         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
12093         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
12094         (gst_xml_registry_rebuild):
12095         * gst/registries/gstlibxmlregistry.h:
12096         * tools/gst-compprep.c: (main):
12097         * tools/gst-inspect.c: (print_pad_templates_info):
12098         * tools/gst-xmlinspect.c: (print_element_info):
12099           Use libxml2 for registry parsing, use staticpadtemplates in
12100           elementfactories. Makes gst_init() +/- 10x faster.
12101
12102 2005-04-12  Wim Taymans  <wim@fluendo.com>
12103
12104         * gst/base/Makefile.am:
12105         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12106         (gst_basesink_pad_getcaps), (gst_basesink_init),
12107         (gst_basesink_event), (gst_basesink_change_state):
12108         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12109         (gst_basesrc_init), (gst_basesrc_query),
12110         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12111         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12112         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12113         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12114         (gst_basesrc_stop), (gst_basesrc_activate),
12115         (gst_basesrc_change_state):
12116         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12117         (helper_find_suggest), (gst_type_find_helper):
12118         * gst/base/gsttypefindhelper.h:
12119         * gst/elements/Makefile.am:
12120         * gst/elements/gstelements.c:
12121         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12122         (gst_fakesink_get_times), (gst_fakesink_event),
12123         (gst_fakesink_preroll), (gst_fakesink_render):
12124         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12125         (gst_fakesrc_init), (gst_fakesrc_event_handler),
12126         (gst_fakesrc_get_property), (gst_fakesrc_create),
12127         (gst_fakesrc_start), (gst_fakesrc_stop):
12128         * gst/elements/gstfakesrc.h:
12129         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
12130         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12131         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12132         (gst_filesrc_create_read), (gst_filesrc_create),
12133         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
12134         (gst_filesrc_start):
12135         * gst/elements/gsttypefindelement.c:
12136         (gst_type_find_element_have_type), (gst_type_find_element_init),
12137         (start_typefinding), (stop_typefinding), (push_buffer_store),
12138         (gst_type_find_element_handle_event),
12139         (gst_type_find_element_chain),
12140         (gst_type_find_element_checkgetrange),
12141         (gst_type_find_element_getrange), (do_typefind),
12142         (gst_type_find_element_activate),
12143         (gst_type_find_element_change_state):
12144         * gst/elements/gsttypefindelement.h:
12145         * gst/gstpipeline.c: (pipeline_bus_handler):
12146         Added typefind helper.
12147         Small preroll fix in the base sink.
12148         Disable typefind code in basesrc.
12149         Crude port of typefindelement.
12150         Fakesrc cleanups.
12151
12152
12153 2005-04-11  Wim Taymans  <wim@fluendo.com>
12154
12155         * check/gst/gstbus.c: (gstbus_suite):
12156         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
12157         * check/gstcheck.h:
12158           Fix up the timeout so that the test does not fail.
12159
12160 2005-04-06  Wim Taymans  <wim@fluendo.com>
12161
12162         * gst/base/README:
12163         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12164         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
12165         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12166         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12167         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12168         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12169         (gst_basesrc_stop), (gst_basesrc_activate),
12170         (gst_basesrc_change_state), (basesrc_find_peek),
12171         (basesrc_find_suggest), (gst_basesrc_type_find):
12172         * gst/base/gstbasesrc.h:
12173         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12174         (gst_filesrc_class_init), (gst_filesrc_init),
12175         (gst_filesrc_finalize), (gst_filesrc_set_location),
12176         (gst_filesrc_set_property), (gst_filesrc_get_property),
12177         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12178         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12179         (gst_filesrc_create_read), (gst_filesrc_create),
12180         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12181         * gst/elements/gstfilesrc.h:
12182         * gst/gstelement.c: (gst_element_get_state_func),
12183         (gst_element_lost_state), (gst_element_pads_activate):
12184         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12185         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12186         (gst_pad_pull_range):
12187         * gst/gstpad.h:
12188         More work on the generic source base class, implement seeking,
12189         query.
12190         Make filesrc extend the base source class.
12191         Added gst_pad_set_checkgetrange_function to GstPad.
12192
12193 2005-04-06  Andy Wingo  <wingo@pobox.com>
12194
12195         * pkgconfig/gstreamer-base.pc.in:
12196         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12197
12198         * pkgconfig/Makefile.am:
12199         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12200
12201 2005-04-04  Wim Taymans  <wim@fluendo.com>
12202
12203         * gst/base/Makefile.am:
12204         * gst/base/README:
12205         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12206         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12207         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12208         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12209         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12210         (gst_basesrc_base_init), (gst_basesrc_class_init),
12211         (gst_basesrc_init), (gst_basesrc_get_formats),
12212         (gst_basesrc_get_query_types), (gst_basesrc_query),
12213         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12214         (gst_basesrc_set_property), (gst_basesrc_get_property),
12215         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12216         (gst_basesrc_loop), (gst_basesrc_activate),
12217         (gst_basesrc_change_state):
12218         * gst/base/gstbasesrc.h:
12219         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12220         (gst_fakesrc_class_init), (gst_fakesrc_init),
12221         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12222         (gst_fakesrc_get_property), (gst_fakesrc_create):
12223         * gst/elements/gstfakesrc.h:
12224         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12225         (gst_filesrc_open_file), (gst_filesrc_loop),
12226         (gst_filesrc_activate), (filesrc_find_peek),
12227         (gst_filesrc_type_find):
12228         Made base source class, make fakesrc extend it.
12229         Add comments to basesink class.
12230         Some filesrc cleanup.
12231
12232 2005-03-31  David Schleef  <ds@schleef.org>
12233
12234         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12235         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12236         expected to link against libgstreamer.
12237         * gst/base/Makefile.am: link against libgstreamer
12238         * gst/elements/Makefile.am: same
12239
12240 2005-03-31  Andy Wingo  <wingo@pobox.com>
12241
12242         * tests/instantiate/Makefile.am:
12243         * tests/instantiate/caps.c: Add test to test speed of caps copy
12244         and free.
12245
12246         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12247         GMemChunk to be fair.
12248
12249         * gst/gsttrashstack.h: Remove warning about using the fallback
12250         trash stack implementation, it's still faster than malloc.
12251
12252 2005-03-30  Andy Wingo  <wingo@pobox.com>
12253
12254         * tests/complexity.c: Add a copyright.
12255
12256 2005-03-31  Wim Taymans  <wim@fluendo.com>
12257
12258         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12259         (gst_base_transform_class_init), (gst_base_transform_init),
12260         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12261         (gst_base_transform_get_property),
12262         (gst_base_transform_sink_activate),
12263         (gst_base_transform_src_activate),
12264         (gst_base_transform_change_state):
12265         * gst/base/gstbasetransform.h:
12266         * gst/elements/gstidentity.c: (gst_identity_class_init),
12267         (gst_identity_event), (gst_identity_check_perfect),
12268         (gst_identity_transform), (gst_identity_start),
12269         (gst_identity_stop):
12270         Added start/stop methods to transform base class so subclasses 
12271         don't need to deal with state changes even.
12272
12273 2005-03-31  Wim Taymans  <wim@fluendo.com>
12274
12275         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12276         (gst_event_new_discontinuous), (gst_event_discont_get_value):
12277         * gst/gstevent.h:
12278         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12279         (gst_pad_pull_range):
12280         Added rate to the discont event to prepare for variable speed
12281         and reverse playback.
12282
12283 2005-03-29  David Schleef  <ds@schleef.org>
12284
12285         * configure.ac:
12286         * testsuite/trigger/Makefile.am:
12287         * testsuite/trigger/trigger.c: A little example program to show
12288         how trigger-based elements can work.
12289
12290 2005-03-29  Wim Taymans  <wim@fluendo.com>
12291
12292         * gst/base/Makefile.am:
12293         * gst/base/README:
12294         * gst/base/gstbasesink.c: (gst_basesink_get_type),
12295         (gst_basesink_base_init), (gst_basesink_class_init),
12296         (gst_basesink_pad_getcaps), (gst_basesink_init),
12297         (gst_basesink_activate), (gst_basesink_change_state):
12298         * gst/base/gstbasesink.h:
12299         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12300         (gst_base_transform_base_init), (gst_base_transform_finalize),
12301         (gst_base_transform_class_init), (gst_base_transform_init),
12302         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12303         (gst_base_transform_event), (gst_base_transform_getrange),
12304         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12305         (gst_base_transform_set_property),
12306         (gst_base_transform_get_property),
12307         (gst_base_transform_sink_activate),
12308         (gst_base_transform_src_activate),
12309         (gst_base_transform_change_state):
12310         * gst/base/gstbasetransform.h:
12311         * gst/elements/gstidentity.c: (gst_identity_finalize),
12312         (gst_identity_class_init), (gst_identity_init),
12313         (gst_identity_event), (gst_identity_check_perfect),
12314         (gst_identity_transform), (gst_identity_set_property),
12315         (gst_identity_get_property), (gst_identity_change_state):
12316         * gst/elements/gstidentity.h:
12317         * gst/gstelement.c: (gst_element_get_state_func),
12318         (gst_element_lost_state), (gst_element_pads_activate):
12319         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12320         (gst_pad_check_pull_range), (gst_pad_pull_range):
12321         * gst/gstpad.h:
12322         Simplify pad activation.
12323         Added function to check if pull_range can be performed.
12324         Error out when pulling inactive or flushing pads.
12325         Removed const from refcounted types as it does not make sense.
12326         Simplify pad templates in basesink
12327         Added base class for simple 1-to-1 transforms.
12328         Make identity subclass the base transform.
12329
12330 2005-03-29  Andy Wingo  <wingo@pobox.com>
12331
12332         * docs/libs/gstreamer-libs-overrides.txt: 
12333         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12334         really don't understand what's going on, but like whatever. I want
12335         green buildbot!
12336
12337         * docs/gst/Makefile.am:
12338         * docs/libs/Makefile.am: Dist the overrides files.
12339
12340         * check/Makefile.am (clean-local): Remove .libs directories.
12341
12342         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12343         elements to EXTRA_DIST, so po/ files are happy.
12344
12345         * po/POTFILES.in: Er, remove it here.
12346
12347         * po/POTFILES: Remove gstspider.c.
12348
12349         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12350
12351         * docs/libs/gstreamer-libs-docs.sgml: 
12352         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12353         bytestream.
12354
12355         * tests/complexity.c (main): Set the length of the preroll queue
12356         on the sinks to prevent a lockup.
12357
12358         * libs/gst/dataprotocol/Makefile.am: 
12359         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12360         the same as the one in check/gst-libs/gdp.c.
12361
12362         * po/, docs/gst/: Commit automatic changes to docs and po files.
12363
12364         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12365         the versioned libgstbase.
12366
12367         * check/Makefile.am: Depend on an unversioned gst-register, seems
12368         to make autoconf happier.
12369
12370         * gst/base/Makefile.am: Make libgstbase a versioned lib.
12371
12372 2005-03-28  Wim Taymans  <wim@fluendo.com>
12373
12374         * configure.ac:
12375         * docs/design/part-gstelement.txt:
12376         * docs/design/part-negotiation.txt:
12377         * docs/design/part-preroll.txt:
12378         * docs/design/part-scheduling.txt:
12379         * docs/design/part-states.txt:
12380         * gst/Makefile.am:
12381         * gst/base/Makefile.am:
12382         * gst/base/README:
12383         * gst/base/gstbasesink.c: (gst_basesink_get_template),
12384         (gst_basesink_base_init), (gst_basesink_class_init),
12385         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12386         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12387         (gst_basesink_set_pad_functions),
12388         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
12389         (gst_basesink_set_property), (gst_basesink_get_property),
12390         (gst_base_sink_get_template), (gst_base_sink_get_caps),
12391         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
12392         (gst_basesink_preroll_queue_push),
12393         (gst_basesink_preroll_queue_empty),
12394         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
12395         (gst_basesink_event), (gst_basesink_get_times),
12396         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
12397         (gst_basesink_chain_unlocked), (gst_basesink_chain),
12398         (gst_basesink_loop), (gst_basesink_activate),
12399         (gst_basesink_change_state):
12400         * gst/base/gstbasesink.h:
12401         * gst/elements/Makefile.am:
12402         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
12403         (gst_fakesink_class_init), (gst_fakesink_init),
12404         (gst_fakesink_set_property), (gst_fakesink_get_property),
12405         (gst_fakesink_get_times), (gst_fakesink_event),
12406         (gst_fakesink_preroll), (gst_fakesink_render),
12407         (gst_fakesink_change_state):
12408         * gst/elements/gstfakesink.h:
12409         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12410         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
12411         * gst/gstelement.c: (gst_element_add_pad),
12412         (gst_element_get_state_func), (gst_element_abort_state),
12413         (gst_element_commit_state), (gst_element_lost_state),
12414         (gst_element_set_state), (gst_element_pads_activate):
12415         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
12416         * gst/gstpipeline.c: (gst_pipeline_send_event),
12417         (gst_pipeline_change_state):
12418         Added state change code.
12419         Added/updated docs.
12420         Added sink base class, make fakesink extend the base class.
12421         Small cleanups in GstPipeline.
12422
12423 2005-03-26  David Schleef  <ds@schleef.org>
12424
12425         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
12426         is broken and should be implemented in a different library.
12427         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
12428         * gst/gst.h: remove gstcpu.h
12429         * gst/gstcpu.c: remove
12430         * gst/gstcpu.h: remove
12431         * gst/Makefile.am.future: Remove this file.  It's ancient.
12432
12433 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12434
12435         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12436         (gst_bin_send_event):
12437           Add default event/set_manager handlers. The set_manager handler
12438           takes care that the manager is distributed over kids that were
12439           already in the bin before the manager was set. The event handler
12440           is a utility virtual function that sends the event over all sinks,
12441           so that gst_element_send_event (bin, event); has the expected
12442           behaviour.
12443         * gst/gstpad.c: (gst_pad_event_default):
12444           Re-install default event handling for discontinuities, so that
12445           seeking works without requiring hacks in applications or extra
12446           code in sinks.
12447         * gst/gstpipeline.c: (gst_pipeline_class_init),
12448         (gst_pipeline_send_event):
12449           Half hack, half utility: set a pipeline to PAUSED for seek events,
12450           since that is the only way we can guarantee a/v sync. Means that
12451           you can do gst_element_seek (pipeline, method, pos); on a pipeline
12452           and it "just works".
12453
12454 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12455
12456         * gst/gstpipeline.c: (gst_pipeline_use_clock):
12457           Lock/unlock mismatch.
12458
12459 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12460
12461         * docs/faq/gst-uninstalled:
12462           add gst-plugins-base
12463         * docs/gst/Makefile.am:
12464           don't error out until docs are fixed
12465         * docs/gst/gstreamer.types:
12466           remove thread
12467
12468 2005-03-22  Wim Taymans  <wim@fluendo.com>
12469
12470         * check/Makefile.am:
12471         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
12472         * gst/gststructure.c: (gst_structure_set_valist),
12473         (gst_structure_copy_conditional):
12474         Activated more tests.
12475         Added message test.
12476         Added G_TYPE_POINTER to GstStructure.
12477         
12478
12479 2005-03-22  Wim Taymans  <wim@fluendo.com>
12480
12481         * docs/design/part-TODO.txt:
12482         * docs/design/part-events.txt:
12483         * docs/design/part-gstbin.txt:
12484         * docs/design/part-gstbus.txt:
12485         * docs/design/part-gstpipeline.txt:
12486         * docs/design/part-messages.txt:
12487         * gst/gstbus.c:
12488         * gst/gstmessage.c:
12489         Docs updates
12490
12491 2005-03-21  Wim Taymans  <wim@fluendo.com>
12492
12493         * gst/gstbus.c: (gst_bus_post):
12494         Fix copy-and-paste error.
12495
12496 2005-03-21  Wim Taymans  <wim@fluendo.com>
12497
12498         * check/Makefile.am:
12499         * gst/Makefile.am:
12500         * gst/elements/Makefile.am:
12501         * gst/elements/gstelements.c:
12502         * gst/elements/gstfakesink.c: (gst_fakesink_init),
12503         (gst_fakesink_event), (gst_fakesink_chain):
12504         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12505         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
12506         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
12507         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
12508         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
12509         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
12510         (gst_fakesrc_loop), (gst_fakesrc_activate),
12511         (gst_fakesrc_change_state):
12512         * gst/elements/gstfakesrc.h:
12513         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12514         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
12515         (gst_filesrc_open_file), (gst_filesrc_loop),
12516         (gst_filesrc_activate), (gst_filesrc_change_state),
12517         (filesrc_find_peek), (filesrc_find_suggest),
12518         (gst_filesrc_type_find):
12519         * gst/elements/gstidentity.c: (gst_identity_finalize),
12520         (gst_identity_class_init), (gst_identity_init),
12521         (gst_identity_proxy_getcaps), (identity_queue_push),
12522         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
12523         (gst_identity_getrange), (gst_identity_chain),
12524         (gst_identity_sink_loop), (gst_identity_src_loop),
12525         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
12526         (gst_identity_set_property), (gst_identity_get_property),
12527         (gst_identity_change_state):
12528         * gst/elements/gstidentity.h:
12529         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
12530         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
12531         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
12532         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
12533         (gst_tee_sink_activate):
12534         * gst/elements/gsttee.h:
12535         * gst/gst.c: (gst_register_core_elements), (init_post):
12536         * gst/gst.h:
12537         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
12538         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
12539         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
12540         (gst_bin_change_state):
12541         * gst/gstbin.h:
12542         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
12543         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
12544         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
12545         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
12546         (gst_bus_set_sync_handler), (gst_bus_create_watch),
12547         (bus_watch_callback), (bus_watch_destroy),
12548         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
12549         (poll_timeout), (gst_bus_poll):
12550         * gst/gstbus.h:
12551         * gst/gstcaps.h:
12552         * gst/gstdata.h:
12553         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12554         (gst_element_post_message), (gst_element_message_full),
12555         (gst_element_get_state_func), (gst_element_get_state),
12556         (gst_element_abort_state), (gst_element_commit_state),
12557         (gst_element_lost_state), (gst_element_set_state),
12558         (gst_element_pads_activate), (gst_element_change_state),
12559         (gst_element_dispose), (gst_element_set_manager_func),
12560         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
12561         (gst_element_set_manager), (gst_element_get_manager),
12562         (gst_element_set_bus), (gst_element_get_bus),
12563         (gst_element_set_scheduler), (gst_element_get_scheduler):
12564         * gst/gstelement.h:
12565         * gst/gstevent.c: (gst_event_new_segment_seek),
12566         (gst_event_new_flush):
12567         * gst/gstevent.h:
12568         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
12569         (_gst_message_free), (gst_message_get_type), (gst_message_new),
12570         (gst_message_new_eos), (gst_message_new_error),
12571         (gst_message_new_warning), (gst_message_new_tag),
12572         (gst_message_new_state_changed), (gst_message_new_application),
12573         (gst_message_get_structure), (gst_message_parse_tag),
12574         (gst_message_parse_state_changed), (gst_message_parse_error),
12575         (gst_message_parse_warning):
12576         * gst/gstmessage.h:
12577         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
12578         (gst_real_pad_set_property), (gst_pad_set_active),
12579         (gst_pad_is_active), (gst_pad_set_blocked_async),
12580         (gst_pad_set_blocked), (gst_pad_is_blocked),
12581         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
12582         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
12583         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
12584         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
12585         (gst_pad_link_filtered), (gst_pad_relink_filtered),
12586         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
12587         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
12588         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
12589         (gst_pad_set_caps), (gst_pad_configure_sink),
12590         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
12591         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
12592         (gst_real_pad_dispose), (gst_real_pad_finalize),
12593         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
12594         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12595         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
12596         * gst/gstpad.h:
12597         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
12598         (pipeline_bus_handler), (gst_pipeline_change_state),
12599         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
12600         * gst/gstpipeline.h:
12601         * gst/gstprobe.h:
12602         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
12603         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
12604         (gst_queue_link_src), (gst_queue_bufferalloc),
12605         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
12606         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
12607         (gst_queue_loop), (gst_queue_handle_src_event),
12608         (gst_queue_handle_src_query), (gst_queue_src_activate),
12609         (gst_queue_change_state):
12610         * gst/gstqueue.h:
12611         * gst/gstscheduler.c: (gst_scheduler_init),
12612         (gst_scheduler_dispose), (gst_scheduler_create_task),
12613         (gst_scheduler_factory_create):
12614         * gst/gstscheduler.h:
12615         * gst/gststructure.c: (gst_structure_get_type),
12616         (gst_structure_copy_conditional):
12617         * gst/gststructure.h:
12618         * gst/gsttaginterface.h:
12619         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
12620         (gst_task_init), (gst_task_dispose), (gst_task_create),
12621         (gst_task_get_state), (gst_task_start), (gst_task_stop),
12622         (gst_task_pause):
12623         * gst/gsttask.h:
12624         * gst/gstthread.c:
12625         * gst/gstthread.h:
12626         * gst/gsttypes.h:
12627         * gst/schedulers/Makefile.am:
12628         * gst/schedulers/cothreads_compat.h:
12629         * gst/schedulers/entryscheduler.c:
12630         * gst/schedulers/faircothreads.c:
12631         * gst/schedulers/faircothreads.h:
12632         * gst/schedulers/fairscheduler.c:
12633         * gst/schedulers/gstbasicscheduler.c:
12634         * gst/schedulers/gstoptimalscheduler.c:
12635         * gst/schedulers/gthread-cothreads.h:
12636         * gst/schedulers/threadscheduler.c:
12637         (gst_thread_scheduler_task_get_type),
12638         (gst_thread_scheduler_task_class_init),
12639         (gst_thread_scheduler_task_init),
12640         (gst_thread_scheduler_task_start),
12641         (gst_thread_scheduler_task_stop),
12642         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
12643         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
12644         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
12645         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
12646         (plugin_init):
12647         * libs/gst/Makefile.am:
12648         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
12649         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
12650         (gst_file_pad_parent_set):
12651         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12652         (gst_dp_event_from_packet):
12653         * tests/complexity.c: (main):
12654         * tests/mass_elements.c: (main):
12655         * testsuite/states/locked.c: (message_received), (main):
12656         * testsuite/states/parent.c: (main):
12657         * tools/gst-inspect.c: (print_element_flag_info),
12658         (print_implementation_info), (print_pad_info):
12659         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
12660         (main):
12661         * tools/gst-md5sum.c: (event_loop), (main):
12662         * tools/gst-typefind.c: (main):
12663         * tools/gst-xmlinspect.c: (print_element_info):
12664         Next big merge.
12665         Added GstBus for mainloop integration.
12666         Added GstMessage for sending notifications on the bus.
12667         Added GstTask as an abstraction for pipeline entry points.
12668         Removed GstThread.
12669         Removed Schedulers.
12670         Simplified GstQueue for multithreaded core.
12671         Made _link threadsafe, removed old capsnego.
12672         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
12673         Added pad blocking functions.
12674         Reworked scheduling functions in GstPad to prepare for
12675         scheduling updates soon.
12676         Moved events out of data stream.
12677         Simplified GstEvent types.
12678         Added return values to push/pull.
12679         Removed clocking from GstElement.
12680         Added prototypes for state change function for next merge.
12681         Removed iterate from bins and state change management.
12682         Fixed some elements, disabled others for now.
12683         Fixed -inspect and -launch.
12684         Added check for GstBus.
12685
12686 2005-03-10  Wim Taymans  <wim@fluendo.com>
12687
12688         * docs/design/part-MT-refcounting.txt:
12689         * docs/design/part-clocks.txt:
12690         * docs/design/part-gstelement.txt:
12691         * docs/design/part-gstobject.txt:
12692         * docs/design/part-standards.txt:
12693         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12694         (gst_bin_remove_func), (gst_bin_remove):
12695         * gst/gstbin.h:
12696         * gst/gstbuffer.c:
12697         * gst/gstcaps.h:
12698         * testsuite/clock/clock1.c: (main):
12699         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
12700         (main):
12701         * testsuite/dlopen/loadgst.c: (do_test):
12702         * testsuite/refcounting/bin.c: (add_remove_test1),
12703         (add_remove_test2), (main):
12704         * testsuite/refcounting/element.c: (main):
12705         * testsuite/refcounting/element_pad.c: (main):
12706         * testsuite/refcounting/pad.c: (main):
12707         * tools/gst-launch.c: (sigint_handler_sighandler):
12708         * tools/gst-typefind.c: (main):
12709         Doc updates.
12710         Added doc about clock.
12711         removed gst_bin_iterate_recurse_up(), marked methods
12712         for removal.
12713         Fix more testsuites.
12714
12715 2005-03-09  Wim Taymans  <wim@fluendo.com>
12716
12717         * gst/gstpad.c: (gst_pad_get_direction),
12718         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
12719         (gst_pad_collect_valist):
12720         * testsuite/bins/interface.c: (main):
12721         * testsuite/caps/audioscale.c: (test_caps):
12722         * testsuite/caps/caps.c: (test1), (test2), (test3):
12723         * testsuite/caps/deserialize.c: (main):
12724         * testsuite/caps/enumcaps.c: (main):
12725         * testsuite/caps/filtercaps.c: (main):
12726         * testsuite/caps/intersect2.c: (main):
12727         * testsuite/caps/random.c: (main):
12728         * testsuite/caps/renegotiate.c: (my_fixate), (main):
12729         * testsuite/caps/sets.c: (check_caps):
12730         * testsuite/caps/simplify.c: (check_caps), (main):
12731         * testsuite/caps/subtract.c: (check_caps):
12732         Fix _pad_get_direction wrt ghostpads.
12733         Fix caps testsuite.
12734
12735 2005-03-09  Wim Taymans  <wim@fluendo.com>
12736
12737         * check/Makefile.am:
12738         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
12739         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
12740         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
12741         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
12742         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
12743         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
12744         (gst_bin_remove), (gst_bin_iterate_recurse_up),
12745         (bin_element_is_sink), (gst_bin_iterate_sinks),
12746         (gst_bin_iterate_all_by_interface):
12747         * gst/gstbin.h:
12748         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
12749         (gst_element_change_state), (gst_element_dispose),
12750         (gst_element_finalize), (gst_element_set_loop_function):
12751         * gst/gstelement.h:
12752         * gst/gstiterator.c: (find_custom_fold_func):
12753         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12754         (gst_pad_collectv), (gst_pad_collect_valist),
12755         (gst_pad_template_new):
12756         * gst/gstpipeline.c: (gst_pipeline_class_init),
12757         (gst_pipeline_dispose), (gst_pipeline_set_property),
12758         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
12759         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
12760         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
12761         * gst/gstutils.h:
12762         * gst/schedulers/entryscheduler.c:
12763         * gst/schedulers/gstbasicscheduler.c:
12764         (gst_basic_scheduler_cothreaded_chain),
12765         (gst_basic_scheduler_chain_add_element):
12766         * testsuite/bins/interface.c: (main):
12767         Added GstBin test.
12768         Added GstSystemClock test.
12769         Implemented clock distribution code in GstBin.
12770         Implemented iterate sinks method for future use.
12771         Rearranged gstelement.h
12772         Fix GstIterator comparison bug.
12773         Moved some code to GstPipeline, mostly clocking related.
12774
12775 2005-03-09  Wim Taymans  <wim@fluendo.com>
12776
12777         * configure.ac:
12778         * gst/gst_private.h:
12779         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12780         (gst_bin_remove_func), (gst_bin_remove),
12781         (gst_bin_get_by_name_recurse_up):
12782         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
12783         (gst_clock_id_compare_func), (gst_clock_id_wait),
12784         (gst_clock_id_wait_async), (gst_clock_init),
12785         (gst_clock_adjust_unlocked), (gst_clock_get_time):
12786         * gst/gstelement.h:
12787         * gst/gstinfo.c: (_gst_debug_init):
12788         * gst/gstobject.h:
12789         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12790         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
12791         * gst/gstpad.h:
12792         Bump version number, we're now 0.9.0
12793         Add future debugging category.
12794         Fix NULL _unref() in _get_by_name_recurse_up
12795         Rearrange gstpad.h.
12796         Update some docs.
12797
12798 2005-03-08  Wim Taymans  <wim@fluendo.com>
12799
12800         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
12801         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
12802         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
12803         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
12804         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
12805         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
12806         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
12807         * gst/elements/gstidentity.c: (gst_identity_class_init):
12808         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
12809         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12810         * gst/elements/gstshaper.c: (gst_shaper_class_init):
12811         * gst/elements/gststatistics.c: (gst_statistics_class_init):
12812         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
12813         (gst_tee_link):
12814         * gst/gstelement.c: (gst_element_class_init),
12815         (gst_element_base_class_init), (gst_element_init),
12816         (gst_element_get_random_pad), (gst_element_wait_state_change),
12817         (gst_element_change_state), (gst_element_dispose),
12818         (gst_element_finalize), (gst_element_set_loop_function):
12819         * gst/gstelement.h:
12820         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
12821         * gst/gstthread.c: (gst_thread_class_init),
12822         (gst_thread_release_children_locks), (gst_thread_change_state):
12823         * gst/schedulers/gstbasicscheduler.c:
12824         (gst_basic_scheduler_loopfunc_wrapper),
12825         (gst_basic_scheduler_chain_wrapper),
12826         (gst_basic_scheduler_src_wrapper),
12827         (gst_basic_scheduler_remove_element):
12828         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
12829         Remove threadsafe properties. Fix elements because GObject
12830         complains when installing a property before declaring a
12831         set/get_property handler.
12832         Rearrange gstelement.h file, use STATE macros for state locks.
12833         Free mutexes in the finalize method instead of dispose.
12834
12835 2005-03-08  Wim Taymans  <wim@fluendo.com>
12836
12837         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12838         * gst/gstthread.c: (gst_thread_release_children_locks):
12839         Added parentage check.
12840         Fix build og GstThread again.
12841
12842 2005-03-08  Wim Taymans  <wim@fluendo.com>
12843
12844         * docs/design/part-MT-refcounting.txt:
12845         * docs/design/part-conventions.txt:
12846         * docs/design/part-gstobject.txt:
12847         * docs/design/part-relations.txt:
12848         * docs/design/part-standards.txt:
12849         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12850         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
12851         (gst_bin_get_by_name), (gst_bin_get_by_interface),
12852         (gst_bin_iterate_all_by_interface):
12853         * gst/gstbuffer.h:
12854         * gst/gstclock.h:
12855         * gst/gstelement.c: (gst_element_class_init),
12856         (gst_element_change_state), (gst_element_set_loop_function):
12857         * gst/gstelement.h:
12858         * gst/gstiterator.c:
12859         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
12860         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
12861         (gst_object_dispatch_properties_changed), (gst_object_set_name),
12862         (gst_object_set_parent), (gst_object_unparent),
12863         (gst_object_check_uniqueness):
12864         * gst/gstobject.h:
12865         Docs updates, clean up some headers.
12866
12867 2005-03-07  Wim Taymans  <wim@fluendo.com>
12868
12869         * check/.cvsignore:
12870         * check/Makefile.am:
12871         * check/gst-libs/.cvsignore:
12872         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
12873         * check/gst/.cvsignore:
12874         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
12875         (START_TEST), (gstbus_suite), (main):
12876         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
12877         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
12878         (gst_data_suite), (main):
12879         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
12880         (add_fold_func), (gstiterator_suite), (main):
12881         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
12882         (thread_name_object), (thread_name_object_default),
12883         (gst_object_name_compare), (gst_object_suite), (main):
12884         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
12885         (gst_pad_suite), (main):
12886         * check/gstcheck.c: (gst_check_log_message_func),
12887         (gst_check_log_critical_func), (gst_check_init):
12888         * check/gstcheck.h:
12889         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
12890         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
12891         Added checks.
12892
12893 2005-03-07  Wim Taymans  <wim@fluendo.com>
12894
12895         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
12896         (gst_list_iterator_next), (gst_list_iterator_resync),
12897         (gst_list_iterator_free), (gst_iterator_new_list),
12898         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
12899         (gst_iterator_free), (gst_iterator_push), (filter_next),
12900         (filter_resync), (filter_uninit), (filter_free),
12901         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
12902         (gst_iterator_foreach), (find_custom_fold_func),
12903         (gst_iterator_find_custom):
12904         * gst/gstiterator.h:
12905         Added missing files.
12906
12907 2005-03-07  Wim Taymans  <wim@fluendo.com>
12908
12909         * Makefile.am:
12910         * configure.ac:
12911         * docs/design/part-MT-refcounting.txt:
12912         * docs/design/part-conventions.txt:
12913         * docs/design/part-gstobject.txt:
12914         * docs/design/part-relations.txt:
12915         * examples/mixer/mixer.c: (main):
12916         * examples/thread/thread.c: (eos), (main):
12917         * gst/Makefile.am:
12918         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
12919         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
12920         (gst_spider_plug_from_srcpad):
12921         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
12922         (gst_spider_identity_change_state),
12923         (gst_spider_identity_sink_loop_type_finding):
12924         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
12925         * gst/elements/gstidentity.c: (gst_identity_init):
12926         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
12927         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
12928         * gst/elements/gsttypefindelement.c: (free_entry):
12929         * gst/gst.c:
12930         * gst/gst.h:
12931         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
12932         (gst_bin_set_clock_func), (gst_bin_auto_clock),
12933         (gst_bin_set_index), (gst_bin_set_element_sched),
12934         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
12935         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
12936         (gst_bin_iterate_elements), (iterate_child_recurse),
12937         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
12938         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
12939         (compare_interface), (gst_bin_get_by_interface),
12940         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
12941         * gst/gstbin.h:
12942         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
12943         (gst_buffer_default_free), (gst_buffer_default_copy),
12944         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
12945         (gst_buffer_create_sub):
12946         * gst/gstbuffer.h:
12947         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
12948         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
12949         (gst_caps_unref), (gst_static_caps_get),
12950         (gst_caps_remove_and_get_structure), (gst_caps_append),
12951         (gst_caps_append_structure), (gst_caps_remove_structure),
12952         (gst_caps_copy_nth), (gst_caps_set_simple),
12953         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
12954         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
12955         (gst_caps_structure_intersect_field), (gst_caps_intersect),
12956         (gst_caps_structure_subtract_field), (gst_caps_subtract),
12957         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
12958         (gst_caps_structure_figure_out_union),
12959         (gst_caps_switch_structures), (gst_caps_do_simplify),
12960         (gst_caps_replace), (gst_caps_from_string),
12961         (gst_caps_copy_conditional):
12962         * gst/gstcaps.h:
12963         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
12964         (_gst_clock_id_free), (gst_clock_id_unref),
12965         (gst_clock_id_compare_func), (gst_clock_id_wait),
12966         (gst_clock_id_wait_async), (gst_clock_class_init),
12967         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
12968         (gst_clock_get_time), (gst_clock_set_time_adjust),
12969         (gst_clock_set_property), (gst_clock_get_property):
12970         * gst/gstclock.h:
12971         * gst/gstcompat.h:
12972         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
12973         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
12974         * gst/gstdata.h:
12975         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12976         (gst_element_requires_clock), (gst_element_provides_clock),
12977         (gst_element_set_clock), (gst_element_clock_wait),
12978         (gst_element_wait), (gst_element_set_time_delay),
12979         (gst_element_is_indexable), (gst_element_add_pad),
12980         (gst_element_add_ghost_pad), (gst_element_remove_pad),
12981         (pad_compare_name), (gst_element_get_static_pad),
12982         (gst_element_request_pad), (gst_element_get_request_pad),
12983         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
12984         (gst_element_class_get_pad_template_list),
12985         (gst_element_class_get_pad_template), (gst_element_error_func),
12986         (gst_element_get_random_pad), (gst_element_get_event_masks),
12987         (gst_element_send_event), (gst_element_seek),
12988         (gst_element_get_query_types), (gst_element_query),
12989         (gst_element_get_formats), (gst_element_convert),
12990         (gst_element_is_locked_state), (gst_element_set_locked_state),
12991         (gst_element_sync_state_with_parent), (gst_element_change_state),
12992         (gst_element_finalize), (gst_element_yield),
12993         (gst_element_interrupt), (gst_element_set_scheduler),
12994         (gst_element_get_scheduler), (gst_element_set_loop_function):
12995         * gst/gstelement.h:
12996         * gst/gstevent.h:
12997         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
12998         (gst_format_get_by_nick), (gst_format_get_details),
12999         (gst_format_iterate_definitions):
13000         * gst/gstformat.h:
13001         * gst/gstindex.c: (gst_index_gtype_resolver):
13002         * gst/gstinfo.c:
13003         * gst/gstinfo.h:
13004         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
13005         (gst_mem_chunk_free):
13006         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
13007         (gst_object_ref), (gst_object_unref), (gst_object_sink),
13008         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
13009         (gst_object_dispatch_properties_changed),
13010         (gst_object_set_name_default), (gst_object_set_name),
13011         (gst_object_get_name), (gst_object_set_name_prefix),
13012         (gst_object_get_name_prefix), (gst_object_set_parent),
13013         (gst_object_get_parent), (gst_object_unparent),
13014         (gst_object_check_uniqueness), (gst_object_save_thyself),
13015         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
13016         (gst_object_set_property), (gst_object_get_property),
13017         (gst_object_get_path_string):
13018         * gst/gstobject.h:
13019         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13020         (gst_real_pad_init), (gst_real_pad_get_property),
13021         (gst_pad_custom_new), (gst_pad_get_direction),
13022         (gst_pad_set_active), (gst_pad_is_active),
13023         (gst_pad_set_event_function), (gst_pad_is_linked),
13024         (gst_pad_link_free), (gst_pad_link_intersect),
13025         (gst_pad_link_fixate), (gst_pad_set_caps),
13026         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
13027         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
13028         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
13029         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
13030         (gst_pad_get_caps), (gst_pad_peer_get_caps),
13031         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
13032         (gst_pad_realize), (gst_pad_get_allowed_caps),
13033         (gst_real_pad_dispose), (gst_real_pad_finalize),
13034         (gst_pad_collectv), (gst_pad_collect_valist),
13035         (gst_pad_template_dispose), (gst_pad_template_new),
13036         (gst_pad_get_internal_links):
13037         * gst/gstpad.h:
13038         * gst/gstpipeline.c: (gst_pipeline_dispose),
13039         (gst_pipeline_change_state):
13040         * gst/gstpipeline.h:
13041         * gst/gstplugin.c:
13042         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
13043         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
13044         * gst/gstpluginfeature.h:
13045         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
13046         * gst/gstquery.c: (_gst_query_type_initialize),
13047         (gst_query_type_register), (gst_query_type_get_by_nick),
13048         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
13049         * gst/gstquery.h:
13050         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
13051         * gst/gstscheduler.c: (gst_scheduler_add_element),
13052         (gst_scheduler_factory_create):
13053         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13054         (gst_structure_free), (gst_structure_set_name),
13055         (gst_structure_id_set_value), (gst_structure_set_value),
13056         (gst_structure_set_valist), (gst_structure_remove_field),
13057         (gst_structure_remove_fields),
13058         (gst_structure_remove_fields_valist),
13059         (gst_structure_remove_all_fields), (gst_structure_foreach),
13060         (gst_structure_map_in_place),
13061         (gst_caps_structure_fixate_field_nearest_int),
13062         (gst_caps_structure_fixate_field_nearest_double):
13063         * gst/gststructure.h:
13064         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13065         (gst_system_clock_init), (gst_system_clock_dispose),
13066         (gst_system_clock_async_thread),
13067         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
13068         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
13069         * gst/gstsystemclock.h:
13070         * gst/gsttag.c: (gst_tag_list_add_value_internal),
13071         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
13072         * gst/gsttaginterface.c:
13073         * gst/gstthread.c: (gst_thread_dispose),
13074         (gst_thread_release_children_locks), (gst_thread_change_state),
13075         (gst_thread_main_loop):
13076         * gst/gsttrashstack.h:
13077         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
13078         * gst/gsttypes.h:
13079         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13080         (gst_element_request_pad), (gst_element_get_pad_from_template),
13081         (gst_element_request_compatible_pad),
13082         (gst_element_get_compatible_pad_filtered),
13083         (gst_element_get_compatible_pad), (gst_element_state_get_name),
13084         (gst_element_link_pads_filtered), (gst_element_link_filtered),
13085         (gst_element_link_many), (gst_element_link),
13086         (gst_element_link_pads), (gst_element_unlink_pads),
13087         (gst_element_unlink_many), (gst_element_unlink),
13088         (gst_pad_can_link_filtered), (gst_pad_can_link),
13089         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
13090         (gst_object_default_error), (gst_bin_add_many),
13091         (gst_bin_remove_many), (gst_element_populate_std_props),
13092         (gst_element_class_install_std_props), (gst_buffer_merge),
13093         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
13094         (link_fold_func), (gst_pad_proxy_setcaps):
13095         * gst/gstutils.h:
13096         * gst/gstvalue.c: (gst_value_deserialize_string):
13097         * gst/parse/grammar.y:
13098         * gst/schedulers/gstbasicscheduler.c:
13099         (gst_basic_scheduler_cothreaded_chain),
13100         (gst_basic_scheduler_chain_recursive_add),
13101         (gst_basic_scheduler_pad_link):
13102         * gst/schedulers/gstoptimalscheduler.c:
13103         (get_group_schedule_function),
13104         (gst_opt_scheduler_state_transition),
13105         (gst_opt_scheduler_add_element), (element_get_reachables_func):
13106         * libs/gst/bytestream/bytestream.c:
13107         * libs/gst/dataprotocol/dataprotocol.c:
13108         (gst_dp_header_from_buffer):
13109         * po/nb.po:
13110         * po/ru.po:
13111         * tests/threadstate/threadstate2.c: (eos):
13112         * tools/gst-compprep.c: (main):
13113         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
13114         (print_pad_info), (print_children_info):
13115         * tools/gst-launch.c: (idle_func), (main):
13116         * tools/gst-md5sum.c: (idle_func), (main):
13117         * tools/gst-xmlinspect.c: (print_element_info):
13118         First THREADED backport attempt, focusing on adding locks and
13119         making sure the API is threadsafe. Needs more work. More docs
13120         follow this week.
13121
13122 2005-02-24  Andy Wingo  <wingo@pobox.com>
13123
13124         * tests/bench-complexity.scm:
13125         * tests/complexity.gnuplot: New files, good for running complexity
13126         benchmarks.
13127
13128         * tests/Makefile.am:
13129         * tests/complexity.c: New test, sets up N elements, at each level
13130         teeing into M streams per element. Eeeenteresting.
13131
13132         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
13133         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
13134         running bench-mass_elements.scm.
13135
13136         * tests/bench-mass_elements.scm: New script, runs mass_elements
13137         for various numbers of identities, outputting the results to a
13138         file. Requires guile 1.6. Just for testing.
13139
13140 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13141
13142         * gst/schedulers/fairscheduler.c:
13143           compile with debug disabled
13144
13145 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13146
13147         * configure.ac:
13148           hunting season on 0.9 is now OPEN