gst/gstcaps.c: Comparing NULL against !NULL yields different caps, not a failure.
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-12-05  Wim Taymans  <wim@fluendo.com>
2
3         * gst/gstcaps.c: (gst_caps_is_equal):
4         Comparing NULL against !NULL yields different caps, not a
5         failure.
6
7 2005-12-05  Wim Taymans  <wim@fluendo.com>
8
9         * gst/gstpipeline.c:
10         Fix small typo in docs.
11
12 2005-12-05  Andy Wingo  <wingo@pobox.com>
13
14         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
15
16         * gst/gst.c (init_post): remove hard-coded 0.9 location for
17         registries/plugins with a MAJORMINOR one.
18         (plugin_desc): Rename library from gstcoreleements to
19         staticelements. Fixes #323222.
20
21 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
22
23         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
24           Change debug category to 'collectpads' from 'collect_pads'
25           (fixes #323250).
26
27 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
28
29         patch by: Sebastien Moutte
30
31         * libs/gst/controller/gstinterpolation.c:
32           use convert function for uint64/double
33         * win32/vs6/libgstcontroller.dsp:
34           link to GLib
35
36 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
37
38         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
39         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
40         * gst/gstutils.h:
41         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
42           add tests that seem to show that the guint64/gdouble conversions
43           are correct.
44
45 2005-12-02  Wim Taymans  <wim@fluendo.com>
46
47         * gst/gstregistry.c: (gst_registry_add_path):
48         * gst/gstregistry.h:
49         * gst/gstregistryxml.c:
50         Fix docs again.
51
52 2005-12-02  Wim Taymans  <wim@fluendo.com>
53
54         * gst/gstutils.c: (gst_util_uint64_scale_int64),
55         (gst_util_uint64_scale_int):
56         Small cleanup.
57
58         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
59         Add debug log line.
60
61         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
62         Add FIXME.
63
64 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
65
66         * win32/MANIFEST:
67         * win32/common/config.h:
68         * win32/vs6/gstreamer.dsw:
69         * win32/vs6/libgstcoreelements.dsp:
70         * win32/vs6/libgstelements.dsp:
71           renamed core elements plugin
72
73 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
74
75         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
76         (get_candidates):
77           do piece-wise major/minor comparison so 0.9 < 0.10
78           also allow .exe extensions for tools
79
80 2005-12-02  Michael Smith  <msmith@fluendo.com>
81
82         * gst/gst.c:
83           Escape a % to make gtkdoc happier; bug 322958.
84
85 === release 0.9.7 ===
86
87 2005-12-01   <thomas (at) apestaart (dot) org>
88
89         * configure.ac:
90           releasing 0.9.7, "My Dog Has No Nose"
91
92 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
93
94         * common/gst-xmlinspect.py:
95         * configure.ac:
96         * docs/libs/tmpl/gstdataprotocol.sgml:
97         * docs/random/release:
98         * po/af.po:
99         * po/az.po:
100         * po/bg.po:
101         * po/ca.po:
102         * po/cs.po:
103         * po/de.po:
104         * po/en_GB.po:
105         * po/fr.po:
106         * po/it.po:
107         * po/nb.po:
108         * po/nl.po:
109         * po/ru.po:
110         * po/sq.po:
111         * po/sr.po:
112         * po/sv.po:
113         * po/tr.po:
114         * po/uk.po:
115         * po/vi.po:
116         * win32/common/config.h:
117         * win32/common/config.h.in:
118         * win32/vs6/gst_inspect.dsp:
119         * win32/vs6/gst_launch.dsp:
120         * win32/vs6/libgstbase.dsp:
121         * win32/vs6/libgstelements.dsp:
122         * win32/vs6/libgstreamer.dsp:
123         * win32/vs7/GStreamer.vcproj:
124         * win32/vs7/gst-inspect.vcproj:
125         * win32/vs7/gst-launch.vcproj:
126         * win32/vs7/libgstbase.vcproj:
127           bump GST_MAJORMINOR to 0.10
128           reset libtool version
129
130 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
131
132         * po/LINGUAS:
133         * po/bg.po:
134           Added Bulgarian translation by (Alexander Shopov)
135
136 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
137
138         * tests/check/gst/gstplugin.c:
139           fix test
140
141 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
142
143         * common/gst-xmlinspect.py:
144         * common/gtk-doc-plugins.mak:
145         * configure.ac:
146         * docs/Makefile.am:
147         * docs/gst/Makefile.am:
148         * docs/gst/gstreamer-docs.sgml:
149         * docs/gst/gstreamer-sections.txt:
150         * docs/gst/gstreamer.types:
151         * docs/gst/gstreamer.types.in:
152         * docs/plugins/Makefile.am:
153         * docs/plugins/gstreamer-plugins-docs.sgml:
154         * docs/plugins/gstreamer-plugins-sections.txt:
155         * docs/plugins/gstreamer-plugins.types:
156         * docs/plugins/inspect.stamp:
157         * docs/plugins/inspect/plugin-coreelements.xml:
158         * docs/plugins/inspect/plugin-coreindexers.xml:
159         * docs/plugins/scanobj-build.stamp:
160         * gstreamer.spec.in:
161         * plugins/elements/Makefile.am:
162         * plugins/elements/gstelements.c:
163         * plugins/elements/gstfakesink.c:
164         * plugins/elements/gstfakesrc.c:
165         * plugins/elements/gstfilesink.c:
166         * plugins/elements/gstfilesrc.c:
167         * plugins/elements/gstqueue.c:
168         * plugins/indexers/Makefile.am:
169         * plugins/indexers/gstindexers.c:
170           document core plugins in a separate document just like all the
171           others
172           rename these plugins to something starting with core
173
174 2005-12-01  Andy Wingo  <wingo@pobox.com>
175
176         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
177         padding here before, but it missed the commit.
178
179 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
180
181         * libs/gst/controller/gstinterpolation.c:
182           whitespace prices have crashed, we should feel free to use some now
183           use gst_guint64_to_gdouble
184
185 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
186
187         * libs/gst/controller/gstcontroller.c:
188         * libs/gst/controller/gsthelper.c:
189         * libs/gst/controller/gstinterpolation.c:
190         * libs/gst/controller/lib.c:
191           wrap config.h include
192
193 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
194
195         * docs/gst/gstreamer-sections.txt:
196           update docs
197
198 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
199
200         * plugins/elements/gstelements.c:
201         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
202         (gst_fd_sink__class_init), (gst_fd_sink__init),
203         (gst_fd_sink__chain), (gst_fd_sink__set_property),
204         (gst_fd_sink__get_property):
205         * plugins/elements/gstfdsink.h:
206         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
207         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
208         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
209         (gst_fd_src_unlock), (gst_fd_src_set_property),
210         (gst_fd_src_get_property), (gst_fd_src_create),
211         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
212         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
213         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
214         (gst_fd_src_uri_handler_init):
215         * plugins/elements/gstfdsrc.h:
216         * plugins/elements/gstqueue.c: (gst_queue_get_type):
217           more anal cleanup
218
219 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
220
221         * docs/gst/Makefile.am:
222         * docs/gst/gstreamer.types.in:
223         * gst/Makefile.am:
224           fix the docs build
225
226 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
227
228         * configure.ac:
229         * gst/Makefile.am:
230         * gst/gst.c:
231         * gst/gstplugin.h:
232         * gst/gstregistry.h:
233         * tests/benchmarks/complexity.c:
234         * tests/benchmarks/mass-elements.c:
235         * tests/check/Makefile.am:
236         * tools/Makefile.am:
237         * tools/gst-inspect.c:
238         * tools/gst-xmlinspect.c:
239           various fixes to make
240           --disable-nls --disable-registry --disable-loadsave
241           --disable-parse --disable-gst-debug
242           work and get the core .so down to 360444 bytes after stripping
243
244 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
245
246         * Makefile.am:
247         * configure.ac:
248           descend into tests
249         * docs/random/thomasvs/TODO:
250         * tests/Makefile.am:
251         * tests/README:
252           add a README
253
254 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
255
256         * win32/GStreamer.vcproj:
257         * win32/MANIFEST:
258         * win32/Makefile:
259         * win32/Makefile.inspect:
260         * win32/Makefile.launch:
261         * win32/Makefile.register:
262         * win32/README.txt:
263         * win32/gst-inspect.vcproj:
264         * win32/gst-launch.vcproj:
265         * win32/gst-register.vcproj:
266         * win32/gstelements.vcproj:
267         * win32/gstgetbits.def:
268         * win32/gstgetbits.vcproj:
269         * win32/gstreamer-dbg.def:
270         * win32/gstreamer.def:
271         * win32/libgstbase.def:
272         * win32/libgstbase.vcproj:
273         * win32/link_oldruntime.c:
274         * win32/mman.c:
275         * win32/mman.h:
276         * win32/mman.inl:
277         * win32/msvc71.sln:
278           move even more stuff, win32/ is nice and clean now
279
280 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
281
282         * libs/gst/control/.cvsignore:
283         * win32/MANIFEST:
284         * win32/config.h:
285         * win32/dirent.c:
286         * win32/dirent.h:
287         * win32/gstbytestream.def:
288         * win32/gstbytestream.vcproj:
289         * win32/gstconfig.h:
290         * win32/gstenumtypes.c:
291         * win32/gstenumtypes.h:
292         * win32/gstoptimalscheduler.vcproj:
293         * win32/gstversion.h:
294         * win32/gtchar.h:
295         * win32/testsuite/bins.vcproj:
296         * win32/testsuite/bytestream.vcproj:
297         * win32/testsuite/caps.vcproj:
298         * win32/testsuite/cleanup.vcproj:
299         * win32/testsuite/clock.vcproj:
300         * win32/testsuite/debug.vcproj:
301         * win32/testsuite/dlopen.vcproj:
302         * win32/testsuite/dynparams.vcproj:
303         * win32/testsuite/elements.vcproj:
304         * win32/testsuite/ghostpads.vcproj:
305         * win32/testsuite/indexers.vcproj:
306         * win32/testsuite/negotiation.vcproj:
307         * win32/testsuite/parse.vcproj:
308         * win32/testsuite/plugin.vcproj:
309         * win32/testsuite/refcounting.vcproj:
310         * win32/testsuite/schedulers.vcproj:
311         * win32/testsuite/states.vcproj:
312         * win32/testsuite/tags.vcproj:
313         * win32/testsuite/threads.vcproj:
314           remove old win32 stuff that isn't maintained and should be
315           reorganized
316
317 2005-11-30  Andy Wingo  <wingo@pobox.com>
318
319         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
320         loading the gst.interfaces python module bork.
321
322         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
323         available since GLib 2.2. Fixes #318031.
324
325 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
326
327         * Makefile.am:
328         * check/.cvsignore:
329         * check/Makefile.am:
330         * check/elements/.cvsignore:
331         * check/elements/fakesrc.c:
332         * check/elements/fdsrc.c:
333         * check/elements/identity.c:
334         * check/generic/.cvsignore:
335         * check/generic/states.c:
336         * check/gst-libs/.cvsignore:
337         * check/gst-libs/controller.c:
338         * check/gst-libs/gdp.c:
339         * check/gst/.cvsignore:
340         * check/gst/capslist.h:
341         * check/gst/gst.c:
342         * check/gst/gstbin.c:
343         * check/gst/gstbuffer.c:
344         * check/gst/gstbus.c:
345         * check/gst/gstcaps.c:
346         * check/gst/gstelement.c:
347         * check/gst/gstevent.c:
348         * check/gst/gstghostpad.c:
349         * check/gst/gstiterator.c:
350         * check/gst/gstmessage.c:
351         * check/gst/gstminiobject.c:
352         * check/gst/gstobject.c:
353         * check/gst/gstpad.c:
354         * check/gst/gstpipeline.c:
355         * check/gst/gstplugin.c:
356         * check/gst/gstsegment.c:
357         * check/gst/gststructure.c:
358         * check/gst/gstsystemclock.c:
359         * check/gst/gsttag.c:
360         * check/gst/gstutils.c:
361         * check/gst/gstvalue.c:
362         * check/net/.cvsignore:
363         * check/net/gstnetclientclock.c:
364         * check/net/gstnettimeprovider.c:
365         * check/pipelines/.cvsignore:
366         * check/pipelines/cleanup.c:
367         * check/pipelines/simple_launch_lines.c:
368         * check/pipelines/stress.c:
369         * check/states/.cvsignore:
370         * check/states/sinks.c:
371         * configure.ac:
372         * examples/Makefile.am:
373         * examples/appreader/.cvsignore:
374         * examples/appreader/Makefile.am:
375         * examples/appreader/appreader.c:
376         * examples/controller/.cvsignore:
377         * examples/controller/Makefile.am:
378         * examples/controller/audio-example.c:
379         * examples/cutter/.cvsignore:
380         * examples/cutter/Makefile.am:
381         * examples/cutter/cutter.c:
382         * examples/cutter/cutter.h:
383         * examples/events/Makefile.am:
384         * examples/events/seek.c:
385         * examples/helloworld/.cvsignore:
386         * examples/helloworld/Makefile.am:
387         * examples/helloworld/helloworld.c:
388         * examples/helloworld2/.cvsignore:
389         * examples/helloworld2/Makefile.am:
390         * examples/helloworld2/helloworld2.c:
391         * examples/launch/.cvsignore:
392         * examples/launch/Makefile.am:
393         * examples/launch/mp3parselaunch.c:
394         * examples/launch/mp3play:
395         * examples/manual/.cvsignore:
396         * examples/manual/Makefile.am:
397         * examples/manual/extract.pl:
398         * examples/metadata/Makefile.am:
399         * examples/metadata/read-metadata.c:
400         * examples/mixer/.cvsignore:
401         * examples/mixer/Makefile.am:
402         * examples/mixer/mixer.c:
403         * examples/mixer/mixer.h:
404         * examples/pingpong/.cvsignore:
405         * examples/pingpong/Makefile.am:
406         * examples/pingpong/pingpong.c:
407         * examples/plugins/.cvsignore:
408         * examples/plugins/Makefile.am:
409         * examples/plugins/example.c:
410         * examples/plugins/example.h:
411         * examples/pwg/.cvsignore:
412         * examples/pwg/Makefile.am:
413         * examples/pwg/extract.pl:
414         * examples/queue/.cvsignore:
415         * examples/queue/Makefile.am:
416         * examples/queue/queue.c:
417         * examples/queue2/.cvsignore:
418         * examples/queue2/Makefile.am:
419         * examples/queue2/queue2.c:
420         * examples/queue3/.cvsignore:
421         * examples/queue3/Makefile.am:
422         * examples/queue3/queue3.c:
423         * examples/queue4/.cvsignore:
424         * examples/queue4/Makefile.am:
425         * examples/queue4/queue4.c:
426         * examples/retag/.cvsignore:
427         * examples/retag/Makefile.am:
428         * examples/retag/retag.c:
429         * examples/retag/transcode.c:
430         * examples/thread/.cvsignore:
431         * examples/thread/Makefile.am:
432         * examples/thread/thread.c:
433         * examples/typefind/.cvsignore:
434         * examples/typefind/Makefile.am:
435         * examples/typefind/typefind.c:
436         * examples/xml/.cvsignore:
437         * examples/xml/Makefile.am:
438         * examples/xml/createxml.c:
439         * examples/xml/runxml.c:
440         * tests/Makefile.am:
441         * tests/check/Makefile.am:
442         * testsuite/.cvsignore:
443         * testsuite/Makefile.am:
444         * testsuite/Rules:
445         * testsuite/caps/.cvsignore:
446         * testsuite/caps/Makefile.am:
447         * testsuite/caps/app_fixate.c:
448         * testsuite/caps/audioscale.c:
449         * testsuite/caps/caps.c:
450         * testsuite/caps/caps.h:
451         * testsuite/caps/caps_strings:
452         * testsuite/caps/compatibility.c:
453         * testsuite/caps/deserialize.c:
454         * testsuite/caps/enumcaps.c:
455         * testsuite/caps/eratosthenes.c:
456         * testsuite/caps/filtercaps.c:
457         * testsuite/caps/fixed.c:
458         * testsuite/caps/fraction-convert.c:
459         * testsuite/caps/fraction-multiply-and-zero.c:
460         * testsuite/caps/intersect2.c:
461         * testsuite/caps/intersection.c:
462         * testsuite/caps/normalisation.c:
463         * testsuite/caps/random.c:
464         * testsuite/caps/renegotiate.c:
465         * testsuite/caps/sets.c:
466         * testsuite/caps/simplify.c:
467         * testsuite/caps/string-conversions.c:
468         * testsuite/caps/structure.c:
469         * testsuite/caps/subtract.c:
470         * testsuite/caps/union.c:
471         * testsuite/debug/.cvsignore:
472         * testsuite/debug/Makefile.am:
473         * testsuite/debug/category.c:
474         * testsuite/debug/commandline.c:
475         * testsuite/debug/global.c:
476         * testsuite/debug/output.c:
477         * testsuite/debug/printf_extension.c:
478         * testsuite/dlopen/.cvsignore:
479         * testsuite/dlopen/Makefile.am:
480         * testsuite/dlopen/dlopen_gst.c:
481         * testsuite/dlopen/loadgst.c:
482         * testsuite/elements/.cvsignore:
483         * testsuite/elements/Makefile.am:
484         * testsuite/elements/gst-inspect-check.in:
485         * testsuite/elements/struct_i386.h:
486         * testsuite/elements/struct_size.c:
487         * testsuite/indexers/.cvsignore:
488         * testsuite/indexers/Makefile.am:
489         * testsuite/indexers/cache1.c:
490         * testsuite/indexers/indexdump.c:
491         * testsuite/parse/.cvsignore:
492         * testsuite/parse/Makefile.am:
493         * testsuite/parse/parse1.c:
494         * testsuite/parse/parse2.c:
495         * testsuite/plugin/.cvsignore:
496         * testsuite/plugin/Makefile.am:
497         * testsuite/plugin/README:
498         * testsuite/plugin/dynamic.c:
499         * testsuite/plugin/linked.c:
500         * testsuite/plugin/loading.c:
501         * testsuite/plugin/registry.c:
502         * testsuite/plugin/static.c:
503         * testsuite/plugin/static2.c:
504         * testsuite/plugin/testplugin.c:
505         * testsuite/plugin/testplugin2.c:
506         * testsuite/plugin/testplugin2_s.c:
507         * testsuite/plugin/testplugin_s.c:
508         * testsuite/refcounting/.cvsignore:
509         * testsuite/refcounting/Makefile.am:
510         * testsuite/refcounting/bin.c:
511         * testsuite/refcounting/element.c:
512         * testsuite/refcounting/element_pad.c:
513         * testsuite/refcounting/mainloop.c:
514         * testsuite/refcounting/mem.c:
515         * testsuite/refcounting/mem.h:
516         * testsuite/refcounting/object.c:
517         * testsuite/refcounting/pad.c:
518         * testsuite/refcounting/sched.c:
519         * testsuite/refcounting/thread.c:
520         * testsuite/states/.cvsignore:
521         * testsuite/states/Makefile.am:
522         * testsuite/states/bin.c:
523         * testsuite/states/locked.c:
524         * testsuite/states/parent.c:
525         * testsuite/threads/.cvsignore:
526         * testsuite/threads/159566.c:
527         * testsuite/threads/159852.c:
528         * testsuite/threads/Makefile.am:
529         * testsuite/threads/queue.c:
530         * testsuite/threads/signals.c:
531         * testsuite/threads/staticrec.c:
532         * testsuite/threads/thread.c:
533         * testsuite/threads/threadb.c:
534         * testsuite/threads/threadc.c:
535         * testsuite/threads/threadd.c:
536         * testsuite/threads/threade.c:
537         * testsuite/threads/threadf.c:
538         * testsuite/threads/threadg.c:
539         * testsuite/threads/threadh.c:
540         * testsuite/threads/threadi.c:
541           move all of these under tests
542
543 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
544
545         * configure.ac:
546         * tests/Makefile.am:
547           fix distcheck
548
549 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
550
551         * docs/gst/gstreamer-sections.txt:
552         * tests/sched/.cvsignore:
553         * tests/sched/Makefile.am:
554         * tests/sched/cases/(fs-fs).xml:
555         * tests/sched/cases/(fs-i-fs).xml:
556         * tests/sched/cases/(fs-i-i-fs).xml:
557         * tests/sched/cases/(fs-i-q[i-fs]).xml:
558         * tests/sched/dynamic-pipeline.c:
559         * tests/sched/interrupt1.c:
560         * tests/sched/interrupt2.c:
561         * tests/sched/interrupt3.c:
562         * tests/sched/runtestcases:
563         * tests/sched/runxml.c:
564         * tests/sched/sched-stress.c:
565         * tests/sched/sort.c:
566         * tests/sched/testcases:
567         * tests/sched/testcases1.tc:
568         * tests/seeking/.cvsignore:
569         * tests/seeking/Makefile.am:
570         * tests/seeking/seeking1.c:
571         * tests/threadstate/.cvsignore:
572         * tests/threadstate/Makefile.am:
573         * tests/threadstate/test1.c:
574         * tests/threadstate/test2.c:
575         * tests/threadstate/threadstate1.c:
576         * tests/threadstate/threadstate2.c:
577         * tests/threadstate/threadstate3.c:
578         * tests/threadstate/threadstate4.c:
579         * tests/threadstate/threadstate5.c:
580           remove obsolete tests
581         * configure.ac:
582         * tests/bench-complexity.scm:
583         * tests/bench-mass_elements.scm:
584         * tests/complexity.c:
585         * tests/complexity.gnuplot:
586         * tests/instantiate/.cvsignore:
587         * tests/instantiate/Makefile.am:
588         * tests/instantiate/caps.c:
589         * tests/mass_elements.c:
590         * tests/network-clock-utils.scm:
591         * tests/network-clock.scm:
592         * tests/plot-data:
593         First pass at cleaning up tests/ dir before moving the rest
594         Combined with CVS surgery
595
596 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
597
598         * po/POTFILES.in:
599           queue has moved, update
600
601 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
602
603         * docs/gst/gstreamer-sections.txt:
604           remove double entries from the docs
605         * gst/gst_private.h:
606         * gst/gstinfo.c: (_gst_debug_init):
607           remove the THREAD debug category
608         * gst/Makefile.am:
609         * gst/gstqueue.c:
610         * gst/gstqueue.h:
611         * docs/gst/gstreamer.types:
612         * plugins/elements/gstqueue.c: (gst_queue_get_type),
613         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
614           completely move queue and fix up debugging categories
615
616 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
617
618         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
619           make initialization portable, using LL is not
620
621 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
622
623         * win32/common/gstconfig.h:
624           add large padding
625
626 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
627
628         * win32/common/libgstreamer.def:
629           rename symbols; sort base section
630
631 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
632
633         * gst/gstclock.c: (do_linear_regression):
634           remove crack non-portable handrolled DEBUG macro
635
636 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
637
638         * docs/random/release:
639           update notes
640         * win32/common/gstenumtypes.c: (register_gst_object_flags),
641         (gst_object_flags_get_type), (register_gst_bin_flags),
642         (gst_bin_flags_get_type), (register_gst_buffer_flag),
643         (gst_buffer_flag_get_type), (register_gst_bus_flags),
644         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
645         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
646         (gst_caps_flags_get_type), (register_gst_clock_return),
647         (gst_clock_return_get_type), (register_gst_clock_entry_type),
648         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
649         (gst_clock_flags_get_type), (register_gst_state),
650         (gst_state_get_type), (register_gst_state_change_return),
651         (gst_state_change_return_get_type), (register_gst_state_change),
652         (gst_state_change_get_type), (register_gst_element_flags),
653         (gst_element_flags_get_type), (register_gst_core_error),
654         (gst_core_error_get_type), (register_gst_library_error),
655         (gst_library_error_get_type), (register_gst_resource_error),
656         (gst_resource_error_get_type), (register_gst_stream_error),
657         (gst_stream_error_get_type), (register_gst_event_type_flags),
658         (gst_event_type_flags_get_type), (register_gst_event_type),
659         (gst_event_type_get_type), (register_gst_seek_type),
660         (gst_seek_type_get_type), (register_gst_seek_flags),
661         (gst_seek_flags_get_type), (register_gst_format),
662         (gst_format_get_type), (register_gst_index_certainty),
663         (gst_index_certainty_get_type), (register_gst_index_entry_type),
664         (gst_index_entry_type_get_type),
665         (register_gst_index_lookup_method),
666         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
667         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
668         (gst_index_resolver_method_get_type), (register_gst_index_flags),
669         (gst_index_flags_get_type), (register_gst_debug_level),
670         (gst_debug_level_get_type), (register_gst_debug_color_flags),
671         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
672         (gst_iterator_result_get_type), (register_gst_iterator_item),
673         (gst_iterator_item_get_type), (register_gst_message_type),
674         (gst_message_type_get_type), (register_gst_mini_object_flags),
675         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
676         (gst_pad_link_return_get_type), (register_gst_flow_return),
677         (gst_flow_return_get_type), (register_gst_activate_mode),
678         (gst_activate_mode_get_type), (register_gst_pad_direction),
679         (gst_pad_direction_get_type), (register_gst_pad_flags),
680         (gst_pad_flags_get_type), (register_gst_pad_presence),
681         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
682         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
683         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
684         (gst_plugin_error_get_type), (register_gst_plugin_flags),
685         (gst_plugin_flags_get_type), (register_gst_rank),
686         (gst_rank_get_type), (register_gst_query_type),
687         (gst_query_type_get_type), (register_gst_tag_merge_mode),
688         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
689         (gst_tag_flag_get_type), (register_gst_task_state),
690         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
691         (gst_alloc_trace_flags_get_type),
692         (register_gst_type_find_probability),
693         (gst_type_find_probability_get_type), (register_gst_uri_type),
694         (gst_uri_type_get_type), (register_gst_parse_error),
695         (gst_parse_error_get_type):
696         * win32/common/gstenumtypes.h:
697         * win32/common/gstversion.h:
698           update visual studio generated files
699
700 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
701
702         * win32/vs6/libgstbase.dsp:
703         * win32/vs6/libgstelements.dsp:
704           update project files for new locations
705
706 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
707
708         * Makefile.am:
709           remove some files
710         * README:
711           reinstate and update
712         * DEVEL:
713         * REQUIREMENTS:
714           removed
715         * LICENSE:
716         * docs/random/LICENSE:
717           moved to random
718
719 2005-11-30  Edward Hervey  <edward@fluendo.com>
720
721         * gst/gsttypefind.c: (gst_type_find_register):
722         * gst/gsttypefind.h:
723         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
724         (gst_type_find_factory_dispose):
725         * gst/gsttypefindfactory.h:
726         Fix memory leak in GstTypeFindFactory.
727
728 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
729
730         * gst/gst.c:
731         * plugins/elements/Makefile.am:
732         * plugins/elements/gstelements.c:
733         * plugins/elements/gstqueue.c:
734           move queue from core to the elements plugin
735
736 2005-11-29  Andy Wingo  <wingo@pobox.com>
737
738         * libs/gst/base/gstbasetransform.h: 
739         * libs/gst/base/gstbasesrc.h: 
740         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
741
742         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
743         of pointers by which to pad very extensible base classes (like the
744         ones in libs/gst/base).
745
746 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
747
748         * docs/gst/gstreamer-docs.sgml:
749         * docs/gst/gstreamer-sections.txt:
750         * docs/libs/gstreamer-libs-docs.sgml:
751         * docs/libs/gstreamer-libs-sections.txt:
752           moving documentation from core to lib
753
754 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
755
756         * check/Makefile.am:
757         * configure.ac:
758         * docs/gst/Makefile.am:
759         * gst/Makefile.am:
760         * gst/base/.cvsignore:
761         * gst/base/Makefile.am:
762         * gst/base/README:
763         * gst/base/gstadapter.c:
764         * gst/base/gstadapter.h:
765         * gst/base/gstbasesink.c:
766         * gst/base/gstbasesink.h:
767         * gst/base/gstbasesrc.c:
768         * gst/base/gstbasesrc.h:
769         * gst/base/gstbasetransform.c:
770         * gst/base/gstbasetransform.h:
771         * gst/base/gstcollectpads.c:
772         * gst/base/gstcollectpads.h:
773         * gst/base/gstpushsrc.c:
774         * gst/base/gstpushsrc.h:
775         * gst/base/gsttypefindhelper.c:
776         * gst/base/gsttypefindhelper.h:
777         * gst/check/Makefile.am:
778         * gst/check/gstcheck.c:
779         * gst/check/gstcheck.h:
780         * gst/net/Makefile.am:
781         * gst/net/gstnet.h:
782         * gst/net/gstnetclientclock.c:
783         * gst/net/gstnetclientclock.h:
784         * gst/net/gstnettimepacket.c:
785         * gst/net/gstnettimepacket.h:
786         * gst/net/gstnettimeprovider.c:
787         * gst/net/gstnettimeprovider.h:
788         * libs/gst/Makefile.am:
789         * libs/gst/base/Makefile.am:
790         * libs/gst/base/gstbasetransform.c:
791         * libs/gst/check/Makefile.am:
792         * plugins/elements/Makefile.am:
793         * po/POTFILES.in:
794           CVS surgery + support to move base, check, and net out of gst
795           and into libs/gst
796
797 2005-11-29  Andy Wingo  <wingo@pobox.com>
798
799         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
800
801         * gst/gststructure.h (struct _GstStructure): Only one pointer of
802         padding.
803
804         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
805
806         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
807
808         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
809
810         * gst/gstobject.h: (struct _GstObject): Only one pointer of
811         padding; reduces object size by about 30%. We don't expect
812         anything else to go into gstobject.
813
814         * gst/gstminiobject.h (struct _GstMiniObject)
815         (struct _GstMiniObjectClass): Only one pointer of padding; the
816         payload is only a pointer and two ints anyway. For the class there
817         are only two methods as well.
818         
819         * gst/gstelement.h (struct _GstElementClass): Removed
820         the state_changed signal callback, it is not used.
821
822 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
823
824         * docs/gst/gstreamer.types:
825           fix includes, though they are a little dinky
826
827 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
828
829         * check/Makefile.am:
830           look in the right place for elements, a lot more chance of
831           success
832         * gst/Makefile.am:
833           remove indexers and elements subdirs
834         * plugins/Makefile.am:
835           make indexers conditional
836
837 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
838
839         * Makefile.am:
840         * configure.ac:
841         * plugins/elements/Makefile.am:
842         * plugins/elements/gstcapsfilter.c:
843         * plugins/elements/gstfilesink.c:
844         * plugins/elements/gstfilesrc.c:
845         * plugins/elements/gstidentity.c:
846         * plugins/indexers/Makefile.am:
847           do CVS surgery and related build fixery to move elements
848           and indexers in a new gstreamer/plugins directory, out of the
849           gst/ directory
850
851 2005-11-29  Andy Wingo  <wingo@pobox.com>
852
853         * check/Makefile.am:
854         * pkgconfig/gstreamer-net-uninstalled.pc.in:
855         * pkgconfig/gstreamer-net.pc.in:
856         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
857         #322257.
858
859 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
860
861         * tools/Makefile.am:
862         * tools/gst-complete.1.in:
863         * tools/gst-complete.c:
864         * tools/gst-compprep.1.in:
865         * tools/gst-compprep.c:
866           removing -compprep and -complete
867
868 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
869
870         * gst/gstevent.c: (gst_event_new_new_segment),
871         (gst_event_parse_new_segment):
872         * gst/gstevent.h:
873           fix #320529 - clean up new_segment API and structure.
874           Let's hope everyone was using the methods, and not the structure.
875
876 2005-11-29  Edward Hervey  <edward@fluendo.com>
877
878         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
879         (gst_base_sink_event), (gst_base_sink_do_sync),
880         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
881         Properly handle non GST_FORMAT_TIME segment
882         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
883         Properly handle non GST_FORMAT_TIME segment
884         * gst/gstsegment.c:
885         This function is valid if the accumulator is 0 and the format
886         is different from the requested format.
887         
888 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
889
890         * docs/gst/gstreamer-sections.txt:
891         Add gst_query_new_seeking and gst_query_parse_seeking to the
892         docs.
893
894 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
895
896         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
897           Treat a pad alloc with new caps the same as if we were not
898           negotiated, in order to allow a changing upstream output
899           to produce a new format of data.
900
901 2005-11-29  Edward Hervey  <edward@fluendo.com>
902
903         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
904         (gst_base_transform_event), (gst_base_transform_eventfunc):
905         The event virtual method is now properly implemented, with a default
906         handler
907         Sub classes should call the parent_class event method. They should
908         return FALSE if they had a problem handling the given event, or don't
909         want GstBaseTransform to send that even downstream
910         * gst/elements/gstidentity.c: (gst_identity_class_init),
911         (gst_identity_init), (gst_identity_event),
912         (gst_identity_transform_ip), (gst_identity_set_property),
913         (gst_identity_get_property):
914         * gst/elements/gstidentity.h:
915         Added the single-segment boolean property.
916         If set to TRUE, it will output a single segment of data, starting from
917         0, will eat up all incoming newsegment, and modify the timestamp of the
918         buffers accordingly
919
920 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
921
922         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
923           Don't ref NULL target pad (#322751). Improve docs.
924
925 2005-11-29  Michael Smith  <msmith@fluendo.com>
926
927         * gst/gstregistryxml.c: (load_plugin):
928           Don't crash if we failed to load a feature from a plugin. 
929
930 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
931
932         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
933         (GST_START_TEST):
934           use more check API and less GLib API
935
936 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
937
938         * Makefile.am:
939           don't run checks if we don't have check
940         * common/check.mak:
941           remove the registry when running make torture
942         * docs/gst/gstreamer-sections.txt:
943           remove second multiply
944         * gst/gstqueue.c: (gst_queue_loop):
945           fix a compile warning when disabling debug
946
947 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
948
949         * gst/gstinfo.h:
950         Hey! Let's print the pad name if the pointer != NULL instead
951         of when it == NULL :-)
952
953 2005-11-28  Wim Taymans  <wim@fluendo.com>
954
955         * check/gst/gstutils.c: (GST_START_TEST):
956         Updated check, add some scaling accuracy checking code.
957
958         * gst/gstutils.c: (gst_util_div128_64),
959         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
960         (gst_util_uint64_scale_int):
961         Fix 6 times faster division code. Optimize for common 
962         1/1 and less common X/1 cases.
963
964 2005-11-28  Wim Taymans  <wim@fluendo.com>
965
966         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
967         More checks.
968
969         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
970         (do_linear_regression), (gst_clock_add_observation):
971         Cleanups.
972         Release lock when the clock cannot be slaved.
973         Catch the case where the regression returned an invalid denominator.
974
975         * gst/gstutils.c: (gst_util_div128_64_iterate),
976         (gst_util_div128_64), (gst_util_uint64_scale_int64),
977         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
978         Add protentially more performant non-iterative 128/64 divide function
979         that unfortunatly does not work yet.
980         Shortcut the trivial 0/X = 0 case.
981         Remove the warnings on overflow.
982
983 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
984
985         * gst/gstplugin.c: (gst_plugin_register_func):
986           everything causing a plugin not to load should be at least a WARNING
987
988 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
989
990         * docs/random/ensonic/dparams.txt:
991           some TODOs for the next dev cycle
992         * libs/gst/controller/gstcontroller.c:
993         (gst_controlled_property_set_interpolation_mode),
994         (gst_controlled_property_new):
995         * libs/gst/controller/gstcontroller.h:
996           use base type to assign acccessor functions
997
998 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
999
1000         * check/Makefile.am:
1001         Oops, that should have been top_srcdir
1002
1003 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1004
1005         * check/Makefile.am:
1006         * check/elements/fdsrc.c: (GST_START_TEST):
1007         Use a cmdline define to specify the location of a file to use for
1008         testing, to avoid breaking distcheck.
1009
1010 2005-11-28  Andy Wingo  <wingo@pobox.com>
1011
1012         * gst/gstpad.c (fixate_value): Use array functions for arrays.
1013
1014 2005-11-28  Edward Hervey  <edward@fluendo.com>
1015
1016         * tools/gst-launch.c: (main):
1017         Clarify the output strings, makes it easier to translate.
1018         Fixes #322626
1019
1020 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1021
1022         * gst/Makefile.am:
1023           don't try and build net if we don't even have <sys/socket.h>
1024
1025 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
1026
1027         * check/Makefile.am:
1028         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
1029         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
1030           Add tests for fdsrc seekability
1031
1032         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
1033         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
1034         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
1035         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
1036         * gst/elements/gstfdsrc.h:
1037           fdsrc should not be a 'live' source.
1038           Implement seeking on seekable fd's.
1039
1040         * gst/gstquery.c: (gst_query_new_seeking),
1041         (gst_query_parse_seeking):
1042         * gst/gstquery.h:
1043           Implement SEEKING query functions: 
1044             *_new_seeking and *_parse_seeking
1045
1046 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
1047
1048         * gst/gstelement.c: (gst_element_dispose):
1049           don't loop forever
1050
1051         * gst/gstiterator.c:
1052         * gst/gststructure.c:
1053           doc fixes
1054
1055         * libs/gst/controller/gstcontroller.c:
1056         (gst_controlled_property_set_interpolation_mode):
1057         * libs/gst/controller/gstcontroller.h:
1058         * libs/gst/controller/gstinterpolation.c:
1059         (interpolate_none_get_enum_value_array):
1060           support controlling enums
1061
1062 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1063
1064         * gst/gstvalue.c:
1065           Improve documentation for gst_value_union().
1066
1067         * gst/gstvalue.h:
1068           Change return value for union, intersect and subtract functions
1069           from gint to gboolean.
1070
1071 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1072
1073         * gst/gstvalue.c: (gst_value_serialize_any_list),
1074         (gst_value_transform_any_list_string),
1075         (gst_value_deserialize_list), (gst_value_deserialize_array),
1076         (gst_value_set_int_range), (gst_value_deserialize_int_range),
1077         (gst_value_set_double_range), (gst_value_deserialize_double_range),
1078         (gst_value_set_fraction_range_full),
1079         (gst_value_deserialize_fraction_range),
1080         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
1081         (gst_value_deserialize_boolean),
1082         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
1083         (gst_value_serialize_float), (gst_value_deserialize_float),
1084         (gst_string_wrap), (gst_value_deserialize_string),
1085         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
1086         (gst_value_union_int_range_int_range),
1087         (gst_value_intersect_int_range_int_range),
1088         (gst_value_intersect_double_range_double_range),
1089         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
1090         (gst_value_subtract_int_range_int_range),
1091         (gst_value_subtract_double_double_range),
1092         (gst_value_subtract_double_range_double_range),
1093         (gst_value_deserialize_fraction):
1094         * gst/gstvalue.h:
1095           Use gint, gdouble and gchar in our API instead of int, double and
1096           char (and make usage in gstvalue.c more consistent).
1097
1098 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1099
1100         * check/Makefile.am:
1101         * libs/gst/controller/Makefile.am:
1102         * libs/gst/dataprotocol/Makefile.am:
1103           fix up Makefile.am and remove GST_ENABLE_NEW
1104
1105 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1106
1107         * configure.ac:
1108         * gst/Makefile.am:
1109         * gst/base/Makefile.am:
1110         * gst/check/Makefile.am:
1111         * gst/elements/Makefile.am:
1112         * gst/net/Makefile.am:
1113           update LDFLAGS use some more
1114
1115 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1116
1117         * common/m4/gst-doc.m4:
1118           Fixes #312589
1119
1120 2005-11-26  Edward Hervey  <edward@fluendo.com>
1121
1122         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1123         This shouldn't issue a g_warning since it returns NULL if it
1124         couldn't find the plugin, and all functions using this behave
1125         properly on a NULL return. Switching to a GST_WARNING.
1126
1127 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
1128
1129         * gst/gstbin.c: (gst_bin_handle_message_func):
1130         Don't leak clock messages.
1131
1132 2005-11-25  Wim Taymans  <wim@fluendo.com>
1133
1134         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1135         (gst_util_uint64_scale_int):
1136         Optimisations, remove unneeded vars.
1137
1138 2005-11-25  Wim Taymans  <wim@fluendo.com>
1139
1140         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1141         Added more checks for the high precision uint64 cases.
1142
1143         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1144         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1145         Implement high precision (guint64 * guint64) / guint64.
1146
1147 2005-11-24  Wim Taymans  <wim@fluendo.com>
1148
1149         * gst/base/gstbasesrc.c: (gst_base_src_query):
1150         Fix wrong percentage query.
1151
1152         * gst/gstutils.c: (gst_util_uint64_scale),
1153         (gst_util_uint64_scale_int):
1154         Add some more common cases that can be handled 
1155         efficiently to _scale.
1156
1157 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1158
1159         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
1160         (gst_mini_object_suite):
1161           don't use check calls from threads; check probably isn't
1162           threadsafe and using a lock to make it threadsafe would
1163           defeat the purpose of this check
1164         * gst/check/gstcheck.c:
1165         * gst/check/gstcheck.h:
1166           use GST_DEBUG some more
1167
1168 2005-11-24  Wim Taymans  <wim@fluendo.com>
1169
1170         * gst/gstutils.c: (gst_util_uint64_scale),
1171         (gst_util_uint64_scale_int):
1172         Chain trivial case to _scale_int.
1173
1174 2005-11-24  Wim Taymans  <wim@fluendo.com>
1175
1176         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1177         Added test for scaling.
1178
1179         * gst/gstclock.h:
1180         Small doc fix.
1181
1182         * gst/gstutils.c: (gst_util_uint64_scale_int):
1183         Implemented high precision scaling code.
1184
1185 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
1186
1187         * gst/gstinfo.h:
1188           do not crash on pad==NULL
1189
1190 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1191
1192         Patch by: Stefan Kost
1193
1194         * common/gtk-doc.mak:
1195         * docs/gst/Makefile.am:
1196         * docs/libs/Makefile.am:
1197           Fix distcheck issues for the libraries docs build
1198           Closes #319599.
1199
1200 2005-11-24  Michael Smith <msmith@fluendo.com>
1201
1202         * docs/manual/basics-helloworld.xml:
1203           Fix bug #315027: memory leak in example code in docs.
1204
1205 2005-11-24  Michael Smith <msmith@fluendo.com>
1206
1207         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1208           Unlock the PREROLL_LOCK in a failure case.
1209
1210 2005-11-24  Wim Taymans  <wim@fluendo.com>
1211
1212         * docs/gst/gstreamer-sections.txt:
1213         * gst/base/gstadapter.h:
1214         * gst/base/gstbasesink.h:
1215         * gst/base/gstbasesrc.h:
1216         * gst/base/gstbasetransform.h:
1217         * gst/base/gstpushsrc.h:
1218         * gst/elements/gstfakesink.h:
1219         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1220         * gst/elements/gstfakesrc.h:
1221         * gst/elements/gstfilesink.h:
1222         * gst/elements/gstfilesrc.h:
1223         * gst/gst.c:
1224         * gst/gstbin.c:
1225         * gst/gstbuffer.c: (_gst_buffer_copy):
1226         * gst/gstbus.h:
1227         * gst/gstcaps.c:
1228         * gst/gstchildproxy.c:
1229         * gst/gstclock.c:
1230         * gst/gstelement.c:
1231         * gst/gstelementfactory.c:
1232         * gst/gstelementfactory.h:
1233         * gst/gstevent.c:
1234         * gst/gstghostpad.h:
1235         * gst/gstindex.h:
1236         * gst/gstinterface.h:
1237         * gst/gstminiobject.c:
1238         * gst/gstminiobject.h:
1239         * gst/gstpad.c:
1240         * gst/gstpad.h:
1241         * gst/gstpadtemplate.h:
1242         * gst/gstpipeline.h:
1243         * gst/gstpluginfeature.h:
1244         * gst/gstquery.h:
1245         * gst/gstqueue.h:
1246         * gst/gsttaglist.c:
1247         * gst/gsttaglist.h:
1248         * gst/gsttagsetter.c:
1249         * gst/gsttagsetter.h:
1250         * gst/gsttrace.c:
1251         * gst/gsttrace.h:
1252         * gst/gsttypefind.h:
1253         * gst/gsturi.h:
1254         * gst/gstvalue.c:
1255         * gst/net/gstnetclientclock.c:
1256         * gst/net/gstnetclientclock.h:
1257         * gst/net/gstnettimepacket.c:
1258         * gst/net/gstnettimeprovider.c:
1259         * gst/net/gstnettimeprovider.h:
1260         Doc fixes.
1261
1262 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1263
1264         * configure.ac: back to HEAD
1265
1266 === release 0.9.6 ===
1267
1268 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
1269
1270         * configure.ac:
1271           releasing 0.9.6, "Always On Time"
1272
1273 2005-11-23  Wim Taymans  <wim@fluendo.com>
1274
1275         * docs/gst/gstreamer-sections.txt:
1276         * gst/glib-compat.c:
1277         * gst/gsttagsetter.c:
1278         * gst/gstvalue.c:
1279         * gst/net/gstnetclientclock.c:
1280         * gst/net/gstnettimepacket.h:
1281         Doc updates.
1282
1283 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1284
1285         * docs/faq/using.xml:
1286         * docs/libs/tmpl/gstcontrol.sgml:
1287         * docs/manual/advanced-dparams.xml:
1288         * docs/manual/appendix-checklist.xml:
1289         * docs/manual/basics-elements.xml:
1290         * docs/pwg/other-source.xml:
1291         * docs/random/moving-plugins:
1292         * gst/gstpad.c:
1293         * tools/gst-launch.1.in:
1294           remove mentions of sinesrc
1295
1296 2005-11-23  Michael Smith <msmith@fluendo.com>
1297
1298         * docs/gst/gstreamer-sections.txt:
1299           Update for new API and API changes.
1300         * gst/gstobject.h:
1301           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1302         * gst/gstvalue.c:
1303           Documentation typo fix.
1304         * gst/net/gstnettimepacket.c:
1305           Documentation fixes for arguments.
1306
1307 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
1308
1309         * gst/gststructure.c: (gst_structure_get_fraction),
1310         (gst_structure_parse_value),
1311         (gst_structure_fixate_field_nearest_fraction):
1312         * gst/gststructure.h:
1313         * gst/gstutils.c: (gst_util_uint64_scale_int):
1314         * gst/gstutils.h:
1315         * scripts/update-funcnames:
1316         API Changes. 
1317         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1318         Make gst_structure_fixate_field_nearest_fraction take a numerator
1319         and denominator argument instead of a GValue
1320         add gst_structure_get_fraction helper function.
1321
1322 2005-11-23  Wim Taymans  <wim@fluendo.com>
1323
1324         * docs/design/part-TODO.txt:
1325         Update TODO.
1326
1327         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1328         * gst/net/gstnetclientclock.h:
1329         Use parent fields for timeout and window_size.
1330
1331 2005-11-23  Andy Wingo  <wingo@pobox.com>
1332
1333         * check/net/gstnetclientclock.c (test_functioning): Adjust to
1334         rate_num/rate_denom change.
1335
1336         * gst/net/gstnetclientclock.c
1337         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1338         OBJECT_LOCK. Don't call add_observation with the lock.
1339
1340         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1341         fraction.
1342         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1343         rate fraction.
1344         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1345         deal with rate as a fraction whose numerator and denominator are
1346         GstClockTime values.
1347         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1348         master; the other fields are protected by the SLAVE_LOCK.
1349         (do_linear_regression): Note that this must be called with the
1350         SLAVE_LOCK.
1351         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1352         OBJECT_LOCK. Call set_calibration instead of touching the
1353         variables directly.
1354         (gst_clock_set_property, gst_clock_get_property): Protect
1355         master/slave parameters with the SLAVE_LOCK.
1356
1357         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1358         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1359         note that all of the instance variables that add_observation and
1360         the set_master functions use are protected by that lock and not
1361         the OBJECT_LOCK.
1362         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1363
1364         * gst/gstclock.c (gst_clock_add_observation): No longer requires
1365         the caller to take the object lock.
1366
1367 2005-11-23  Wim Taymans  <wim@fluendo.com>
1368
1369         * gst/gsterror.c: (_gst_core_errors_init):
1370         * gst/gsterror.h:
1371         Add error for clock stuff.
1372
1373         * gst/gstpipeline.c: (gst_pipeline_change_state),
1374         (gst_pipeline_set_clock):
1375         Post clock error when clock cannot be used in a pipeline.
1376
1377 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
1378
1379         * docs/gst/gstreamer-sections.txt:
1380           make two symbols from gstinfo private for the docs
1381         * gst/base/gstcollectpads.h:
1382         * gst/gstutils.c:
1383           fix doc typos, update docs
1384
1385 2005-11-22  Wim Taymans  <wim@fluendo.com>
1386
1387         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1388         (gst_base_sink_wait), (gst_base_sink_do_sync),
1389         (gst_base_sink_handle_event):
1390         * gst/base/gstbasesink.h:
1391         No need to store the clock, the parent element class already
1392         has it.
1393
1394         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
1395         Updates for clock_set returning a gboolean
1396
1397         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
1398         (gst_clock_id_wait_async), (gst_clock_class_init),
1399         (gst_clock_init), (gst_clock_finalize),
1400         (gst_clock_get_internal_time), (gst_clock_get_time),
1401         (gst_clock_slave_callback), (gst_clock_set_master),
1402         (gst_clock_get_master), (do_linear_regression),
1403         (gst_clock_add_observation), (gst_clock_set_property),
1404         (gst_clock_get_property):
1405         * gst/gstclock.h:
1406         Implement master/slave. When setting a clock as a slave, a
1407         periodic timeout is scheduled to sample master and slave times.
1408         Then the slave clock is recalibrated to match offset and rate
1409         of the master clock.
1410         Update logging a bit.
1411         Add flag so that a clock can state that is cannot be slaved to
1412         another clock.
1413
1414         * gst/gstelement.c: (gst_element_set_clock):
1415         * gst/gstelement.h:
1416         The set clock returns a gboolean for when an element cannot
1417         deal with the selected clock in the pipeline. 
1418
1419         * gst/gstpipeline.c: (gst_pipeline_change_state),
1420         (gst_pipeline_set_clock):
1421         * gst/gstpipeline.h:
1422         Handle the case where the selected clock cannot be set on
1423         the pipeline.
1424
1425         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
1426         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1427         (gst_net_client_clock_set_property),
1428         (gst_net_client_clock_get_property),
1429         (gst_net_client_clock_observe_times):
1430         * gst/net/gstnetclientclock.h:
1431         Use regression code in GstClock parent, remove duplicated
1432         functionality.
1433
1434 2005-11-22  Michael Smith <msmith@fluendo.com>
1435
1436         * gst/gstutils.c: (gst_util_clock_time_scale):
1437         * gst/gstutils.h:
1438         * docs/gst/gstreamer-sections.txt:
1439           Rename method to have extra underscore.
1440
1441 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1442
1443         * gst/elements/Makefile.am:
1444         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
1445         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1446         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1447         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
1448         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
1449         * gst/elements/gstfakesrc.h:
1450         * gst/gstqueue.c: (queue_leaky_get_type):
1451           correctly fix GEnumValues so that nick is the short lowercase
1452           dashed tag
1453         * tools/gst-inspect.c: (print_element_properties_info):
1454           also show the nick, since it's useful to use from parse_launch
1455           syntax
1456           Fixes #322139
1457
1458 2005-11-22  Michael Smith <msmith@fluendo.com>
1459
1460         * gst/gstutils.c: (gst_util_clocktime_scale):
1461         * gst/gstutils.h:
1462         * docs/gst/gstreamer-sections.txt:
1463           Add util method for scaling a clocktime by a fraction. Useful 
1464           implementation is left as an exercise for the reader.
1465
1466 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1467
1468         * gst/gstvalue.c: (gst_value_collect_fraction_range):
1469         If needed, allocate storage in the destination value during
1470         collection.
1471
1472 2005-11-22  Edward Hervey  <edward@fluendo.com>
1473
1474         * docs/gst/gstreamer-sections.txt:
1475         * gst/Makefile.am:
1476         * gst/gst.h:
1477         * gst/gsturitype.c:
1478         * gst/gsturitype.h:
1479         * gst/gstutils.c: (gst_util_set_object_arg):
1480         * tools/gst-compprep.c: (main):
1481         * tools/gst-inspect.c: (print_element_properties_info):
1482         Removed GstURI, closes bug #321061
1483
1484 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1485
1486         * check/gst/gststructure.c: (GST_START_TEST):
1487         * gst/gststructure.c: (gst_structure_parse_value):
1488           Oops, broke automatic string type parsing.
1489           Add a test to catch it in future.
1490
1491 2005-11-22  Andy Wingo  <wingo@pobox.com>
1492
1493         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
1494         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
1495         Actually rename the function implementations. Grr.
1496
1497 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1498
1499         * check/gst/capslist.h:
1500           Comment test cases
1501         * check/gst/gststructure.c: (GST_START_TEST),
1502         (gst_structure_suite):
1503           Test automatic value type detection in gst_structure_from_string.
1504         * gst/gststructure.c: (gst_structure_parse_value):
1505           Add fraction as a type we try and guess automatically in
1506           caps/structure strings.
1507
1508 2005-11-22  Andy Wingo  <wingo@pobox.com>
1509
1510         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
1511
1512         * gst/gsttagsetter.h:
1513         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
1514         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
1515         (gst_tag_setter_add_tag_valist)
1516         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
1517         _add_values, _add_valist, and _add_valist_values. Since this is an
1518         interface the function suffixes should be more explicit so
1519         language binding don't end up with element.add_valist ->
1520         gst_tag_setter_add_valist, for example. Fixes #322069.
1521
1522 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1523
1524         * check/gst/gstcaps.c: (GST_START_TEST):
1525           Extend caps string tests to check that a caps to string
1526           conversion is reversible and produces the same caps.
1527
1528         * gst/gststructure.c: (gst_structure_value_get_generic_type):
1529           Output "fraction" as the generic type fraction range, so caps
1530           serialisation and deserialisation works.
1531         * check/gst/capslist.h:
1532         * gst/gstvalue.c: (gst_value_deserialize_fraction):
1533           Support 'MIN' and 'MAX' for deserialising fractions.
1534
1535 2005-11-22  Andy Wingo  <wingo@pobox.com>
1536
1537         * gst/gstevent.h (gst_event_new_new_segment)
1538         (gst_event_parse_new_segment, gst_event_new_buffer_size)
1539         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
1540         Renamed from *_newsegment, *_buffersize, *_notarget.
1541
1542         * scripts/update-funcnames: New script, performs the changes
1543         listed above.
1544
1545 2005-11-22  Wim Taymans  <wim@fluendo.com>
1546
1547         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1548         Make sure the GstFlowReturn is returned.
1549
1550         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
1551         (gst_bus_add_signal_watch):
1552         * gst/gstbus.h:
1553         add gst_bus_add_signal_watch_full.
1554
1555         * gst/gstplugin.c: (gst_plugin_load_file):
1556         Small style cleanup.
1557
1558 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1559
1560         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
1561           Block the fakesrc srcpad when we send an event, to avoid
1562           contention on the stream_lock causing random test failures.
1563
1564 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1565
1566         * check/gst/gstvalue.c: (GST_START_TEST):
1567         * gst/gstvalue.c: (gst_value_fraction_subtract):
1568           Fix subtraction.
1569
1570 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
1571
1572         * gst/gst.h:
1573           include "gstchildproxy.h"
1574         * gst/gstchildproxy.h:
1575         * libs/gst/controller/gstcontroller.h:
1576           use G_GNUC_NULL_TERMINATED
1577
1578 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1579
1580         * check/gst/capslist.h:
1581         * check/gst/gstcaps.c: (GST_START_TEST):
1582         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1583         * gst/gststructure.c: (gst_structure_parse_range),
1584         (gst_structure_fixate_field_nearest_fraction):
1585         * gst/gststructure.h:
1586         * gst/gstvalue.c: (gst_value_init_fraction_range),
1587         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
1588         (gst_value_collect_fraction_range),
1589         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
1590         (gst_value_set_fraction_range_full),
1591         (gst_value_get_fraction_range_min),
1592         (gst_value_get_fraction_range_max),
1593         (gst_value_serialize_fraction_range),
1594         (gst_value_transform_fraction_range_string),
1595         (gst_value_compare_fraction_range),
1596         (gst_value_deserialize_fraction_range),
1597         (gst_value_intersect_fraction_fraction_range),
1598         (gst_value_intersect_fraction_range_fraction_range),
1599         (gst_value_subtract_fraction_fraction_range),
1600         (gst_value_subtract_fraction_range_fraction),
1601         (gst_value_subtract_fraction_range_fraction_range),
1602         (gst_value_collect_fraction), (gst_value_fraction_multiply),
1603         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
1604         (gst_value_transform_string_fraction), (_gst_value_initialize):
1605         * gst/gstvalue.h:
1606           Implement fraction ranges and extend GstFraction to support
1607           arithmetic subtraction, as well as deserialization from integer
1608           strings such as "100"
1609           Add a testsuite as for int and double range set operations
1610
1611 2005-11-21  Andy Wingo  <wingo@pobox.com>
1612
1613         * gst/gsttaglist.h: 
1614         * gst/gstcaps.h: 
1615         * gst/gststructure.h: Add glib-compat.h.
1616
1617 2005-11-21  Wim Taymans  <wim@fluendo.com>
1618
1619         * gst/gstbin.c: (gst_bin_change_state_func):
1620         Fix for #321595
1621
1622 2005-11-21  Wim Taymans  <wim@fluendo.com>
1623
1624         * gst/gstsegment.h:
1625         And add a nice define too.
1626
1627 2005-11-21  Wim Taymans  <wim@fluendo.com>
1628
1629         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
1630         (gst_segment_new), (gst_segment_free), (gst_segment_init),
1631         (gst_segment_set_duration), (gst_segment_set_last_stop),
1632         (gst_segment_set_seek), (gst_segment_set_newsegment),
1633         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1634         (gst_segment_clip):
1635         * gst/gstsegment.h:
1636         Make binding friendly.
1637
1638 2005-11-21  Andy Wingo  <wingo@pobox.com>
1639
1640         * gst/gsttagsetter.h: 
1641         * gst/gsttaglist.h: 
1642         * gst/gststructure.h: 
1643         * gst/gstcaps.h: 
1644         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
1645         #319940.
1646
1647         * gst/gsterror.c (_gst_core_errors_init):
1648         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
1649         category.
1650
1651         * gst/Makefile.am (gst_headers): Add glib-compat.h.
1652         (noinst_HEADERS): noinst the -private.
1653
1654 2005-11-21  Michael Smith <msmith@fluendo.com>
1655
1656         * gst/gstplugin.h:
1657         * gst/gstregistry.h:
1658           Remove unimplemented declarations for which we can see no sensible
1659           use.
1660
1661 2005-11-21  Andy Wingo  <wingo@pobox.com>
1662
1663         * gst/gst.h: Include glib-compat.h.
1664
1665         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
1666
1667         * gst/glib-compat.c: Include the public and the private header.
1668
1669         * gst/glib-compat-private.h: Copied here from glib-compat.h.
1670
1671         * gst/gstvalue.c: 
1672         * gst/gstpad.c: 
1673         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
1674
1675         * check/gst/gstevent.c (create_custom_events): Check that
1676         FLUSH_STOP is serialized.
1677
1678         * check/elements/identity.c (event_func): 
1679         * check/elements/fakesrc.c (event_func): No stream lock, the core
1680         takes it.
1681
1682         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
1683         stream lock taking, yay.
1684
1685         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
1686         ensure that core takes the stream lock.
1687
1688         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
1689         lock name change.
1690
1691         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
1692         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
1693         it already. For the flush start we do take it though so we get the
1694         right preroll state change messages.
1695
1696         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
1697         the stream lock here, the core does it for us.
1698
1699         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
1700         GST_STREAM_GET_LOCK.
1701         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
1702         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
1703         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
1704         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
1705         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
1706         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
1707
1708         * gst/gstpad.c: Update for stream lock name change.
1709
1710         * gst/base/gstbasesink.c: Update for preroll lock name change.
1711
1712 2005-11-21  Wim Taymans  <wim@fluendo.com>
1713
1714         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
1715         (gst_clock_get_master):
1716         * gst/gstclock.h:
1717         * gst/gstsystemclock.c: (gst_system_clock_init):
1718         Convert Clock flags to object flags.
1719         Added methods to manage master/slave clocks.
1720
1721 2005-11-21  Wim Taymans  <wim@fluendo.com>
1722
1723         * check/gst/gstsegment.c: (GST_START_TEST):
1724         * docs/design/part-TODO.txt:
1725         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1726         (gst_base_sink_event), (gst_base_sink_do_sync),
1727         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
1728         (gst_base_sink_query), (gst_base_sink_change_state):
1729         * gst/base/gstbasesink.h:
1730         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
1731         (gst_base_src_default_newsegment),
1732         (gst_base_src_configure_segment), (gst_base_src_do_seek),
1733         (gst_base_src_get_range), (gst_base_src_loop),
1734         (gst_base_src_change_state):
1735         * gst/base/gstbasesrc.h:
1736         * gst/base/gstbasetransform.c:
1737         (gst_base_transform_prepare_output_buf),
1738         (gst_base_transform_event), (gst_base_transform_change_state):
1739         * gst/base/gstbasetransform.h:
1740         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1741         (gst_collect_pads_event):
1742         * gst/base/gstcollectpads.h:
1743         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
1744         (gst_fake_src_create):
1745         * gst/elements/gstfakesrc.h:
1746         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1747         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1748         (gst_segment_set_last_stop), (gst_segment_set_seek),
1749         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
1750         (gst_segment_to_running_time), (gst_segment_clip):
1751         * gst/gstsegment.h:
1752         More segment updates, replace code in plugins with segment
1753         helper functions.
1754
1755 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1756
1757         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
1758         Don't ignore sscanf results
1759
1760 2005-11-21  Andy Wingo  <wingo@pobox.com>
1761
1762         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
1763
1764         * *.h:
1765         * *.c: Ran scripts/update-macros. Oh yes.
1766
1767         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
1768         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
1769         GST_GET_LOCK, etc.
1770
1771         * scripts/update-macros: New script. Run it on your files to
1772         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
1773         well.
1774
1775 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1776
1777         * docs/gst/Makefile.am:
1778         * docs/gst/gstreamer-docs.sgml:
1779         * docs/gst/gstreamer-sections.txt:
1780         * docs/gst/gstreamer.types:
1781         * gst/gstinfo.h:
1782           more docs fixes, add new api to the docs
1783
1784 2005-11-21  Andy Wingo  <wingo@pobox.com>
1785
1786         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
1787         state_broadcast call.
1788
1789         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
1790
1791 2005-11-21  Julien MOUTTE  <julien@moutte.net>
1792
1793         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
1794         function calls for arrays.
1795
1796 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1797
1798         * docs/random/ensonic/media-device-daemon.txt:
1799           wild idea, can this be done?
1800         * docs/gst/gstreamer-sections.txt:
1801         * gst/gsterror.h:
1802         * gst/gstfilter.c:
1803         * gst/gstfilter.h:
1804         * gst/gstplugin.h:
1805         * gst/gstpluginfeature.c:
1806         * gst/gsttrace.c:
1807         * gst/gstvalue.c:
1808         * gst/gstvalue.h:
1809           doc fixes and additions
1810
1811 2005-11-21  Andy Wingo  <wingo@pobox.com>
1812
1813         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
1814         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
1815         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
1816         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
1817         private to the basesrc implementation.
1818
1819         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
1820         behalf of event function if necessary. It should no longer be
1821         necessary to take the stream lock in pad's event functions. Fixes
1822         #320299.
1823
1824 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1825         * docs/gst/gstreamer-sections.txt:
1826         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
1827         (gst_structure_fixate_field_nearest_double),
1828         (gst_structure_fixate_field_boolean):
1829         * gst/gststructure.h:
1830         * win32/common/libgstreamer.def:
1831         * win32/gstreamer.def:
1832
1833         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
1834         (#322027)
1835
1836 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1837
1838         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
1839         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
1840         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
1841         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
1842         (gst_fdsrc_uri_handler_init):
1843         * gst/elements/gstfdsrc.h:
1844           Port fd:// URI handler from 0.8 to fdsrc
1845
1846 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1847
1848         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
1849         (gst_value_serialize_fourcc):
1850         * gst/gstvalue.h:
1851           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
1852           consistent with our other format defines (#320324).
1853
1854 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1855
1856         * gst/gstvalue.c: (gst_value_is_fixed):
1857           Revert previous commit. Value lists are by definition
1858           not fixed, as they are a list of possible values.
1859
1860 2005-11-21  Andy Wingo  <wingo@pobox.com>
1861
1862         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
1863         during the stable series if we need it. Fixes #319178.
1864
1865         * gst/gstevent.c (gst_event_new_filler): Removed.
1866
1867         * check/gst/gstevent.c: Update comment about filler events.
1868
1869 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1870
1871         * gst/gstvalue.c: (gst_value_is_fixed):
1872           Should handle both value arrays and value lists.
1873
1874 2005-11-21  Andy Wingo  <wingo@pobox.com>
1875
1876         patch by: Alessandro Dessina <alessandro nnva org>
1877
1878         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
1879         functions to access arrays. Fixes #321962.
1880
1881 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1882
1883         * docs/gst/gstreamer.types:
1884           gst_collectpads_get_type => gst_collect_pads_get_type.
1885           
1886         * gst/base/gstbasetransform.c:
1887           Remove unused SIGNAL_HANDOFF enum.
1888
1889 2005-11-21  Andy Wingo  <wingo@pobox.com>
1890
1891         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
1892         the event type (upstream, downstream, serialized). Renamed
1893         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
1894         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
1895         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
1896
1897         * gst/gstevent.c: Update for new CUSTOM event names.
1898
1899         * check/gst/gstevent.c: Update check for new CUSTOM event names.
1900
1901         * gst/gstevent.h:
1902         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
1903         bug #319392.
1904
1905 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1906
1907         * docs/gst/gstreamer-sections.txt:
1908         * win32/common/libgstbase.def:
1909         * win32/libgstbase.def:
1910         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1911         (gst_collect_pads_class_init), (gst_collect_pads_init),
1912         (gst_collect_pads_finalize), (gst_collect_pads_new),
1913         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
1914         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
1915         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
1916         (gst_collect_pads_start), (gst_collect_pads_stop),
1917         (gst_collect_pads_peek), (gst_collect_pads_pop),
1918         (gst_collect_pads_available), (gst_collect_pads_read),
1919         (gst_collect_pads_flush), (gst_collect_pads_event),
1920         (gst_collect_pads_chain):
1921         * gst/base/gstcollectpads.h:
1922           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
1923           unimplemented functions as unimplemented. Add padding to
1924           GstCollectData. (#320766, #320423)
1925
1926 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1927
1928         * gst/gstmessage.c:
1929           Improve docs for DURATION message (usage of duration parameter)
1930           (#320113)
1931
1932 2005-11-20  Wim Taymans  <wim@fluendo.com>
1933
1934         * check/Makefile.am:
1935         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
1936         (main):
1937         * gst/Makefile.am:
1938         * gst/gst.h:
1939         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1940         (gst_segment_set_seek), (gst_segment_set_newsegment),
1941         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1942         (gst_segment_clip):
1943         * gst/gstsegment.h:
1944         Added segment helper structure and methods. Not fully implemented
1945         yet.
1946         Added segment check.
1947
1948 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
1949
1950         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1951           Add a deserialisation test for fractions
1952         * examples/metadata/read-metadata.c: (message_loop),
1953         (make_pipeline), (main):
1954           Fix up metadata reading sample.
1955         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1956           Debug format fix
1957         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1958           Don't try and fixate empty caps
1959         * gst/gst_private.h:
1960           Wrap in G_BEGIN_DECLS/G_END_DECLS
1961         * gst/gstvalue.c: (gst_value_collect_fraction),
1962         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
1963         (gst_value_transform_string_fraction),
1964         (gst_value_compare_fraction):
1965           Add some extra guards to ensure that we don't end up 
1966           with an invalid denominator of 0 in a gstfraction and
1967           that fractions always get reduced.
1968
1969 2005-11-20  Wim Taymans  <wim@fluendo.com>
1970
1971         * docs/gst/gstreamer-sections.txt:
1972         * gst/gstbuffer.h:
1973         * gst/gstelement.c:
1974         * gst/gstformat.c:
1975         * gst/gstformat.h:
1976         * gst/gstindex.h:
1977         * gst/gstquery.c:
1978         * gst/gstquery.h:
1979         * gst/gstvalue.c:
1980         Doc fixes.
1981
1982 2005-11-20  Wim Taymans  <wim@fluendo.com>
1983
1984         * docs/design/part-TODO.txt:
1985         * gst/gstcaps.h:
1986         Make a proper enum of the flag.
1987
1988 2005-11-19  Wim Taymans  <wim@fluendo.com>
1989
1990         * docs/design/part-TODO.txt:
1991         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
1992         (gst_format_to_quark), (gst_format_register):
1993         * gst/gstformat.h:
1994         * gst/gstquery.c: (_gst_query_initialize),
1995         (gst_query_type_get_name), (gst_query_type_to_quark),
1996         (gst_query_type_register):
1997         * gst/gstquery.h:
1998         Add type to quark and type to string conversions.
1999
2000 2005-11-19  Andy Wingo  <wingo@pobox.com>
2001
2002         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
2003         #320097.
2004
2005 2005-11-19  Wim Taymans  <wim@fluendo.com>
2006
2007         * docs/design/part-TODO.txt:
2008         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
2009         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
2010         (gst_bin_handle_message_func):
2011         * gst/gstbin.h:
2012         Make message handling overridable.
2013
2014 2005-11-19  Andy Wingo  <wingo@pobox.com>
2015
2016         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
2017
2018         * gst/gstclock.h:
2019         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
2020         be a GstClockTime.
2021         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
2022         is a GstClockTime. Fixes #321710.
2023
2024         * gst/gstclock.h (GstClock): Remove offset property. Add
2025         internal_calibration and external_calibration. Fix padding. Pad
2026         also by GstClockTime so we don't run into problems.
2027
2028         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
2029         (gst_clock_get_rate_offset): Remove.
2030         (gst_clock_set_time_adjust): Remove. Fixes #321712.
2031
2032         * gst/gstutils.h:
2033         * gst/gstutils.c (g_static_rec_cond_wait)
2034         (g_static_rec_cond_timed_wait): Removed, no longer needed.
2035
2036         * gst/gstbin.c: Remove terrible continue_state prototype.
2037
2038         * gst/gstelement.h (gst_element_continue_state): Make public.
2039
2040         * gst/gstelement.h:
2041         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
2042         by continue_state. Fixes #319389.
2043
2044         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
2045         Really fixes #168438. However I don't see anywhere where the
2046         filter function is called... stupid GStreamer...
2047         
2048         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
2049         don't have a dispose function, so it won't get called when the
2050         object is unreffed, but oh well!
2051
2052         * gst/gstindex.c (gst_index_set_filter_full): New API function,
2053         allows a destroy function to be set so user_data can be freed.
2054         Fixes #168438.
2055         (gst_index_set_filter): Call gst_index_set_filter_full.
2056
2057         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
2058
2059         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
2060         string should produce an error, given the lack of a way to
2061         represent NULL strings. Fixes #165650.
2062         
2063         * gst/gstvalue.h: 
2064         * gst/gstvalue.c (gst_value_array_append_value) 
2065         (gst_value_array_prepend_value, gst_value_array_get_size) 
2066         (gst_value_array_get_value): New API, copied from
2067         gst_value_list_*, only operates on arrays.
2068         (gst_value_list_append_value, gst_value_list_prepend_value) 
2069         (gst_value_list_concat, gst_value_list_get_size) 
2070         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
2071
2072         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
2073         init_list, because it works on both.
2074         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
2075         (gst_value_copy_list_or_array): Renamed from copy_list.
2076         (gst_value_free_list_or_array): Renamed from free_list.
2077         (gst_value_collect_list_or_array): Renamed from collect_list.
2078         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
2079         (gst_value_list_or_array_peek_pointer): Renamed from
2080         list_peek_pointer.
2081         (_gst_value_array_value_table, _gst_value_list_value_table):
2082         Update value table functions.
2083         (gst_value_compare_list_or_array): Renamed from compare_list.
2084
2085         * gsttaglist.h: Whoops, foreach function returns void. Also fix
2086         some constness.
2087
2088         * gst/gsttaglist.c:
2089         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
2090         GstTagList*. Fixes #143472.
2091
2092         * gst/gststructure.h: Clarify what the foreach/map functions can
2093         or can't do to their arguments.
2094
2095 2005-11-18  Wim Taymans  <wim@fluendo.com>
2096
2097         * gst/gstclock.c: (gst_clock_set_calibration),
2098         (gst_clock_get_calibration):
2099         Doc and API fixes.
2100         Calibration can be set with internal time equal to current
2101         internal time too.
2102
2103 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2104
2105         * gst/gsterror.c:
2106         * gst/gsterror.h:
2107           document
2108
2109 2005-11-18  Andy Wingo  <wingo@pobox.com>
2110
2111         * configure.ac: 
2112         * pkgconfig/gstreamer-net.pc.in:
2113         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2114         * pkgconfig/Makefile.am: Add net pkgconfig files.
2115
2116 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
2117
2118         * gst/gstcaps.c:
2119         * gst/gstghostpad.c:
2120         * gst/gsttrace.c:
2121         * gst/gstvalue.c:
2122         * gst/gstvalue.h:
2123           docs fixes
2124
2125 2005-11-18  Andy Wingo  <wingo@pobox.com>
2126
2127         * gst/net/gstnetclientclock.c: Turn off debugging.
2128
2129         * check/net/gstnetclientclock.c (test_functioning): Assert that the
2130         times connverge somewhat. Can't make a real test.
2131
2132         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
2133         integer arithmetic. Return the minimum of the domain, which can be
2134         set as "internal" for gst_clock_set_calibration.
2135         (gst_net_client_clock_observe_times): Call _set_calibration.
2136         (gst_net_client_clock_new): Call _set_calibration instead of
2137         rate_offset.
2138
2139         * check/net/gstnetclientclock.c (test_functioning): Use the right
2140         adjustment api.
2141
2142         * gst/gstclock.h:
2143         * gst/gstclock.c (gst_clock_get_calibration) 
2144         (gst_clock_set_calibration): New functions, obsolete the ones I
2145         added yesterday. Doh. Precision issues mean we have to extrapolate
2146         from a point in the more recent past than 1970.
2147         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
2148         obsolete.
2149         (gst_clock_adjust_unlocked): Use the right calibration data.
2150
2151 2005-11-18  Edward Hervey  <edward@fluendo.com>
2152
2153         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
2154         Also reset the ->current_* values in READY->PAUSED
2155
2156 2005-11-18  Andy Wingo  <wingo@pobox.com>
2157
2158         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
2159         Whoops, check the right fd. Also add some debugging.
2160         (gst_net_client_clock_observe_times): Adjust for int64 offset.
2161         (do_linear_regression): Add a crapload of debugging. Subtract off
2162         the minimum values from the input series to discard unneeded bits.
2163         Use only int arithmetic. There is still double arithmetic when
2164         calculating the intercept that needs fixing. Return boolean to
2165         indicate success; FALSE would mean the domain or range is too
2166         great. Still needs fixes.
2167
2168 2005-11-18  Wim Taymans  <wim@fluendo.com>
2169
2170         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2171         For the current position in stream time, we need to subtract
2172         accumulated time.
2173         
2174         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2175         Release lock before calling the callback function of async
2176         entries.
2177
2178 2005-11-18  Andy Wingo  <wingo@pobox.com>
2179
2180         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
2181         Port goes all the way to MAXUINT16.
2182
2183         * gst/net/gstnettimeprovider.c: Make the port range the same as
2184         for the kernel: 0 assigns, otherwise ports are less than
2185         MAXUINT16.
2186
2187         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
2188         port change.
2189
2190         * check/net/gstnetclientclock.c (test_functioning): Add the start
2191         of another test. 
2192
2193 2005-11-18  Wim Taymans  <wim@fluendo.com>
2194
2195         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2196         (gst_bin_remove_func), (bin_bus_handler):
2197         * gst/gstbin.h:
2198         Removing a clock provider from a bin, triggers a clock lost message
2199         so that a new clock will be selected.
2200         Adding a clock to a bin triggers a clock provider message.
2201         Make sure we reselect a clock when we received a clock lost message.
2202         Keep a reference to the element that provided the clock.
2203
2204 2005-11-18  Andy Wingo  <wingo@pobox.com>
2205
2206         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2207         the clock initially so it produces values around the base time.
2208         (gst_net_client_clock_class_init): Typo fix.
2209         (gst_net_client_clock_thread): Add note on when the socket gets
2210         closed.
2211
2212 2005-11-17  Wim Taymans  <wim@fluendo.com>
2213
2214         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2215         Free remote and local time arrays.
2216
2217 2005-11-17  Wim Taymans  <wim@fluendo.com>
2218
2219         * gst/net/gstnetclientclock.c: (do_linear_regression),
2220         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2221         Fix compilation, uninitialized vars and a forgotten continue.
2222
2223 2005-11-17  Andy Wingo  <wingo@pobox.com>
2224
2225         * check/Makefile.am (check_PROGRAMS): 
2226         * check/net/gstnetclientclock.c: Add a most minimal test for the
2227         net client clock. More to come later.
2228
2229         * gst/net/gstnet.h: 
2230         * gst/net/Makefile.am: Add netclientclock.
2231
2232         * gst/net/gstnetclientclock.h:
2233         * gst/net/gstnetclientclock.c: New files, implement an untested
2234         GstClock that takes its time from a network time provider.
2235         Implements the algorithm in network-clock.scm.
2236
2237         * tests/network-clock.scm (*window-size*): Rename from
2238         *queue-length*.
2239         * tests/network-clock.scm (network-time): 
2240         * tests/network-clock-utils.scm (q-push): Update callers.
2241
2242 2005-11-17  Wim Taymans  <wim@fluendo.com>
2243
2244         * gst/gstbin.c: (gst_bin_provide_clock_func),
2245         (gst_bin_sort_iterator_new):
2246         And unref the child too..
2247
2248 2005-11-17  Wim Taymans  <wim@fluendo.com>
2249
2250         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2251         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2252         Refactor the sort iterator so it can be used while holding the
2253         LOCK too.
2254         Make clock selection select a clock closest to the source.
2255
2256 2005-11-17  Michael Smith <msmith@fluendo.com>
2257
2258         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2259         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2260         * gst/gstclock.h:
2261           Anonymous structs are a gcc (and some other compilers) extension, so
2262           don't use them. Since this is only for ABI-compatibility, and our
2263           API/ABI freeze is over in a few days, this whole thing will only
2264           last a few days, so don't bother trying to think up a meaningful
2265           name for the struct.
2266
2267 2005-11-17  Andy Wingo  <wingo@pobox.com>
2268
2269         * gst/gstclock.h (GstClock): Add rate and offset properties,
2270         preserving ABI stability. Add rate/offset accessors. Will file bug
2271         for the freeze break.
2272
2273         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2274         and offset, trying to keep precision and avoiding
2275         underflow/overflow.
2276         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2277         functions. Make gst_clock_set_time_adjust obsolete.
2278         (gst_clock_set_time_adjust): Note that this function is obsolete.
2279         Will file bug soon.
2280
2281         * gst/base/gstbasetransform.h: Make the ABI-stability hack
2282         greppable by using GST_PADDING-1+1.
2283
2284 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
2285
2286         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2287
2288         * gst/gstmessage.c: (gst_message_parse_clock_lost):
2289           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2290
2291         * gst/gstpadtemplate.h:
2292         * gst/gstpluginfeature.h:
2293           Don't use c++ style comments in headers (#321638).
2294
2295 2005-11-16  Andy Wingo  <wingo@pobox.com>
2296
2297         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2298         buffer.
2299
2300         * check/net/gstnettimeprovider.c: Check to see that the time
2301         provider actually provides times. Works, yo!
2302
2303 2005-11-16  Wim Taymans  <wim@fluendo.com>
2304
2305         * check/Makefile.am:
2306         Enable more tests.
2307
2308         * check/elements/fakesrc.c: (GST_START_TEST):
2309         Set element to NULL before disposing it.
2310
2311 2005-11-16  Andy Wingo  <wingo@pobox.com>
2312
2313         * gst/net/Makefile.am:
2314         * gst/net/gstnet.h:
2315         * gst/net/gstnettimeprovider.c: 
2316         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2317         provider, include it from gstnet.h, and add it to the build.
2318
2319         * gst/net/gstnettimepacket.h: 
2320         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2321         sending and receiving.
2322
2323 2005-11-16  Wim Taymans  <wim@fluendo.com>
2324
2325         * check/Makefile.am:
2326         Enable valgrind check.
2327
2328         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2329         (gst_fake_src_alloc_buffer):
2330         Fix memleak.
2331
2332 2005-11-16  Wim Taymans  <wim@fluendo.com>
2333
2334         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2335         Call parent finalize too.
2336
2337 2005-11-16  Wim Taymans  <wim@fluendo.com>
2338
2339         * check/Makefile.am:
2340         Enable valgrind check that should work fine now.
2341
2342         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2343         * gst/gstqueue.c: (gst_queue_init):
2344         Fix memleaks in pad allocation.
2345
2346 2005-11-16  Andy Wingo  <wingo@pobox.com>
2347
2348         * gst/net/Makefile.am:
2349         * gst/net/gstnet.h: New part of core to hold network elements and
2350         objects. Put in core because it exposes API that applications want
2351         to use. The library is named libgstnet-tempname right now because
2352         of the existing libgstnet in gst-plugins-base. Solution is
2353         probably to rename the one in plugins-base; will file a bug for
2354         the freeze break.
2355
2356         * gst/net/gstnettimeprovider.c: 
2357         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2358         get_time call over the network.
2359
2360         * configure.ac: 
2361         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2362
2363         * check/Makefile.am:
2364         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2365         get additions shortly.
2366
2367 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2368
2369         * gst/gstpad.c: (gst_pad_new_from_static_template):
2370         * gst/gstpad.h:
2371           add gst_pad_new_from_static_template functions
2372         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2373         (gst_check_setup_sink_pad):
2374         * gst/elements/gsttee.c: (gst_tee_init):
2375           and use them
2376
2377 2005-11-16  Wim Taymans  <wim@fluendo.com>
2378
2379         * gst/gstpad.c: (gst_pad_pause_task):
2380         Removed warning, it's not really an error either.
2381
2382 2005-11-16  Wim Taymans  <wim@fluendo.com>
2383
2384         * gst/base/gstbasetransform.c:
2385         (gst_base_transform_prepare_output_buf),
2386         (gst_base_transform_event):
2387         Check if the caps are NULL, this can happen if the element
2388         is shutting down and the pad caps are set to NULL.
2389
2390 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2391
2392         * gst/elements/gsttee.c: (gst_tee_init):
2393           fix pad template leak in tee
2394
2395 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2396
2397         * gst/glib-compat.c: (g_value_dup_gst_object):
2398         * gst/glib-compat.h:
2399         * gst/gstpad.c: (gst_pad_set_property):
2400           use gst_object_ref when setting the pad template; this will
2401           trigger the pad template leaks on GLib 2.6 and the slaves
2402
2403 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2404
2405         * gst/glib-compat.c: (gst_flags_get_first_value):
2406         * gst/glib-compat.h:
2407         * gst/gstregistryxml.c:
2408           remove functions copied from GLib 2.6
2409
2410 2005-11-16  Michael Smith <msmith@fluendo.com>
2411
2412         * gst/Makefile.am:
2413           Don't link against VALGRIND_LIBS. That was always the wrong thing to
2414           do, but only breaks with newer valgrind versions. We're not a
2415           valgrind tool, we have no link-time dependencies on libcoregrind.
2416
2417 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2418
2419         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2420           some debug changes
2421         * gst/gstmessage.h:
2422           typo fixes
2423
2424 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2425
2426         * gst/base/gstbasesrc.c: (gst_base_src_init):
2427         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2428         * gst/gstqueue.c: (gst_queue_init):
2429         * gst/gstregistryxml.c: (load_feature):
2430           Revert all these unrefs, they don't even pass make check !
2431
2432 2005-11-15  Johan Dahlin  <johan@gnome.org>
2433
2434         * gst/base/gstbasesrc.c: (gst_base_src_init):
2435         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2436         * gst/gstqueue.c: (gst_queue_init): 
2437         Free pad templates, fixes a couple of leaks.
2438
2439 2005-11-15  Daniel Fischer  <dan at f3c dot com>
2440
2441         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2442
2443         * gst/gstpad.c: (gst_pad_get_property):
2444           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
2445           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
2446           (#321452)
2447
2448 2005-11-15  Wim Taymans  <wim@fluendo.com>
2449
2450         * gst/gstevent.c:
2451         Small doc update.
2452
2453 2005-11-15  Andy Wingo  <wingo@pobox.com>
2454
2455         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
2456
2457         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
2458         using GST_CLOCK_TIME_NONE to disable base time management.
2459         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
2460         time if it was NONE before.
2461         (gst_pipeline_change_state): Only munge the base time if
2462         stream_time != GST_CLOCK_TIME_NONE.
2463
2464         * check/gst/gstpipeline.c (test_base_time): Punt around the
2465         problem of the probe not being called, because that's not the
2466         issue I'm looking at. Add a check that setting stream_time to NONE
2467         disables base time management.
2468         
2469 2005-11-15  Wim Taymans  <wim@fluendo.com>
2470
2471         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2472         segment_stop == -1 at startup.
2473
2474         * gst/base/gstbasetransform.c: (gst_base_transform_event),
2475         (gst_base_transform_change_state):
2476         Init segment values at start.
2477
2478 2005-11-15  Wim Taymans  <wim@fluendo.com>
2479
2480         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2481         0 segment values are 0 in any format.
2482
2483         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2484         * gst/base/gstbasetransform.h:
2485         Parse newsegment correctly in basetransform
2486
2487         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2488         Sync to clock using updated segment values.
2489
2490 2005-11-15  Andy Wingo  <wingo@pobox.com>
2491
2492         * check/gst/gstpipeline.c (test_base_time): Add check that the
2493         base time and stream time are reset correctly.
2494
2495 2005-11-15  Wim Taymans  <wim@fluendo.com>
2496
2497         * docs/design/part-TODO.txt:
2498         Some more TODO items.
2499
2500 2005-11-15  Andy Wingo  <wingo@pobox.com>
2501
2502         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
2503         error if the user selected "no clock" as the clocking method.
2504
2505         * check/gst/gstpipeline.c (test_base_time): New test for buffer
2506         timestamps with live capture.
2507
2508         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
2509         is 0 but we are a live source, timestamp the buffers using the
2510         element's clock.
2511
2512 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
2513
2514         * docs/gst/gstreamer-sections.txt:
2515         * gst/gsterror.c:
2516         * gst/gstghostpad.c:
2517         * gst/gstobject.h:
2518         * gst/gstxml.c:
2519           more section docs
2520
2521 2005-11-14  Wim Taymans  <wim@fluendo.com>
2522
2523         * common/gst.supp:
2524           add suppressions from Wim's Debian machine
2525
2526 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2527
2528         * common/gst.supp:
2529           add suppressions from Andy's AMD64 Ubuntu machine
2530
2531 2005-11-14  Andy Wingo  <wingo@pobox.com>
2532
2533         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
2534         STATE_LOCK not necessary. Fixes #311489.
2535
2536         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
2537         #305291.
2538
2539         * gst/gstindex.c (gst_index_add_object): Note in the docs that
2540         this function is not implemented.
2541
2542 2005-11-14  Julien MOUTTE  <julien@moutte.net>
2543
2544         * gst/base/gstbasetransform.c:
2545         (gst_base_transform_prepare_output_buf):
2546         Ref the source pad caps while we need them.
2547         Fixes (#321386)
2548
2549 2005-11-11  Wim Taymans  <wim@fluendo.com>
2550
2551         * docs/gst/gstreamer-sections.txt:
2552         Added some docs for GstCollectData.
2553
2554         * gst/base/gstadapter.c:
2555         Some small code example fix.
2556
2557         * gst/base/gstcollectpads.c:
2558         * gst/base/gstcollectpads.h:
2559         Document some more.
2560
2561 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2562
2563         * configure.ac: back to HEAD
2564
2565 === release 0.9.5 ===
2566
2567 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
2568
2569         * configure.ac:
2570           releasing 0.9.5, "Bike Lunch Day"
2571
2572 2005-11-11  Wim Taymans  <wim@fluendo.com>
2573
2574         * gst/gstbuffer.c: (_gst_buffer_copy):
2575         Copy more flags.
2576
2577         * gst/gstcaps.c: (gst_caps_is_equal):
2578         Fix some docs.
2579         Make _is_equal fast in the trivial cases.
2580
2581         * gst/gstminiobject.c:
2582         * gst/gstminiobject.h:
2583         More docs. Spifify .h file.
2584
2585         * gst/gstutils.c:
2586         Small doc update.
2587
2588 2005-11-11  Wim Taymans  <wim@fluendo.com>
2589
2590         * gst/base/gstbasetransform.c:
2591         (gst_base_transform_prepare_output_buf),
2592         (gst_base_transform_handle_buffer):
2593         Small cleanups.
2594         If we're processing a buffer and need to allocate an output
2595         buffer, we cannot accept a format change. If we did get a 
2596         format change, we have to alloc a buffer ourselves of the 
2597         right size.
2598
2599 2005-11-11  Wim Taymans  <wim@fluendo.com>
2600
2601         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
2602         While checking the flag for reentrancy in the gstcaps function
2603         is nice to detect recursive invocations, it also makes it 
2604         impossible to call getcaps from multiple threads, which must be
2605         possible. So, checking for recursive calls has to go.
2606
2607 2005-11-11  Michael Smith <msmith@fluendo.com>
2608
2609         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2610           Don't sync on buffers that fall partially outside our current
2611           segment. Prevents an assertion failure/abort playing some files.
2612
2613 2005-11-10  Andy Wingo  <wingo@pobox.com>
2614
2615         * check/gst/gstbin.c (test_message_state_changed_children): Style
2616         fix..
2617
2618         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
2619         gst_bus_poll with the signal watch. Ensures that poll and a signal
2620         watch see the same messages.
2621
2622         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
2623         a poll and a watch at the same time get the same messages.
2624
2625 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2626
2627         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
2628         * gst/gstcaps.c: (gst_caps_intersect):
2629           Don't call gst_caps_do_simplify - it doesn't respect order of caps
2630           and it's not needed.
2631
2632 2005-11-10  Wim Taymans  <wim@fluendo.com>
2633
2634         * docs/design/part-TODO.txt:
2635         Updated todo.
2636
2637 2005-11-10  Wim Taymans  <wim@fluendo.com>
2638
2639         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2640         * gst/base/gstbasesrc.c: (gst_base_src_wait),
2641         (gst_base_src_do_sync), (gst_base_src_get_range):
2642         Implement clock sync in base class.
2643
2644 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2645
2646         patch by: Tim-Philipp Müller <tim at centricular dot net>
2647
2648         * gst/gststructure.c: (gst_structure_parse_field),
2649         (gst_structure_from_string):
2650           Forward-port a 0.8 patch to handle escaped spaces in structure string,
2651           so that gst_parse_launch() can deal with spaces in filtered link
2652           caps (fixes #164479)
2653         * check/gst/capslist.h:
2654         * check/gst/gststructure.c: (GST_START_TEST):
2655           add unit tests for this change
2656
2657 2005-11-10  Wim Taymans  <wim@fluendo.com>
2658
2659         * docs/gst/gstreamer-sections.txt:
2660         * gst/gstelement.c:
2661         * gst/gstelement.h:
2662         Fix docs, move some STATE macros to private.
2663
2664 2005-11-10  Wim Taymans  <wim@fluendo.com>
2665
2666         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
2667         Added check for bug #317341
2668
2669         * gst/gstbuffer.c:
2670         * gst/gstbuffer.h:
2671         Some more spiffifying.
2672
2673         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
2674         Call peer linkfunction if we are a source pad. Totally fixes
2675         #317341
2676
2677         * gst/gstpad.c:
2678         Update docs, source pads should call the peer linkfunction
2679         so they can atomically perform the pad link.
2680
2681 2005-11-09  Wim Taymans  <wim@fluendo.com>
2682
2683         * gst/gstbuffer.c:
2684         * gst/gstbuffer.h:
2685         Uber-spiffy-spiffify some more.
2686
2687 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
2688
2689         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
2690         * gst/elements/gstfilesink.c: (gst_file_sink_init):
2691         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2692         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
2693         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
2694         * gst/gstpad.c: (gst_pad_init):
2695           Use GST_DEBUG_FUNCPTR() more extensively.
2696
2697 2005-11-09  Wim Taymans  <wim@fluendo.com>
2698
2699         * gst/gstobject.c: (gst_object_class_init):
2700         * gst/gstobject.h:
2701         Documentation fixes.
2702
2703 2005-11-09  Edward Hervey  <edward@fluendo.com>
2704
2705         * gst/gsttypefindfactory.c:
2706         Fix docs.
2707         
2708 2005-11-09  Edward Hervey  <edward@fluendo.com>
2709
2710         * gst/base/gsttypefindhelper.c:
2711         * gst/gsttypefind.c:
2712         * gst/gsttypefind.h:
2713         Fix docs.
2714
2715 2005-11-09  Wim Taymans  <wim@fluendo.com>
2716
2717         * gst/gstiterator.c:
2718         Fix revision data.
2719
2720         * gst/gsttask.c:
2721         * gst/gsttask.h:
2722         Fix docs.
2723
2724 2005-11-09  Wim Taymans  <wim@fluendo.com>
2725
2726         * gst/gstevent.h:
2727         * gst/gsturi.h:
2728         Fix docs.
2729
2730 2005-11-09  Wim Taymans  <wim@fluendo.com>
2731
2732         * docs/gst/gstreamer-sections.txt:
2733         Moved the message async delivery private lock and cond
2734         to the private section.
2735
2736         * gst/gstmessage.c:
2737         * gst/gstmessage.h:
2738         Fixed docs.
2739
2740 2005-11-09  Edward Hervey  <edward@fluendo.com>
2741
2742         * docs/gst/gstreamer-sections.txt:
2743         * gst/gsturi.c:
2744         * gst/gsturi.h:
2745         Document GstURIHandler
2746
2747 2005-11-09  Wim Taymans  <wim@fluendo.com>
2748
2749         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
2750         (gst_iterator_find_custom):
2751         * gst/gstiterator.h:
2752         Fix iterator docs.
2753
2754 2005-11-09  Wim Taymans  <wim@fluendo.com>
2755
2756         * gst/gstbin.h:
2757         Document another field.
2758
2759         * gst/gststructure.c:
2760         * gst/gststructure.h:
2761         Document.
2762
2763 2005-11-09  Wim Taymans  <wim@fluendo.com>
2764
2765         * gst/gstbin.h:
2766         Documented structs.
2767
2768 2005-11-09  Wim Taymans  <wim@fluendo.com>
2769
2770         * docs/gst/gstreamer-sections.txt:
2771         Added some new macros.
2772
2773         * gst/gstclock.c:
2774         * gst/gstclock.h:
2775         * gst/gstobject.h:
2776         Docs updates.
2777
2778 2005-11-09  Wim Taymans  <wim@fluendo.com>
2779
2780         * docs/design/part-TODO.txt:
2781         Some more items for the TODO
2782
2783         * gst/gstcaps.c:
2784         * gst/gstcaps.h:
2785         Document GstCaps.
2786
2787 2005-11-09  Andy Wingo  <wingo@pobox.com>
2788
2789         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
2790         to work on something else now tho...
2791
2792         * gst/base/gstadapter.c: More adapter docs.
2793
2794         * gst/elements/gstfilesink.c (gst_file_sink_start) 
2795         (gst_file_sink_stop): New functions, replace the state change
2796         handler.
2797         (gst_file_sink_class_init): Hook up the start and stop functions.
2798         (gst_file_sink_base_init): Don't set the state change handler any
2799         more. It was a bit ugly too, being set from here...
2800         (gst_file_sink_get_property, gst_file_sink_set_property):
2801         Cleanups...
2802         (gst_file_sink_set_location): More robust check that doesn't call
2803         GST_STATE. Ugggggg.
2804
2805 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
2806
2807         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2808           Hold STREAM_LOCK while pushing newsegment or tag events as well.
2809
2810 2005-11-08  Wim Taymans  <wim@fluendo.com>
2811
2812         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2813         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
2814         (gst_base_sink_chain), (gst_base_sink_change_state):
2815         * gst/base/gstbasesink.h:
2816         * gst/base/gstbasesrc.h:
2817         * gst/gstelement.h:
2818         * gst/gstevent.h:
2819         Avoid excessive typechecking in macros.
2820
2821         * gst/gstminiobject.c: (gst_mini_object_get_type),
2822         (gst_mini_object_init), (gst_mini_object_new),
2823         (gst_mini_object_free):
2824         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
2825         (gst_object_finalize):
2826         Remove cruft code, optimize alloc_trace.
2827
2828 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2829
2830         * docs/faq/gst-uninstalled:
2831           fix up PS1 for systems that try to reset it
2832
2833 2005-11-07  Wim Taymans  <wim@fluendo.com>
2834
2835         * gst/base/gstbasesrc.c: (gst_base_src_init),
2836         (gst_base_src_get_range):
2837         Set the segment_end to -1 initially. Fixed typefind.
2838
2839 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2840
2841         * gst/base/gstadapter.c:
2842           Debug category should be 'adapter', not 'GstAdapter'.
2843           
2844         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
2845         (gst_collectpads_class_init), (gst_collectpads_init),
2846         (gst_collectpads_peek), (gst_collectpads_pop),
2847         (gst_collectpads_event), (gst_collectpads_chain):
2848           Add debug category and some debugging output. Use boilerplate
2849           macros. Remove some extraneous words from docs.
2850
2851 2005-11-05  Andy Wingo  <wingo@pobox.com>
2852
2853         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
2854         macro.
2855
2856 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2857
2858         * docs/gst/gstreamer-sections.txt:
2859         * gst/gstcaps.h:
2860         * gst/gstinfo.c:
2861         * gst/gstminiobject.h:
2862         * gst/gstobject.h:
2863         * gst/gstutils.h:
2864           more docs added
2865
2866 2005-11-04  Wim Taymans  <wim@fluendo.com>
2867
2868         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2869         Small update to stop at the configured segment_end
2870         position.
2871
2872 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2873
2874         * gst/gstregistry.c:
2875         * gst/gstregistry.h:
2876           added missing docs
2877
2878 2005-11-04  Edward Hervey  <edward@fluendo.com>
2879
2880         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2881         Check if we are doing a segment seek and have arrived at the
2882         end of that segment.
2883
2884 2005-11-04  Wim Taymans  <wim@fluendo.com>
2885
2886         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
2887         Don't leak a mutex unlock in case of an error.
2888
2889         * gst/gstbus.h:
2890         Doc fixes.
2891
2892 2005-11-04  Wim Taymans  <wim@fluendo.com>
2893
2894         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
2895         (gst_bus_post):
2896         Get the context to wake up only once.
2897
2898 2005-11-03  Wim Taymans  <wim@fluendo.com>
2899
2900         * check/states/sinks.c: (GST_START_TEST):
2901         Uncomment fixed check.
2902
2903         * docs/design/part-TODO.txt:
2904         Updated TODO.
2905
2906         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2907         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2908         (gst_base_sink_get_position):
2909         If we are going to PLAYING, post the right pending state
2910         when we post the intermediate paused message.
2911
2912         * gst/gstelement.c: (gst_element_continue_state),
2913         (gst_element_set_state_func), (gst_element_change_state):
2914         Don't post state changes that were between the same state
2915         and were not ASYNC.
2916
2917 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2918
2919         * docs/gst/gstreamer-sections.txt:
2920         * gst/gstcaps.h:
2921         * gst/gstinfo.c:
2922         * gst/gstminiobject.h:
2923         * gst/gstobject.h:
2924         * gst/gstutils.h:
2925           more docs and doc style fixes
2926
2927 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2928
2929         * docs/gst/gstreamer-sections.txt:
2930         * gst/gstelement.c:
2931         * gst/gstminiobject.c:
2932         doc fixes
2933
2934 2005-11-03  Andy Wingo  <wingo@pobox.com>
2935
2936         * check/states/sinks.c (test_livesrc_sink): Add checks that the
2937         state-changed messages actually have the right order and the right
2938         values.
2939
2940 2005-11-03  Wim Taymans  <wim@fluendo.com>
2941
2942         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
2943         Added some more checks. Specifically the case where NO_PREROLL
2944         elements are in the pipeline.
2945
2946         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2947         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2948         (gst_base_sink_get_position):
2949         Post READY->PAUSED state change messages too.
2950         Fix bug where VOID was posted as pending state...
2951
2952         * gst/gstbin.c: (gst_bin_recalc_state):
2953         use _element_continue_state() to continue the state change.
2954
2955         * gst/gstelement.c: (gst_element_continue_state),
2956         (gst_element_commit_state), (gst_element_set_state_func),
2957         (gst_element_change_state), (gst_element_change_state_func):
2958         Lots of state change cleanups, assign the STATE_RETURN in
2959         a new continue_state() function that also propagates the
2960         last return value from a state change to the app.
2961         Update some debug statements with proper category.
2962
2963 2005-11-03  Wim Taymans  <wim@fluendo.com>
2964
2965         * docs/design/part-events.txt:
2966         * docs/design/part-gstpipeline.txt:
2967         * docs/design/part-messages.txt:
2968         * docs/design/part-overview.txt:
2969         * docs/design/part-seeking.txt:
2970         * docs/design/part-states.txt:
2971         * docs/design/part-trickmodes.txt:
2972         * docs/manual/advanced-position.xml:
2973         Small docs updates.
2974
2975         * gst/gstobject.h:
2976         People think !! is ugly, this looks better.
2977
2978         * gst/gstpad.c: (gst_pad_set_blocked_async):
2979         Remove !! since it's fixed elsewhere now.
2980
2981 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2982
2983         * gst/gstminiobject.h:
2984         * gst/gstobject.h:
2985           Add !! to _FLAG_IS_SET macros to make the result boolean.
2986
2987 2005-11-03  Edward Hervey  <edward@fluendo.com>
2988
2989         * gst/gstpad.c: (gst_pad_set_blocked_async):
2990         comparing a flag and a gboolean rarely returns coherent results...
2991         Added two characters (!!) to make that work correctly.
2992         
2993 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2994
2995         * gst/gstbus.c: (gst_bus_class_init):
2996           Fix some typos.
2997           
2998         * gst/gstqueue.c: (gst_queue_loop):
2999           Don't assume a miniobject that isn't a buffer is an
3000           event (it could be that there is a refcounting
3001           problem somewhere and the pointer is stale and
3002           refers to an already destroyed miniobject).
3003
3004 2005-11-03  Julien MOUTTE  <julien@moutte.net>
3005
3006         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
3007
3008 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3009
3010         * docs/manual/advanced-position.xml:
3011           Update seek example and explanations to current 0.9 API.
3012
3013         * gst/elements/gsttypefindelement.c:
3014         (gst_type_find_element_activate):
3015           Remove FIXME comment now that the found caps
3016           are unreffed.
3017
3018 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3019
3020         * gst/gstregistryxml.c: (load_feature):
3021           Add another GST_STR_NULL instance
3022
3023 2005-11-02  Edward Hervey  <edward@fluendo.com>
3024
3025         * gst/gstpad.c: (handle_pad_block):
3026         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
3027         
3028 2005-11-02  Wim Taymans  <wim@fluendo.com>
3029
3030         * gst/gstbin.c:
3031         Fix typo in docs.
3032
3033         * gst/gstelement.c: (gst_element_commit_state):
3034         Remove unused value.
3035
3036         * gst/gstiterator.c:
3037         Mention that the returned element is reffed in the docs.
3038
3039 2005-11-02  Wim Taymans  <wim@fluendo.com>
3040
3041         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
3042         (gst_pad_push), (gst_pad_push_event):
3043         Unlock blocked pads when they are flushed.
3044
3045 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3046
3047         * docs/README:
3048         * docs/gst/gstreamer-sections.txt:
3049         * gst/gstbin.c:
3050           doc updates
3051         * gst/gstregistry.c: (gst_registry_scan_path_level):
3052           fix for a nasty little missed situation where an installed plug-in
3053           which was in the cache did not get overridden by an uninstalled one
3054           which was earlier in the plugin path because the newly created plugin
3055           for the uninstalled one (not in the registry) didn't get its
3056           ->registered set to TRUE
3057
3058 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3059
3060         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
3061         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
3062         (gst_collectpads_is_active), (gst_collectpads_collect),
3063         (gst_collectpads_collect_range), (gst_collectpads_start),
3064         (gst_collectpads_stop), (gst_collectpads_peek),
3065         (gst_collectpads_pop), (gst_collectpads_available),
3066         (gst_collectpads_read), (gst_collectpads_flush):
3067           Guard public API with assertions.
3068         
3069         * gst/gstpad.c:
3070           Fix docs for gst_pad_set_link_function().
3071
3072 2005-11-02  Johan Dahlin  <johan@gnome.org>
3073
3074         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
3075         Unref found_caps after we used it.
3076
3077 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3078
3079         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
3080           Don't try to ref NULL.
3081
3082 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3083
3084         * win32/common/config.h.in:
3085           provide a GST_FUNCTION that just gives a string for now
3086
3087 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3088
3089         * win32/common/gstenumtypes.c: (register_gst_object_flags),
3090         (gst_object_flags_get_type), (register_gst_bin_flags),
3091         (gst_bin_flags_get_type), (register_gst_buffer_flag),
3092         (gst_buffer_flag_get_type), (register_gst_bus_flags),
3093         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3094         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
3095         (gst_clock_return_get_type), (register_gst_clock_entry_type),
3096         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3097         (gst_clock_flags_get_type), (register_gst_state),
3098         (gst_state_get_type), (register_gst_state_change_return),
3099         (gst_state_change_return_get_type), (register_gst_state_change),
3100         (gst_state_change_get_type), (register_gst_element_flags),
3101         (gst_element_flags_get_type), (register_gst_core_error),
3102         (gst_core_error_get_type), (register_gst_library_error),
3103         (gst_library_error_get_type), (register_gst_resource_error),
3104         (gst_resource_error_get_type), (register_gst_stream_error),
3105         (gst_stream_error_get_type), (register_gst_event_type),
3106         (gst_event_type_get_type), (register_gst_seek_type),
3107         (gst_seek_type_get_type), (register_gst_seek_flags),
3108         (gst_seek_flags_get_type), (register_gst_format),
3109         (gst_format_get_type), (register_gst_index_certainty),
3110         (gst_index_certainty_get_type), (register_gst_index_entry_type),
3111         (gst_index_entry_type_get_type),
3112         (register_gst_index_lookup_method),
3113         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3114         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3115         (gst_index_resolver_method_get_type), (register_gst_index_flags),
3116         (gst_index_flags_get_type), (register_gst_debug_level),
3117         (gst_debug_level_get_type), (register_gst_debug_color_flags),
3118         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3119         (gst_iterator_result_get_type), (register_gst_iterator_item),
3120         (gst_iterator_item_get_type), (register_gst_message_type),
3121         (gst_message_type_get_type), (register_gst_mini_object_flags),
3122         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3123         (gst_pad_link_return_get_type), (register_gst_flow_return),
3124         (gst_flow_return_get_type), (register_gst_activate_mode),
3125         (gst_activate_mode_get_type), (register_gst_pad_direction),
3126         (gst_pad_direction_get_type), (register_gst_pad_flags),
3127         (gst_pad_flags_get_type), (register_gst_pad_presence),
3128         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3129         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3130         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3131         (gst_plugin_error_get_type), (register_gst_plugin_flags),
3132         (gst_plugin_flags_get_type), (register_gst_rank),
3133         (gst_rank_get_type), (register_gst_query_type),
3134         (gst_query_type_get_type), (register_gst_tag_merge_mode),
3135         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3136         (gst_tag_flag_get_type), (register_gst_task_state),
3137         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3138         (gst_alloc_trace_flags_get_type),
3139         (register_gst_type_find_probability),
3140         (gst_type_find_probability_get_type), (register_gst_uri_type),
3141         (gst_uri_type_get_type), (register_gst_parse_error),
3142         (gst_parse_error_get_type):
3143         * win32/common/gstversion.h:
3144           update win32 copies
3145
3146 2005-11-01  Luca Ognibene  <luogni@tin.it>
3147
3148         * gst/gst.c:
3149           fix docs. popt is dead, long live GOption.
3150
3151 2005-10-31  Wim Taymans  <wim@fluendo.com>
3152
3153         * gst/gstbuffer.h:
3154         Small doc fix.
3155
3156 2005-10-31  Andy Wingo  <wingo@pobox.com>
3157
3158         * Boo!
3159
3160         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
3161
3162         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
3163         need to serialize property notifications on GLib 2.8. GLib 2.6 has
3164         the possibility of deadlocks here if code calling notify() or
3165         set() has a lock that can be taken in another notify handler (ABBA
3166         with class lock and e.g. python GIL state lock).
3167
3168 2005-10-28  Julien MOUTTE  <julien@moutte.net>
3169
3170         * gst/gstbus.c: Doc updates.
3171
3172 2005-10-28  Wim Taymans  <wim@fluendo.com>
3173
3174         * docs/design/part-TODO.txt:
3175         * gst/gstiterator.c:
3176         * gst/gstsystemclock.c:
3177         * gst/gstsystemclock.h:
3178         Doc updates.
3179
3180 2005-10-28  Edward Hervey  <edward@fluendo.com>
3181
3182         * docs/gst/gstreamer-docs.sgml:
3183         * docs/gst/gstreamer-sections.txt:
3184         the GstURIType documentation page is private, it only defines GstURIType
3185         which should be defined in the GstURIHandler page
3186         
3187 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3188
3189         * gst/gstbin.c: (gst_bin_class_init):
3190         * gst/gstbin.h:
3191         * gst/gstutils.c:
3192         Documentation updates.
3193
3194 2005-10-28  Wim Taymans  <wim@fluendo.com>
3195
3196         * docs/gst/gstreamer-sections.txt:
3197         * gst/gstclock.c:
3198         * gst/gstclock.h:
3199         Documented the clocks.
3200
3201 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
3202
3203         * docs/gst/gstreamer-sections.txt:
3204           move some macros to private sections
3205         * gst/gstminiobject.c:
3206         * gst/gstminiobject.h:
3207           add descriptions provided by ds and some more
3208         * gst/gstpad.h:
3209           mark macro as to be removed
3210
3211 2005-10-28  Wim Taymans  <wim@fluendo.com>
3212
3213         * docs/design/part-TODO.txt:
3214         Add an item to TODO.
3215
3216         * gst/gstiterator.c: (gst_iterator_fold),
3217         (gst_iterator_find_custom):
3218         * gst/gstiterator.h:
3219         Add iterator docs.
3220
3221 2005-10-28  Wim Taymans  <wim@fluendo.com>
3222
3223         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3224         (gst_base_transform_init):
3225         Don't leak class.
3226
3227         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3228         An EOS event marks the queue as completely filled.
3229
3230 2005-10-27  Wim Taymans  <wim@fluendo.com>
3231
3232         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3233         (gst_base_sink_do_sync), (gst_base_sink_get_position):
3234         Some more debugging.
3235
3236         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3237         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3238         (gst_base_transform_event), (gst_base_transform_getrange),
3239         (gst_base_transform_chain):
3240         * gst/base/gstbasetransform.h:
3241         Fix debugging,
3242         Protect transform and concurrent buffer alloc with a new lock.
3243         Try not to break ABI/API.
3244
3245 2005-10-27  Wim Taymans  <wim@fluendo.com>
3246
3247         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3248         (gst_base_src_init), (gst_base_src_query),
3249         (gst_base_src_default_newsegment),
3250         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3251         (gst_base_src_send_event), (gst_base_src_event_handler),
3252         (gst_base_src_pad_get_range), (gst_base_src_loop),
3253         (gst_base_src_unlock), (gst_base_src_default_negotiate),
3254         (gst_base_src_start), (gst_base_src_deactivate),
3255         (gst_base_src_activate_push), (gst_base_src_change_state):
3256         Move some stuff around and cleanup things.
3257
3258 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
3259
3260         * gst/base/gstbasesrc.c: (gst_base_src_query):
3261           Add missing break statements.
3262
3263 2005-10-27  Wim Taymans  <wim@fluendo.com>
3264
3265         * check/gst/gstbin.c: (GST_START_TEST):
3266         An extra refcount is taken in basesrc.
3267
3268         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3269         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3270         (gst_base_src_loop):
3271         Small cleanups, check for flushing after being unlocked from the 
3272         LIVE_LOCK. take refcounts correctly (not yet everywhere).
3273         Don't send out EOS when going to READY.
3274
3275 2005-10-27  Wim Taymans  <wim@fluendo.com>
3276
3277         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3278         (gst_base_sink_get_position):
3279         Some more debug.
3280
3281         * gst/gstbin.c: (message_check), (bin_replace_message),
3282         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3283         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3284         (bin_query_duration_init), (bin_query_duration_fold),
3285         (bin_query_duration_done), (bin_query_generic_fold),
3286         (gst_bin_query):
3287         * tools/gst-launch.c: (main):
3288         Remove old option.
3289
3290 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
3291
3292         * examples/controller/audio-example.c: (main):
3293         * examples/queue/queue.c: (event_loop):
3294         * gst/base/gstbasetransform.h:
3295         * gst/gstelement.c: (gst_element_send_event):
3296         * gst/gstevent.h:
3297         * gst/gstpad.c: (gst_pad_send_event):
3298           fixing examples
3299           fixing docs typos
3300           changing log priority in error situations
3301
3302 2005-10-25  Wim Taymans  <wim@fluendo.com>
3303
3304         * gst/gstbin.c: (message_check), (bin_replace_message),
3305         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3306         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3307         (bin_query_duration_init), (bin_query_duration_fold),
3308         (bin_query_duration_done), (bin_query_generic_fold),
3309         (gst_bin_query):
3310         Some doc and debug updates.
3311         Cache previously requested query DURATION for speed. invalidate
3312         cached duration if element posts a DURATION message.
3313
3314 2005-10-25  Wim Taymans  <wim@fluendo.com>
3315
3316         * docs/design/part-TODO.txt:
3317         Update TODO.
3318
3319         * gst/gstbin.c: (message_check), (bin_replace_message),
3320         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3321         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3322         (bin_query_duration_init), (bin_query_duration_fold),
3323         (bin_query_duration_done), (bin_query_generic_fold),
3324         (gst_bin_query):
3325         Handle SEGMENT_START/DONE messages correctly.
3326         More evolved query algorithm that handles duration queries
3327         correctly.
3328
3329         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3330         (gst_element_get_state_func), (gst_element_abort_state),
3331         (gst_element_commit_state), (gst_element_lost_state):
3332         Some more debugging.
3333
3334         * gst/gstmessage.h:
3335         Added doc.
3336
3337 2005-10-25  Wim Taymans  <wim@fluendo.com>
3338
3339         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3340         Don't use invalid stream_time.
3341
3342         * gst/gstevent.c: (gst_event_new_newsegment):
3343         stream_time in newsegment cannot be undefined.
3344
3345 2005-10-24  Wim Taymans  <wim@fluendo.com>
3346
3347         * gst/gstbus.c:
3348         Doc fix.
3349
3350         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3351         (gst_queue_loop):
3352         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3353
3354 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
3355
3356         * docs/libs/tmpl/gstdparam.sgml:
3357         * docs/libs/tmpl/gstdplinint.sgml:
3358         * docs/libs/tmpl/gstdpman.sgml:
3359         * docs/libs/tmpl/gstdpsmooth.sgml:
3360         * docs/libs/tmpl/gstunitconvert.sgml:
3361           these are obsolete
3362
3363 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3364
3365         * configure.ac:
3366           back to HEAD
3367
3368 === release 0.9.4 ===
3369
3370 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3371
3372         * configure.ac:
3373           releasing 0.9.4, "Tyrannosaurus Rex"
3374
3375 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
3376
3377         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3378         (gst_file_sink_get_current_offset):
3379           Use fseeko() and ftello() if available. When falling back on
3380           lseek() to get the current offset, fflush() first to make sure
3381           everything is up-to-date and we get the right offset.
3382
3383 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3384
3385         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3386         * gst/base/gstbasesrc.c: (gst_base_src_loop):
3387         * gst/gsterror.c: (_gst_stream_errors_init):
3388         * gst/gsterror.h:
3389         * gst/gstqueue.c: (gst_queue_loop):
3390         * po/POTFILES.in:
3391           remove prematurely added error category and clean up the instances
3392
3393 2005-10-21  Wim Taymans  <wim@fluendo.com>
3394
3395         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3396         (gst_base_sink_get_position), (gst_base_sink_query),
3397         (gst_base_sink_change_state):
3398         Simply set the right flag when going to playing, that's all
3399         we need to do instead of calling a function inside the object
3400         lock (that could take the lock as well and deadlock)
3401
3402 2005-10-21  Wim Taymans  <wim@fluendo.com>
3403
3404         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
3405         (gst_base_src_loop):
3406         Don't warn, the peer element knows what to do best when
3407         the seek failed, it might try something else.
3408
3409 2005-10-21  Wim Taymans  <wim@fluendo.com>
3410
3411         * gst/base/gstbasesrc.c: (gst_base_src_init),
3412         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3413         Fix seeking.
3414
3415 2005-10-21  Wim Taymans  <wim@fluendo.com>
3416
3417         * docs/design/part-segments.txt:
3418         More docs.
3419
3420         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3421         Correctly set caps, even on the subbufer.
3422
3423 2005-10-21  Wim Taymans  <wim@fluendo.com>
3424
3425         * docs/gst/gstreamer-docs.sgml:
3426         * docs/gst/gstreamer-sections.txt:
3427         * gst/gstelement.h:
3428         * gst/gstevent.c:
3429         * gst/gstevent.h:
3430         * gst/gstmessage.h:
3431         * gst/gstpad.h:
3432         * gst/gstparse.h:
3433         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
3434         * gst/gsttask.h:
3435         * gst/gstutils.c:
3436         * gst/gstutils.h:
3437         And 2% more doc coverage.
3438
3439 2005-10-21  Andy Wingo  <wingo@pobox.com>
3440
3441         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
3442         position reporting.
3443
3444 2005-10-20  Wim Taymans  <wim@fluendo.com>
3445
3446         * gst/gsterror.c: (gst_error_get_message):
3447         * gst/gstparse.h:
3448         * gst/gstquery.h:
3449         * gst/gststructure.c:
3450         * gst/gsttrace.c:
3451         * gst/gstutils.c:
3452         More docs.
3453
3454 2005-10-20  Wim Taymans  <wim@fluendo.com>
3455
3456         * gst/gstbuffer.h:
3457         * gst/gstpad.c:
3458         * gst/gstparse.c:
3459         Another 1% more coverage.
3460
3461 2005-10-20  Wim Taymans  <wim@fluendo.com>
3462
3463         * docs/gst/gstreamer-sections.txt:
3464         * gst/gstelement.c: (gst_element_get_state_func),
3465         (gst_element_abort_state), (gst_element_commit_state),
3466         (gst_element_lost_state):
3467         * gst/gstevent.h:
3468         * gst/gstquery.c: (gst_query_set_position),
3469         (gst_query_parse_position), (gst_query_set_duration),
3470         (gst_query_parse_duration), (gst_query_new_convert):
3471         * gst/gstutils.c:
3472         Yay! 1% more docs coverage.
3473
3474 2005-10-20  Wim Taymans  <wim@fluendo.com>
3475
3476         * gst/gstpad.h:
3477         * gst/gstquery.c: (gst_query_set_position),
3478         (gst_query_parse_position), (gst_query_set_duration),
3479         (gst_query_parse_duration), (gst_query_new_convert):
3480         * gst/gstquery.h:
3481         * gst/gstutils.c: (gst_element_query_convert):
3482         * gst/gstutils.h:
3483         Docs and consistency fixes.
3484
3485 2005-10-20  Wim Taymans  <wim@fluendo.com>
3486
3487         * gst/gsttask.c:
3488         * gst/gsttask.h:
3489         More docs.
3490
3491 2005-10-20  Wim Taymans  <wim@fluendo.com>
3492
3493         * gst/gstbin.c: (message_check), (bin_replace_message),
3494         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3495         (update_degree), (gst_bin_sort_iterator_next),
3496         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
3497         Reworked the message handling a bit, cache the messages instead of
3498         only the senders. alows us to do more in the future.
3499
3500 2005-10-20  Wim Taymans  <wim@fluendo.com>
3501
3502         * docs/design/part-TODO.txt:
3503         Update TODO
3504
3505         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3506         (gst_base_sink_query):
3507         Don't use clock time to report position when in EOS.
3508
3509 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
3510
3511         * tools/gst-inspect.c: (print_interfaces),
3512         (print_element_properties_info), (print_element_info):
3513           Fix interface output with gst-inspect -a; don't print
3514           newlines after double/float properties.
3515
3516 2005-10-20  Wim Taymans  <wim@fluendo.com>
3517
3518         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3519         (gst_base_sink_query):
3520         Speed up current position calculation.
3521
3522         * gst/base/gstbasesrc.c: (gst_base_src_query),
3523         (gst_base_src_default_newsegment):
3524         Correctly set stream position in newsegment.
3525
3526         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
3527         (update_degree), (gst_bin_sort_iterator_next),
3528         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
3529         * gst/gstmessage.c: (gst_message_new_custom):
3530         Clean up debugging info
3531
3532         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
3533         (gst_queue_loop), (gst_queue_handle_src_query):
3534         Pause task faster.
3535
3536 2005-10-19  Wim Taymans  <wim@fluendo.com>
3537
3538         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3539         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3540         Fix query handling again.
3541
3542 2005-10-19  Wim Taymans  <wim@fluendo.com>
3543
3544         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3545         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3546         * gst/base/gstbasesrc.c: (gst_base_src_query):
3547         * gst/elements/gstfilesink.c: (gst_file_sink_query):
3548         * gst/elements/gsttypefindelement.c:
3549         (gst_type_find_handle_src_query), (find_element_get_length),
3550         (gst_type_find_element_activate):
3551         API change fix.
3552
3553         * gst/gstquery.c: (gst_query_new_position),
3554         (gst_query_set_position), (gst_query_parse_position),
3555         (gst_query_new_duration), (gst_query_set_duration),
3556         (gst_query_parse_duration), (gst_query_set_segment),
3557         (gst_query_parse_segment):
3558         * gst/gstquery.h:
3559         Bundling query position/duration is not a good idea since duration
3560         does not change much and we don't want to recalculate it for every
3561         position query, so they are separated again..
3562         Base value in segment query is not needed.
3563
3564         * gst/gstqueue.c: (gst_queue_handle_src_query):
3565         * gst/gstutils.c: (gst_element_query_position),
3566         (gst_element_query_duration), (gst_pad_query_position),
3567         (gst_pad_query_duration):
3568         * gst/gstutils.h:
3569         Updates for query API change.
3570         Added some docs here and there.
3571
3572 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3573
3574         * check/gst/gstbin.c: (GST_START_TEST):
3575         * check/gst/gstghostpad.c: (GST_START_TEST):
3576         * check/pipelines/cleanup.c: (GST_START_TEST):
3577           wait on thread to die so we can check refcount correctly
3578
3579 2005-10-18  Wim Taymans  <wim@fluendo.com>
3580
3581         * check/pipelines/stress.c: (GST_START_TEST):
3582         Make check a little more time consuming.
3583
3584 2005-10-18  Wim Taymans  <wim@fluendo.com>
3585
3586         * check/Makefile.am:
3587         * check/pipelines/stress.c: (GST_START_TEST),
3588         (simple_launch_lines_suite), (main):
3589         Small state change torture test.
3590
3591         * docs/design/part-states.txt:
3592         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3593         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
3594         (gst_base_sink_change_state):
3595         Never take state lock from streaming thread, clean up ugly
3596         hacks. Unfortunatly core does not yet support nice ways to
3597         async commit state.
3598         
3599         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
3600         (bin_bus_handler):
3601         Start state recalc if a STATE_DIRTY message is posted, but only
3602         on the toplevel bin.
3603
3604         * gst/gstelement.c: (gst_element_sync_state_with_parent),
3605         (gst_element_get_state_func), (gst_element_abort_state),
3606         (gst_element_commit_state), (gst_element_lost_state),
3607         (gst_element_set_state_func), (gst_element_change_state):
3608         * gst/gstelement.h:
3609         State variables are now protected with the LOCK, the state
3610         lock is only used to serialize _set_state().
3611
3612 2005-10-18  Wim Taymans  <wim@fluendo.com>
3613
3614         * check/gst/gstbin.c: (GST_START_TEST):
3615         * check/gst/gstmessage.c: (GST_START_TEST):
3616         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3617         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
3618         (bin_bus_handler):
3619         * gst/gstelement.c: (gst_element_abort_state),
3620         (gst_element_commit_state), (gst_element_lost_state):
3621         * gst/gstmessage.c: (gst_message_new_state_changed),
3622         (gst_message_new_state_dirty), (gst_message_new_segment_start),
3623         (gst_message_new_segment_done), (gst_message_new_duration),
3624         (gst_message_parse_state_changed),
3625         (gst_message_parse_segment_start),
3626         (gst_message_parse_segment_done), (gst_message_parse_duration):
3627         * gst/gstmessage.h:
3628         * tools/gst-launch.c: (event_loop):
3629         Seriously, this is better than a previous commit as we only need
3630         to notify the fact that an element changed state in a streaming
3631         thread, marking the state of the parents dirty, hence the 
3632         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
3633         message.
3634
3635 2005-10-18  Wim Taymans  <wim@fluendo.com>
3636
3637         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
3638         (gst_bin_recalc_func):
3639         * gst/gstelement.c: (gst_element_set_clock),
3640         (gst_element_abort_state), (gst_element_lost_state):
3641         Cleanups, prepare for state change fixes.
3642
3643 2005-10-18  Wim Taymans  <wim@fluendo.com>
3644
3645         * gst/gstbin.h:
3646         * gst/gstelement.c: (gst_element_class_init),
3647         (gst_element_set_state), (gst_element_set_state_func):
3648         * gst/gstelement.h:
3649         Pending ABI changes.
3650         GThreadPool in GstBinClass to monitor async state changes.
3651         state_cookie in GstElement to detect concurrent gst/set state.
3652         set_state is now virtual too in case a very complicated element
3653         has to be constructed.
3654
3655 2005-10-18  Wim Taymans  <wim@fluendo.com>
3656
3657         * check/gst/gstbin.c: (GST_START_TEST):
3658         * check/gst/gstmessage.c: (GST_START_TEST):
3659         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3660         * gst/gstbin.c: (bin_bus_handler):
3661         * gst/gstelement.c: (gst_element_commit_state),
3662         (gst_element_lost_state):
3663         * gst/gstmessage.c: (gst_message_new_state_changed),
3664         (gst_message_new_segment_start), (gst_message_new_segment_done),
3665         (gst_message_new_duration), (gst_message_parse_state_changed),
3666         (gst_message_parse_segment_start),
3667         (gst_message_parse_segment_done), (gst_message_parse_duration):
3668         * gst/gstmessage.h:
3669         * tools/gst-launch.c: (event_loop):
3670         Make messages future proof.
3671         state-change gets a flag if it was a message comming from the
3672         streaming thread.
3673         segment-start/stop can also be specified in other formats.
3674         A message to notify an app that a pipeline changed playback 
3675         duration.
3676         Also fix a GstMessage leak in -launch
3677
3678 2005-10-18  Andy Wingo  <wingo@pobox.com>
3679
3680         * gst/gstelement.c (gst_element_dispose): More helpful message.
3681
3682 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3683
3684         reviewed by: <delete if not using a buddy>
3685
3686         * common/gtk-doc.mak:
3687
3688 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3689
3690         * gst/gstregistry.c: (gst_registry_scan_path_level):
3691           unref a plug-in we get that was already initialized
3692
3693 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
3694
3695         * docs/gst/gstreamer-sections.txt:
3696         * docs/libs/gstreamer-libs-sections.txt:
3697         * gst/gstelement.h:
3698           add new api entries
3699           hide internal macro
3700
3701 2005-10-17  Andy Wingo  <wingo@pobox.com>
3702
3703         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
3704         cleanup.
3705
3706         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
3707
3708         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
3709
3710         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
3711         (gst_element_get_state_func): Better debug message.
3712         (gst_element_commit_state): s/INFO/DEBUG/.
3713         (gst_element_lost_state, gst_element_change_state): 
3714
3715         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
3716         (gst_message_new_custom): s/INFO/LOG/.
3717
3718 2005-10-17  Michael Smith <msmith@fluendo.com>
3719
3720         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3721           Check if end time is valid using end time, not start time.
3722
3723 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
3724
3725         * check/gst-libs/controller.c: (GST_START_TEST),
3726         (gst_controller_suite):
3727         * libs/gst/controller/gstcontroller.c:
3728         (gst_controlled_property_set_interpolation_mode):
3729         * libs/gst/controller/gstcontroller.h:
3730         * libs/gst/controller/gstinterpolation.c:
3731         * testsuite/controller/.cvsignore:
3732         * testsuite/controller/Makefile.am:
3733         * testsuite/controller/interpolator.c:
3734           merge controller testsuites
3735           fix broken tests
3736           remove mem-chunk from docs
3737
3738 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3739
3740         * gst/gstmemchunk.c:
3741         * gst/gstmemchunk.h:
3742         * gst/gsttrashstack.c:
3743         * gst/gsttrashstack.h:
3744           out.  get out.  you're fired.  to the Attic !
3745
3746 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3747
3748         * gst/gstcaps.c: (gst_caps_intersect):
3749           fix signedness issues in a (hopefully) correct way
3750         * gst/gstelement.c: (gst_element_pads_activate):
3751           some debugging
3752         * gst/gstobject.c: (gst_object_set_parent):
3753           some debugging
3754
3755 2005-10-17  Julien MOUTTE  <julien@moutte.net>
3756
3757         * gst/gstvalue.h: Fix prototypes.
3758
3759 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3760
3761         * docs/gst/gstreamer-sections.txt:
3762         * gst/gst.c: (gst_version_string):
3763         * gst/gst.h:
3764         * gst/gstversion.h.in:
3765         * win32/common/libgstreamer.def:
3766           add gst_version_string ()
3767
3768 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3769
3770         * configure.ac:
3771           clean up further
3772         * gst/gst.c: (init_post):
3773         * win32/common/config.h.in:
3774           it's PLUGINDIR now
3775         * gst/gstcaps.c: (gst_caps_intersect):
3776           use gint64, the range could be bigger than a guint
3777
3778 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3779
3780         * gst/gstclock.h:
3781           document potential problem in 2038
3782
3783 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3784
3785         * gst/gstcaps.c: (gst_caps_intersect):
3786           Fix guint j diving under 0
3787
3788 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3789
3790         * configure.ac:
3791         * win32/common/config.h:
3792         * win32/common/config.h.in:
3793           check for process.h, declares getpid() on Windows
3794         * gst/gstinfo.c:
3795           include process.h if we have it
3796         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
3797         * gst/gstmemchunk.h:
3798           fix signedness issues
3799         * win32/common/libgstreamer.def:
3800           fix get_type's
3801
3802 2005-10-16  Julien MOUTTE  <julien@moutte.net>
3803
3804         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
3805         fix. Because of unsigned ints, caps intersection was going nuts and
3806         trying to access structures with G_MAXUINT index. That fixes
3807         videotestsrc ! ffmpegcolorspace ! fakesink
3808         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
3809         consistency.
3810
3811 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3812
3813         * configure.ac:
3814           use the gettext macro
3815         * gst/elements/gstelements.c:
3816         * gst/gst.c:
3817         * gst/indexers/gstindexers.c:
3818           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
3819         * win32/common/config.h:
3820           updated config.h
3821         * win32/common/config.h.in:
3822           add the template to generate config.h
3823         * win32/common/gstenumtypes.c:
3824         * win32/common/gstversion.h:
3825           updated copies
3826
3827 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3828
3829         * gst/gst.c: (gst_version):
3830         * gst/gstversion.h.in:
3831           add the nano
3832
3833 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3834
3835         * gst/gstevent.h:
3836           Oops, add missing closing bracket.
3837
3838 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3839
3840         * configure.ac:
3841           use common m4's for argument checking
3842
3843 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3844
3845         * docs/gst/gstreamer-sections.txt:
3846         * gst/gstevent.h:
3847           Add GST_EVENT_TYPE_NAME() macro.
3848
3849 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3850
3851         * gst/gstinfo.c:
3852         * gst/gstpluginfeature.c:
3853         * gst/gsttask.c:
3854           privatize more symbols
3855
3856 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3857
3858         * configure.ac:
3859           add srcdir, builddir includes to GST_ALL_CFLAGS, since
3860           everything that uses GStreamer API should have the includes
3861
3862 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3863
3864         * docs/gst/gstreamer-sections.txt:
3865         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
3866         * gst/gstvalue.h:
3867           give each value a _get_type, removes the DATA exports
3868
3869 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3870
3871         * gst/gst.c:
3872         * gst/gst.h:
3873           remove _gst_registry_auto_load, not used anymore
3874         * gst/gstbin.c: (gst_bin_get_type):
3875         * gst/gstbin.h:
3876         * gst/gstelement.c: (gst_element_get_type):
3877         * gst/gstelement.h:
3878         * gst/gstobject.c: (gst_object_get_type):
3879         * gst/gstobject.h:
3880         * gst/gstpad.c: (gst_pad_get_type):
3881         * gst/gstpad.h:
3882           make _get_type functions similar, fixes data export from library
3883
3884 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3885
3886         * configure.ac:
3887           correctly make conditionals
3888         * gst/elements/Makefile.am:
3889         * gst/elements/gstelements.c:
3890           fix typo causing fdsrc not to build
3891
3892 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3893
3894         * testsuite/Makefile.am:
3895         * testsuite/bytestream/.cvsignore:
3896         * testsuite/bytestream/Makefile.am:
3897         * testsuite/bytestream/filepadsink.c:
3898         * testsuite/bytestream/gstbstest.c:
3899         * testsuite/bytestream/test1.c:
3900         * testsuite/bytestream/testfile1:
3901         * testsuite/caps/normalisation.c:
3902         * testsuite/caps/random.c: (main):
3903         * testsuite/cleanup/.cvsignore:
3904         * testsuite/cleanup/Makefile.am:
3905         * testsuite/cleanup/cleanup1.c:
3906         * testsuite/cleanup/cleanup2.c:
3907         * testsuite/cleanup/cleanup3.c:
3908         * testsuite/cleanup/cleanup4.c:
3909         * testsuite/cleanup/cleanup5.c:
3910         * testsuite/controller/interpolator.c:
3911         * testsuite/debug/printf_extension.c: (main):
3912         * testsuite/elements/tee.c:
3913         * testsuite/negotiation/.cvsignore:
3914         * testsuite/negotiation/Makefile.am:
3915         * testsuite/negotiation/pad_link.c:
3916         * testsuite/pad/Makefile.am:
3917         * testsuite/pad/chainnopull.c:
3918         * testsuite/pad/getnopush.c:
3919         * testsuite/pad/link.c:
3920         * testsuite/refcounting/sched.c: (create_pipeline):
3921         * testsuite/registry/Makefile.am:
3922         * testsuite/registry/gst-print-formats.c:
3923         * testsuite/schedulers/.cvsignore:
3924         * testsuite/schedulers/142183-2.c:
3925         * testsuite/schedulers/142183.c:
3926         * testsuite/schedulers/143777-2.c:
3927         * testsuite/schedulers/143777.c:
3928         * testsuite/schedulers/147713.c:
3929         * testsuite/schedulers/147819.c:
3930         * testsuite/schedulers/147894-2.c:
3931         * testsuite/schedulers/147894.c:
3932         * testsuite/schedulers/Makefile.am:
3933         * testsuite/schedulers/group_link.c:
3934         * testsuite/schedulers/queue_link.c:
3935         * testsuite/schedulers/relink.c:
3936         * testsuite/schedulers/unlink.c:
3937         * testsuite/schedulers/unref.c:
3938         * testsuite/schedulers/useless_iteration.c:
3939         * testsuite/states/bin.c:
3940           clean out/remove some stuff from the testsuite directories
3941
3942 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3943
3944         * configure.ac:
3945           check for some headers
3946         * gst/elements/Makefile.am:
3947         * gst/elements/gstelements.c:
3948           don't compile fdsrc without sys/socket.h
3949         * gst/indexers/Makefile.am:
3950         * gst/indexers/gstindexers.c: (plugin_init):
3951           don't compile fileindex without mmap
3952
3953 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3954
3955         * configure.ac:
3956           reorganize
3957           clean up
3958           document more
3959           remove cruft
3960         * check/Makefile.am:
3961         * docs/gst/Makefile.am:
3962         * examples/helloworld/Makefile.am:
3963         * gst/Makefile.am:
3964         * gst/base/Makefile.am:
3965         * gst/check/Makefile.am:
3966         * gst/elements/Makefile.am:
3967         * gst/indexers/Makefile.am:
3968         * gst/parse/Makefile.am:
3969         * libs/gst/controller/Makefile.am:
3970         * libs/gst/dataprotocol/Makefile.am:
3971         * examples/helloworld/helloworld.c: (event_loop):
3972           compile fixes, though it's not being compiled currently
3973
3974 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3975
3976         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
3977           Add some simple tests for the new taglist date API.
3978
3979 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3980
3981         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
3982         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
3983           Beautify 'last-message' output: print 'none' for buffer timestamps
3984           and durations if none is set; improve alignment with next messages.
3985
3986 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3987
3988         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
3989         * gst/gstpluginfeature.h:
3990         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
3991         * gst/gstregistry.h:
3992         * docs/gst/gstreamer-sections.txt:
3993           Add new API to check plugin feature version requirements.
3994
3995         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
3996           Some basic tests for the above.         
3997
3998 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3999
4000         * gst/gststructure.c: (gst_structure_to_string):
4001           guard against NULL printf - happens when for example
4002           a message structure with GstClock gets serialized
4003
4004 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4005
4006         * gst/base/gstcollectpads.c: (gst_collectpads_event):
4007           Fix presumable copy'n'pasto.
4008
4009 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4010
4011         * gst/elements/gstfakesrc.h:
4012         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
4013         * gst/elements/gsttypefindelement.c:
4014           fix some signedness
4015         * gst/elements/gstfilesink.c: (gst_file_sink_render):
4016           I wonder if this could actually write +2GB files before
4017
4018 2005-10-13  Andy Wingo  <wingo@pobox.com>
4019
4020         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
4021         Fix Timmeke Waymans bug.
4022         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
4023         string of the proper length to gst_caps_from_string. There's a
4024         potential for, before this fix, that this could cause someone
4025         connecting over the network to cause a segfault if the payload is
4026         not NUL-terminated.
4027
4028 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4029
4030         * docs/design/draft-push-pull.txt:
4031         * docs/design/part-overview.txt:
4032         * docs/random/TODO-pre-0.9:
4033         * docs/random/old/ChangeLog.gstreamer:
4034         * gst/base/gstpushsrc.c:
4035         * gst/gstclock.c:
4036           fixed typos
4037
4038 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4039
4040         * gst/glib-compat.c: (gst_flags_get_first_value):
4041         * gst/glib-compat.h:
4042         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
4043         (gst_value_compare_double), (gst_value_serialize_flags):
4044           GLib 2.6 g_flags_get_first_value has a bug that triggers an
4045           infinite loop
4046
4047 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4048
4049         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4050         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4051           fix up debugging
4052         * tools/gst-launch.c: (event_loop):
4053           print out clock nicely
4054
4055 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4056
4057         * docs/gst/gstreamer-sections.txt:
4058         * gst/gsttaglist.h:
4059         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
4060         (gst_tag_list_get_date_index):
4061           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
4062           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
4063
4064 2005-10-13  Julien MOUTTE  <julien@moutte.net>
4065
4066         * gst/base/gstcollectpads.c: (gst_collectpads_event),
4067         (gst_collectpads_chain):
4068         * gst/base/gstcollectpads.h: Handle newsegment and store informations
4069         in CollectData.
4070
4071 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4072
4073         * docs/gst/gstreamer-sections.txt:
4074         * gst/gst.c:
4075         * gst/gsterror.h:
4076         * tools/gst-inspect.c: (main):
4077         * tools/gst-launch.c: (main):
4078         * tools/gst-run.c: (main):
4079         * tools/gst-xmlinspect.c: (main):
4080           fix GOption context leaks
4081           doc fixes
4082
4083 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4084
4085         * gst/gstbus.c:
4086           use HAVE_UNISTD_H
4087         * win32/common/config.h:
4088           update config
4089         * win32/vs6/grammar.dsp:
4090         * win32/vs6/libgstelements.dsp:
4091         * win32/vs6/libgstreamer.dsp:
4092           update vs6 files
4093
4094 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4095
4096         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4097         * gst/base/gstbasesrc.c: (gst_base_src_query):
4098           fix more guint64<->gdouble conversions
4099
4100 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4101
4102         * Makefile.am:
4103           add win32-update target
4104         * win32/common/gstconfig.h:
4105         * win32/common/gstenumtypes.c:
4106         * win32/common/gstenumtypes.h:
4107         * win32/common/gstversion.h:
4108           add files that visual studio can't generate
4109
4110 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4111
4112         * Makefile.am:
4113           add a win32-update target
4114         * configure.ac:
4115
4116 2005-10-12  Wim Taymans  <wim@fluendo.com>
4117
4118         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4119         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
4120         * gst/gstelement.c: (gst_element_commit_state),
4121         (gst_element_set_state):
4122         Protect flags with proper lock.
4123         unref provided cached clock in dispose.
4124
4125 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4126
4127         * gst/gst.c:
4128         * gst/gstminiobject.h:
4129         * gst/gstpad.h:
4130         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
4131           removed unused flags from miniobject
4132           doc fixes
4133
4134 2005-10-12  Wim Taymans  <wim@fluendo.com>
4135
4136         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4137         (gst_file_sink_event), (gst_file_sink_render):
4138         Flush before seeking.
4139
4140 2005-10-12  Andy Wingo  <wingo@pobox.com>
4141
4142         * gst/gst.c (gst_init_check): Ignore unknown options, as has
4143         always been the case.
4144
4145 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4146
4147         * check/gst/gstbin.c: (GST_START_TEST):
4148         * docs/gst/gstreamer-sections.txt:
4149         * gst/base/gstbasesink.c: (gst_base_sink_init):
4150         * gst/base/gstbasesrc.c: (gst_base_src_init),
4151         (gst_base_src_get_range), (gst_base_src_check_get_range),
4152         (gst_base_src_start), (gst_base_src_stop):
4153         * gst/base/gstbasesrc.h:
4154         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
4155         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4156         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
4157         (bin_bus_handler):
4158         * gst/gstbin.h:
4159         * gst/gstbuffer.h:
4160         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
4161         * gst/gstbus.h:
4162         * gst/gstelement.c: (gst_element_is_locked_state),
4163         (gst_element_set_locked_state), (gst_element_commit_state),
4164         (gst_element_set_state):
4165         * gst/gstelement.h:
4166         * gst/gstindex.c: (gst_index_init):
4167         * gst/gstindex.h:
4168         * gst/gstminiobject.h:
4169         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
4170         (gst_object_set_parent):
4171         * gst/gstobject.h:
4172         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4173         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4174         * gst/gstpad.h:
4175         * gst/gstpadtemplate.h:
4176         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4177         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4178         * gst/gstpipeline.h:
4179         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4180         (gst_file_index_commit):
4181         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4182         * testsuite/pad/link.c: (gst_test_src_init),
4183         (gst_test_filter_init), (gst_test_sink_init):
4184         * testsuite/states/locked.c: (main):
4185           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
4186           moved bitshift from macro to enum definition
4187
4188 2005-10-12  Wim Taymans  <wim@fluendo.com>
4189
4190         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
4191         * gst/elements/gstfilesink.c: (gst_file_sink_event),
4192         (gst_file_sink_render):
4193         Some more debugging info.
4194
4195 2005-10-12  Wim Taymans  <wim@fluendo.com>
4196
4197         * docs/design/part-states.txt:
4198         * tools/gst-launch.c: (main):
4199         Some doc updates.
4200         Revert non-intentional change.
4201
4202 2005-10-12  Wim Taymans  <wim@fluendo.com>
4203
4204         * check/gst/gstbin.c: (GST_START_TEST):
4205         * check/gst/gstelement.c: (GST_START_TEST):
4206         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4207         * check/gst/gstghostpad.c: (GST_START_TEST):
4208         * check/gst/gstpipeline.c: (GST_START_TEST):
4209         * check/pipelines/simple_launch_lines.c: (run_pipeline):
4210         * check/states/sinks.c: (GST_START_TEST):
4211         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4212         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4213         (gst_bin_remove_func), (gst_bin_get_state_func),
4214         (gst_bin_recalc_state), (gst_bin_change_state_func),
4215         (bin_bus_handler):
4216         * gst/gstelement.c: (gst_element_get_state_func),
4217         (gst_element_get_state), (gst_element_abort_state),
4218         (gst_element_commit_state), (gst_element_set_state),
4219         (gst_element_change_state), (gst_element_change_state_func):
4220         * gst/gstelement.h:
4221         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4222         (gst_pipeline_provide_clock_func):
4223         * gst/gstutils.c: (gst_element_link_pads_filtered):
4224         * tools/gst-launch.c: (main):
4225         * tools/gst-typefind.c: (main):
4226         Use GstClockTime in _get_state() instead of GTimeVal.
4227         Remove old code in gstutils.c
4228
4229 2005-10-12  Andy Wingo  <wingo@pobox.com>
4230
4231         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4232         removed.
4233
4234         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4235         there is no task. Shouldn't affect any code, as nothing in our
4236         plugins checks this return value.
4237         (gst_pad_stop_task): Also take the stream lock if the pad has no
4238         task. Docs updated.
4239
4240 2005-10-12  Wim Taymans  <wim@fluendo.com>
4241
4242         * gst/gstpad.c: (pre_activate), (post_activate),
4243         (gst_pad_activate_pull), (gst_pad_activate_push):
4244         Cleanup activation code. Reset old state if
4245         activation failed.
4246
4247 2005-10-12  Wim Taymans  <wim@fluendo.com>
4248
4249         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4250         (gst_base_sink_change_state):
4251         No need to prerol after receiving EOS.
4252
4253         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4254         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4255         * gst/elements/gstidentity.c: (gst_identity_event):
4256         Print events more verbosely.
4257
4258 2005-10-12  Wim Taymans  <wim@fluendo.com>
4259
4260         * check/Makefile.am:
4261         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4262         * check/states/sinks2.c:
4263         Moved sinks2 testcode in sinks check.
4264
4265         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4266         (gst_bin_remove_func), (gst_bin_recalc_state),
4267         (gst_bin_change_state_func), (bin_bus_handler):
4268         Fix potential race condition when _get_state() iterated over an
4269         ASYNC element right before it posted a state completion.
4270
4271         * gst/gstclock.h:
4272         Do proper cast here.
4273
4274         * gst/gstevent.c: (gst_event_new_newsegment),
4275         (gst_event_parse_newsegment):
4276         A playback rate of 0.0 is not allowed.
4277
4278 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4279
4280         * win32/common/config.h:
4281         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4282         (_trewinddir), (_ttelldir), (_tseekdir):
4283         * win32/common/dirent.h:
4284         * win32/common/gtchar.h:
4285         * win32/common/libgstbase.def:
4286         * win32/common/libgstreamer.def:
4287         * win32/vs6/grammar.dsp:
4288         * win32/vs6/gst_inspect.dsp:
4289         * win32/vs6/gst_launch.dsp:
4290         * win32/vs6/gstreamer.dsw:
4291         * win32/vs6/libgstbase.dsp:
4292         * win32/vs6/libgstelements.dsp:
4293         * win32/vs6/libgstreamer.dsp:
4294           Visual Studio 6 project files, and a new common directory.
4295           Phear.
4296
4297 2005-10-11  Wim Taymans  <wim@fluendo.com>
4298
4299         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4300         (gst_base_sink_do_sync), (gst_base_sink_query),
4301         (gst_base_sink_change_state):
4302         * gst/base/gstbasesink.h:
4303         Correctly parse newsegment info.
4304
4305 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4306
4307         * gst/gst.c: (init_post):
4308           split plugin paths correctly
4309
4310 2005-10-11  Wim Taymans  <wim@fluendo.com>
4311
4312         * check/gst/gstevent.c: (GST_START_TEST):
4313         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4314         (gst_base_sink_change_state):
4315         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4316         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4317         * gst/elements/gstfilesink.c: (gst_file_sink_event):
4318         * gst/gstevent.c: (gst_event_new_newsegment),
4319         (gst_event_parse_newsegment):
4320         * gst/gstevent.h:
4321         Added extra flag to newsegment for future API freeze.
4322         Updated check and base elements.
4323
4324 2005-10-11  Julien MOUTTE  <julien@moutte.net>
4325
4326         * gst/base/gstcollectpads.c: (gst_collectpads_init),
4327         (gst_collectpads_add_pad), (gst_collectpads_pop),
4328         (gst_collectpads_event), (gst_collectpads_chain):
4329         * gst/base/gstcollectpads.h: Handle EOS correctly.
4330
4331 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4332
4333         * tools/gst-launch.c: (main):
4334           more null protecting
4335
4336 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4337
4338         * gst/gst-i18n-lib.h:
4339           check for ENABLE_NLS, not GETTEXT_PACKAGE
4340         * gst/gstregistry.c: (gst_registry_add_plugin),
4341         (gst_registry_scan_path_level),
4342         (_gst_registry_remove_cache_plugins):
4343           protect possibly NULL strings
4344         * gst/parse/types.h:
4345           config.h already included before
4346         * tools/gst-inspect.c: (main):
4347           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4348           check for ENABLE_NLS, not GETTEXT_PACKAGE
4349         * tools/gst-launch.c: (main):
4350           check for ENABLE_NLS, not GETTEXT_PACKAGE
4351
4352 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4353
4354         * configure.ac:
4355           if we don't have glib, fail before testing 2.8
4356         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4357           fix a leak, should fix plugins-base testsuite
4358
4359 2005-10-11  Andy Wingo  <wingo@pobox.com>
4360
4361         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4362         take the mode we're going to as an arg. Go head and set the mode
4363         and flushing flags now, so that if the activate function starts a
4364         thread all the flags will be in the right state.
4365         (post_activate): Renamed also. Just handle making sure streaming
4366         finishes for the deactivation case, and setting the deactivated
4367         mode.
4368         (gst_pad_set_active): Complain loudly if deactivation fails.
4369         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4370         (gst_pad_activate_push): Adapt to pre/post_activate changes,
4371         remove the terrible hack.
4372
4373 2005-10-11  Wim Taymans  <wim@fluendo.com>
4374
4375         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4376         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4377         (gst_bin_recalc_state), (gst_bin_change_state_func),
4378         (gst_bin_dispose), (bin_bus_handler):
4379         * gst/gstbin.h:
4380         Prepare to make current EOS message queue more generic.
4381         Fix some typos.
4382
4383         * gst/gstevent.c: (gst_event_new_newsegment),
4384         (gst_event_parse_newsegment):
4385         * gst/gstevent.h:
4386         Rename base to stream_time.
4387
4388         * gst/gstmessage.h:
4389         Fix typo in docs.
4390
4391 2005-10-11  Wim Taymans  <wim@fluendo.com>
4392
4393         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4394         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
4395         (gst_bin_change_state_func), (bin_bus_handler):
4396         * gst/gstbin.h:
4397         Work on proper clock selection.
4398
4399 2005-10-11  Edward Hervey  <edward@fluendo.com>
4400
4401         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
4402         * libs/gst/controller/gstcontroller.h:
4403         Added GList* version of _remove_properties() in order to be able to wrap
4404         it in bindings.
4405
4406 2005-10-11  Wim Taymans  <wim@fluendo.com>
4407
4408         * docs/design/part-states.txt:
4409         Some more docs.
4410
4411         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
4412         (gst_bin_change_state_func), (bin_bus_handler):
4413         Doc updates. Don't distribute the same clock over and over again.
4414
4415         * gst/gstclock.c:
4416         * gst/gstclock.h:
4417         Doc updates.
4418
4419         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
4420         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
4421         (gst_pad_send_event):
4422         * gst/gstpad.h:
4423         Make probe emission threadsafe again.
4424         Register quarks and move _get_name() from utils.
4425         Doc updates.
4426
4427         * gst/gstpipeline.c: (gst_pipeline_class_init),
4428         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4429         Only redistribute the clock of it changed.
4430
4431         * gst/gstsystemclock.h:
4432         Doc updates. 
4433
4434         * gst/gstutils.c:
4435         * gst/gstutils.h:
4436         Moved the _flow_get_name() to GstPad.
4437
4438 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4439
4440         * check/gst-libs/gdp.c: (GST_START_TEST):
4441         * check/gst/gstcaps.c: (GST_START_TEST):
4442         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
4443         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
4444         (gst_dp_packet_from_caps):
4445           fix more valgrind warnings before turning up the heat
4446
4447 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4448
4449         * gst/parse/grammar.y:
4450           some cleanup before the hacking
4451
4452 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4453
4454         * gst/base/gstbasesrc.c: (gst_base_src_query):
4455           use conversions
4456         * gst/gstutils.c: (gst_guint64_to_gdouble),
4457         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
4458         * gst/gstutils.h:
4459           externalize, basesrc uses it
4460           obviously the implementation needs testing
4461
4462 2005-10-10  Wim Taymans  <wim@fluendo.com>
4463
4464         * tests/sched/Makefile.am:
4465         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
4466         (make_pipeline3), (make_pipeline4), (print_elem), (main):
4467
4468 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4469
4470         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
4471           apparently converting from guint64 to double is not implemented
4472           on MSVC
4473
4474 2005-10-10  Wim Taymans  <wim@fluendo.com>
4475
4476         * check/Makefile.am:
4477         * check/generic/states.c: (GST_START_TEST):
4478         * check/gst/gstbin.c: (GST_START_TEST):
4479         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4480         * check/states/sinks.c: (GST_START_TEST):
4481         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
4482         (main):
4483         Check fixes, use API as stated in design docs, remove hacks.
4484
4485         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4486         (gst_base_sink_change_state):
4487         Catch stopping our task while we're shutting down.
4488
4489         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
4490         (gst_bin_remove_func), (gst_bin_get_state_func),
4491         (gst_bin_recalc_state), (gst_bin_change_state_func),
4492         (bin_bus_handler):
4493         * gst/gstbin.h:
4494         * gst/gstelement.c: (gst_element_init),
4495         (gst_element_get_state_func), (gst_element_abort_state),
4496         (gst_element_commit_state), (gst_element_lost_state),
4497         (gst_element_set_state), (gst_element_change_state),
4498         (gst_element_change_state_func):
4499         * gst/gstelement.h:
4500         New state change algorithm (see #318116)
4501
4502         * gst/gstpipeline.c: (gst_pipeline_class_init),
4503         (gst_pipeline_init), (gst_pipeline_set_property),
4504         (gst_pipeline_get_property), (do_pipeline_seek),
4505         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4506         * gst/gstpipeline.h:
4507         Remove crude state change hacks.
4508
4509         * gst/gstutils.h:
4510         Remove crude hacks.
4511
4512         * tools/gst-launch.c: (main):
4513         Fixes for state change. Needs some more work to fully use the
4514         new stuff.
4515
4516 2005-10-10  Andy Wingo  <wingo@pobox.com>
4517
4518         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
4519
4520         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
4521         this flag, but it's not even in GLib 2.6. Odd. Hack around the
4522         issue.
4523
4524 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4525
4526         * gst/gstiterator.c: (gst_iterator_new):
4527           Fix my previous commit: GTypes passed to gst_iterator_new()
4528           can be fundamental types.
4529
4530 2005-10-10  Wim Taymans  <wim@fluendo.com>
4531
4532         * gst/gstelement.c: (gst_element_iterate_pad_list),
4533         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
4534         (gst_element_iterate_sink_pads):
4535         Use src/sink pads lists for the respective iterators instead
4536         of filtering.
4537
4538 2005-10-10  Andy Wingo  <wingo@pobox.com>
4539
4540         Merged in popt removal + GOption addition patch from Ronald, bug
4541         #169772.
4542
4543         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
4544         GstElement macros around, remove popt-related symbols, add goption
4545         stuff.
4546
4547         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
4548         
4549         * docs/gst/Makefile.am:
4550         * docs/libs/Makefile.am: No POPT_CFLAGS.
4551         
4552         * examples/manual/Makefile.am:
4553         * docs/manual/basics-init.xml: Doc updates with an example.
4554         
4555         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4556         (gst_init), (parse_one_option), (parse_goption_arg):
4557         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
4558         bit of hand merging and debugging to get the GOption stuff working
4559         tho.
4560         
4561         * tests/Makefile.am:
4562         * tools/Makefile.am:
4563         * tools/gst-inspect.c: (main):
4564         * tools/gst-launch.c: (main):
4565         * tools/gst-run.c: (main):
4566         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
4567
4568 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4569
4570         * gst/gstiterator.c: (gst_iterator_new):
4571           Add assertions to make sure passed GType is likely to really
4572           be a GType (as the compiler won't catch it if the size and
4573           GType arguments get mixed up, see #318447).
4574
4575 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
4576
4577         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4578
4579         * gst/gstbin.c: (gst_bin_iterate_sorted):
4580           Pass GType and size arguments to gst_iterator_new() in the right
4581           order (maybe we should make _new() take the GType as first argument
4582           just like _new_list()?) (#318447).
4583           
4584
4585 2005-10-10  Wim Taymans  <wim@fluendo.com>
4586
4587         * gst/gstelement.c: (gst_element_finalize):
4588         And free the GStaticRecMutex too
4589
4590 2005-10-10  Andy Wingo  <wingo@pobox.com>
4591
4592         * gst/gstelement.c (gst_element_init, gst_element_finalize):
4593         Allocate and free the mutex properly.
4594
4595         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
4596         New macros.
4597         (GstElement): The state_lock is now recursive. Rebuild your
4598         plugins, suckers. Old macros adapted.
4599
4600         * docs/gst/gstreamer-sections.txt: Doc updates.
4601
4602         * gst/gstutils.h:
4603         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
4604         (g_static_rec_cond_wait): Ported from state changes patch, while
4605         we wait on bug #317802 to be solved in a well-distributed GLib.
4606
4607         * gst/gstelement.c (gst_element_change_state_func): Renamed from
4608         gst_element_change_state, variable name changes.
4609         (gst_element_change_state): Split out of gst_element_set_state in
4610         preparation for the state change merge. Doesn't pay attention to
4611         the 'transition' argument.
4612         (gst_element_set_state): Updates, hopefully purely cosmetic.
4613         (gst_element_sync_state_with_parent): MT-safety. Ported from the
4614         state change patch.
4615         (gst_element_get_state_func): Renamed from get_state, cosmetic
4616         changes.
4617
4618 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4619
4620         * gst/elements/gstelements.c:
4621         * win32/GStreamer.vcproj:
4622         * win32/config.h:
4623         * win32/dirent.c: (_tseekdir):
4624         * win32/gst-inspect.vcproj:
4625         * win32/gst-launch.vcproj:
4626         * win32/gstconfig.h:
4627         * win32/gstelements.vcproj:
4628         * win32/gstenumtypes.c: (gst_object_flags_get_type):
4629         * win32/gstreamer.def:
4630         * win32/msvc71.sln:
4631           updates for the win32 build (patch from Sebastien Moutte)
4632
4633 2005-10-10  Andy Wingo  <wingo@pobox.com>
4634
4635         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
4636         gst_bin_get_state, cleaned up (but no logic changes).
4637         (bin_element_is_sink): Comment updates.
4638         (sink_iterator_filter): Remove needless cast.
4639         (gst_bin_iterate_sinks): Doc update.
4640         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
4641         cleaned up (but no logic changes).
4642
4643         * check/states/sinks.c (test_src_sink): Cleanups from the state
4644         change patch.
4645         (test_livesrc_sink): Sync on the state.
4646
4647         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
4648         the state change patch.
4649
4650         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
4651         change patch.
4652
4653         * check/gst/gstbin.c: Merge in some style fixes and additional
4654         checks from Wim's state change patch.
4655
4656 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4657
4658         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4659         (gst_type_find_helper):
4660           Check whether we have the requested data already in our list of
4661           cached buffers before pulling a new buffer; also make the buffer
4662           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
4663
4664 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4665
4666         * gst/gstcaps.c:
4667         * gst/gstevent.c:
4668           doc updates
4669         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
4670           don't use long long, it's not portable.  Replacing with
4671           gint64 seems to work; let's hope no skeletons fall out of the closet.
4672
4673 2005-10-10  Andy Wingo  <wingo@pobox.com>
4674
4675         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
4676
4677 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
4678
4679         * docs/gst/gstreamer-sections.txt:
4680         * gst/gstevent.c:
4681         * gst/gstevent.h:
4682         * gst/gstinfo.c:
4683         * gst/gstinfo.h:
4684         * gst/gstmessage.c: (gst_message_parse_state_changed):
4685         * gst/gstpad.c:
4686         * gst/gstpad.h:
4687           more docs, fix compilation
4688
4689 2005-10-09  Philippe Khalaf <burger@speedy.org>
4690         * gst/gstmessage.c:
4691           Fixed a few forgotten variables on previous commit
4692
4693 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4694
4695         * gst/base/gsttypefindhelper.c: (helper_find_peek):
4696           Fix evil typefind crasher: getrange() might return a short
4697           buffer at the end of a file, but gst_type_find_peek() must
4698           either return the full data as requested or NULL, but
4699           never a short buffer.
4700
4701 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4702
4703         * gst/gstmessage.c: (gst_message_new_state_changed),
4704         (gst_message_parse_state_changed):
4705         * gst/gstmessage.h:
4706           don't use "new", it's a C++ keyword
4707
4708 2005-10-08  Wim Taymans  <wim@fluendo.com>
4709
4710         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
4711         * gst/gstelement.c: (gst_element_post_message):
4712         * gst/gstpipeline.c: (gst_pipeline_change_state):
4713         Small docs and debug updates.
4714
4715 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4716
4717         * docs/gst/gstreamer-sections.txt:
4718         * gst/gstelementfactory.c:
4719         * gst/gstevent.c:
4720         * gst/gsttaglist.c:
4721           more docs
4722
4723 2005-10-08  Wim Taymans  <wim@fluendo.com>
4724
4725         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
4726         (gst_bin_dispose), (bin_bus_handler):
4727         Fix typos, add comments.
4728         Clear EOS list when going to PAUSED from any direction and do it
4729         in a threadsafe way.
4730         Get base time in a threadsafe way too.
4731         Fix confusing debug in the change_state function.
4732         Various other small cleanups.
4733         
4734         * gst/gstelement.c: (gst_element_post_message):
4735         Fix very verbose bus posting code.
4736
4737         * gst/gstpipeline.c: (gst_pipeline_class_init),
4738         (gst_pipeline_set_property), (gst_pipeline_get_property),
4739         (gst_pipeline_change_state):
4740         Small ARG_ -> PROP_ cleanup
4741
4742 2005-10-08  Wim Taymans  <wim@fluendo.com>
4743
4744         * gst/gstbin.c: (is_eos), (bin_bus_handler):
4745         Do a less CPU demanding EOS check because we can.
4746
4747 2005-10-08  Wim Taymans  <wim@fluendo.com>
4748
4749         * libs/gst/dataprotocol/dataprotocol.c:
4750         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
4751         (gst_dp_packet_from_event):
4752         * libs/gst/dataprotocol/dataprotocol.h:
4753         * libs/gst/dataprotocol/dp-private.h:
4754         It's about time we bump the version number.
4755         Since event types don't fit in the guint8 anymore describing
4756         the payload type, make payload type 16 bits wide.
4757
4758 2005-10-08  Wim Taymans  <wim@fluendo.com>
4759
4760         * docs/design/part-TODO.txt:
4761         * docs/design/part-clocks.txt:
4762         * docs/design/part-events.txt:
4763         * docs/design/part-gstbin.txt:
4764         * docs/design/part-gstelement.txt:
4765         * docs/design/part-gstpipeline.txt:
4766         * docs/design/part-live-source.txt:
4767         * docs/design/part-messages.txt:
4768         * docs/design/part-overview.txt:
4769         * docs/design/part-states.txt:
4770         Many doc updates.
4771
4772 2005-10-08  Wim Taymans  <wim@fluendo.com>
4773
4774         * gst/gstevent.c:
4775         * gst/gstevent.h:
4776         Fix event quark registration.
4777         Add some space between events so we can insert them in the
4778         right groups.
4779
4780 2005-10-08  Wim Taymans  <wim@fluendo.com>
4781
4782         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4783         (gst_base_sink_handle_buffer):
4784         Better log message.
4785
4786         * gst/gstbus.h:
4787         * gst/gstelement.h:
4788         More docs.
4789
4790         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4791         (gst_queue_set_property), (gst_queue_get_property):
4792         * gst/gstqueue.h:
4793         Remove old unused properties.
4794
4795 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4796         * docs/gst/gstreamer-sections.txt:
4797         * gst/gstmessage.c:
4798         * gst/gstmessage.h:
4799         * gst/gstminiobject.c:
4800         * gst/gstminiobject.h:
4801         * gst/gstobject.h:
4802         * gst/gstpad.h:
4803         * gst/gstutils.h:
4804           lots of new docs and doc fixes
4805
4806 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4807
4808         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
4809         * gst/gstplugin.h:
4810         * gst/gstregistry.c: (gst_registry_lookup_locked),
4811         (gst_registry_scan_path_level):
4812         * gst/gstregistryxml.c: (load_plugin):
4813           Only ever load one plugin for a given plugin basename.
4814           This ensures correct overriding of GST_PLUGIN_PATH over
4815           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
4816           system installed plugins.
4817
4818 2005-10-08  Wim Taymans  <wim@fluendo.com>
4819
4820         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4821         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
4822         Prepare for doing QOS.
4823
4824 2005-10-08  Wim Taymans  <wim@fluendo.com>
4825
4826         * check/gst/gstbin.c: (GST_START_TEST):
4827         * check/pipelines/cleanup.c: (GST_START_TEST):
4828         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
4829         Allow new clock message too.
4830
4831 2005-10-08  Wim Taymans  <wim@fluendo.com>
4832
4833         * gst/gstmessage.c: (gst_message_new_error),
4834         (gst_message_new_warning), (gst_message_new_tag),
4835         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4836         (gst_message_new_clock_lost), (gst_message_new_new_clock),
4837         (gst_message_new_segment_start), (gst_message_new_segment_done),
4838         (gst_message_parse_state_changed),
4839         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
4840         (gst_message_parse_new_clock):
4841         * gst/gstmessage.h:
4842         Also carry the clock in question.
4843
4844 2005-10-08  Wim Taymans  <wim@fluendo.com>
4845
4846         * gst/gstmessage.c: (gst_message_new_custom),
4847         (gst_message_new_eos), (gst_message_new_error),
4848         (gst_message_new_warning), (gst_message_new_tag),
4849         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4850         (gst_message_new_new_clock), (gst_message_new_segment_start),
4851         (gst_message_new_segment_done), (gst_message_parse_state_changed),
4852         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
4853         * gst/gstmessage.h:
4854         Clean up.
4855         Added clock related messages.
4856
4857         * gst/gstpipeline.c: (gst_pipeline_change_state):
4858         Post message when the clock changed.
4859
4860         * tools/gst-launch.c: (event_loop):
4861         Print new clock.
4862
4863 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
4864
4865         * tools/gst-inspect.c: (print_element_properties_info):
4866           Can't pass NULL strings to g_print() on windows.
4867
4868 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4869
4870         * docs/Makefile.am:
4871         * docs/gst/Makefile.am:
4872         * docs/gst/gstreamer-docs.sgml:
4873         * docs/gst/running.xml:
4874         * docs/version.entities.in:
4875           add a chapter on running GStreamer.
4876           document GST_DEBUG and GST_PLUGIN* env vars
4877
4878 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4879
4880         * Makefile.am:
4881           remove include dir
4882         * configure.ac:
4883           remove PLUGINS_BUILDDIR stuff
4884         * gst/gst.c: (init_post):
4885           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
4886         * idiottest.mak:
4887           remove, it was condescending and not needed
4888
4889 2005-10-08  Wim Taymans  <wim@fluendo.com>
4890
4891         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
4892         (gst_base_sink_handle_object), (gst_base_sink_event),
4893         (gst_base_sink_wait), (gst_base_sink_handle_event),
4894         (gst_base_sink_change_state):
4895         * gst/base/gstbasesink.h:
4896         Repost EOS message while going to PLAYING if still EOS.
4897         Make sure that when receiving a FLUSH_START we don't attempt
4898         to sync on the clock anymore.
4899
4900 2005-10-08  Wim Taymans  <wim@fluendo.com>
4901
4902         * tools/gst-launch.c: (event_loop):
4903         Better message printout.
4904
4905 2005-10-08  Wim Taymans  <wim@fluendo.com>
4906
4907         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
4908         (gst_bin_child_proxy_get_children_count):
4909         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
4910         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
4911         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
4912         (gst_child_proxy_set_valist):
4913         * gst/parse/grammar.y:
4914         Make ChildProxy threadsafe and fix mem leaks.
4915
4916 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4917
4918         * gst/gst.c: (init_post):
4919           debug the GST_PLUGIN_ env vars
4920
4921 2005-10-08  Wim Taymans  <wim@fluendo.com>
4922
4923         * check/gst/gstbin.c: (GST_START_TEST):
4924         * check/gst/gstmessage.c: (GST_START_TEST):
4925         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4926         * gst/gstelement.c: (gst_element_commit_state),
4927         (gst_element_lost_state):
4928         * gst/gstmessage.c: (gst_message_new_state_changed),
4929         (gst_message_parse_state_changed):
4930         * gst/gstmessage.h:
4931         * tools/gst-launch.c: (event_loop):
4932         Added extra field to STATE_CHANGE message with the pending
4933         state, which will be different from the new state soon.
4934
4935 2005-10-08  Wim Taymans  <wim@fluendo.com>
4936
4937         * gst/gstbus.c: (gst_bus_pop):
4938         * gst/gstclock.c:
4939         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
4940         Small cleanups and doc updates.
4941
4942 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4943
4944         * gst/gst.c: (init_pre):
4945         * gst/gstbin.c: (gst_bin_add_func):
4946           log distributing clocks and base time
4947         * gst/gstregistry.c: (gst_registry_add_plugin),
4948         (gst_registry_scan_path_level), (gst_registry_scan_path):
4949           clean up the debugging output a little
4950         * gst/gstutils.c: (gst_element_state_get_name):
4951           warn about a memleak (I've actually seen this be used, though
4952           it was probably a bug)
4953
4954 2005-10-07  Wim Taymans  <wim@fluendo.com>
4955
4956         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4957         (gst_base_src_init), (gst_base_src_default_newsegment),
4958         (gst_base_src_newsegment), (gst_base_src_do_seek),
4959         (gst_base_src_loop), (gst_base_src_start):
4960         * gst/base/gstbasesrc.h:
4961         Make the newsegment event customizable by subclasses.
4962
4963 2005-10-07  Wim Taymans  <wim@fluendo.com>
4964
4965         * gst/gstevent.c: (gst_event_new_buffersize),
4966         (gst_event_parse_buffersize):
4967         * gst/gstevent.h:
4968         New event for future idea.
4969
4970 2005-10-07  Andy Wingo  <wingo@pobox.com>
4971
4972         * gst/gstelement.c (gst_element_post_message): Doc update.
4973
4974         * docs/gst/gstreamer-sections.txt: Update.
4975
4976         * gst/gstmessage.c (gst_message_new_application): Made into a
4977         function like honest API calls.
4978         (gst_message_new_element): New message type.
4979
4980         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
4981
4982         * check/elements/fakesrc.c (test_no_preroll): New check, checks
4983         that setting a live fakesrc to PAUSED returns NO_PREROLL both
4984         times.
4985
4986         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
4987         NO_PREROLL from gst_element_change_state to fall through.
4988
4989 2005-10-07  Wim Taymans  <wim@fluendo.com>
4990
4991         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
4992         (gst_ghost_pad_do_activate_push):
4993         Activating a ghostpad with no internal pad in push mode
4994         is ok.
4995
4996 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4997
4998         * gst/gstobject.h:
4999           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
5000           Fixes compilation on Windows.
5001
5002 2005-10-07  Michael Smith <msmith@fluendo.com>
5003
5004         * tools/gst-inspect.c:
5005           Print out feature and plugin count at the end when printing out
5006           all features.
5007
5008 2005-10-04  Michael Smith <msmith@fluendo.com>
5009
5010         * gst/gsterror.c: (_gst_stream_errors_init):
5011           Add another error string used in a few existing plugins.
5012
5013         * gst/gstplugin.c:
5014         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5015         * tools/gst-inspect.c: (print_element_info):
5016           When a feature disappears from a plugin (and the feature exists in
5017           the cached registry file), things went horribly wrong. This isn't a
5018           complete fix, we should actually be removing the 'missing' features
5019           from the features list when we load the actual plugin. That's not
5020           yet implemented. 
5021
5022 2005-10-04  Johan Dahlin  <johan@gnome.org>
5023
5024         * check/gst/gstiterator.c: (GST_START_TEST):
5025         * gst/gstbin.c: (gst_bin_iterate_elements),
5026         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
5027         * gst/gstelement.c: (gst_element_iterate_pads):
5028         * gst/gstformat.c: (gst_format_iterate_definitions):
5029         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5030         (gst_iterator_new_list), (gst_iterator_filter):
5031         * gst/gstiterator.h:
5032         * gst/gstquery.c: (gst_query_type_iterate_definitions):
5033         Add a GType to GstIterator, update callsites and tests.
5034
5035 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5036
5037         * gst/gstpad.c: (gst_pad_event_default_dispatch):
5038           give events a chance to be handled by event probes when the pad
5039           is not linked
5040
5041 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5042
5043         * gst/gstevent.c: (gst_event_type_get_name),
5044         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
5045         * gst/gstevent.h:
5046           add string representations for event types
5047
5048 2005-10-06  Wim Taymans  <wim@fluendo.com>
5049
5050         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
5051         Don't use NULL pointers.
5052
5053 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5054
5055         * gst/gst_private.h:
5056         * gst/gstbus.c:
5057         * gst/gstelement.c:
5058         * gst/gstinfo.c:
5059         * gst/gstpluginfeature.c:
5060           widen the debug category in output to fit the biggest one we have
5061           add a bus category and use it
5062           play with the colors
5063           fix up some categories
5064
5065 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5066
5067         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
5068           add push activation of sink ghost pads.
5069           Andye, please verify
5070
5071 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5072
5073         * gst/gstutils.c: (gst_element_link_pads):
5074           fix a bug in the case where neither element has a pad
5075         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5076           add a test for that case
5077
5078 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5079
5080         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
5081           emit have-data before checking for peers.  This allows
5082           for probe handlers to connect elements.  This helps autopluggers.
5083         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
5084         (gst_pad_suite):
5085           add six checks, linked/unlinked with no/true/false probe
5086
5087 2005-10-04  Wim Taymans  <wim@fluendo.com>
5088
5089         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
5090         (gst_fake_sink_event), (gst_fake_sink_preroll),
5091         (gst_fake_sink_render), (gst_fake_sink_change_state):
5092         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
5093         (gst_fake_src_get_property), (gst_fake_src_create),
5094         (gst_fake_src_stop):
5095         * gst/elements/gstidentity.c: (gst_identity_stop):
5096         Protect last_message with lock.
5097
5098 2005-10-04  Edward Hervey  <edward@fluendo.com>
5099
5100         * gst/gstformat.h: 
5101         Added precision in the comments for GST_FORMAT_DEFAULT
5102
5103 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
5104
5105         * tools/gst-launch.c: (main):
5106           Don't try to run erroneous pipelines.
5107
5108 2005-10-04  Julien MOUTTE  <julien@moutte.net>
5109
5110         * gst/gstbus.c: We don't need this header.
5111
5112 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5113
5114         * configure.ac:
5115           back to development
5116
5117 === release 0.9.3 ===
5118
5119 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5120
5121         * README:
5122         * configure.ac:
5123           Releasing 0.9.3, "Unregistered"
5124
5125 2005-10-03  Andy Wingo  <wingo@pobox.com>
5126
5127         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
5128         whereby calling a pad's activatepush() function can start a thread
5129         that starts to push or pull before the pad gets the FLUSHING flag
5130         unset. Hack around it by holding the stream lock until the flag is
5131         set. Need to replace this with a proper solution. Together with
5132         the ghost pad fixes, this fixes mp3 playing/tagreading.
5133
5134         * docs/design/part-gstghostpad.txt: Add a note about activation of
5135         proxy pads outside of ghost pads.
5136
5137         * gst/gstghostpad.c: Implement the ghost pad activation design.
5138
5139 2005-10-02  Andy Wingo  <wingo@pobox.com>
5140
5141         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
5142         It is volatile, after all.
5143
5144         * docs/design/part-gstghostpad.txt: Flesh out activation with
5145         ghost pads.
5146
5147         * gst/base/gstbasesrc.c (gst_base_src_init): Use
5148         GST_DEBUG_FUNCPTR.
5149
5150 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5151
5152         * configure.ac:
5153           Fix (unused) AM_CONDITIONAL tests.
5154
5155 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
5156
5157         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5158
5159         * gst/gstutils.c: (gst_pad_query_convert):
5160           Add assertion that makes sure src_val is >=0, just like
5161           gst_query_new_convert() has. (#315895)
5162
5163 2005-09-30  Edward Hervey  <edward@fluendo.com>
5164
5165         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
5166         Let's not iterate pads we're not interested in, it avoids getting 
5167         sky-high refcounts on sinkpad.
5168
5169 2005-09-30  Wim Taymans  <wim@fluendo.com>
5170
5171         * gst/gstelement.c: (gst_element_set_state),
5172         (gst_element_change_state):
5173         Small tweak, element in ASYNC remains ASYNC.
5174
5175 2005-09-30  Wim Taymans  <wim@fluendo.com>
5176
5177         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5178         Only error is an error.
5179
5180         * gst/gstbin.c: (gst_bin_change_state):
5181         Better debugging.
5182
5183         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
5184         Also call pad_block in pad alloc.
5185
5186         * gst/gstutils.c: (gst_flow_get_name):
5187         Better debugging.
5188
5189 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5190
5191         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5192         (gst_base_src_get_range):
5193           Fix documentation typos. Add some more debug info.
5194
5195 2005-09-29  David Schleef  <ds@schleef.org>
5196
5197         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5198           more end-user friendly.
5199         * tools/gst-inspect.c: (main): Check if command-line argument is
5200           a file and attempt to load that file as a plugin.
5201
5202 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5203
5204         * check/gst/gstbin.c:
5205         * check/states/sinks.c:
5206           fix tests for the new warning
5207         * check/gst/gstpipeline.c:
5208           add a test for pipeline and bus interaction
5209         * gst/gstelement.c:
5210           elements should be NULL if they get disposed; add a warning if not
5211
5212 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5213
5214         * gst/gstobject.c:
5215           for 2.6 refcounting, make debug log more correct by printing
5216           the actual refcounts at the time of swap (Wim)
5217
5218 2005-09-29  Andy Wingo  <wingo@pobox.com>
5219
5220         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5221         removes signal watches previously added via
5222         gst_bus_add_signal_watch.
5223         (gst_bus_add_signal_watch): Don't return the source id, just store
5224         it on the bus if there wasn't an id already.
5225
5226         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5227         add_signal_watch and remove_signal_watch.
5228
5229 2005-09-29  Edward Hervey  <edward@fluendo.com>
5230
5231         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
5232         Better if we actually iterate the list :)
5233
5234 2005-09-29  Wim Taymans  <wim@fluendo.com>
5235
5236         * check/gst/gstbin.c: (GST_START_TEST):
5237         Change for new bus API.
5238
5239         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5240         (send_messages), (GST_START_TEST), (gstbus_suite):
5241         Change for new bus signal API.
5242
5243         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5244         (gst_bus_source_prepare), (gst_bus_source_check),
5245         (gst_bus_create_watch), (gst_bus_add_watch_full),
5246         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5247         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5248         * gst/gstbus.h:
5249         Remove support for multiple GSources operating on different
5250         message types as it is too complex and unneeded when using
5251         signals.
5252         Added support for receiving signals from the bus.
5253
5254 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5255
5256         * docs/libs/tmpl/gstdataprotocol.sgml:
5257         * docs/manual/advanced-dataaccess.xml:
5258         * gst/elements/gstcapsfilter.c:
5259         * gst/gstutils.c:
5260           rename filter-caps to caps property
5261
5262 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5263
5264         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5265           More robust fraction string parsing.
5266
5267         * docs/pwg/appendix-porting.xml:
5268           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5269
5270 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5271
5272         * gst/gstcaps.c: (gst_caps_do_simplify):
5273           Thou shalt not free a structure and then continue using it
5274           in the next loop iteration.
5275
5276         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5277         (gst_caps_suite):
5278           Add test case for caps simplification.
5279
5280 2005-09-29  Wim Taymans  <wim@fluendo.com>
5281
5282         * check/gst/gstbin.c: (GST_START_TEST):
5283         Oops.
5284
5285 2005-09-29  Wim Taymans  <wim@fluendo.com>
5286
5287         * check/gst/gstbin.c: (GST_START_TEST):
5288         Add bus to bin.
5289
5290         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5291         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5292         (find_element), (gst_bin_sort_iterator_next),
5293         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5294         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5295         (gst_bin_change_state), (gst_bin_dispose):
5296         A bin does not have a bus, it gets the bus from the parent.
5297
5298         * gst/gstelement.c: (gst_element_requires_clock),
5299         (gst_element_provides_clock), (gst_element_is_indexable),
5300         (gst_element_is_locked_state), (gst_element_change_state),
5301         (gst_element_set_bus_func):
5302         Small cleanups.
5303
5304         * gst/gstpipeline.c: (gst_pipeline_class_init),
5305         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5306         The pipeline provides a bus.
5307
5308 2005-09-28  Johan Dahlin  <johan@gnome.org>
5309
5310         * gst/gstmessage.c (gst_message_parse_state_changed): Use
5311         gst_structure_get_enum instead of gst_structure_get_int
5312
5313         * gst/gststructure.c (gst_structure_get_enum): Impl.
5314
5315         * gst/gststructure.h (gst_structure_get_enum): Add
5316
5317         * docs/gst/gstreamer-sections.txt: Ditto
5318
5319         * gst/gstmessage.c (gst_message_new_state_changed): Use
5320         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5321         which does introspection.
5322         Reviewed by Christian Schaller
5323
5324 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5325
5326         * gst/gstinfo.c: (gst_debug_log_default):
5327           don't do dummy g_strdup()s
5328         * libs/gst/controller/gstcontroller.c:
5329         (on_object_controlled_property_changed),
5330         (gst_controlled_property_new), (gst_controller_new_valist),
5331         (gst_controller_new_list),
5332         (gst_controller_remove_properties_valist), (gst_controller_set),
5333         (gst_controller_get), (gst_controller_sync_values),
5334         (gst_controller_get_value_array), (_gst_controller_class_init),
5335         (gst_controller_get_type):
5336         * libs/gst/controller/gstcontroller.h:
5337         * libs/gst/controller/gstinterpolation.c:
5338         (gst_controlled_property_find_timed_value_node):
5339           convert // to /**/ comments
5340
5341 2005-09-28  Wim Taymans  <wim@fluendo.com>
5342
5343         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5344         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5345         (gst_bus_sync_signal_handler):
5346         * gst/gstbus.h:
5347         Added async-message and sync-message signals to the bus.
5348         Added helper BusFunc to emit signals for all posted messages.
5349
5350         * gst/gstmessage.c: (gst_message_type_get_name),
5351         (gst_message_type_to_quark), (gst_message_get_type):
5352         * gst/gstmessage.h:
5353         Register quarks for message names.
5354
5355 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5356
5357         * docs/libs/gstreamer-libs-sections.txt:
5358         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5359         (gst_controller_new_list):
5360         * libs/gst/controller/gstcontroller.h:
5361           added another constructor for language bindings
5362
5363 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5364
5365         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5366           add another check
5367         * gst/gstbus.c:
5368           add some doc
5369         * gst/gstinfo.c: (_gst_debug_init):
5370           slightly more readable color for refcount debugging
5371
5372 2005-09-28  Wim Taymans  <wim@fluendo.com>
5373
5374         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5375         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5376         (find_element), (gst_bin_sort_iterator_next),
5377         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5378         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5379         (gst_bin_change_state), (gst_bin_dispose):
5380         Small doc fixes. get_clock -> provide_clock.
5381
5382         * gst/gstelement.c: (gst_element_class_init),
5383         (gst_element_provides_clock), (gst_element_provide_clock),
5384         (gst_element_get_clock), (gst_element_commit_state),
5385         (gst_element_lost_state):
5386         * gst/gstelement.h:
5387         Make get/set_clock() symetric. Add provide_clock vmethod since
5388         that is actually what this function does.
5389
5390         * gst/gstpipeline.c: (gst_pipeline_class_init),
5391         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
5392         (gst_pipeline_get_clock):
5393         get_clock -> provide_clock.
5394
5395 2005-09-28  Andy Wingo  <wingo@pobox.com>
5396
5397         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
5398         lieu of real docs...
5399
5400         * gst/elements/gstfdsrc.c: Cleaned up a bit.
5401
5402 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
5403
5404         * gst/elements/gstcapsfilter.c:
5405         * gst/elements/gstfakesink.c:
5406         * gst/elements/gstfakesrc.c:
5407         * gst/elements/gstfdsink.c:
5408         * gst/elements/gstfdsrc.c:
5409         * gst/elements/gstfilesink.c:
5410         * gst/elements/gstfilesrc.c:
5411         * gst/elements/gstidentity.c:
5412         * gst/elements/gsttee.c:
5413         * gst/elements/gsttypefindelement.c:
5414           Make element details static.
5415
5416 2005-09-28  Wim Taymans  <wim@fluendo.com>
5417
5418         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5419         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5420         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5421         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5422         (gst_bin_change_state), (gst_bin_dispose):
5423         Some documentation updates.
5424         Clean up dispose handlers.
5425
5426         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
5427         * gst/gstpad.c: (gst_pad_dispose):
5428         Clean up dispose handler.
5429
5430         * gst/gstpipeline.c: (gst_pipeline_change_state):
5431         Removed spurious UNLOCK.
5432
5433 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
5434
5435         * docs/gst/gstreamer-sections.txt:
5436         * gst/base/gstbasesrc.h:
5437         * gst/gstelement.h:
5438         * gst/gstevent.h:
5439         * gst/gstobject.h:
5440         * gst/gstpad.h:
5441         * gst/gstpipeline.c:
5442         * gst/gstpipeline.h:
5443         * gst/gstutils.h:
5444         * gst/gstxml.h:
5445           added two new functions to the docs
5446                 documents all undocumented GstXXXFlags
5447                 completed some incomplete docs 
5448
5449 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5450
5451         * gst/gstbin.c: (gst_bin_dispose):
5452         * gst/gstelement.c: (gst_element_dispose):
5453           remove now useless and leaky resurrection code in dispose
5454         * gst/base/gstbasesrc.c: (gst_base_src_init):
5455         * gst/gstelementfactory.c: (gst_element_factory_create):
5456         * gst/gstobject.c: (gst_object_set_parent):
5457           add some debugging
5458
5459 2005-09-27  Wim Taymans  <wim@fluendo.com>
5460
5461         * docs/design/part-TODO.txt:
5462         Update TODO.
5463
5464         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5465         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5466         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5467         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5468         (gst_bin_change_state):
5469         * gst/gstelement.h:
5470         Remove element variable, we keep element info in the iterator now.
5471
5472 2005-09-27  Andy Wingo  <wingo@pobox.com>
5473
5474         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
5475         values.
5476
5477 2005-09-27  Wim Taymans  <wim@fluendo.com>
5478
5479         * check/gst/gstbin.c: (GST_START_TEST):
5480         Enable check that works now.
5481
5482         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5483         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5484         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5485         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5486         (gst_bin_change_state):
5487         * gst/gstbin.h:
5488         Redid the state change algorithm using a topological sort algo.
5489         Handles all cases correctly.
5490         Exposed iterator for state change order.
5491
5492         * gst/gstelement.h:
5493         Temp storage for state changes. Need to get rid of this soon.
5494
5495 2005-09-27  Wim Taymans  <wim@fluendo.com>
5496
5497         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
5498         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
5499         (link_fold_func), (gst_pad_proxy_setcaps):
5500         Leak fixes, the fold functions need to unref the passed object and
5501         _get_parent_*() returns ref to parent.
5502
5503 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5504
5505         * check/gst/gstbuffer.c: (test_make_writable):
5506           Plug leak in test case and fix 'make check-valgrind'
5507
5508 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5509
5510         * gst/gstbuffer.c: (gst_subbuffer_init):
5511           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
5512           works correctly in all circumstances (we could have just copied
5513           the parent buffer's readonly flag, but conceptually it seems
5514           cleaner to mark all subbuffers as read-only). (based on patch
5515           by Alessandro Decina, #314710).
5516         
5517         * check/gst/gstbuffer.c: (create_read_only_buffer),
5518         (test_make_writable), (test_subbuffer_make_writable),
5519         (gst_test_suite):
5520           Add some tests for gst_buffer_make_writable().
5521
5522 2005-09-27  Wim Taymans  <wim@fluendo.com>
5523
5524         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
5525         use gst_object_has_ancestor().
5526
5527         * gst/gstobject.c: (gst_object_has_ancestor):
5528         * gst/gstobject.h:
5529         gst_object_has_ancestor() copied from gstbin.c as it is a
5530         usefull function.
5531
5532         * tests/instantiate/create.c: (create_all_elements):
5533         * tests/lat.c: (handoff_src), (handoff_sink):
5534         * tests/sched/runxml.c: (main):
5535         * tests/seeking/seeking1.c: (main):
5536         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
5537         (main):
5538         Fix compilation of some tests.
5539
5540 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5541
5542         * gst/gsterror.h:
5543           Remove comment. GST_TYPE_G_ERROR is here to stay,
5544           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
5545           (#316961, #300610).
5546
5547 2005-09-26  Wim Taymans  <wim@fluendo.com>
5548
5549         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5550         Added check that shows error in state change order.
5551
5552 2005-09-26  Wim Taymans  <wim@fluendo.com>
5553
5554         * gst/gstbin.c: (gst_bin_change_state):
5555         Make state change function use 3 queues again, we were
5556         adding elements in the wrong order.
5557
5558         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
5559         Some debug info,
5560
5561         * gst/gstpad.c: (gst_pad_dispose):
5562         Added some debug info first.
5563
5564 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
5565
5566         * docs/design/draft-push-pull.txt:
5567         * docs/design/part-events.txt:
5568         * docs/design/part-overview.txt:
5569         * docs/design/part-scheduling.txt:
5570           Replace all _pull_region() with _pull_range()
5571           
5572 2005-09-26  Andy Wingo  <wingo@pobox.com>
5573
5574         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
5575
5576         * check/gst-libs/controller.c: Update for controller api change.
5577
5578         * configure.ac: 
5579         * tests/Makefile.am:
5580         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
5581         over by GLib bug 118439.
5582         
5583         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
5584         routines to a function.
5585
5586         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
5587
5588         * libs/gst/controller/gsthelper.c:
5589         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
5590         (gst_object_sync_values): Renamed from sink_values. Ugh.
5591
5592         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
5593
5594         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
5595         Renamed from controller_key, as it is exported.
5596
5597         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
5598
5599 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5600
5601         * gst/Makefile.am:
5602         * gst/gst.h:
5603         * gst/gstpad.h:
5604         * gst/gstpadtemplate.h:
5605         * gst/gstquery.c:
5606         * gst/gstquery.h:
5607         * gst/gstqueryutils.c:
5608         * gst/gstqueryutils.h:
5609           remove queryutils headers after moving the two used functions
5610           to gstquery.  also fixes build problem for gstsiddec
5611
5612 2005-09-26  Michael Smith <msmith@fluendo.com>
5613
5614         * tools/gst-launch.1.in:
5615         Correct documentation in manpage of debug syntax
5616
5617 2005-09-26  Wim Taymans  <wim@fluendo.com>
5618
5619         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
5620         (gst_base_src_is_seekable), (gst_base_src_change_state):
5621         Some more debugging info.
5622
5623 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5624
5625         * docs/gst/gstreamer-sections.txt:
5626         * gst/base/gstbasetransform.h:
5627         * gst/gstindex.h:
5628           added more docs
5629
5630 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5631
5632         * docs/gst/.cvsignore:
5633         * docs/gst/tmpl/.cvsignore:
5634         * docs/gst/tmpl/gstpipeline.sgml:
5635         * docs/gst/tmpl/gstplugin.sgml:
5636         * gst/gstpipeline.c:
5637         * gst/gstplugin.c:
5638         * gst/gstplugin.h:
5639           inlined the last two docs files
5640           removed the tmpl directory from cvs (no more conflicts here!)
5641
5642 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5643
5644         * docs/gst/gstreamer-sections.txt:
5645         * docs/gst/tmpl/.cvsignore:
5646         * docs/gst/tmpl/gstpad.sgml:
5647         * docs/gst/tmpl/gstpadtemplate.sgml:
5648         * gst/Makefile.am:
5649         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
5650         (gst_pad_finalize), (gst_pad_set_pad_template):
5651         * gst/gstpad.h:
5652         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5653         (gst_pad_template_class_init), (gst_pad_template_init),
5654         (gst_pad_template_dispose), (name_is_valid),
5655         (gst_static_pad_template_get), (gst_pad_template_new),
5656         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
5657         (gst_pad_template_pad_created):
5658         * gst/gstpadtemplate.h:
5659           inlined two more docs
5660           factored gstpadtemplate out of gstpad
5661
5662 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
5663
5664         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5665         (test_children_state_change_order_semi_sink):
5666           Fix test case: we can't rely on a fixed state change order when
5667           going from READY => PAUSED because the sink might commit its 
5668           new state first when the first buffer created by the source 
5669           reaches the sink before the source has finished its change state.
5670           (Test case still fails at times, see #316856, comment 5 onwards)
5671
5672 2005-09-24  Wim Taymans  <wim@fluendo.com>
5673
5674         * docs/design/part-events.txt:
5675         * docs/design/part-gstbus.txt:
5676         * docs/design/part-gstpipeline.txt:
5677         * docs/design/part-messages.txt:
5678         * docs/design/part-overview.txt:
5679         * docs/design/part-segments.txt:
5680         * gst/gstbin.c:
5681         * gst/gstbuffer.c:
5682         * gst/gstclock.c:
5683         * gst/gstelement.c:
5684         * gst/gstevent.c:
5685         * gst/gstfilter.c:
5686         * gst/gstiterator.c:
5687         Various documentation updates.
5688
5689 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5690
5691         * gst/gstclock.h:
5692           Well, that's embarassing.  Luckily we weren't using
5693           GST_CLOCK_DIFF anywhere.
5694
5695 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5696
5697         * common/gtk-doc.mak:
5698           don't fail on building XML, FC4 slave shows a bunch of doc
5699           missing bits that I don't get
5700         * gst/gstpad.c:
5701         * gst/gstpipeline.c:
5702         * gst/gststructure.c:
5703           some doc updates
5704
5705 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5706
5707         * docs/design/part-gstbin.txt:
5708         * docs/design/part-gstbus.txt:
5709         * gst/gstbus.c:
5710           Add blurb about how the bus goes into flushing mode and
5711           drops all messages when its bin goes from READY into NULL 
5712           state.
5713
5714 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5715
5716         * docs/gst/gstreamer-sections.txt:
5717         * gst/gststructure.c: (gst_structure_get_clock_time):
5718         * gst/gststructure.h:
5719           add a method to get a GstClockTime out of a structure
5720
5721 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5722
5723         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5724         (test_children_state_change_order_semi_sink), (gst_bin_suite):
5725           Added test to check state change order in bins (can still be made
5726           to fail here under heavy disk load; bails out with 'Push on pad
5727           fakesink:sink0, but it was not activated in push mode').
5728
5729         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
5730           Fix state change order when there is only a semi sink (#316856)
5731
5732         * gst/gstbus.c: (gst_bus_class_init):
5733           Use _class_peek_parent(), not _class_ref(); fix docs to say
5734           'default main context' instead of 'mainloop' where that is
5735           what's meant.
5736
5737         * gst/gstelement.c: (gst_element_commit_state),
5738         (gst_element_set_state):
5739           Fix typos in debug messages
5740
5741 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5742
5743         * docs/README:
5744         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
5745         * gst/gstpluginfeature.c:
5746         * gst/gstutils.c:
5747           various doc updates
5748         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5749           change an assert into an error until it gets fixed properly
5750
5751 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
5752
5753         * docs/gst/gstreamer-sections.txt:
5754         * docs/gst/tmpl/.cvsignore:
5755         * docs/gst/tmpl/gstelement.sgml:
5756         * docs/gst/tmpl/gstinfo.sgml:
5757         * docs/gst/tmpl/gstobject.sgml:
5758         * gst/gstelement.c:
5759         * gst/gstelement.h:
5760         * gst/gstinfo.c:
5761         * gst/gstinfo.h:
5762         * gst/gstobject.c: (gst_object_class_init):
5763         * gst/gstobject.h:
5764           inlined 3 more biiiig doc files and added some missing docs on the fly
5765
5766 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5767
5768         * check/gst/.cvsignore:
5769         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
5770         * gst/gstregistryxml.c: (load_plugin),
5771         (gst_registry_xml_save_plugin):
5772           put back source in registry.  add checks for find_plugin.
5773         * testsuite/states/bin.c: (assert_state), (empty_bin),
5774         (test_adding_one_element), (main):
5775         * testsuite/states/locked.c: (main):
5776           some compile/run fixes
5777
5778 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5779
5780         * check/gst/gstvalue.c: (GST_START_TEST):
5781           fix leaks in the test itself
5782
5783 2005-09-22  Wim Taymans  <wim@fluendo.com>
5784
5785         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5786         (gst_base_sink_send_event), (gst_base_sink_peer_query),
5787         (gst_base_sink_query):
5788         Prepare for more accurate position reporting and query
5789         handling.
5790
5791         * gst/gstelement.c: (gst_element_send_event),
5792         (gst_element_set_state):
5793         Add some comment.
5794
5795 2005-09-22  Wim Taymans  <wim@fluendo.com>
5796
5797         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
5798         (gst_query_parse_segment):
5799         * gst/gstquery.h:
5800         More documentation.
5801         Add segment query for future use.
5802
5803 2005-09-22  Wim Taymans  <wim@fluendo.com>
5804
5805         * gst/gstbin.c: (gst_bin_add_func):
5806         Some more debug info.
5807
5808         * gst/gstelement.c: (gst_element_send_event):
5809         Simplify send_event
5810
5811         * gst/gstelement.h:
5812         Don't know how flags got broken.
5813
5814         * gst/gstquery.h:
5815         Added new query.
5816
5817 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5818
5819         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
5820           Add simplistic test suite for GST_TYPE_DATE serialisation and
5821           deserialisation.
5822
5823 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5824
5825         * docs/gst/gstreamer-sections.txt:
5826         * gst/gststructure.c: (gst_structure_set_valist),
5827         (gst_structure_get_date):
5828         * gst/gststructure.h:
5829         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
5830         (gst_date_copy), (gst_value_compare_date),
5831         (gst_value_serialize_date), (gst_value_deserialize_date),
5832         (gst_value_transform_date_string),
5833         (gst_value_transform_string_date), (_gst_value_initialize):
5834         * gst/gstvalue.h:
5835           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
5836           bunch of utility functions along with a hack that checks that
5837           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
5838           is required. Part of the grand scheme in #170777.
5839
5840 2005-09-22  Andy Wingo  <wingo@pobox.com>
5841
5842         * gst/gstconfig.h.in: Psych out gtk-doc.
5843
5844         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
5845
5846         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
5847
5848         * tools/gst-inspect.c (print_element_list): Plug some
5849         inconsequential leaks.
5850
5851         * gst/gstregistry.c (gst_registry_get_default): Doc.
5852
5853         * check/gst/gstplugin.c: 
5854         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
5855         * gst/gstelementfactory.c (gst_element_factory_create): 
5856         * gst/gstindexfactory.c (gst_index_factory_create): Update for
5857         refcount changes.
5858
5859         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
5860         (gst_plugin_feature_load): Doc, don't eat refs.
5861
5862         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
5863         (gst_plugin_list_free): Doc.
5864         (gst_plugin_load_file): Doc updates.
5865
5866         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
5867         accessors returning refcounted objects, return a ref.
5868
5869         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
5870         accessor for caps. IDEMPOTENCE. Oh yes.
5871
5872 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
5873
5874         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5875
5876         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
5877         (_gst_debug_register_funcptr):
5878           Add mutex to serialise access to the hash table with
5879           the function pointer => function name string mapping;
5880           make that hash table static scope (#316809).
5881
5882         * gst/registries/.cvsignore:
5883           Remove left-over file.
5884
5885 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5886
5887         * docs/pwg/appendix-porting.xml:
5888           And something about newsegment events and caps-on-buffers to
5889           the porting guide (feel free to improve).
5890
5891 2005-09-21  Andy Wingo  <wingo@pobox.com>
5892
5893         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
5894         data and event probes on the same pad.
5895         (test_buffer_probe_once): Test that removing probes from within
5896         the probe functions works.
5897
5898 2005-09-21  Andy Wingo  <wingo@pobox.com>
5899
5900         * check/gst/gstutils.c: New file.
5901         (test_buffer_probe_n_times): A simple buffer probe test. More to
5902         come, foolios.
5903
5904         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
5905         have-data::buffer, not have-data.
5906         (gst_pad_add_event_probe): Likewise for have-data::event.
5907         (gst_pad_add_data_probe): More docs. The part about 'resolving the
5908         peer' isn't quite right yet though.
5909         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
5910         (gst_pad_remove_data_probe): Change to take the guint handler_id
5911         as their arg, not the function+data, which is more glib-like.
5912
5913         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
5914         the signal emission to indicate if the data is a buffer or an
5915         event.
5916         (gst_pad_get_type): Initialize buffer and event quarks.
5917         (gst_pad_class_init): have-data is now a detailed signal, yes it
5918         is.
5919
5920 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5921
5922         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
5923         * gst/gstutils.c: (gst_util_set_value_from_string),
5924         (gst_util_set_object_arg):
5925           Don't put functional code in g_return_if_fail() or
5926           g_return_val_if_fail() statements, otherwise things will 
5927           break when G_DISABLE_CHECKS is defined during compilation.
5928
5929 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5930
5931         * docs/gst/tmpl/.cvsignore:
5932         * docs/gst/tmpl/gstvalue.sgml:
5933         * gst/gstvalue.c:
5934         * gst/gstvalue.h:
5935           inlied another one and added  some obvious docs
5936
5937 2005-09-21  Wim Taymans  <wim@fluendo.com>
5938
5939         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5940         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
5941         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
5942         (gst_fdsrc_get_property), (gst_fdsrc_create):
5943         * gst/elements/gstfdsrc.h:
5944         Properly implement fdsrc. Removed signal and timeout,
5945         better implemented somewhere else.
5946
5947 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5948
5949         * docs/gst/tmpl/.cvsignore:
5950         * docs/gst/tmpl/gstimplementsinterface.sgml:
5951         * gst/gstinterface.c:
5952           inlined more docs
5953
5954 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5955
5956         * docs/gst/gstreamer-sections.txt:
5957         * docs/gst/tmpl/.cvsignore:
5958         * docs/gst/tmpl/gstenumtypes.sgml:
5959           remove obsolete doc file
5960
5961 2005-09-21  David Schleef  <ds@schleef.org>
5962
5963         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
5964         little beer, fix a little leak.
5965
5966 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5967
5968         * docs/gst/gstreamer-docs.sgml:
5969         * docs/gst/gstreamer-sections.txt:
5970         * docs/gst/tmpl/.cvsignore:
5971         * gst/Makefile.am:
5972         * gst/gst.h:
5973         * gst/gstbin.c:
5974         * gst/gstelement.h:
5975         * gst/gstindex.c: (gst_index_class_init):
5976         * gst/gstindex.h:
5977         * gst/gstindexfactory.c: (gst_index_factory_get_type),
5978         (gst_index_factory_class_init), (gst_index_factory_init),
5979         (gst_index_factory_finalize), (gst_index_factory_new),
5980         (gst_index_factory_destroy), (gst_index_factory_find),
5981         (gst_index_factory_create), (gst_index_factory_make):
5982         * gst/gstindexfactory.h:
5983         * gst/gstpluginfeature.c:
5984         * gst/gstpluginfeature.h:
5985         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5986           more docs inlined, splitted gstindex.{c,h}
5987
5988 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5989
5990         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5991           fix a leak
5992
5993 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5994
5995         * gst/elements/gstfilesink.c: (gst_file_sink_init):
5996           Set sync to FALSE by default.
5997
5998 2005-09-20  Wim Taymans  <wim@fluendo.com>
5999
6000         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6001         (gst_base_sink_init):
6002         Make sync property settable from subclass.
6003
6004         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6005         (gst_fake_sink_change_state):
6006         Set sync to FALSE by default.
6007
6008 2005-09-20  Wim Taymans  <wim@fluendo.com>
6009
6010         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
6011         * tools/gst-launch.c: (main):
6012         The timeout handler should have lower priority than the source
6013         so we don't timeout before popping a message with 0 timeout.
6014         Dump error messages after failed state change.
6015
6016 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6017
6018         * tools/gst-inspect.c: (print_element_properties_info):
6019           Fix two typos.
6020
6021 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6022
6023         * check/gst/gstevent.c:
6024         * gst/elements/gstfakesink.c:
6025         * gst/elements/gstfakesink.h:
6026           remove the sync property from fakesink.
6027           has the side effect of setting sync TRUE
6028           for fakesink, which is a change.  Anyone who knows how
6029           to fix this nicely in a GObject-y way, feel free.
6030
6031 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6032
6033         * docs/gst/gstreamer-docs.sgml:
6034           remove probe refsection
6035
6036 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6037
6038         * check/Makefile.am:
6039           disable valgrinding the controller test again
6040         * docs/gst/gstreamer-sections.txt:
6041           update for api-changes
6042
6043 2005-09-20  Wim Taymans  <wim@fluendo.com>
6044
6045         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6046         (gst_base_sink_set_property), (gst_base_sink_get_property),
6047         (gst_base_sink_do_sync):
6048         * gst/base/gstbasesink.h:
6049         Added sync property to basesink to disable clock sync.
6050
6051 2005-09-20  Andy Wingo  <wingo@pobox.com>
6052
6053         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
6054         eating the caller's refcount.
6055
6056         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
6057         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
6058         refcount.
6059
6060         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
6061         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
6062         of GLib 2.8 public, so we can know which refcount to check in
6063         tests.
6064
6065         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
6066         (gst_object_init): Only set the gst refcount if we're going ahead
6067         with the refcount hack.
6068
6069 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6070
6071         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6072         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6073           more leaks plumbed, added more debug-logging
6074         * gst/gstmacros.h:
6075           whitespace fix
6076
6077 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6078
6079         * gst/gstmessage.c:
6080           remove include of gstmemchunk.h
6081
6082 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6083
6084         * gst/gstclock.c: (_gst_clock_id_free):
6085           Commit from the Political Party For More Atomic CVS Commits,
6086           so that people don't waste too much of their day fishing
6087           out obvious leaks out of massive commits.
6088           Oh, and fix a pretty damn obvious leak in the memchunk
6089           removal code.
6090
6091 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6092
6093         * check/Makefile.am:
6094         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6095           plug mem-leak, re-add to valgrindable tests
6096
6097 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6098
6099         * gst/gstplugin.h:
6100           unbreak the build for those who have chronic arthritis
6101           and typing "make check" is just too taxing on the hands
6102
6103 2005-09-20  Andy Wingo  <wingo@pobox.com>
6104
6105         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
6106         really want it out, you should fix plugins at the same time.
6107
6108 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
6109
6110         * configure.ac:
6111         * docs/gst/gstreamer-sections.txt:
6112         * gst/gstobject.c:
6113           added missing symbols to api docs
6114           disable ref-count hack if we have glib >= 2.8
6115
6116 2005-09-19  David Schleef  <ds@schleef.org>
6117
6118         * docs/gst/Makefile.am: Ignore a few more internal headers
6119         * docs/gst/gstreamer-docs.sgml: Remove old sections
6120         * docs/gst/gstreamer-sections.txt: Remove old sections
6121         * docs/gst/tmpl/gstobject.sgml: update
6122         * docs/gst/tmpl/gstplugin.sgml: update
6123         * docs/gst/tmpl/gstpluginfeature.sgml: update
6124         * docs/random/ds/0.9-suggested-changes: update.
6125         * gst/Makefile.am: remove memchunk and trashstack, since they're
6126           not used.
6127         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
6128         * gst/gst.h: don't include some headers
6129         * gst/gstchildproxy.c: add gstmarshal.h
6130         * gst/gstclock.c: Don't use memchunks
6131         * gst/gstminiobject.c: Add some docs
6132         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
6133         * gst/gstobject.h: same
6134         * gst/gstplugin.c: include gstmacros.h
6135         * gst/gstplugin.h: don't include gstmacros.h, since it's private
6136         * gst/gstquery.c: don't use memchunks
6137         * gst/gstregistry.c: rename gst_registry_deinit()
6138         * gst/gstregistry.h: same
6139
6140 2005-09-19  David Schleef  <ds@schleef.org>
6141
6142         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
6143         * docs/libs/gstreamer-libs-sections.txt:
6144         * docs/libs/tmpl/gstgetbits.sgml:
6145         * docs/libs/tmpl/gstputbits.sgml:
6146
6147 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6148
6149         * win32/gstenumtypes.c:
6150         * win32/gstenumtypes.h:
6151           Update.
6152
6153 2005-09-19  Wim Taymans  <wim@fluendo.com>
6154
6155         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
6156         Automatically PAUSE and RESUME a pipeline when a flushing seek
6157         is performed.
6158
6159 2005-09-19  Andy Wingo  <wingo@pobox.com>
6160
6161         * gst/gstregistry.h: Spacing fixen.
6162
6163 2005-09-19  Wim Taymans  <wim@fluendo.com>
6164
6165         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
6166         Handle state change failure more correctly.
6167
6168 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6169
6170         * check/Makefile.am:
6171         * check/pipelines/cleanup.c: (run_pipeline):
6172         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6173         (GST_START_TEST):
6174           enable cleanup again after fixing the leak
6175         * docs/README:
6176           some more info on docs
6177
6178 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6179
6180         * check/Makefile.am:
6181           re-enable tests now that leaks are plugged
6182         * check/gst/gst.c:
6183         * check/gst/gstbin.c:
6184         * check/gst/gstpipeline.c:
6185           add some more tests while fixing leaks
6186         * common/check.mak:
6187           make sure binaries are uptodate when valgrinding/gdbing
6188         * gst/gst.c:
6189         * gst/gstelementfactory.c:
6190           remove a ref too many, and add a FIXME for when we get
6191           round to disposing of classes
6192         * gst/gstplugin.c:
6193           fix the refcounting when loading a plugin from a file and
6194           the code pretends that the pointer is the same even though
6195           of course it can change
6196         * gst/gstpluginfeature.c:
6197           unref plugins marked cached (a bit confusing as a name)
6198           as the docs state should be done
6199           various doc additions to explain refcounting
6200         * gst/gstregistry.c:
6201         * gst/gstregistryxml.c:
6202           debugging
6203
6204 2005-09-19  Wim Taymans  <wim@fluendo.com>
6205
6206         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6207         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6208         (send_messages), (GST_START_TEST), (gstbus_suite):
6209         * check/gst/gstpipeline.c: (GST_START_TEST):
6210         * check/pipelines/cleanup.c: (run_pipeline):
6211         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6212         (GST_START_TEST):
6213         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6214         (gst_bus_source_check), (gst_bus_source_dispatch),
6215         (gst_bus_create_watch), (gst_bus_add_watch_full),
6216         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6217         * gst/gstbus.h:
6218         * tools/gst-launch.c: (event_loop):
6219         * tools/gst-md5sum.c: (event_loop):
6220         GstBusHandler -> GstBusFunc, return value has the same meaning as
6221         any other GSource (FALSE == remove source).
6222         _add_watch() and _add_watch_full() now take a MessageType mask to
6223         only handle specific types of messages.
6224         _poll() returns the GstMessage instead of the message type to avoid
6225         race conditions.
6226         _have_pending() takes a MessageType mask now too.
6227         Added testsuite for multiple bus watches.
6228         Fix testsuites and applications for new bus API.
6229
6230 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6231
6232         * check/Makefile.am:
6233           mark a bunch of the tests as to fix until we fix them
6234
6235 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6236
6237         * common/check.mak:
6238           use GST_PLUGIN settings for valgrind tests as well, so we're
6239           valgrinding the correct thing
6240         * gst/gst.c: (init_post):
6241           plug another leak
6242
6243 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6244
6245         * gst/gst.c: (init_post), (gst_deinit):
6246         * gst/gstelementfactory.c: (gst_element_factory_class_init),
6247         (gst_element_factory_finalize), (gst_element_factory_cleanup):
6248         * gst/gstindex.c: (gst_index_factory_class_init),
6249         (gst_index_factory_finalize):
6250         * gst/gstobject.c: (gst_object_dispose):
6251         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6252         (gst_plugin_load_file), (gst_plugin_desc_free):
6253         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6254         (gst_plugin_feature_finalize):
6255         * gst/gstregistry.c: (gst_registry_class_init),
6256         (gst_registry_init), (gst_registry_finalize),
6257         (gst_registry_get_default), (gst_registry_deinit):
6258         * gst/gstregistry.h:
6259         * gst/gstregistryxml.c: (load_feature), (load_plugin):
6260           various cleanups and memleak plugging.  make valgrind is happy now.
6261
6262 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6263
6264         * common/check.mak:
6265           add a check-valgrind target
6266
6267 2005-09-18  David Schleef  <ds@schleef.org>
6268
6269         * tools/gst-inspect.c: Revert the GOption code.
6270
6271 2005-09-17  David Schleef  <ds@schleef.org>
6272
6273         * check/Makefile.am: Fix environment variables.
6274         * check/gst/gstplugin.c: Fix for API changes.
6275         * tools/gst-inspect.c: Fix for API changes.
6276         * tools/gst-xmlinspect.c: Fix for API changes.
6277         * gst/gstelementfactory.c:
6278         * gst/gstplugin.c:
6279         * gst/gstplugin.h:
6280         * gst/gstpluginfeature.c:
6281         * gst/gstpluginfeature.h:
6282         * gst/gstregistry.c:
6283         * gst/gstregistry.h:
6284         * gst/gstregistryxml.c:
6285         * gst/gsttypefind.c:
6286         * gst/gsttypefindfactory.c:
6287         * gst/indexers/gstfileindex.c:
6288         * gst/indexers/gstmemindex.c:
6289         * gst/schedulers/Makefile.am:
6290           Change registry to keep track of both plugins and features,
6291           removing the feature tracking from plugins themselves.
6292
6293 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6294
6295         * check/Makefile.am:
6296         * tools/gst-register.1.in:
6297           remove gst-register
6298
6299 2005-09-15  David Schleef  <ds@schleef.org>
6300
6301         * check/gst/gstplugin.c:
6302         * gst/gstelementfactory.c:
6303         * gst/gstplugin.c:
6304         * gst/gstpluginfeature.c:
6305         * gst/gstregistry.c:
6306           Getting tired of debugging.  Disabled all the unreffing of
6307           plugins and features, which fixes the segfaults, but of
6308           course leaks like crazy.  At least playbin works.
6309
6310 2005-09-15  David Schleef  <ds@schleef.org>
6311
6312         * check/gst/gstplugin.c: (register_check_elements),
6313         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6314         More testing
6315         * gst/elements/gsttypefindelement.c: Fix refcounting.
6316         * gst/gsttypefind.c:
6317         * gst/gsttypefindfactory.c:
6318         * gst/gsttypefindfactory.h:
6319
6320 2005-09-15  David Schleef  <ds@schleef.org>
6321
6322         * gst/gstindex.c: get refcounting correct.
6323         * gst/gstregistry.c: Handle the case where a feature/plugin is
6324           not found.
6325
6326 2005-09-15  David Schleef  <ds@schleef.org>
6327
6328         * check/Makefile.am:
6329         * check/gst/gstplugin.c: Add test
6330         * gst/gstplugin.c: Fix problems noticed by testsuite
6331         * gst/gstplugin.h:
6332         * gst/gstregistry.c: 
6333         * gst/gstregistry.h:
6334
6335 2005-09-15  David Schleef  <ds@schleef.org>
6336
6337         * gst/gstplugin.c: Implement semi-decent recounting and locking
6338           in plugins and plugin features.
6339         * gst/gstplugin.h:
6340         * gst/gstpluginfeature.c:
6341         * gst/gstpluginfeature.h:
6342         * gst/gstregistry.c:
6343
6344 2005-09-15  Michael Smith <msmith@fluendo.com>
6345
6346         * gst/gstregistry.c: (gst_registry_get_feature_list):
6347           Implement this. Makes oggdemux work; decodebin still broken.
6348
6349 2005-09-14  David Schleef  <ds@schleef.org>
6350
6351         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6352           #316076)
6353         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6354         * gst/check/Makefile.am:
6355         * libs/gst/controller/Makefile.am:
6356         * libs/gst/dataprotocol/Makefile.am:
6357
6358 2005-09-14  David Schleef  <ds@schleef.org>
6359
6360         * configure.ac: Remove getbits library.  Nothing uses it, and
6361           it should be in something like liboil if someone did want
6362           to use it.
6363         * libs/gst/Makefile.am:
6364         * libs/gst/getbits/Makefile.am:
6365         * libs/gst/getbits/gbtest.c:
6366         * libs/gst/getbits/getbits.c:
6367         * libs/gst/getbits/getbits.h:
6368         * libs/gst/getbits/gstgetbits_generic.c:
6369         * libs/gst/getbits/gstgetbits_i386.s:
6370         * libs/gst/getbits/gstgetbits_inl.h:
6371
6372 2005-09-14  David Schleef  <ds@schleef.org>
6373
6374         * gst/Makefile.am: Dist glib-compat.h
6375
6376 2005-09-14  David Schleef  <ds@schleef.org>
6377
6378         * configure.ac: Remove gst/registries, since it's no longer used.
6379         * gst/registries/Makefile.am:
6380         * gst/registries/gstlibxmlregistry.c:
6381         * gst/registries/gstlibxmlregistry.h:
6382         * gst/registries/gstxmlregistry.c:
6383         * gst/registries/gstxmlregistry.h:
6384         * gst/registries/registrytest.c:
6385
6386 2005-09-14  David Schleef  <ds@schleef.org>
6387
6388         * gst/glib-compat.h:
6389         * gst/gstregistryxml.c:
6390           Convergence is near.  Seriously.
6391
6392 2005-09-14  David Schleef  <ds@schleef.org>
6393
6394         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6395         * gst/glib-compat.h:
6396           Attempt #4 to appease the buildbots.
6397
6398 2005-09-14  David Schleef  <ds@schleef.org>
6399
6400         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6401           Attempt #3.
6402
6403 2005-09-14  David Schleef  <ds@schleef.org>
6404
6405         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6406         Attempt #2.
6407
6408 2005-09-14  David Schleef  <ds@schleef.org>
6409
6410         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
6411           the new functions.
6412
6413 2005-09-14  David Schleef  <ds@schleef.org>
6414
6415         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6416         * gst/glib-compat.h: Add some functions that are in newer versions
6417           of glib than we care to require.
6418         * gst/gstregistryxml.c: Use them.
6419
6420 2005-09-14  David Schleef  <ds@schleef.org>
6421
6422         * po/POTFILES.in: remove gst-register.c
6423
6424 2005-09-14  David Schleef  <ds@schleef.org>
6425
6426         * docs/gst/gstreamer-docs.sgml:
6427         * docs/gst/gstreamer-sections.txt:
6428         * docs/gst/gstreamer.types:
6429         * docs/gst/tmpl/gstelement.sgml:
6430         * docs/gst/tmpl/gstplugin.sgml:
6431         * docs/gst/tmpl/gstpluginfeature.sgml:
6432           Documentation updates for registry changes.
6433
6434 2005-09-14  David Schleef  <ds@schleef.org>
6435
6436         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
6437           because we don't require glib-2.8.
6438
6439 2005-09-14  David Schleef  <ds@schleef.org>
6440
6441         * gst/gstregistryxml.c: Added.  Essentially moved out of the
6442           registries directory.
6443
6444 2005-09-14  David Schleef  <ds@schleef.org>
6445
6446         * check/Makefile.am:
6447         * check/generic/states.c:
6448         * gst/Makefile.am:
6449         * gst/gst.c:
6450         * gst/gst.h:
6451         * gst/gst_private.h:
6452         * gst/gstelementfactory.c:
6453         * gst/gstindex.c:
6454         * gst/gstinfo.c:
6455         * gst/gstplugin.c:
6456         * gst/gstplugin.h:
6457         * gst/gstpluginfeature.c:
6458         * gst/gstpluginfeature.h:
6459         * gst/gstregistry.c:
6460         * gst/gstregistry.h:
6461         * gst/gstregistrypool.c: remove
6462         * gst/gstregistrypool.h: remove
6463         * gst/gsttypefind.c:
6464         * gst/gsttypefindfactory.c:
6465         * gst/gsturi.c:
6466         * tools/Makefile.am:
6467         * tools/gst-compprep.c:
6468         * tools/gst-inspect.c:
6469         * tools/gst-register.c: remove
6470         * tools/gst-xmlinspect.c:
6471           Registry rewrite.  Changes registry from being a file created
6472           by a tool into a simple cache file created automatically by 
6473           libgstreamer.  Removed gst-register (because it's no longer
6474           needed).  Remove registry pools, because we only have one
6475           registry implementation (XML).  Fix up other subsystems as
6476           necessary.
6477
6478 2005-09-13  Michael Smith <msmith@fluendo.com>
6479
6480         * gst/gstconfig.h.in:
6481           Don't Use windows linking attributes for MinGW. Fixes #316157
6482
6483 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6484
6485         * gst/gstutils.c: (set_state_async_thread_func),
6486         (gst_element_set_state_async):
6487           Apparently people think it's better if this function doesn't
6488           try to set the state to whatever state was asked for on the first
6489           call to this function for any object.  Seriously.
6490
6491 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6492
6493         * check/gst/gstpipeline.c: (GST_START_TEST):
6494         * docs/gst/gstreamer-sections.txt:
6495         * gst/gstutils.c: (set_state_async_thread_func),
6496         (gst_element_set_state_async):
6497         * gst/gstutils.h:
6498           add a "gst_element_set_state_async" method that
6499           sets the state and starts a thread to make sure the state
6500           change completes as best as it can
6501
6502 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6503
6504         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6505           codify design+behaviour in testsuite after discussion
6506
6507 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6508
6509         * docs/gst/tmpl/gstelement.sgml:
6510         * docs/manual/appendix-quotes.xml:
6511           add a quote
6512         * gst/gstelement.c: (gst_element_set_state):
6513           add some debug
6514
6515 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
6516
6517         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6518         (gst_base_transform_prepare_output_buf),
6519         (gst_base_transform_handle_buffer):
6520         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
6521         (gst_capsfilter_prepare_buf):
6522           Remove the requirement for sub-classes to call the parent
6523           implementation of prepare_output_buffer with a wrapper function.
6524           
6525         * gst/gsttaglist.h:
6526         * gst/gsttagsetter.h:
6527           Fix #define wrapper
6528
6529 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
6530
6531         * docs/gst/gstreamer-sections.txt:
6532           more doc cleanups
6533
6534 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6535
6536         * docs/gst/gstreamer-sections.txt:
6537         * docs/gst/tmpl/gstelement.sgml:
6538         * docs/gst/tmpl/gstplugin.sgml:
6539         * gst/gstminiobject.c:
6540         * gst/gstvalue.h:
6541           docs now stop throwing warnings
6542
6543 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6544
6545         * docs/gst/gstreamer-sections.txt:
6546         * docs/gst/gstreamer.types:
6547         * docs/gst/tmpl/gstpad.sgml:
6548         * docs/gst/tmpl/gsttypes.sgml:
6549         * gst/base/gstadapter.h:
6550         * gst/base/gstbasesink.h:
6551         * gst/base/gstbasesrc.h:
6552         * gst/gstbin.h:
6553         * gst/gstbuffer.h:
6554         * gst/gstbus.h:
6555         * gst/gstcaps.h:
6556         * gst/gstclock.h:
6557         * gst/gstelement.h:
6558         * gst/gstevent.h:
6559         * gst/gstmessage.h:
6560         * gst/gstpad.h:
6561         * gst/gststructure.c:
6562         * gst/registries/gstlibxmlregistry.h:
6563           various documentation fixes
6564
6565 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6566
6567         * docs/gst/gstreamer-sections.txt:
6568         * docs/gst/tmpl/gstvalue.sgml:
6569           rearrange gstvalue section
6570         * gst/gstutils.c: (gst_element_state_get_name):
6571           NONE -> VOID
6572         * gst/gstvalue.c: (_gst_value_initialize):
6573         * gst/gstvalue.h:
6574           doc updates
6575
6576 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
6577
6578         * check/gst-libs/controller.c:
6579           Header include fix.
6580         * gst/base/gstbasetransform.c:
6581         (gst_base_transform_default_prepare_buf),
6582         (gst_base_transform_handle_buffer):
6583         * gst/base/gstbasetransform.h:
6584           Some more basetransform changes and fixes to enable sub-classes
6585           that modify buffer metadata only.
6586         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6587         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
6588         (gst_capsfilter_prepare_buf):
6589           If the output pad has fixed allowed caps and input buffers 
6590           don't have any, set the fixed caps on outgoing buffers.
6591
6592 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
6593         * check/elements/identity.c: (GST_START_TEST):
6594           Make the error a little clearer when the test fails because
6595           identity made a copy of the buffer.
6596         * docs/gst/gstreamer-sections.txt:
6597           New symbols in gstbasetransform.h
6598         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6599         (gst_base_transform_init), (gst_base_transform_transform_size),
6600         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6601         (gst_base_transform_default_prepare_buf),
6602         (gst_base_transform_get_unit_size),
6603         (gst_base_transform_buffer_alloc),
6604         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
6605         (gst_base_transform_change_state),
6606         (gst_base_transform_set_passthrough),
6607         (gst_base_transform_set_in_place),
6608         (gst_base_transform_is_in_place):
6609         * gst/base/gstbasetransform.h:
6610           Change BaseTransform to separate in_place operate from same_caps
6611           output. in_place implies that the element can perform the transform
6612           on incoming buffers in-place, even if the caps on the output are
6613           different.
6614           Sub-class elements can now implement special buffer allocation
6615           methods for outgoing buffers if they wish to.
6616           Big documentation addition.
6617         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
6618         * gst/elements/gstelements.c:
6619           Changes for basetransform modifications.
6620         * gst/elements/Makefile.am:
6621         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
6622           Compile fix. Extra debug output.
6623
6624 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6625
6626         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
6627         (gst_pad_suite):
6628           add tests for valid pad naming
6629         * gst/check/gstcheck.c: (gst_check_log_message_func),
6630         (gst_check_log_critical_func):
6631           add ASSERT_WARNING
6632           remove printing of code, it is fragile when the code contains
6633           % and the line number is enough info
6634         * gst/check/gstcheck.h:
6635         * gst/gstpad.c: (gst_pad_template_new):
6636           fix memleaks
6637
6638 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6639
6640         * configure.ac:
6641           say what CHECK flags we use
6642         * docs/libs/gstreamer-libs.types:
6643         * libs/gst/controller/Makefile.am:
6644         * libs/gst/controller/gst-controller.c:
6645         * libs/gst/controller/gst-controller.h:
6646         * libs/gst/controller/gst-helper.c:
6647         * libs/gst/controller/gst-interpolation.c:
6648         * libs/gst/controller/gstcontroller.c:
6649         * libs/gst/controller/gsthelper.c:
6650         * libs/gst/controller/gstinterpolation.c:
6651         * tools/gst-inspect.c: (print_plugin_info):
6652           we don't use dashes in header names
6653
6654 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6655
6656         * check/Makefile.am:
6657         * check/gst/.cvsignore:
6658         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
6659         (gst_pipeline_suite), (main):
6660           adding a test for pipelines and state changes
6661         * gst/gstutils.c: (get_state_func):
6662           add some debugging
6663         * gstreamer.spec.in:
6664           fix up spec file
6665
6666 2005-09-08  Michael Smith <msmith@fluendo.com>
6667
6668         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
6669         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
6670         (gst_file_src_is_seekable), (gst_file_src_get_size),
6671         (gst_file_src_start):
6672         * gst/elements/gstfilesrc.h:
6673           Various fixes for unseekable, unmmapable, and non-normal files, so
6674           that fallback to read() rather than mmap() works.
6675         * gst/gstevent.c: (gst_event_new_newsegment):
6676           Allow newsegment events with segment_start == segment_end, as will
6677           correctly happen if you use filesrc on a zero-size file, for
6678           example.
6679
6680 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6681
6682         * gst/gstplugin.c: (gst_plugin_load_file):
6683           Call g_module_close when we don't load the module
6684
6685         * gst/registries/gstlibxmlregistry.c:
6686         (gst_xml_registry_get_property):
6687           Port leak fix from 0.8
6688
6689 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6690
6691         * docs/gst/gstreamer-docs.sgml:
6692         * docs/gst/tmpl/.cvsignore:
6693         * docs/gst/tmpl/gsttrace.sgml:
6694         * docs/gst/tmpl/gsttrashstack.sgml:
6695         * gst/Makefile.am:
6696         * gst/gst.h:
6697         * gst/gstelement.h:
6698         * gst/gstevent.h:
6699         * gst/gstmessage.c:
6700         * gst/gstmessage.h:
6701         * gst/gsttag.c:
6702         * gst/gsttag.h:
6703         * gst/gsttaginterface.c:
6704         * gst/gsttaginterface.h:
6705         * gst/gsttaglist.c:
6706         * gst/gsttaglist.h:
6707         * gst/gsttagsetter.c:
6708         * gst/gsttagsetter.h:
6709         * gst/gsttrace.c:
6710         * gst/gsttrace.h:
6711         * gst/gsttrashstack.c:
6712           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
6713           inlined docs for gsttrace, gsttrashstack
6714
6715 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6716
6717         * gst/Makefile.am:
6718         * gst/elements/gstbufferstore.h:
6719         * gst/elements/gsttypefindelement.c:
6720         * gst/elements/gsttypefindelement.h:
6721         * gst/gst.h:
6722         * gst/gsttypefind.c:
6723         * gst/gsttypefind.h:
6724         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
6725         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
6726         (gst_type_find_factory_dispose),
6727         (gst_type_find_factory_unload_thyself),
6728         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
6729         (gst_type_find_factory_get_caps),
6730         (gst_type_find_factory_get_extensions),
6731         (gst_type_find_factory_call_function):
6732         * gst/gsttypefindfactory.h:
6733         * gst/registries/gstlibxmlregistry.c:
6734         * gst/registries/gstxmlregistry.c:
6735           splitted gsttypefind into gsttypefind, gsttypefindfactory
6736
6737 2005-09-07  Andy Wingo  <wingo@pobox.com>
6738
6739         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
6740         condition whereby the pad's task function is entered before the
6741         pad_mode variable was set.
6742
6743 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6744
6745         * gst/gstpad.c: (gst_pad_alloc_buffer):
6746           Catch misbehaving pad_alloc functions that don't
6747           set up caps and do it for them.
6748
6749 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6750
6751         * check/pipelines/simple_launch_lines.c: (run_pipeline):
6752           test for pipe!=NULL
6753         * docs/gst/tmpl/.cvsignore:
6754         * docs/gst/tmpl/gstmemchunk.sgml:
6755         * docs/gst/tmpl/gstparse.sgml:
6756         * docs/gst/tmpl/gsttaglist.sgml:
6757         * docs/gst/tmpl/gsttagsetter.sgml:
6758         * docs/gst/tmpl/gsttypefind.sgml:
6759         * docs/gst/tmpl/gsttypefindfactory.sgml:
6760         * gst/gstmemchunk.c:
6761         * gst/gstparse.c:
6762         * gst/gsttag.c:
6763         * gst/gsttaginterface.c:
6764         * gst/gsttypefind.c:
6765         * gst/gsttypefind.h:
6766           inlined more docs
6767
6768 === release 0.9.2 ===
6769
6770 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6771
6772         * NEWS:
6773         * RELEASE:
6774         * configure.ac:
6775           releasing 0.9.2, "South"
6776
6777 2005-09-05  Andy Wingo  <wingo@pobox.com>
6778
6779         * gst/registries/gstxmlregistry.h:
6780         * gst/registries/gstxmlregistry.c: Um... resurrect...
6781         
6782         * gst/registries/gstxmlregistry.h:
6783         * gst/registries/gstxmlregistry.c: and update to newer API.
6784         Incidentally they should be a bit faster now that they don't have
6785         to parse the caps.
6786         
6787 2005-09-05  Andy Wingo  <wingo@pobox.com>
6788
6789         * gst/registries/gstxmlregistry.h:
6790         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
6791         replaced by the libxml registry a while back
6792
6793 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6794
6795         * docs/gst/tmpl/gstplugin.sgml:
6796         * gst/elements/gstelements.c:
6797         * gst/gst.c:
6798         * gst/gstplugin.c: (gst_plugin_register_func),
6799         (gst_plugin_desc_copy), (gst_plugin_desc_free),
6800         (gst_plugin_get_source):
6801         * gst/gstplugin.h:
6802         * gst/registries/gstlibxmlregistry.c: (load_plugin),
6803         (gst_xml_registry_save_plugin):
6804         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
6805         (gst_xml_registry_save_plugin):
6806         * tools/gst-inspect.c: (print_plugin_info):
6807           add a "source" plugin description field, to represent the source
6808           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
6809           will set it to PACKAGE, which is automake's idea of the name of
6810           the source project.
6811
6812 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6813
6814         * Makefile.am:
6815         * autogen.sh:
6816         * configure.ac:
6817         * docs/Makefile.am:
6818         * docs/faq/Makefile.am:
6819         * docs/gst/tmpl/gstelement.sgml:
6820         * docs/gst/tmpl/gsttypes.sgml:
6821         * docs/htmlinstall.mak:
6822         * docs/manual/Makefile.am:
6823         * docs/pwg/Makefile.am:
6824           reorganize doc build a little
6825           split out docbook and gtk-doc stuff
6826           have two separate --enable's and enable them through autogen
6827           but disable by default in configure (to be similar to other
6828           projects)
6829         * gstreamer.spec.in:
6830           clean up docs install
6831         * po/af.po:
6832         * po/az.po:
6833         * po/ca.po:
6834         * po/cs.po:
6835         * po/de.po:
6836         * po/en_GB.po:
6837         * po/fr.po:
6838         * po/it.po:
6839         * po/nb.po:
6840         * po/nl.po:
6841         * po/ru.po:
6842         * po/sq.po:
6843         * po/sr.po:
6844         * po/sv.po:
6845         * po/tr.po:
6846         * po/uk.po:
6847         * po/vi.po:
6848           translation updates
6849
6850 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
6851
6852         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
6853           Add comment.
6854           
6855         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6856         (gst_fake_sink_change_state):
6857           Make state change function thread-safe.
6858           
6859         * gst/gstpad.c: (gst_pad_alloc_buffer):
6860           Set offset on generic buffer allocated by fallback.
6861
6862 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
6863
6864         * docs/gst/gstreamer-sections.txt:
6865         * docs/gst/tmpl/gstelement.sgml:
6866         * gst/gstpad.c:
6867         * libs/gst/controller/gst-controller.c:
6868         (gst_controlled_property_set_interpolation_mode),
6869         (gst_controlled_property_new),
6870         (gst_controller_find_controlled_property):
6871          run the wingo-magic script against the docs
6872
6873 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6874
6875         * docs/gst/gstreamer-docs.sgml:
6876         * docs/gst/gstreamer-sections.txt:
6877         * docs/gst/tmpl/.cvsignore:
6878         * docs/gst/tmpl/gstelementdetails.sgml:
6879         * docs/gst/tmpl/gstelementfactory.sgml:
6880         * gst/gst.c:
6881         * gst/gstbus.c:
6882         * gst/gstelementfactory.c:
6883         * gst/gstelementfactory.h:
6884           merged elementdetails docs into elementfactory docs
6885           inlined both
6886
6887 2005-09-02  Andy Wingo  <wingo@pobox.com>
6888
6889         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
6890         consider this enum an enum and not a flags.
6891
6892 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6893
6894         * docs/gst/gstreamer-docs.sgml:
6895         * docs/gst/tmpl/.cvsignore:
6896         * docs/gst/tmpl/gstghostpad.sgml:
6897         * docs/gst/tmpl/gstiterator.sgml:
6898         * docs/gst/tmpl/gstmacros.sgml:
6899         * docs/gst/tmpl/gstrealpad.sgml:
6900         * docs/gst/tmpl/gstregistry.sgml:
6901         * docs/gst/tmpl/gstregistrypool.sgml:
6902         * docs/gst/tmpl/gststructure.sgml:
6903         * docs/gst/tmpl/gstsystemclock.sgml:
6904         * docs/gst/tmpl/gsttrace.sgml:
6905         * gst/gstghostpad.c:
6906         * gst/gstmacros.h:
6907         * gst/gstmemchunk.c:
6908         * gst/gstmemchunk.h:
6909         * gst/gstqueue.c:
6910         * gst/gstregistry.c:
6911         * gst/gstregistrypool.c:
6912         * gst/gststructure.c:
6913         * gst/gstsystemclock.c:
6914           more docs inlined
6915
6916 2005-09-02  Andy Wingo  <wingo@pobox.com>
6917
6918         * gst/gstelement.h (GstState): Renamed from GstElementState,
6919         changed to be a normal enum instead of flags.
6920         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
6921         munged to be GST_STATE_CHANGE_*.
6922         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
6923         work with the new state representation.
6924         (GstStateChange): New enumeration of possible state transitions.
6925         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
6926         (GstElementClass::change_state): Pass the GstStateChange along as
6927         an argument. Helps language bindings, so they don't have to use
6928         tricky lock-needing macros like GST_STATE_CHANGE ().
6929
6930         * scripts/update-states (file): New script. Run it on a file to
6931         update it for state naming and API changes. Updates files in
6932         place.
6933
6934         * All files updated for the new API.
6935
6936 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6937
6938         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
6939         * gst/gstutils.c: (gst_util_set_value_from_string),
6940         (gst_util_set_object_arg):
6941           fix a bunch of unchecked return values
6942         * tools/gst-complete.c: (main):
6943         * gstreamer.spec.in:
6944           clean up a little
6945
6946 2005-09-01  Wim Taymans  <wim@fluendo.com>
6947
6948         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6949         (gst_base_sink_event), (gst_base_sink_do_sync),
6950         (gst_base_sink_handle_event):
6951         * gst/base/gstbasesink.h:
6952         Handle newsegments more correctly.
6953
6954         * gst/gstbus.c:
6955         Fix docs.
6956
6957         * gst/gstevent.c: (gst_event_new_newsegment):
6958         A newsegment cannot have a start_time of -1
6959
6960 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
6961
6962         * win32/gstenumtypes.c:
6963         * win32/gstenumtypes.h:
6964           Update
6965
6966 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6967
6968         * libs/gst/controller/gst-controller.c:
6969         (gst_controlled_property_set_interpolation_mode),
6970         (gst_controlled_property_new):
6971          fixed boolean again
6972
6973 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
6974
6975         * docs/faq/gst-uninstalled:
6976           add -good
6977         * gst/gstevent.c:
6978         * gst/gstevent.h:
6979           remove wrong docs
6980         * gst/gstutils.c: (gst_element_link_filtered):
6981         * gst/gstutils.h:
6982           add gst_element_link_filtered
6983
6984 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6985
6986         * docs/gst/gstreamer-docs.sgml:
6987         * docs/gst/gstreamer-sections.txt:
6988         * docs/gst/tmpl/.cvsignore:
6989         * docs/gst/tmpl/gsterror.sgml:
6990         * docs/gst/tmpl/gstfilter.sgml:
6991         * docs/gst/tmpl/gsturihandler.sgml:
6992         * docs/gst/tmpl/gsturitype.sgml:
6993         * docs/gst/tmpl/gstutils.sgml:
6994         * docs/gst/tmpl/gstxml.sgml:
6995         * gst/gsterror.c:
6996         * gst/gsterror.h:
6997         * gst/gstfilter.c:
6998         * gst/gsturi.c:
6999         * gst/gsturitype.c:
7000         * gst/gstutils.c:
7001         * gst/gstxml.c:
7002           inlined more docs, fixed double id-ref
7003
7004 2005-08-31  Wim Taymans  <wim@fluendo.com>
7005
7006         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7007         (gst_base_transform_handle_buffer):
7008         Passthrough elements don't need the caps as they don't care.
7009
7010 2005-08-31  Wim Taymans  <wim@fluendo.com>
7011
7012         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7013         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
7014         Don't leak refcounts on buffers.
7015
7016 2005-08-31  Wim Taymans  <wim@fluendo.com>
7017
7018         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
7019         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
7020         (gst_base_transform_chain), (gst_base_transform_change_state):
7021         * gst/base/gstbasetransform.h:
7022         Handle the case where we are not negotiated more gracefully.
7023
7024 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
7025
7026         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
7027         (gst_file_src_map_region):
7028           Set READONLY flag on mmap'ed buffers, otherwise
7029           gst_buffer_make_writable() won't work properly (#314708).
7030
7031 2005-08-31  Wim Taymans  <wim@fluendo.com>
7032
7033         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
7034         passthrough elements can even do inplace on non writable
7035         buffers (as they don't touch them).
7036
7037 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7038
7039         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7040         (gst_test_mono_source_set_property),
7041         (gst_test_mono_source_class_init), (GST_START_TEST),
7042         (gst_controller_suite):
7043           more tests (hehe I have the most)
7044         * gst/gstbus.c:
7045           describe popping messages whenusing mulltiple sources
7046         * libs/gst/controller/gst-controller.c:
7047         (gst_controlled_property_set_interpolation_mode),
7048         (gst_controlled_property_new):
7049         * libs/gst/controller/gst-controller.h:
7050         * libs/gst/controller/gst-interpolation.c:
7051           implement boolean properties
7052
7053 2005-08-31  Wim Taymans  <wim@fluendo.com>
7054
7055         * gst/gstminiobject.c: (gst_mini_object_ref):
7056         Cannot assert that the refcount has to be positive
7057         since a disposed object can be resurrected.
7058
7059 2005-08-31  Wim Taymans  <wim@fluendo.com>
7060
7061         * gst/gstpad.c: (gst_pad_init):
7062         Revert change, need to first fix badly behaving 
7063         apps.
7064
7065 2005-08-30  Wim Taymans  <wim@fluendo.com>
7066
7067         * check/elements/fakesrc.c: (setup_fakesrc):
7068         * check/elements/identity.c: (setup_identity):
7069         Activate pads before using them.
7070
7071 2005-08-30  Wim Taymans  <wim@fluendo.com>
7072
7073         * gst/base/gstadapter.c: (gst_adapter_flush):
7074         Flushing out 0 bytes is ok for this function.
7075
7076         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7077         no newsegment gives a warning and sets the start/stop to 
7078         invalid.
7079
7080         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
7081         (gst_base_transform_set_passthrough):
7082         Some debug info.
7083
7084         * gst/gstminiobject.c: (gst_mini_object_ref):
7085         Check refcount here too.
7086
7087         * gst/gstpad.c: (gst_pad_init):
7088         Pads are initially flushing and refusing data.
7089
7090         * gst/gstutils.c: (gst_element_link_pads_filtered):
7091         When adding a capsfilter element make sure it has the
7092         same state as the parent bin.
7093
7094 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7095
7096         * docs/gst/tmpl/.cvsignore:
7097         * docs/gst/tmpl/gstformat.sgml:
7098         * docs/gst/tmpl/gstversion.sgml:
7099         * gst/gstbus.h:
7100         * gst/gstformat.c:
7101         * gst/gstformat.h:
7102         * gst/gstversion.h.in:
7103           more docs and two more inlined
7104
7105 2005-08-30  Wim Taymans  <wim@fluendo.com>
7106
7107         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
7108         Don't sync to clock.
7109
7110 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7111
7112         * docs/gst/gstreamer-sections.txt:
7113           ultral33t func10ns deserve to appear in the docs actually
7114         * docs/gst/tmpl/.cvsignore:
7115         * docs/gst/tmpl/gstcompat.sgml:
7116         * docs/gst/tmpl/gstconfig.sgml:
7117         * gst/check/gstcheck.c:
7118         * gst/gstcompat.h:
7119         * gst/gstconfig.h.in:
7120           inlined more docs
7121
7122 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7123
7124         * docs/gst/tmpl/.cvsignore:
7125         * docs/gst/tmpl/gstquery.sgml:
7126         * docs/gst/tmpl/gstutils.sgml:
7127         * gst/gstquery.c:
7128         * gst/gstquery.h:
7129           inlined and extended docs
7130
7131 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7132
7133         * check/gst-libs/controller.c: (GST_START_TEST),
7134         (gst_controller_suite):
7135           more tests
7136         * docs/gst/tmpl/gstutils.sgml:
7137         * docs/libs/gstreamer-libs-sections.txt:
7138         * docs/libs/tmpl/gstdataprotocol.sgml:
7139           include path fixes
7140         * examples/controller/audio-example.c: (main):
7141           controller example works now
7142         * gst/gstclock.h:
7143           doc fixes
7144         * tools/gst-inspect.c: (print_element_properties_info):
7145           show param spec flags
7146
7147 2005-08-29  Andy Wingo  <wingo@pobox.com>
7148
7149         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
7150
7151 2005-08-28  Andy Wingo  <wingo@pobox.com>
7152
7153         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
7154         as having two arguments instead of just one. Allows superclasses
7155         to access information on subclasses -- see the terrible for() loop
7156         in gtype.c:g_type_create_instance for the reason why. All callers
7157         changed.
7158
7159 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7160
7161         * docs/design/part-messages.txt:
7162           update info
7163         * docs/gst/tmpl/.cvsignore:
7164         * docs/gst/tmpl/gstcaps.sgml:
7165         * docs/gst/tmpl/gstclock.sgml:
7166         * gst/gstbus.c:
7167         * gst/gstcaps.c:
7168         * gst/gstcaps.h:
7169         * gst/gstclock.c:
7170         * gst/gstclock.h:
7171         * gst/gstmessage.c:
7172           added descriptions for bus and message
7173           inline caps and clock docs
7174
7175 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7176
7177         * gst/gstmessage.c:
7178         * gst/gstmessage.h:
7179           doc fixes
7180
7181 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7182
7183         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7184           fix div-by-zero
7185
7186 2005-08-26  Andy Wingo  <wingo@pobox.com>
7187
7188         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
7189         element_set_state's return val.
7190         (test_2_elements): Add test that's been disabled for months.
7191
7192         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
7193         can-activate-pull properties.
7194
7195         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
7196         can-activate-pull properties. Implement is_seekable so fakesrc can
7197         operate in pull mode.
7198
7199         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7200         properties.
7201         (gst_base_sink_activate, gst_base_sink_activate_pull)
7202         (gst_base_sink_activate_push): Make activation mode choosing work.
7203         Cleanups.
7204         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7205         is right. Make pull mode work. Post an eos before pausing in pull
7206         mode.
7207         (gst_base_sink_change_state): Pay attention to the core's
7208         change_state() return val.
7209         
7210         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7211         has-getrange properties. Cleanups.
7212         
7213         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7214         has_getrange and replace with can_activate_pull and
7215         can_activate_push.
7216
7217         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7218         locking comments. Remove has_loop, has_chain and replace with
7219         can_activate_pull and can_activate_push.
7220
7221 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
7222
7223         * configure.ac:
7224         * examples/Makefile.am:
7225         * examples/metadata/Makefile.am:
7226         * examples/metadata/read-metadata.c: (message_loop),
7227         (have_pad_handler), (make_pipeline), (print_tag), (main):
7228           Add metadata reading example that loops over a list of filenames,
7229           dumping any tags found.
7230
7231         * gst/gstbus.c: (gst_bus_dispose):
7232         * gst/gstelement.c: (gst_element_dispose):
7233           Release a few potentially-held references in dispose.
7234
7235 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7236
7237         * docs/gst/tmpl/gstminiobject.sgml:
7238           do *not* add tmpl/*.sgml files to CVS!
7239
7240 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7241
7242         * libs/gst/bytestream/.cvsignore:
7243         * libs/gst/bytestream/Makefile.am:
7244         * libs/gst/bytestream/adapter.c:
7245         * libs/gst/bytestream/adapter.h:
7246         * libs/gst/bytestream/bytestream.c:
7247         * libs/gst/bytestream/bytestream.h:
7248         * libs/gst/bytestream/filepad.c:
7249         * libs/gst/bytestream/filepad.h:
7250           removing obsolete files
7251
7252 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7253
7254         * docs/gst/gstreamer-docs.sgml:
7255         * docs/libs/gstreamer-libs-docs.sgml:
7256           disabed additional index entries again, as this makes docs-gen just
7257           slow and they aren't useful yet
7258         * docs/libs/gstreamer-libs-sections.txt:
7259           little -section.txt cleanup for libs
7260
7261 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7262
7263         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7264         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7265           fix up some debugging
7266         (gst_base_transform_get_unit_size),
7267         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7268         (gst_base_transform_handle_buffer):
7269         * gst/base/gstbasetransform.h:
7270           handle and store timed NEWSEGMENT events so that subclasses that
7271           calculate time by counting samples have a segment_start time they
7272           need to add to their timestamps - see audioresample
7273
7274 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7275
7276         * gst/gstbin.h:
7277           removed ';' from the end of macro defs
7278         * docs/gst/gstreamer-docs.sgml:
7279         * docs/gst/gstreamer-sections.txt:
7280         * docs/gst/tmpl/.cvsignore:
7281         * gst/gstbus.h:
7282         * gst/gstelement.c: (gst_element_class_init),
7283         (gst_element_set_state), (activate_pads),
7284         (gst_element_save_thyself):
7285         * gst/gstevent.c: (gst_event_new_newsegment):
7286         * gst/gstevent.h:
7287         * gst/gstiterator.c:
7288         * gst/gstiterator.h:
7289         * gst/gstpad.c:
7290         * gst/gstprobe.h:
7291         * gst/gstutils.c: (gst_pad_query_convert):
7292         * gst/gstutils.h:
7293           fixed parameter name mismatches between source, header and docs
7294           added some more docs, resolved the last batch of unused elements in
7295           docs (now someone needs to doc them)
7296
7297 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7298
7299         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7300         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7301           don't walk through the plugins backwards.  Where is all this
7302           reversed logic coming from ?
7303
7304 2005-08-25  Wim Taymans  <wim@fluendo.com>
7305
7306         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7307         (gst_base_transform_transform_size),
7308         (gst_base_transform_configure_caps),
7309         (gst_base_transform_get_unit_size),
7310         (gst_base_transform_buffer_alloc),
7311         (gst_base_transform_change_state):
7312         * gst/base/gstbasetransform.h:
7313         Cache caps unit_size.
7314         Make sure we cannot negotiate up and downstream at the
7315         same time.
7316
7317 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7318
7319         * gst/gst.c: (init_pre), (init_post):
7320           register the installed plugin path after the env var
7321         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7322         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7323           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7324           directories, so the tests can prefer uninstalled over installed
7325
7326 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7327
7328         * gst/base/gstbasetransform.h:
7329           comment
7330         * gst/gstpad.c:
7331           add to docs
7332
7333 2005-08-25  Wim Taymans  <wim@fluendo.com>
7334
7335         * gst/gstbin.c: (bin_bus_handler):
7336         Be a bit more conservative about the posted message.
7337         
7338         * gst/gstbus.c: (gst_bus_post):
7339         Some cleanups, warn wrong return values.
7340
7341 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
7342
7343         * check/gst/gstbin.c: (GST_START_TEST):
7344         * gst/gstbin.c: (bin_bus_handler):
7345         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7346         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7347         (gst_message_new_warning), (gst_message_new_tag),
7348         (gst_message_new_state_changed), (gst_message_new_segment_start),
7349         (gst_message_new_segment_done), (gst_message_new_custom):
7350         * gst/gstmessage.h:
7351         * tools/gst-launch.c: (event_loop):
7352         * tools/gst-md5sum.c: (event_loop):
7353           Revert unpopular change for GST_MESSAGE_SRC to GObject.
7354
7355 2005-08-25  Wim Taymans  <wim@fluendo.com>
7356
7357         * check/generic/states.c: (GST_START_TEST):
7358         Cleanup can be done at the end.
7359
7360         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7361         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7362         (gst_task_get_state), (gst_task_start), (gst_task_pause):
7363         Oh boy.. Thanks for finding this, Thomas. 
7364
7365 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7366
7367         * docs/gst/gstreamer.types:
7368           added missing types
7369
7370 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7371
7372         * docs/gst/gstreamer-docs.sgml:
7373         * docs/gst/gstreamer-sections.txt:
7374         * docs/gst/tmpl/.cvsignore:
7375         * gst/gstbin.c:
7376         * gst/gstiterator.c:
7377         * gst/gstutils.c:
7378         * gst/registries/gstxmlregistry.h:
7379           added missing classes and symbols (123 more to go)
7380           removed removed symbols from section file
7381           fixed many doc-comments
7382
7383 2005-08-24  Wim Taymans  <wim@fluendo.com>
7384
7385         * check/generic/states.c: (GST_START_TEST):
7386         Make sure all tasks are stopped.
7387
7388         * check/gst/gstbin.c: (GST_START_TEST):
7389         Unref after usage for proper valgrinding.
7390
7391         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
7392         Really wait for the task to stop before destroying the
7393         mutex.
7394
7395         * gst/gstqueue.c: (gst_queue_sink_activate_push),
7396         (gst_queue_src_activate_push):
7397         Small cleanups. Don't stop the task when we did not start
7398         it.
7399
7400         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
7401         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7402         (gst_task_get_state), (gst_task_start), (gst_task_pause),
7403         (gst_task_join):
7404         * gst/gsttask.h:
7405         Protect the stream lock with the object lock.
7406         Disallow setting the stream lock when running.
7407         Add cleanup_all to wait for the threadpool to finish.
7408         Remove code to autoallocate a mutex if none was provided.
7409         Add _join() to wait for a task to stop.
7410         Protect the thread pool with a global lock.
7411
7412 2005-08-24  Wim Taymans  <wim@fluendo.com>
7413
7414         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7415         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7416         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
7417         * gst/base/gstbasesink.h:
7418         Handle newsegment events correctly.
7419         Drop buffers out of the segment range.
7420
7421 2005-08-22  Andy Wingo  <wingo@pobox.com>
7422
7423         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
7424         macro, implements an interface and gstimplementsinterface for a
7425         new type.
7426
7427 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7428
7429         * check/Makefile.am:
7430         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
7431           add a test that does a bunch of state changes on elements
7432           needs some fixing for valgrind
7433         * check/states/sinks.c: (gst_object_suite):
7434           whitespace
7435         * gst/gstcaps.h:
7436           add prototype for gst_caps_is_equal_fixed
7437         * gst/gstplugin.c:
7438         * gst/gstregistrypool.c:
7439           doc fixes
7440
7441 2005-08-24  Andy Wingo  <wingo@pobox.com>
7442
7443         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
7444         convert a negative value. Doesn't make much sense. Mostly this is
7445         here to force callers to ensure -1 maps to -1.
7446
7447 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7448
7449         * docs/pwg/advanced-types.xml:
7450           Well done to Michael for catching my deliberate introduction
7451           of this spelling mistake. 
7452         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
7453         * gst/gstelement.h:
7454           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
7455           unlink pads before removing the element from the bin.
7456
7457 2005-08-24  Andy Wingo  <wingo@pobox.com>
7458
7459         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
7460         the same thing as GST_DEBUG=*:4.
7461         (parse_debug_level, parse_debug_category): New helper parsers.
7462
7463 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7464
7465         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7466         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
7467         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
7468         (gst_base_transform_buffer_alloc),
7469         (gst_base_transform_handle_buffer):
7470           use gboolean return values and pointers to size so we can use the
7471           full GST_BUFFER_SIZE range (guint) for buffer sizes
7472           use GstPadDirection for transform_caps
7473         * gst/base/gstbasetransform.h:
7474           rename get_size to get_unit_size since that's what it is
7475         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
7476           use GstPadDirection for transform_caps
7477         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7478         * gst/gstutils.h:
7479           cleanup and debugging
7480
7481 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7482
7483         * gst/gstelement.c: (gst_element_class_init),
7484         (gst_element_set_state), (activate_pads),
7485         (gst_element_save_thyself):
7486         * tools/gst-compprep.c: (main):
7487         * tools/gst-inspect.c: (print_element_properties_info):
7488         * tools/gst-xmlinspect.c: (print_element_properties):
7489           Fixed long standing mem-leak
7490
7491 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7492
7493         * check/gst/gstbin.c: (GST_START_TEST):
7494         * gst/gstbin.c: (bin_bus_handler):
7495         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7496         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7497         (gst_message_new_warning), (gst_message_new_tag),
7498         (gst_message_new_state_changed), (gst_message_new_segment_start),
7499         (gst_message_new_segment_done), (gst_message_new_custom):
7500         * gst/gstmessage.h:
7501         * tools/gst-launch.c: (event_loop):
7502         * tools/gst-md5sum.c: (event_loop):
7503           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
7504           that applications can sensibly post custom messages with references
7505           to their own objects.
7506
7507 2005-08-24  Andy Wingo  <wingo@pobox.com>
7508
7509         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
7510         already.
7511
7512 2005-08-24  Wim Taymans  <wim@fluendo.com>
7513
7514         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7515         (gst_base_transform_transform_caps),
7516         (gst_base_transform_transform_size),
7517         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7518         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7519         (gst_base_transform_handle_buffer):
7520         * gst/base/gstbasetransform.h:
7521         Many fixes and new features added by Thomas. Can now also do
7522         transforms with variable sizes and a custom fixate_caps function.
7523
7524 2005-08-24  Wim Taymans  <wim@fluendo.com>
7525
7526         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7527         Some debugging.
7528
7529         * gst/gstclock.h:
7530         Cast to ClockTime before formatting to time.
7531
7532         * gst/gstutils.h:
7533         Cleanups.
7534
7535 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7536
7537         * check/gst-libs/controller.c: (GST_START_TEST),
7538         (gst_controller_suite):
7539         * docs/gst/tmpl/gstcaps.sgml:
7540         * docs/gst/tmpl/gstghostpad.sgml:
7541         * docs/gst/tmpl/gstquery.sgml:
7542         * docs/gst/tmpl/gstutils.sgml:
7543         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
7544         (gst_object_sink_values), (gst_object_get_value_arrays),
7545         (gst_object_get_value_array):
7546           gracefully handle helper method calls to objects that are not beeing
7547           controlled, added test case for that          
7548
7549 2005-08-23  Wim Taymans  <wim@fluendo.com>
7550
7551         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
7552         (gst_event_new_newsegment), (gst_event_parse_newsegment),
7553         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
7554         (gst_event_parse_qos), (gst_event_new_seek),
7555         (gst_event_parse_seek):
7556         * gst/gstevent.h:
7557         Some more debugging output and doc cleanups.
7558
7559         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7560         Fix possible deadlock.
7561
7562 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7563
7564         * docs/gst/gstreamer-docs.sgml:
7565         * docs/gst/gstreamer-sections.txt:
7566         * docs/gst/gstreamer.types:
7567         * docs/gst/tmpl/.cvsignore:
7568         * gst/gstbin.h:
7569         * gst/gstbus.c:
7570         * gst/gstelement.c:
7571         * gst/gstevent.h:
7572           added 100 symbols from gstreamer-unused.txt to the right sections
7573           fixed more broken comments
7574           added GstBus to docs
7575
7576 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7577
7578         * docs/gst/gstreamer-sections.txt:
7579         * docs/gst/tmpl/.cvsignore:
7580         * docs/gst/tmpl/gstbin.sgml:
7581         * docs/gst/tmpl/gstbuffer.sgml:
7582         * gst/base/gstbasesrc.c:
7583         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
7584         * gst/gstbuffer.c:
7585         * gst/gstbuffer.h:
7586         * tools/gst-launch.1.in:
7587           inlined more doc comments, added missing comments and fixed comments
7588           fixed typos
7589
7590 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7591
7592         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7593           some debugging
7594         * gst/gstcaps.h:
7595           whitespace fixes
7596         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
7597           more debugging
7598         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
7599         * gst/gststructure.h:
7600           add a fixate function for booleans; add a FIXME that these func
7601           names should probably be gst_structure_fixate_*
7602
7603 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7604
7605         * docs/gst/gstreamer-docs.sgml:
7606         * docs/gst/gstreamer-sections.txt:
7607         * gst/Makefile.am:
7608         * gst/gstbin.c: (gst_bin_get_type),
7609         (gst_bin_child_proxy_get_child_by_index),
7610         (gst_bin_child_proxy_get_children_count),
7611         (gst_bin_child_proxy_init):
7612         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
7613         (gst_child_proxy_get_child_by_index),
7614         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
7615         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
7616         (gst_child_proxy_get), (gst_child_proxy_set_property),
7617         (gst_child_proxy_set_valist), (gst_child_proxy_set),
7618         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
7619         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
7620         * gst/gstchildproxy.h:
7621         * gst/parse/grammar.y:
7622         * tools/gst-inspect.c: (print_interfaces),
7623         (print_element_properties_info), (print_element_info):
7624           ported gstchildproxy over from 0.8
7625           ported gst-inspect fixes and enhancements over from 0.8
7626
7627 2005-08-22  Wim Taymans  <wim@fluendo.com>
7628
7629         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7630         (gst_base_transform_handle_buffer):
7631         Also call the transform function if we have ANY caps.
7632
7633         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
7634         Fix debug info.
7635
7636 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7637
7638         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
7639           Don't pretend to handle seek events if the source is not seekable
7640
7641 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7642
7643         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7644           Remove extra parameter to debug output
7645
7646         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7647         (gst_base_src_do_seek), (gst_base_src_activate_push):
7648           Fix seek event handling.
7649
7650         * gst/gstpipeline.c: (gst_pipeline_change_state):
7651         * gst/gstqueue.c: (gst_queue_handle_sink_event),
7652         (gst_queue_src_activate_push):
7653           Don't start the src pad task on FLUSH_STOP if the pad
7654           isn't linked.
7655           Debug changes.
7656
7657 2005-08-22  Wim Taymans  <wim@fluendo.com>
7658
7659         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
7660         Added check for gst_static_caps_get() refcounting.
7661
7662 2005-08-22  Wim Taymans  <wim@fluendo.com>
7663
7664         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
7665         Make _static_caps_get() refcounting sane.
7666         
7667         * gst/gstelement.c: (gst_element_set_state):
7668         Add g_return_val_if_fail() to protect against segfaults.
7669
7670 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
7671
7672         * docs/gst/tmpl/gstevent.sgml:
7673         * gst/gstevent.c:
7674         * gst/gstevent.h:
7675           inlined remaining docs, added missing doc comments
7676
7677 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7678
7679         * check/gst/gstbin.c: (GST_START_TEST):
7680           since we don't know when preroll is done, use refcount range
7681           check for the sink
7682         * gst/check/gstcheck.h:
7683           add macro for checking refcount range
7684
7685 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7686
7687         * check/Makefile.am:
7688           clean up environment for when registry gets built versus
7689           when actual tests are run; valgrind seems to not report
7690           leaks if GST_PLUGIN_PATH is set to some specific values
7691         * check/gst/gstbin.c: (GST_START_TEST):
7692           add more refcounting checks; maybe this exposes a
7693           preroll lock bug ?
7694         * common/check.mak:
7695         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7696         * gst/check/gstcheck.h:
7697         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
7698         (gst_bin_change_state):
7699         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
7700           add/fix debugging/whitespace
7701
7702 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7703
7704         * check/gst/gstevent.c: (event_probe), (test_event),
7705         (GST_START_TEST):
7706          Er, don't call gst_bin_watch_for_state_change you idiot.
7707
7708 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7709
7710         * check/Makefile.am:
7711           Use CHECK_CFLAGS and CHECK_LIBS
7712         * check/gst/gstevent.c: (event_probe), (test_event),
7713         (GST_START_TEST):
7714           Don't leak events.
7715         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7716         (gst_base_src_start), (gst_base_src_stop),
7717         (gst_base_src_activate_push), (gst_base_src_activate_pull),
7718         (gst_base_src_change_state):
7719           Sprinkle gst_base_src_stop liberally around error paths to fix
7720           problems reusing a source after failed state changes.
7721         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7722         (helper_find_suggest), (gst_type_find_helper):
7723           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
7724         * gst/gstevent.h:
7725         * docs/gst/tmpl/gstevent.sgml:
7726           Migrate part of the docs from the SGML file. Wait for ensonic to
7727           tell me how I did it wrong ;)
7728         * tools/gst-typefind.c: (main):
7729           Extra robustness to state changes between files.
7730
7731 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7732
7733         * check/Makefile.am:
7734           don't valgrind the controller test - it's leaking - Stefan, HELP
7735         * gst/check/gstcheck.c: (gst_check_message_error),
7736         (gst_check_chain_func), (gst_check_setup_element),
7737         (gst_check_teardown_element), (gst_check_setup_src_pad),
7738         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
7739         (gst_check_teardown_sink_pad):
7740         * gst/check/gstcheck.h:
7741           add a bunch of methods to set up elements, and src and sink pads
7742         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
7743         * check/elements/identity.c: (setup_identity), (cleanup_identity),
7744         (GST_START_TEST):
7745           use them
7746         * gst/gstmessage.c:
7747         * gst/gsttag.h:
7748           whitespace/doc fixes
7749
7750 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7751
7752         * gst/gstelement.h:
7753           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
7754           be handled by the application and not always printed as well
7755
7756 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7757
7758         * check/Makefile.am:
7759           set GST_TOOLS_DIR
7760         * gst/check/gstcheck.c: (gst_check_message_error):
7761         * gst/check/gstcheck.h:
7762           add a fail_unless_equals_int
7763           add fail_unless for error messages
7764
7765 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7766
7767         * check/Makefile.am:
7768         * check/gst.supp:
7769         * common/Makefile.am:
7770         * common/check.mak:
7771         * common/gst.supp:
7772           factor out some of the common stuff so we can use it
7773
7774 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7775
7776         * check/Makefile.am:
7777         * check/gst/gstiterator.c: (GST_START_TEST):
7778         * check/gst/gstsystemclock.c: (GST_START_TEST),
7779         (gst_systemclock_suite):
7780         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7781         * gst/gstclock.c:
7782           valgrind more tests
7783
7784 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7785
7786         * check/elements/.cvsignore:
7787         * check/elements/gstfakesrc.c:
7788           rename to name of element
7789         * check/elements/identity.c: (chain_func), (event_func),
7790         (setup_identity), (cleanup_identity), (GST_START_TEST),
7791         (identity_suite), (main):
7792           add a test for identity
7793         * check/Makefile.am:
7794         * pkgconfig/Makefile.am:
7795         * pkgconfig/gstreamer-check.pc.in:
7796         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7797         * gst/check:
7798         * gst/Makefile.am:
7799         * configure.ac:
7800           move the check stuff to a library that gets installed
7801         * check/gst-libs/controller.c: (GST_START_TEST):
7802         * check/gst-libs/gdp.c:
7803         * check/gst/gst.c: (GST_START_TEST):
7804         * check/gst/gstbin.c:
7805         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7806         * check/gst/gstbus.c:
7807         * check/gst/gstcaps.c: (GST_START_TEST):
7808         * check/gst/gstelement.c:
7809         * check/gst/gstghostpad.c:
7810         * check/gst/gstiterator.c:
7811         * check/gst/gstmessage.c:
7812         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
7813         * check/gst/gstobject.c:
7814         * check/gst/gstpad.c: (GST_START_TEST):
7815         * check/gst/gststructure.c: (GST_START_TEST):
7816         * check/gst/gstsystemclock.c: (GST_START_TEST),
7817         (gst_systemclock_suite):
7818         * check/gst/gsttag.c: (gst_tag_suite):
7819         * check/gst/gstvalue.c:
7820         * check/pipelines/cleanup.c:
7821         * check/pipelines/simple_launch_lines.c:
7822         * check/states/sinks.c:
7823           change include statement
7824
7825         * docs/gst/gstreamer-sections.txt:
7826         * docs/gst/tmpl/gstpad.sgml:
7827           document more pad stuff
7828         * gst/gstminiobject.c: (gst_mini_object_ref),
7829         (gst_mini_object_unref):
7830           debug refcounting
7831
7832 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
7833
7834         * docs/gst/tmpl/gst.sgml:
7835         * gst/gst.c:
7836           eliminate another tmpl file, fix spelling in the long-description
7837
7838 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7839
7840         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7841         (test_event), (timediff), (gstevents_suite):
7842           Should fix build on 64-bit arch's
7843
7844 2005-08-18  Andy Wingo  <wingo@pobox.com>
7845
7846         Make sure that when a pipeline goes to PLAYING, that data has
7847         actually hit the sink.
7848
7849         * check/states/sinks.c (test_sink): A sink that doesn't get any
7850         data shouldn't return SUCCESS for going to either PLAYING or
7851         PAUSED. Test also the return values on the way back down.
7852
7853         * gst/gstelement.c (gst_element_set_state): When changing the
7854         state of an element currently changing state asynchronously, go to
7855         lost-state after commiting the pending state. Makes future calls
7856         to get_state continue to return ASYNC.
7857
7858         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
7859         ASYNC when going to PLAYING if we still don't have preroll, as can
7860         happen with live sources.
7861
7862 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7863
7864         * docs/pwg/advanced-types.xml:
7865           Hack long paragraph into 2 chunks as a workaround for buggy
7866           jadetex version in sid and breezy that loops infinitely and
7867           eats all RAM.
7868
7869 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7870
7871         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7872         (test_event), (timediff), (gstevents_suite):
7873           Provide more error margin in clock measurements to allow for 
7874           g_get_current_time inaccuracies.
7875
7876 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7877
7878         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7879         (test_event), (timediff), (gstevents_suite):
7880            Fix error message output so I might be able to tell why the
7881            test works here but fails on the build farm.
7882
7883 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7884
7885         * check/Makefile.am:
7886         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7887         (test_event), (timediff), (gstevents_suite), (main):
7888           I wrote a test!
7889
7890         * docs/design/part-seeking.txt:
7891           Spelling correction
7892
7893         * docs/gst/tmpl/gstevent.sgml:
7894         * docs/gst/tmpl/gstfakesrc.sgml:
7895           Docs updates.
7896
7897         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7898           Treat a buffer-without-newsegment the same as a receiving 
7899           a newsegment not in time format, and disable syncing to the clock
7900           with a warning.
7901
7902         * gst/gstbus.c: (gst_bus_set_sync_handler):
7903           Assert if anyone tries to replace the existing sync_handler for bus, 
7904           as only the owner should be setting it.
7905
7906         * gst/gstevent.h:
7907           Have a fixed set of custom event enums with events identified by
7908           their structure name (as in 0.8), rather than a free-for-all
7909           allowing collisions between enum values from different plugins.
7910
7911         * gst/gstpad.c: (gst_pad_class_init):
7912           Docs change.
7913           
7914         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7915           Handle out-of-band downstream events from the sending thread.
7916
7917 2005-08-17  Andy Wingo  <wingo@pobox.com>
7918
7919         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
7920         play-timeout==0 to mean no timeout at all. In that case, don't
7921         bother with a get_state or a warning, just return directly, even
7922         if it's ASYNC.
7923
7924         * gst/base/gstbasetransform.c: Debug changes.
7925
7926         * gst/gstutils.h:
7927         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
7928         ensure bins post state change messages. A bit of a hack but I can't
7929         think of a way to avoid it.
7930
7931         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
7932
7933 2005-08-16  Andy Wingo  <wingo@pobox.com>
7934
7935         * gst/base/gstadapter.h:
7936         * gst/base/gstadapter.c (gst_adapter_take): New function, like
7937         peek() but you own the data. Not terribly efficient atm.
7938
7939 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7940
7941         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
7942         (gst_element_found_tags):
7943         * gst/gstutils.h:
7944           Add two utility functions for tag handling.
7945
7946 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7947
7948         * docs/manual/advanced-dataaccess.xml:
7949         * docs/manual/basics-helloworld.xml:
7950           Fix docs to use _bin_add() before _link(), which fixes the examples
7951           with recent core versions (reported by Madhan Raj M
7952           <raj_madan@rediffmail.com>, #313199).
7953
7954 2005-08-16  Wim Taymans  <wim@fluendo.com>
7955
7956         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7957         Added subtract checks.
7958
7959         * docs/design/part-events.txt:
7960         Some more docs about newsegment
7961
7962         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
7963         Fix FIXME
7964
7965         * gst/gstcaps.c: (gst_caps_to_string):
7966         Add comments, cleanups.
7967         
7968         * gst/gstelement.c: (gst_element_save_thyself):
7969         cleanups
7970         
7971         * gst/gstvalue.c: (gst_value_collect_int_range),
7972         (gst_string_unwrap), (gst_value_union_int_int_range),
7973         (gst_value_union_int_range_int_range),
7974         (gst_value_intersect_int_int_range),
7975         (gst_value_intersect_int_range_int_range),
7976         (gst_value_intersect_double_double_range),
7977         (gst_value_intersect_double_range_double_range),
7978         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
7979         (gst_value_subtract_int_range_int),
7980         (gst_value_subtract_double_range_double),
7981         (gst_value_subtract_double_range_double_range),
7982         (gst_value_subtract_from_list), (gst_value_subtract_list),
7983         (gst_value_can_compare), (gst_value_compare_fraction):
7984         Cleanups, add comments, remove unneeded asserts.
7985
7986 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7987
7988         * tools/gst-launch.c: (event_loop):
7989           don't convert NULL structures to strings
7990
7991 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
7992
7993         * docs/gst/gstreamer-sections.txt:
7994           made some defines private
7995         * docs/gst/tmpl/gstconfig.sgml:
7996         * docs/gst/tmpl/gstqueue.sgml:
7997         * docs/gst/tmpl/gsttaglist.sgml:
7998         * docs/gst/tmpl/gsttypes.sgml:
7999         * docs/gst/tmpl/gstutils.sgml:
8000         * docs/pwg/appendix-porting.xml:
8001         * gst/base/gstbasesink.h:
8002         * gst/base/gstbasesrc.c:
8003         * gst/base/gstbasesrc.h:
8004         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
8005         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
8006         * gst/gstelement.c: (gst_element_class_init):
8007         * gst/gstpad.c: (gst_pad_class_init):
8008         * gst/gstqueue.c: (gst_queue_class_init):
8009         * gst/gstxml.c: (gst_xml_class_init):
8010           documented all undocumented signal inline
8011         * libs/gst/controller/gst-controller.h:
8012           added padding
8013
8014 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8015
8016         * docs/pwg/appendix-porting.xml:
8017           Document _set_link_function -> _set_setcaps_function.
8018
8019 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8020
8021         * check/Makefile.am:
8022           add a .check target for running the check
8023         * check/gst-libs/controller.c: (GST_START_TEST):
8024           cosmetic fixups
8025         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8026           complete checks for gstbuffer; would be nice if I could get the
8027           gcov stuff to work so I can see if I actually completed gstbuffer.c
8028         * check/gstcheck.h:
8029           add ASSERT_BUFFER_REFCOUNT
8030
8031 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
8032
8033         * docs/gst/gstreamer-sections.txt:
8034         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
8035         * gst/gsttag.h:
8036           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
8037           spew out a warning if a tag that is already registered
8038           is re-registered, unless it is re-registered with a 
8039           different type (#308438).
8040
8041 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
8042
8043         * docs/pwg/appendix-porting.xml:
8044         * docs/pwg/building-state.xml:
8045           Add some paragraphs about state changes in 0.9 to the PWG
8046           and the porting guide, in particular about the new meaning
8047           of GST_STATE_PAUSED and how to write state change functions
8048           with concurrent access by multiple threads in mind.
8049
8050 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
8051
8052         * docs/gst/gstreamer-docs.sgml:
8053         * docs/libs/gstreamer-libs-docs.sgml:
8054           added deprecation and since indexes
8055         * libs/gst/controller/gst-controller.c:
8056         * libs/gst/controller/gst-helper.c:
8057           added since tags
8058
8059
8060 2005-08-11  Wim Taymans  <wim@fluendo.com>
8061
8062         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
8063         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
8064         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
8065         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
8066         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
8067         (gst_ghost_pad_set_target):
8068         Actually implement (re)setting the target on a ghostpad
8069         as described in the docs.
8070
8071 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8072
8073         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
8074           Check whether GST_DEBUG_NO_COLOR environment variable is
8075           set and disable coloured debug output if that is the case.
8076
8077 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8078
8079         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8080         (gst_type_find_helper):
8081           The memory returned by gst_type_find_peek() needs to
8082           stay valid until the end of a typefind function, and
8083           typefind functions may keep results from different 
8084           offsets around, so we can't just unref the buffer from
8085           the previous _peek(), but have to save all buffers 
8086           returned by _peek() until typefinding is done and only
8087           free them then.
8088
8089 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
8090
8091         * docs/gst/gstreamer-sections.txt:
8092         * gst/gstutils.h:
8093           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
8094
8095 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8096
8097         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8098           Fix a pretty good memleak.
8099
8100 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8101
8102         * gst/gstiterator.h:
8103           Fix wrong include and 'make distcheck'.
8104
8105 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8106
8107         * gst/gstbin.c: (bin_bus_handler):
8108           Use gst_element_post_message() instead.
8109
8110 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8111
8112         * gst/base/gstadapter.h:
8113         * gst/base/gstbasesink.h:
8114         * gst/base/gstbasesrc.h:
8115         * gst/base/gstbasetransform.h:
8116         * gst/base/gstcollectpads.h:
8117         * gst/base/gstpushsrc.h:
8118         * gst/gstiterator.h:
8119           Add padding to our base elements' class and instance structs and
8120           to GstIterator (you will need to rebuild all plugins and apps!)
8121
8122 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8123
8124         * gst/gstbin.c: (bin_bus_handler):
8125           Make default message forwarding from child->bus to bin->bus
8126           threadsafe and make it not emit warnings if the parent has no bus.
8127
8128 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8129
8130         * gst/gstelement.c: (activate_pads):
8131           On paused->ready, set pad->caps to NULL, as is the documented
8132           behaviour in this state change. Fixes playback of series of
8133           media files when visualization is enabled in Totem.
8134
8135 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8136
8137         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8138           Allow NULL as filter-caps (which means "any").
8139
8140 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8141
8142         * docs/libs/gstreamer-libs-sections.txt:
8143         * libs/gst/controller/gst-controller.c:
8144         * libs/gst/controller/gst-controller.h:
8145         * libs/gst/controller/gst-helper.c:
8146           adding more entries to the docs and fix small doc-bugs
8147
8148 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8149
8150         * docs/gst/gstreamer-docs.sgml:
8151         * docs/gst/gstreamer-sections.txt:
8152         * docs/gst/gstreamer.types:
8153         * docs/gst/tmpl/gstbasesink.sgml:
8154         * docs/gst/tmpl/gstbasesrc.sgml:
8155         * docs/gst/tmpl/gstbasetransform.sgml:
8156         * docs/gst/tmpl/gstfakesrc.sgml:
8157         * gst/base/gstcollectpads.c:
8158         * gst/base/gstcollectpads.h:
8159         * libs/gst/controller/gst-controller.c:
8160         * libs/gst/controller/gst-controller.h:
8161         * libs/gst/controller/gst-helper.c:
8162         * libs/gst/controller/gst-interpolation.c:
8163         * libs/gst/controller/lib.c:
8164           added long/short desc for controller docs
8165           added collectpads base class docs
8166           added correct includes to base-class docs
8167
8168 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8169
8170         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8171         (gst_test_mono_source_set_property),
8172         (gst_test_mono_source_class_init), (GST_START_TEST),
8173         (gst_controller_suite):
8174         * docs/gst/gstreamer-docs.sgml:
8175         * docs/gst/gstreamer-sections.txt:
8176         * docs/gst/gstreamer.types:
8177         * docs/libs/gstreamer-libs-docs.sgml:
8178         * docs/libs/gstreamer-libs-sections.txt:
8179         * gst/base/gstadapter.c:
8180         * libs/gst/controller/gst-controller.c:
8181         (gst_controlled_property_new), (gst_controlled_property_free),
8182         (gst_controller_new_valist),
8183         (gst_controller_remove_properties_valist),
8184         (gst_controller_sink_values), (_gst_controller_finalize):
8185         * libs/gst/controller/gst-controller.h:
8186         * libs/gst/controller/gst-helper.c:
8187         (gst_object_control_properties), (gst_object_uncontrol_properties),
8188         (gst_object_get_controller), (gst_object_set_controller),
8189         (gst_object_sink_values), (gst_object_get_value_arrays),
8190         (gst_object_get_value_array):
8191           more tests (and fixes) for the controller
8192           more docs for the controller
8193           integrated companies docs for the adapter 
8194
8195 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8196
8197         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8198         (GST_START_TEST), (fakesrc_suite):
8199           add tests for sizetype
8200
8201 2005-08-04  Andy Wingo  <wingo@pobox.com>
8202
8203         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8204         fixes buffer_alloc proxying among other things.
8205
8206         * gst/base/gstbasetransform.c:
8207         * gst/base/gstbasetransform.h:
8208         Revert patch to gstbasetransform from 7-28 removing
8209         delay_configure.
8210
8211         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8212         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8213         Semantics changed, should return not the size of the output buffer
8214         but the byte size of a buffer with a given caps.
8215
8216         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8217         debug object.
8218         (gst_base_transform_configure_caps): Don't set out_size here: (in,
8219         out) are not the pad caps until setcaps finishes.
8220         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8221         not-in-place case as well. Deal with changing from in-place to
8222         not-in-place within calling pad_alloc_buffer. Still a bit
8223         concerned about the overhead here...
8224
8225 2005-08-03  Andy Wingo  <wingo@pobox.com>
8226
8227         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8228         fixating is an error.
8229
8230 2005-08-04  Edward Hervey  <edward@fluendo.com>
8231
8232         * gst/base/gstadapter.h: 
8233         Added gst_adapter_get_type() to the header
8234
8235 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8236
8237         * check/Makefile.am:
8238         * check/gst-libs/controller.c:
8239         * libs/gst/controller/gst-controller.c:
8240         (gst_controller_new_valist):
8241           added check test suite for the controller
8242         * gst/base/gstpushsrc.c:
8243           fixed a doc typo
8244
8245 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8246
8247         * docs/gst/Makefile.am:
8248         * docs/gst/gstreamer-docs.sgml:
8249         * docs/gst/gstreamer-sections.txt:
8250         * docs/gst/gstreamer.types:
8251         * docs/gst/tmpl/gstfakesrc.sgml:
8252         * gst/base/README:
8253         * gst/base/gstbasesink.c:
8254         * gst/base/gstbasesink.h:
8255         * gst/base/gstbasesrc.c:
8256         * gst/base/gstbasesrc.h:
8257         * gst/base/gstbasetransform.c:
8258         * gst/base/gstpushsrc.c:
8259         * gst/base/gstpushsrc.h:
8260           add short/long description docs to base classes
8261           add pushsrc to the docs
8262           remove consolidated doc fragments
8263
8264 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8265
8266         * configure.ac:
8267         * docs/libs/Makefile.am:
8268         * docs/libs/gstreamer-libs-docs.sgml:
8269         * docs/libs/gstreamer-libs-sections.txt:
8270         * docs/libs/gstreamer-libs.types:
8271         * examples/Makefile.am:
8272         * examples/controller/.cvsignore:
8273         * examples/controller/Makefile.am:
8274         * examples/controller/audio-example.c: (main):
8275         * libs/gst/Makefile.am:
8276         * libs/gst/controller/.cvsignore:
8277         * libs/gst/controller/Makefile.am:
8278         * libs/gst/controller/gst-controller.c:
8279         (on_object_controlled_property_changed), (gst_timed_value_compare),
8280         (gst_timed_value_find),
8281         (gst_controlled_property_set_interpolation_mode),
8282         (gst_controlled_property_new), (gst_controlled_property_free),
8283         (gst_controller_find_controlled_property),
8284         (gst_controller_new_valist), (gst_controller_new),
8285         (gst_controller_remove_properties_valist),
8286         (gst_controller_remove_properties), (gst_controller_set),
8287         (gst_controller_set_from_list), (gst_controller_unset),
8288         (gst_controller_get), (gst_controller_get_all),
8289         (gst_controller_sink_values), (gst_controller_get_value_arrays),
8290         (gst_controller_get_value_array),
8291         (gst_controller_set_interpolation_mode),
8292         (_gst_controller_finalize), (_gst_controller_init),
8293         (_gst_controller_class_init), (gst_controller_get_type):
8294         * libs/gst/controller/gst-controller.h:
8295         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8296         (g_object_uncontrol_properties), (g_object_get_controller),
8297         (g_object_set_controller), (g_object_sink_values),
8298         (g_object_get_value_arrays), (g_object_get_value_array):
8299         * libs/gst/controller/gst-interpolation.c:
8300         (gst_controlled_property_find_timed_value_node),
8301         (interpolate_none_get), (interpolate_trigger_get),
8302         (interpolate_trigger_get_value_array):
8303         * libs/gst/controller/lib.c: (gst_controller_init):
8304         * pkgconfig/Makefile.am:
8305         * pkgconfig/gstreamer-control-uninstalled.pc.in:
8306         * pkgconfig/gstreamer-control.pc.in:
8307         * testsuite/Makefile.am:
8308         * testsuite/controller/.cvsignore:
8309         * testsuite/controller/Makefile.am:
8310         * testsuite/controller/interpolator.c: (main):
8311           added controller code
8312           removed dparam pc files
8313
8314 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8315         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8316         (gst_collectpads_stop):
8317           Broadcast the condition when shutting down, to make sure we wake all
8318           threads up. Shut down pads on finalize, for safety.
8319
8320 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8321         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8322         (gst_base_transform_handle_buffer),
8323         (gst_base_transform_change_state):
8324           Handle PAUSED->READY->PAUSED transition after negotiation
8325           occurred already.
8326         * gst/gstmessage.c: (gst_message_init):
8327           Extra piece of debug for new messages.
8328
8329 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
8330
8331         * configure.ac:
8332         * docs/gst/tmpl/gstbasesrc.sgml:
8333         * docs/gst/tmpl/gstelement.sgml:
8334         * docs/gst/tmpl/gstevent.sgml:
8335         * docs/gst/tmpl/gstfakesrc.sgml:
8336         * docs/gst/tmpl/gstformat.sgml:
8337         * docs/gst/tmpl/gstghostpad.sgml:
8338         * docs/gst/tmpl/gstpad.sgml:
8339         * docs/gst/tmpl/gstquery.sgml:
8340         * docs/gst/tmpl/gststructure.sgml:
8341         * docs/gst/tmpl/gsttaglist.sgml:
8342         * docs/gst/tmpl/gstvalue.sgml:
8343         * docs/libs/gstreamer-libs-docs.sgml:
8344         * docs/libs/gstreamer-libs-sections.txt:
8345         * docs/libs/gstreamer-libs.types:
8346         * libs/gst/Makefile.am:
8347         * libs/gst/control/.cvsignore:
8348         * libs/gst/control/Makefile.am:
8349         * libs/gst/control/control.c:
8350         * libs/gst/control/control.h:
8351         * libs/gst/control/dparam.c:
8352         * libs/gst/control/dparam.h:
8353         * libs/gst/control/dparam_smooth.c:
8354         * libs/gst/control/dparam_smooth.h:
8355         * libs/gst/control/dparamcommon.h:
8356         * libs/gst/control/dparammanager.c:
8357         * libs/gst/control/dparammanager.h:
8358         * libs/gst/control/dplinearinterp.c:
8359         * libs/gst/control/dplinearinterp.h:
8360         * libs/gst/control/unitconvert.c:
8361         * libs/gst/control/unitconvert.h:
8362         * testsuite/Makefile.am:
8363         * testsuite/dynparams/.cvsignore:
8364         * testsuite/dynparams/Makefile.am:
8365         * testsuite/dynparams/dparamstest.c:
8366         * tools/Makefile.am:
8367         * tools/gst-inspect.c: (print_element_info), (main):
8368         * tools/gst-xmlinspect.c: (print_element_info), (main):
8369           deactivate and remove dparams (libgstcontrol)
8370
8371 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8372
8373         * gst/elements/gsttypefindelement.c:
8374         (gst_type_find_element_have_type), (gst_type_find_element_init),
8375         (stop_typefinding), (gst_type_find_element_handle_event),
8376         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8377         * gst/elements/gsttypefindelement.h:
8378           Set caps on all outgoing buffers, not just the first one.
8379
8380 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8381
8382         * gst/elements/gsttypefindelement.c:
8383         (gst_type_find_element_have_type),
8384         (gst_type_find_element_check_set_buffer_caps),
8385         (gst_type_find_element_init), (stop_typefinding),
8386         (gst_type_find_element_handle_event),
8387         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8388         * gst/elements/gsttypefindelement.h:
8389           Set caps on first outgoing buffer when we've found the type.
8390
8391 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8392
8393         * docs/gst/gstreamer-docs.sgml:
8394         * docs/gst/gstreamer-sections.txt:
8395         * docs/gst/tmpl/gstscheduler.sgml:
8396         * docs/gst/tmpl/gstschedulerfactory.sgml:
8397           Remove some old cruft from docs.
8398
8399 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
8400
8401         * gst/gstpad.h:
8402           Fix inline docs for GstPadLinkReturn.
8403           
8404         * gst/gststructure.c: (gst_structure_has_name):
8405         * gst/gststructure.h:
8406         * docs/gst/gstreamer-sections.txt:
8407           New API: gst_structure_has_name().
8408
8409 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
8410
8411         * configure.ac:
8412           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
8413           and _LARGEFILE_SOURCE in config.h as required. Do not 
8414           export those flags in our .pc files any longer (#142209).
8415
8416           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
8417
8418         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
8419         (gst_file_sink_do_seek), (gst_file_sink_event),
8420         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8421           Redo seek/tell calls with large file support in mind; add some
8422           debugging messages; add log message that tells us when large
8423           file support is unavailable or not enabled for some reason.
8424
8425         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
8426           Add log message that tells us when large file support 
8427           is unavailable or not enabled for some reason.
8428
8429 2005-07-29  Wim Taymans  <wim@fluendo.com>
8430
8431         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8432         Added test for removing an element with ghostpad from a bin.
8433         Fixed test as current implementation does the right thing.
8434
8435         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
8436         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
8437         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
8438         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
8439         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
8440         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8441         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8442         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8443         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
8444         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
8445         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
8446         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
8447         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8448         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
8449         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
8450         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8451         * gst/gstghostpad.h:
8452         Clean up ghostpads, remove properties for internal stuff.
8453         Make threadsafe.
8454         Fix refcounting.
8455         Prepare for switching targets, not all use cases work yet.
8456
8457 2005-07-29  Wim Taymans  <wim@fluendo.com>
8458
8459         * docs/design/part-gstghostpad.txt:
8460         Small update.
8461
8462         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8463         (gst_bin_remove_func):
8464         Unlinking pads while holding the bin LOCK is not a good
8465         idea.
8466
8467         * gst/gstpad.c: (gst_pad_class_init),
8468         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
8469         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
8470         No prob setting template after creating the pad.
8471
8472 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
8473
8474         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
8475         (gst_bus_peek), (gst_bus_source_dispatch),
8476         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
8477         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
8478           gst_bus_poll may be called from other threads. Handle
8479           this nicely by not making poll_data disappear off the
8480           stack once gst_bus_poll returns.
8481           gst_bus_peek now increments the refcount on the returned
8482           message.
8483
8484 2005-07-29  Wim Taymans  <wim@fluendo.com>
8485
8486         * docs/design/part-gstghostpad.txt:
8487         Overview of current GhostPad datastructures and use
8488         cases for changing the target.
8489
8490 2005-07-28  Wim Taymans  <wim@fluendo.com>
8491
8492         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8493         Added checks for hierarchy consistency whan adding linked
8494         elements to bins.
8495
8496         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8497         Added check to test element scheduling without bin/pipeline.
8498
8499         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8500         First add elements to bin, then link.
8501         
8502         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8503         (gst_bin_remove_func):
8504         Unlink pads from elements added/removed from bin to maintain
8505         hierarchy consistency.
8506
8507 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8508
8509         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8510         (gst_base_transform_handle_buffer):
8511         * gst/base/gstbasetransform.h:
8512           Remove broken delay_configure (fixes renegotiation of software
8513           scaling pipelines); remove some leftover printf()s.
8514
8515 2005-07-28  Wim Taymans  <wim@fluendo.com>
8516
8517         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8518         Added some more tests for wrong hierarchy
8519
8520         * docs/design/part-overview.txt:
8521         Some updates.
8522
8523         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
8524         Cleanups.
8525
8526         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
8527         (gst_element_dispose):
8528         Some more cleanups.
8529
8530         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8531         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
8532         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8533         (gst_pad_set_caps), (gst_pad_send_event):
8534         Check for correct hierarchy when linking pads. Moving to
8535         strict requirement for ghostpads when linking elements in
8536         different bins.
8537
8538         * gst/gstpad.h:
8539         Clean ups. Added WRONG_HIERARCHY return value.
8540
8541 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8542
8543         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8544           Better debug if no transform is possible.
8545
8546 2005-07-27  Wim Taymans  <wim@fluendo.com>
8547
8548         * docs/random/wtay/network-transp:
8549         Some old doc I had.
8550
8551 2005-07-27  Wim Taymans  <wim@fluendo.com>
8552
8553         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8554         (gst_dp_event_from_packet):
8555         Fix serialization of seek events.
8556
8557 2005-07-27  Wim Taymans  <wim@fluendo.com>
8558
8559         * check/gst-libs/gdp.c: (GST_START_TEST):
8560         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8561         Fix compilation and fix event serialization.
8562
8563 2005-07-27  Wim Taymans  <wim@fluendo.com>
8564
8565         * CHANGES-0.9:
8566         * docs/design/part-TODO.txt:
8567         * docs/design/part-events.txt:
8568         Some docs updates
8569
8570         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8571         (gst_base_sink_event), (gst_base_sink_do_sync),
8572         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8573         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8574         (gst_base_src_do_seek), (gst_base_src_event_handler),
8575         (gst_base_src_loop):
8576         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8577         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8578         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8579         (gst_base_transform_event), (gst_base_transform_handle_buffer),
8580         (gst_base_transform_set_passthrough),
8581         (gst_base_transform_is_passthrough):
8582         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8583         * gst/elements/gstfilesink.c: (gst_file_sink_event):
8584         Event updates.
8585
8586         * gst/gstbuffer.h:
8587         Use faster casts.
8588
8589         * gst/gstelement.c: (gst_element_seek):
8590         * gst/gstelement.h:
8591         Update gst_element_seek.
8592
8593         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
8594         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
8595         (gst_event_new_flush_start), (gst_event_new_flush_stop),
8596         (gst_event_new_eos), (gst_event_new_newsegment),
8597         (gst_event_parse_newsegment), (gst_event_new_tag),
8598         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
8599         (gst_event_parse_qos), (gst_event_new_seek),
8600         (gst_event_parse_seek), (gst_event_new_navigation):
8601         * gst/gstevent.h:
8602         Make GstEvent use GstStructure. Add parsing code, make sure the
8603         API is sufficiently generic.
8604         Mark possible directions of events and serialization.
8605
8606         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
8607         (_gst_message_copy), (gst_message_new_segment_start),
8608         (gst_message_new_segment_done), (gst_message_new_custom),
8609         (gst_message_parse_segment_start),
8610         (gst_message_parse_segment_done):
8611         Small cleanups.
8612
8613         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8614         (gst_pad_set_caps), (gst_pad_send_event):
8615         Update for new events. 
8616         Catch events sent in wrong directions.
8617
8618         * gst/gstqueue.c: (gst_queue_link_src),
8619         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
8620         (gst_queue_handle_src_query):
8621         Event updates.
8622
8623         * gst/gsttag.c:
8624         * gst/gsttag.h:
8625         Remove event code from this file.
8626
8627         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8628         (gst_dp_event_from_packet):
8629         Event updates.
8630
8631 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8632
8633         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
8634         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8635         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
8636           Make debugging actually useful.
8637
8638 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8639
8640         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
8641         (gst_pad_fixate_caps):
8642           Implement default fixation once again, so that gst_pad_fixate()
8643           actually does anything at all. This probably needs to be some
8644           sort of a last resort, and use profile-based fixation first, but
8645           since that doesn't exist yet, this is the best we have. Fixes
8646           visualization in Totem.
8647
8648 2005-07-22  Wim Taymans  <wim@fluendo.com>
8649
8650         * docs/design/part-events.txt:
8651         Small update.
8652
8653         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8654         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
8655         (gst_base_sink_activate_pull):
8656         Some more comments.
8657
8658         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
8659         (gst_fake_src_create):
8660         Fix handoff marshall.
8661
8662         * gst/elements/gstidentity.c: (gst_identity_class_init),
8663         (gst_identity_transform_ip):
8664         We're a real inplace element.
8665
8666         * gst/gstbus.c: (gst_bus_post):
8667         Added some comments.
8668
8669         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
8670         * tests/muxing/case1.c: (main):
8671         * tests/sched/dynamic-pipeline.c: (main):
8672         * tests/sched/interrupt1.c: (main):
8673         * tests/sched/interrupt2.c: (main):
8674         * tests/sched/interrupt3.c: (main):
8675         * tests/sched/runxml.c: (main):
8676         * tests/sched/sched-stress.c: (main):
8677         * tests/seeking/seeking1.c: (event_received), (main):
8678         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
8679         (main):
8680         * tests/threadstate/threadstate3.c: (main):
8681         * tests/threadstate/threadstate4.c: (main):
8682         * tests/threadstate/threadstate5.c: (main):
8683         Fix the tests.
8684
8685 2005-07-21  Wim Taymans  <wim@fluendo.com>
8686
8687         * docs/design/part-seeking.txt:
8688         Some small additions.
8689
8690         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8691         (gst_base_sink_get_times), (gst_base_sink_do_sync),
8692         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8693         * gst/base/gstbasesink.h:
8694         discont values are gint64, handle the math correctly.
8695
8696         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8697         Make the basesrc report error if the source pad is not linked.
8698
8699         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8700         (gst_queue_loop), (gst_queue_handle_src_query),
8701         (gst_queue_src_activate_push):
8702         Make queue collect data even if the srcpad is not linked.
8703         Start pushing out data as soon as it is linked.
8704
8705         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
8706         * gst/gstutils.h:
8707         Added gst_flow_get_name() to ease error reporting.
8708
8709 2005-07-20  Wim Taymans  <wim@fluendo.com>
8710
8711         * gst/gstmessage.c: (gst_message_new_segment_start),
8712         (gst_message_new_segment_done), (gst_message_parse_segment_start),
8713         (gst_message_parse_segment_done):
8714         * gst/gstmessage.h:
8715         Added a bunch of messages for advanced seeking.
8716
8717         * gst/parse/grammar.y:
8718         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
8719         (gst_dpman_state_changed):
8720         Fix some new-pad -> pad-added signals
8721
8722 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8723
8724         * docs/manual/appendix-porting.xml:
8725         * docs/pwg/appendix-porting.xml:
8726           Document new-pad/state-change signal renames and the FixedList
8727           type rename.
8728
8729 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8730
8731         * docs/manual/advanced-autoplugging.xml:
8732         * docs/manual/basics-helloworld.xml:
8733         * docs/manual/basics-pads.xml:
8734         * docs/random/ds/0.9-suggested-changes:
8735         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
8736         * gst/gstelement.h:
8737         * gst/gstevent.h:
8738         * gst/gstformat.h:
8739         * gst/gstquery.h:
8740         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8741         (gst_structure_parse_array), (gst_structure_parse_value):
8742         * gst/gstvalue.c: (gst_type_is_fixed),
8743         (gst_value_list_prepend_value), (gst_value_list_append_value),
8744         (gst_value_list_get_size), (gst_value_list_get_value),
8745         (gst_value_transform_array_string), (gst_value_serialize_array),
8746         (gst_value_deserialize_array), (gst_value_intersect_array),
8747         (gst_value_is_fixed), (_gst_value_initialize):
8748         * gst/gstvalue.h:
8749           GstElement::new-pad -> pad-added, GstElement::state-change ->
8750           state-changed, GstValueFixedList -> GstValueArray, add format and
8751           flags as their own arguments in gst_element_seek() (should improve
8752           "bindeability"), remove function generators since they don't work
8753           under a whole bunch of compilers (they were deprecated already
8754           anyway).
8755
8756 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8757
8758         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
8759         (_gst_debug_register_funcptr):
8760         * gst/gstinfo.h:
8761           Fix illegal cast on some platforms (#309253).
8762
8763 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8764
8765         * gst/gstmessage.c: (gst_message_new_custom):
8766         * gst/gstmessage.h:
8767           Add _new_custom, make _new_application a macro to _new_custom.
8768
8769 2005-07-20  Wim Taymans  <wim@fluendo.com>
8770
8771         * gst/base/gstbasesrc.c: (gst_base_src_init),
8772         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8773         * gst/base/gstbasesrc.h:
8774         Add a gboolean to decide when to push out a discont.
8775
8776         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8777         (gst_queue_loop), (gst_queue_handle_src_query),
8778         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
8779         (gst_queue_set_property), (gst_queue_get_property):
8780         Some cleanups.
8781
8782         * tests/threadstate/threadstate1.c: (main):
8783         Make a thread test compile and run... very silly..
8784
8785
8786 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8787
8788         * docs/manual/appendix-porting.xml:
8789           Mention removal of libgstgconf-0.9.la and existence of gconf
8790           elements.
8791
8792 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8793
8794         * docs/pwg/advanced-clock.xml:
8795         * docs/pwg/appendix-porting.xml:
8796         * docs/pwg/intro-preface.xml:
8797         * docs/pwg/other-base.xml:
8798         * docs/pwg/other-manager.xml:
8799         * docs/pwg/other-nton.xml:
8800         * docs/pwg/other-ntoone.xml:
8801         * docs/pwg/other-oneton.xml:
8802         * docs/pwg/pwg.xml:
8803           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
8804           demuxer), remove n-to-n (was never written), fix some code examples
8805           and links and update the porting section to include all this.
8806
8807 2005-07-19  Wim Taymans  <wim@fluendo.com>
8808
8809         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
8810         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
8811         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
8812         (gst_queue_src_activate_push), (gst_queue_change_state),
8813         (gst_queue_get_property):
8814         * gst/gstqueue.h:
8815         Propagate GstFlowReturn more intelligently upstream and output
8816         an ERROR/EOS when streaming stopped due to fatal error.
8817
8818 2005-07-19  Wim Taymans  <wim@fluendo.com>
8819
8820         * tools/gst-launch.c: (check_intr), (event_loop), (main):
8821         Don't block forever for the state change to complete, the
8822         pipeline already did with a sensible timeout.
8823
8824 2005-07-19  Wim Taymans  <wim@fluendo.com>
8825
8826         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8827         Make sure we never call the create function is we
8828         got deactivated.
8829
8830 2005-07-19  Andy Wingo  <wingo@pobox.com>
8831
8832         * gst/parse/parse.l: Attempt to solve bug #172815.
8833
8834 2005-07-19  Wim Taymans  <wim@fluendo.com>
8835
8836         * docs/design/part-clocks.txt:
8837         * docs/design/part-events.txt:
8838         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
8839         Small docs updates.
8840         Only update the seeking values when we are not
8841         busy streaming.
8842
8843 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8844
8845         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8846           Oops, ignore the result of gst_pad_push_event here.
8847
8848 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8849
8850         * gst/base/gstbasesrc.c: (gst_base_src_loop),
8851         (gst_base_src_activate_push):
8852           Send discont event from the loop function, as pads
8853           aren't activated yet in the activate_push handler.
8854
8855         * gst/gstbin.c: (bin_bus_handler):
8856           Don't leak element name.
8857
8858 2005-07-18  Andy Wingo  <wingo@pobox.com>
8859
8860         * configure.ac: Use AS_LIBTOOL_TAGS.
8861
8862 2005-07-18  Wim Taymans  <wim@fluendo.com>
8863
8864         * docs/gst/gstreamer.types:
8865         Remove deleted types.
8866
8867 2005-07-18  Wim Taymans  <wim@fluendo.com>
8868
8869         * check/elements/gstfakesrc.c: (GST_START_TEST):
8870         * configure.ac:
8871         * gst/Makefile.am:
8872         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
8873         (init_popt_callback):
8874         * gst/gst.h:
8875         * gst/gst_private.h:
8876         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
8877         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
8878         * gst/gstbin.h:
8879         * gst/gstbus.h:
8880         * gst/gstconfig.h.in:
8881         * gst/gstelement.c: (gst_element_class_init),
8882         (gst_element_set_base_time), (gst_element_get_base_time),
8883         (iterator_fold_with_resync), (gst_element_change_state),
8884         (gst_element_dispose), (gst_element_get_bus):
8885         * gst/gstelement.h:
8886         * gst/gstelementfactory.h:
8887         * gst/gsterror.c: (_gst_core_errors_init):
8888         * gst/gsterror.h:
8889         * gst/gstevent.h:
8890         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8891         * gst/gstindex.c:
8892         * gst/gstinfo.c: (_gst_debug_init):
8893         * gst/gstmessage.c: (_gst_message_copy):
8894         * gst/gstmessage.h:
8895         * gst/gstminiobject.h:
8896         * gst/gstobject.c:
8897         * gst/gstobject.h:
8898         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8899         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
8900         * gst/gstpad.h:
8901         * gst/gstparse.h:
8902         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8903         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8904         (gst_pipeline_get_last_stream_time):
8905         * gst/gstpipeline.h:
8906         * gst/gstpluginfeature.h:
8907         * gst/gstquery.h:
8908         * gst/gstscheduler.c:
8909         * gst/gstscheduler.h:
8910         * gst/gststructure.h:
8911         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
8912         (gst_task_finalize), (gst_task_func), (gst_task_create),
8913         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
8914         (gst_task_stop), (gst_task_pause):
8915         * gst/gsttask.h:
8916         * gst/gsttypefind.h:
8917         * gst/gsttypes.h:
8918         * gst/registries/gstlibxmlregistry.c: (load_feature),
8919         (gst_xml_registry_load), (gst_xml_registry_save_feature):
8920         * gst/registries/gstxmlregistry.c:
8921         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
8922         * gst/schedulers/threadscheduler.c:
8923         * libs/gst/control/dparammanager.h:
8924         * tools/gst-inspect.c: (print_element_list),
8925         (print_plugin_features), (print_element_features):
8926         * tools/gst-xmlinspect.c: (print_element_list),
8927         (print_plugin_info), (main):
8928         Removed plugable schedulers.
8929         Removed Scheduler/Manager from elements.
8930         Removed gsttypes.h, rearranged includes.
8931         Removed dependency pad<->element, element<>pipeline, and
8932         various others,  fix includes.
8933         implement gst_pad_get_parent() with gst_object_get_parent()
8934         Make GstTask sefcontained.
8935         Fix _get_state() on GstBin, it did not return ASYNC with a 0
8936         timeout.
8937         Fix endless loop in iterator_fold_with_resync.
8938
8939
8940 2005-07-18  Wim Taymans  <wim@fluendo.com>
8941
8942         * gst/Makefile.am:
8943         * gst/gstarch.h:
8944         Remove old file.
8945
8946 2005-07-18  Wim Taymans  <wim@fluendo.com>
8947
8948         * gst/Makefile.am:
8949         No more cothreads.h
8950
8951 2005-07-18  Wim Taymans  <wim@fluendo.com>
8952
8953         * gst/cothreads.c:
8954         * gst/cothreads.h:
8955         Let's remove these.
8956
8957 2005-07-18  Wim Taymans  <wim@fluendo.com>
8958
8959         * docs/design/part-dynamic.txt:
8960         * docs/design/part-events.txt:
8961         * docs/design/part-seeking.txt:
8962         Some more docs in the works.
8963
8964         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8965         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
8966         (gst_base_transform_setcaps), (gst_base_transform_get_size),
8967         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8968         (gst_base_transform_handle_buffer),
8969         (gst_base_transform_sink_activate_push),
8970         (gst_base_transform_src_activate_pull),
8971         (gst_base_transform_set_passthrough),
8972         (gst_base_transform_is_passthrough):
8973         Refcounting fixes.
8974
8975         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
8976         Cleanups.
8977
8978         * gst/gstevent.c: (gst_event_finalize):
8979         Set SRC to NULL.
8980
8981         * gst/gstutils.c: (gst_element_unlink),
8982         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
8983         (gst_pad_proxy_setcaps):
8984         * gst/gstutils.h:
8985         Add _get_parent_element() to get a pads parent as an element.
8986
8987 2005-07-18  Wim Taymans  <wim@fluendo.com>
8988
8989         * check/gst/gstbin.c: (GST_START_TEST):
8990         Remove bogus test.
8991
8992 2005-07-18  Wim Taymans  <wim@fluendo.com>
8993
8994         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8995         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8996         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8997         (gst_base_sink_event), (gst_base_sink_do_sync),
8998         (gst_base_sink_chain), (gst_base_sink_loop),
8999         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
9000         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
9001         Refcounting fixes.
9002         Fix logic for returning ASYNC when not prerolled.
9003
9004 2005-07-18  Wim Taymans  <wim@fluendo.com>
9005
9006         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9007         Fix nasty refcount bug.
9008
9009 2005-07-16 Philippe Khalaf <burger@speedy.org>
9010
9011         * gst/elements/gstfdsrc.c:
9012         * gst/elements/gstfdsrc.h:
9013         * gst/elements/gstelements.c:
9014         * gst/elements/Makefile.am:
9015         Ported fdsrc to 0.9.
9016
9017 2005-07-16  Wim Taymans  <wim@fluendo.com>
9018
9019         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9020         (gst_base_sink_do_sync):
9021         Fix compile error.
9022
9023 2005-07-16  Wim Taymans  <wim@fluendo.com>
9024
9025         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9026         (gst_base_sink_event), (gst_base_sink_get_times),
9027         (gst_base_sink_do_sync), (gst_base_sink_change_state):
9028         * gst/base/gstbasesink.h:
9029         Store and use discont values when syncing buffers as described
9030         in design docs.
9031         
9032         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9033         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
9034         (gst_base_src_activate_push):
9035         Push discont event when starting.
9036
9037         * gst/elements/gstidentity.c: (gst_identity_transform):
9038         Small cleanups.
9039
9040         * gst/gstbin.c: (gst_bin_change_state):
9041         Small cleanups in base_time  distribution.
9042
9043         * gst/gstelement.c: (gst_element_set_base_time),
9044         (gst_element_get_base_time), (gst_element_change_state):
9045         * gst/gstelement.h:
9046         Added methods for the base_time of the element.
9047         Some MT fixes.
9048
9049         * gst/gstpipeline.c: (gst_pipeline_send_event),
9050         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9051         (gst_pipeline_get_last_stream_time):
9052         * gst/gstpipeline.h:
9053         MT fixes.
9054         Handle seeking as described in design doc, remove stream_time
9055         hack.
9056         Cleanups clock and stream_time selection code. Added accessors
9057         for the stream_time.
9058         
9059
9060 2005-07-16  Andy Wingo  <wingo@pobox.com>
9061
9062         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
9063         (#305291).
9064
9065 2005-07-16  Wim Taymans  <wim@fluendo.com>
9066
9067         * check/gst/gstbin.c: (GST_START_TEST):
9068         Make elements silent as the deep_notify refs the
9069         parent, which might make the test fail.
9070
9071         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9072         Don't hold the lock for too long.
9073
9074 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
9075
9076         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9077           Don't unref the caps we passed to gst_caps_make_writable() after
9078           passing them. gst_caps_make_writable() will do that for us.
9079
9080 2005-07-15  Andy Wingo  <wingo@pobox.com>
9081
9082         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
9083         (#157311).
9084
9085         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
9086         own marshalling function for the handoff signal. Properly type the
9087         buffer as a buffer. Fixes some warnings. Should do a more general
9088         solution.
9089         (gst_identity_class_init): Plug into the right marshaller.
9090
9091 2005-07-15  Wim Taymans  <wim@fluendo.com>
9092
9093         * docs/design/part-TODO.txt:
9094         * docs/design/part-clocks.txt:
9095         * docs/design/part-element-sink.txt:
9096         * docs/design/part-events.txt:
9097         * docs/design/part-gstpipeline.txt:
9098         Updated docs, mostly DISCONT related.
9099
9100 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
9101
9102         * docs/pwg/building-pads.xml:
9103           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
9104
9105 2005-07-15  Andy Wingo  <wingo@pobox.com>
9106
9107         * tools/gst-typefind.c: Update, add copyright block.
9108
9109         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
9110         Normalize and truncate caps before fixation.
9111
9112         * gst/gstcaps.h:
9113         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
9114         discards all but the first structure from its argument.
9115
9116 2005-07-15  Wim Taymans  <wim@fluendo.com>
9117
9118         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9119         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
9120         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9121         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9122         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
9123         (gst_base_transform_chain), (gst_base_transform_change_state),
9124         (gst_base_transform_set_passthrough),
9125         (gst_base_transform_is_passthrough):
9126         * gst/base/gstbasetransform.h:
9127         Make passthrough work using the bufferpools.
9128         Changed API a bit, subclasses have to write into a buffer
9129         provided by the base class.
9130         More debug info in nego functions.
9131         
9132         * gst/elements/gstidentity.c: (gst_identity_init),
9133         (gst_identity_transform):
9134         Port to new base class.
9135
9136 2005-07-15  Wim Taymans  <wim@fluendo.com>
9137
9138         * gst/gstmessage.c: (gst_message_new_state_changed):
9139         * tools/gst-launch.c: (event_loop), (main):
9140         Totally dump messages in -launch with the -m option.
9141         Fix message name for State messages,
9142
9143 2005-07-14  Wim Taymans  <wim@fluendo.com>
9144
9145         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9146         Post error messages on errors.
9147
9148 2005-07-14  Wim Taymans  <wim@fluendo.com>
9149
9150         * gst/gstcaps.c: (gst_caps_do_simplify):
9151         Remove debug info.
9152
9153         * gst/gsterror.h:
9154         Define error for stream stopped.
9155
9156         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9157         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
9158         Do proper return values.
9159
9160         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9161         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
9162         (gst_pad_get_range):
9163         Better return values.
9164
9165         * gst/gstpad.h:
9166         Reorganise return values, add macro to check for fatal errors.
9167
9168         * gst/gstqueue.c: (gst_queue_chain):
9169         Return proper GstFlowReturn values,
9170
9171 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9172
9173         * docs/gst/gstreamer-sections.txt:
9174         * docs/gst/gstreamer.types:
9175         * docs/gst/tmpl/gst.sgml:
9176         * docs/gst/tmpl/gstbasesink.sgml:
9177         * docs/gst/tmpl/gstbasesrc.sgml:
9178         * docs/gst/tmpl/gstbasetransform.sgml:
9179         * docs/gst/tmpl/gstbin.sgml:
9180         * docs/gst/tmpl/gstbuffer.sgml:
9181         * docs/gst/tmpl/gstcaps.sgml:
9182         * docs/gst/tmpl/gstclock.sgml:
9183         * docs/gst/tmpl/gstcompat.sgml:
9184         * docs/gst/tmpl/gstconfig.sgml:
9185         * docs/gst/tmpl/gstelement.sgml:
9186         * docs/gst/tmpl/gstelementdetails.sgml:
9187         * docs/gst/tmpl/gstelementfactory.sgml:
9188         * docs/gst/tmpl/gstenumtypes.sgml:
9189         * docs/gst/tmpl/gsterror.sgml:
9190         * docs/gst/tmpl/gstevent.sgml:
9191         * docs/gst/tmpl/gstfakesink.sgml:
9192         * docs/gst/tmpl/gstfakesrc.sgml:
9193         * docs/gst/tmpl/gstfilesink.sgml:
9194         * docs/gst/tmpl/gstfilesrc.sgml:
9195         * docs/gst/tmpl/gstfilter.sgml:
9196         * docs/gst/tmpl/gstformat.sgml:
9197         * docs/gst/tmpl/gstghostpad.sgml:
9198         * docs/gst/tmpl/gstimplementsinterface.sgml:
9199         * docs/gst/tmpl/gstindex.sgml:
9200         * docs/gst/tmpl/gstindexfactory.sgml:
9201         * docs/gst/tmpl/gstinfo.sgml:
9202         * docs/gst/tmpl/gstiterator.sgml:
9203         * docs/gst/tmpl/gstmacros.sgml:
9204         * docs/gst/tmpl/gstmemchunk.sgml:
9205         * docs/gst/tmpl/gstminiobject.sgml:
9206         * docs/gst/tmpl/gstobject.sgml:
9207         * docs/gst/tmpl/gstpad.sgml:
9208         * docs/gst/tmpl/gstpadtemplate.sgml:
9209         * docs/gst/tmpl/gstparse.sgml:
9210         * docs/gst/tmpl/gstpipeline.sgml:
9211         * docs/gst/tmpl/gstplugin.sgml:
9212         * docs/gst/tmpl/gstpluginfeature.sgml:
9213         * docs/gst/tmpl/gstquery.sgml:
9214         * docs/gst/tmpl/gstqueue.sgml:
9215         * docs/gst/tmpl/gstregistry.sgml:
9216         * docs/gst/tmpl/gstregistrypool.sgml:
9217         * docs/gst/tmpl/gstscheduler.sgml:
9218         * docs/gst/tmpl/gstschedulerfactory.sgml:
9219         * docs/gst/tmpl/gststructure.sgml:
9220         * docs/gst/tmpl/gstsystemclock.sgml:
9221         * docs/gst/tmpl/gsttaglist.sgml:
9222         * docs/gst/tmpl/gsttagsetter.sgml:
9223         * docs/gst/tmpl/gsttrace.sgml:
9224         * docs/gst/tmpl/gsttrashstack.sgml:
9225         * docs/gst/tmpl/gsttypefind.sgml:
9226         * docs/gst/tmpl/gsttypefindfactory.sgml:
9227         * docs/gst/tmpl/gsttypes.sgml:
9228         * docs/gst/tmpl/gsturihandler.sgml:
9229         * docs/gst/tmpl/gsturitype.sgml:
9230         * docs/gst/tmpl/gstutils.sgml:
9231         * docs/gst/tmpl/gstvalue.sgml:
9232         * docs/gst/tmpl/gstversion.sgml:
9233         * docs/gst/tmpl/gstxml.sgml:
9234         * docs/libs/tmpl/gstcontrol.sgml:
9235         * docs/libs/tmpl/gstdataprotocol.sgml:
9236         * docs/libs/tmpl/gstdparam.sgml:
9237         * docs/libs/tmpl/gstdplinint.sgml:
9238         * docs/libs/tmpl/gstdpman.sgml:
9239         * docs/libs/tmpl/gstdpsmooth.sgml:
9240         * docs/libs/tmpl/gstgetbits.sgml:
9241         * docs/libs/tmpl/gstunitconvert.sgml:
9242         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9243         (gst_push_src_base_init), (gst_push_src_class_init),
9244         (gst_push_src_init), (gst_push_src_create):
9245         * gst/base/gstpushsrc.h:
9246         * gst/elements/gstelements.c:
9247         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9248         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9249         (gst_fake_sink_init), (gst_fake_sink_set_property),
9250         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9251         (gst_fake_sink_event), (gst_fake_sink_preroll),
9252         (gst_fake_sink_render), (gst_fake_sink_change_state):
9253         * gst/elements/gstfakesink.h:
9254         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9255         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9256         (gst_fake_src_base_init), (gst_fake_src_class_init),
9257         (gst_fake_src_init), (gst_fake_src_event_handler),
9258         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9259         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9260         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9261         (gst_fake_src_create_buffer), (gst_fake_src_create),
9262         (gst_fake_src_start), (gst_fake_src_stop):
9263         * gst/elements/gstfakesrc.h:
9264         * gst/elements/gstfilesink.c: (_do_init),
9265         (gst_file_sink_base_init), (gst_file_sink_class_init),
9266         (gst_file_sink_init), (gst_file_sink_dispose),
9267         (gst_file_sink_set_location), (gst_file_sink_set_property),
9268         (gst_file_sink_get_property), (gst_file_sink_open_file),
9269         (gst_file_sink_close_file), (gst_file_sink_query),
9270         (gst_file_sink_event), (gst_file_sink_render),
9271         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9272         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9273         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9274         * gst/elements/gstfilesink.h:
9275         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9276         (gst_file_src_class_init), (gst_file_src_init),
9277         (gst_file_src_finalize), (gst_file_src_set_location),
9278         (gst_file_src_set_property), (gst_file_src_get_property),
9279         (gst_file_src_map_region), (gst_file_src_map_small_region),
9280         (gst_file_src_create_mmap), (gst_file_src_create_read),
9281         (gst_file_src_create), (gst_file_src_is_seekable),
9282         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9283         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9284         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9285         (gst_file_src_uri_handler_init):
9286         * gst/elements/gstfilesrc.h:
9287           more autistic cleanliness in functions/names/defines
9288
9289 2005-07-13  Andy Wingo  <wingo@pobox.com>
9290
9291         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9292         source couldn't negotiate.
9293
9294         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9295         connections again.
9296
9297         * gst/gstutils.h:
9298         * gst/gstutils.c (gst_element_link_pads_filtered): New old
9299         function. I am channeling Hades. Put your boots on suckers!!!
9300
9301 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9302
9303         * testsuite/caps/Makefile.am:
9304         * testsuite/caps/value_compare.c:
9305         * testsuite/caps/value_intersect.c:
9306         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9307           move two testsuite apps over to the check dir
9308
9309 2005-07-12  Wim Taymans  <wim@fluendo.com>
9310
9311         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9312         Added more debug info in the negotiate process.
9313
9314         * gst/gstmessage.h:
9315         Prepare for segment playback.
9316
9317         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9318         Better debugging.
9319
9320         * gst/gstutils.c:
9321         Some more docs.
9322
9323         * tools/gst-launch.c: (main):
9324         NULL pipeline on errors.
9325
9326 2005-07-12  Andy Wingo  <wingo@pobox.com>
9327
9328         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9329         not it comes from a malloc region. Make sure our copy gets freed.
9330
9331 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9332
9333         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9334         * check/gst/gstmessage.c: (GST_START_TEST):
9335         * check/gst/gststructure.c: (GST_START_TEST),
9336         (gst_structure_suite), (main):
9337           more testing
9338         * gst/gstelement.c: (gst_element_message_full):
9339           clean up GError and debug string now that they get copied
9340         * gst/gstmessage.c: (gst_message_new_error),
9341         (gst_message_new_warning), (gst_message_parse_error),
9342         (gst_message_parse_warning):
9343           use GST_TYPE_G_ERROR for structure_new, and take copies of
9344           arguments, so that we don't mess up refcounting
9345
9346 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9347
9348         * check/Makefile.am:
9349           add per-test valgrind targets
9350         * check/gst-libs/gdp.c: (GST_START_TEST),
9351         (gst_data_protocol_suite), (main):
9352           clean up
9353
9354 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9355
9356         * check/Makefile.am:
9357           instate more valgrindable tests
9358         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9359         (GST_START_TEST), (fakesrc_suite):
9360         * check/gst/gstpad.c: (GST_START_TEST):
9361         * check/gst/gststructure.c: (GST_START_TEST):
9362           fix test leaks
9363         * docs/gst/tmpl/gstminiobject.sgml:
9364         * gst/gstpad.c: (gst_pad_finalize):
9365           fix the static mutex leak
9366
9367 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9368
9369         * check/Makefile.am:
9370           add two more tests for valgrinding
9371         * check/gst/gstvalue.c: (GST_START_TEST):
9372           test refcount of deserialized buffer, found a leak
9373         * docs/gst/gstreamer-docs.sgml:
9374         * docs/gst/gstreamer-sections.txt:
9375         * docs/gst/gstreamer.types:
9376         * docs/gst/tmpl/gstminiobject.sgml:
9377           add miniobject to docs
9378         * gst/gstminiobject.c:
9379           add some docs
9380         * gst/gstvalue.c: (gst_value_deserialize_buffer),
9381         (gst_string_unwrap):
9382           fix a hard-to-find invalid write for one of the tests
9383           fix a leak for deserialized buffers
9384
9385 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9386
9387         * docs/pwg/advanced-events.xml:
9388         * docs/pwg/advanced-request.xml:
9389         * docs/pwg/advanced-scheduling.xml:
9390         * docs/pwg/appendix-porting.xml:
9391         * docs/pwg/building-boiler.xml:
9392         * docs/pwg/intro-preface.xml:
9393         * docs/pwg/other-ntoone.xml:
9394           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
9395           of example code and explanation for pad activation, loop() and
9396           getrange() functions and a bit more. Remove old comments pointing
9397           to loop-functions.
9398         * examples/pwg/Makefile.am:
9399           Add loop/getrange examples.
9400
9401 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9402
9403         * configure.ac:
9404           check for valgrind binary + some fixes
9405         * check/gst.supp:
9406           valgrind suppressions for the tests
9407         * check/Makefile.am:
9408           add a valgrind: target that valgrinds the unit tests
9409         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
9410         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9411         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9412         * check/gst/gstghostpad.c:
9413           added some cleanup
9414         * check/gst/gstdata.c:
9415           removed
9416         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
9417         (thread_unref), (gst_mini_object_suite), (main):
9418           added
9419         * gst/gst.c: (gst_deinit):
9420         * gst/gst.h:
9421           add a method to clean up.
9422         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9423         (gst_system_clock_obtain):
9424           allow for disposing the system clock.
9425         * tools/gst-launch.c: (main):
9426           deinit
9427
9428 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9429
9430         * docs/gst/tmpl/gstbasesrc.sgml:
9431         * docs/gst/tmpl/gstfakesrc.sgml:
9432         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9433         (gst_base_src_init), (gst_base_src_set_property),
9434         (gst_base_src_get_property), (gst_base_src_get_range),
9435         (gst_base_src_start):
9436         * gst/base/gstbasesrc.h:
9437           add num-buffers property
9438         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9439         (gst_fakesrc_init), (gst_fakesrc_set_property),
9440         (gst_fakesrc_get_property), (gst_fakesrc_create),
9441         (gst_fakesrc_start):
9442           remove num-buffers property
9443
9444 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9445
9446         * docs/gst/gstreamer-sections.txt:
9447         * docs/gst/tmpl/gstbasesink.sgml:
9448         * docs/gst/tmpl/gstbasesrc.sgml:
9449         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9450         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9451         (gst_base_sink_finalize), (gst_base_sink_set_clock),
9452         (gst_base_sink_set_property), (gst_base_sink_get_property),
9453         (gst_base_sink_handle_object), (gst_base_sink_event),
9454         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9455         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
9456         (gst_base_sink_loop), (gst_base_sink_deactivate),
9457         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
9458         (gst_base_sink_change_state):
9459         * gst/base/gstbasesink.h:
9460         * gst/base/gstbasesrc.h:
9461         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
9462         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9463         (gst_filesink_init):
9464           more macro splitting
9465
9466 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9467
9468         * gst/gstelement.c: (gst_element_get_bus):
9469           add debug
9470         * tools/gst-launch.c: (check_intr), (event_loop):
9471           fix bus leaks
9472
9473 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9474
9475         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9476           fix a caps leak
9477
9478 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9479
9480         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9481         (gst_base_src_finalize):
9482           add finalize method and clean up properly
9483         * gst/gstpipeline.c: (gst_pipeline_dispose):
9484           add debug
9485
9486 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9487
9488         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
9489         (gst_bin_suite):
9490           add more things to check
9491         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9492         * gst/gstelement.c:
9493           more debug
9494
9495 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9496
9497         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9498         (GST_START_TEST), (fakesrc_suite):
9499         * check/gst-libs/gdp.c: (GST_START_TEST):
9500         * check/gst/gst.c: (GST_START_TEST):
9501         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9502         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9503         * check/gst/gstbus.c: (GST_START_TEST):
9504         * check/gst/gstcaps.c: (GST_START_TEST):
9505         * check/gst/gstdata.c: (GST_START_TEST):
9506         * check/gst/gstelement.c: (GST_START_TEST):
9507         * check/gst/gstghostpad.c: (GST_START_TEST):
9508         * check/gst/gstiterator.c: (GST_START_TEST):
9509         * check/gst/gstmessage.c: (GST_START_TEST):
9510         * check/gst/gstobject.c: (GST_START_TEST):
9511         * check/gst/gstpad.c: (GST_START_TEST):
9512         * check/gst/gststructure.c: (GST_START_TEST):
9513         * check/gst/gstsystemclock.c: (GST_START_TEST),
9514         (gst_systemclock_suite):
9515         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9516         * check/gst/gstvalue.c: (GST_START_TEST):
9517         * check/pipelines/cleanup.c: (GST_START_TEST):
9518         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9519         * check/states/sinks.c: (GST_START_TEST):
9520         * check/gstcheck.c: (gst_check_init):
9521         * check/gstcheck.h:
9522           add debugging category
9523           use GST_START_TEST now, so we add a debug line
9524
9525 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9526
9527         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
9528           add test for state change message on a bin
9529         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
9530           add another test
9531         * gst/gstbin.c: (gst_bin_init):
9532         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
9533         * gst/gstelement.c: (gst_element_post_message),
9534         (gst_element_set_state):
9535         * gst/gstelementfactory.c: (gst_element_factory_create):
9536         * gst/gstmessage.c: (gst_message_new):
9537         * gst/gstscheduler.c:
9538           various debugging additions and cleanups
9539
9540 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9541
9542         * check/Makefile.am:
9543         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
9544         (main):
9545           adding tests for elements
9546         * gst/gstelement.c: (gst_element_dispose):
9547
9548 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9549
9550         * gst/registries/gstlibxmlregistry.c: (load_feature):
9551           plug more leaks.  A simple gst_init() now is leakfree, yay.
9552
9553 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9554
9555         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
9556         (gst_xml_registry_load):
9557           plug another memleak
9558
9559 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9560
9561         * configure.ac:
9562           use GST_SET_ERROR_CFLAGS
9563         * docs/faq/cvs.xml:
9564           change to ERROR_CFLAGS
9565
9566 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9567
9568         * configure.ac:
9569           make GST_ERROR_CFLAGS overridable and re-enable Werror
9570         * docs/faq/cvs.xml:
9571           add a note about error CFLAGS
9572         * docs/gst/tmpl/gstfakesrc.sgml:
9573         * gst/elements/gstfakesrc.c:
9574           comment out some unused code
9575         * gst/gst.c: (split_and_iterate):
9576         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
9577         (load_feature):
9578           plug some memleaks
9579
9580 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9581
9582         * common/Makefile.am:
9583         * common/gtk-doc.mak:
9584         * docs/gst/Makefile.am:
9585           factor out gtk-doc.mak
9586
9587 2005-07-07  Wim Taymans  <wim@fluendo.com>
9588
9589         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
9590         (gst_thread_scheduler_dispose):
9591         Unlock the STREAM_LOCK completely.
9592
9593 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9594
9595         * check/Makefile.am:
9596         * check/elements/.cvsignore:
9597         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9598         (START_TEST), (fakesrc_suite), (main):
9599         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9600         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
9601         (gst_fakesrc_create), (gst_fakesrc_start):
9602         * gst/elements/gstfakesrc.h:
9603           adding a first element test
9604
9605 2005-07-07  Andy Wingo  <wingo@pobox.com>
9606
9607         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
9608         debug message.
9609
9610 2005-07-07  Wim Taymans  <wim@fluendo.com>
9611
9612         * gst/gstquery.c:
9613         * gst/gstquery.h:
9614         Remove old types
9615
9616 2005-07-07  Wim Taymans  <wim@fluendo.com>
9617
9618         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
9619         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
9620         Allow subclasses to implement their own negotiation.
9621
9622 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9623
9624         * docs/design/part-gstbin.txt:
9625         * docs/design/part-gstpipeline.txt:
9626           Update design notes to reflect the movement of
9627           responsibility for bus handling from GstPipeline to
9628           GstBin
9629
9630 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9631
9632         * configure.ac:
9633           Remove unnecessary queue2/3/4 examples.
9634
9635 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9636
9637         * examples/Makefile.am:
9638         * examples/helloworld/helloworld.c: (event_loop), (main):
9639         * examples/queue/queue.c: (event_loop), (main):
9640         * examples/queue2/queue2.c: (main):
9641           Update a couple of the examples to work again.
9642
9643         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9644         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
9645          Spelling corrections and extra debug.
9646         
9647         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
9648         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
9649         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
9650         * gst/gstbin.h:
9651         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9652         (gst_pipeline_change_state):
9653         * gst/gstpipeline.h:
9654           Move the bus handler for children to the GstBin, and create a
9655           separate bus for receiving messages from children to the one the
9656           bus sends 'upwards' on.
9657
9658 2005-07-06  Wim Taymans  <wim@fluendo.com>
9659
9660         * gst/base/README:
9661         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9662         (gst_base_sink_handle_object), (gst_base_sink_loop),
9663         (gst_base_sink_change_state):
9664         * gst/base/gstbasesink.h:
9665         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9666         (gst_base_src_init), (gst_base_src_setcaps),
9667         (gst_base_src_getcaps), (gst_base_src_loop),
9668         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
9669         (gst_base_src_start), (gst_base_src_change_state):
9670         * gst/base/gstbasesrc.h:
9671         Make basesrc negotiate.
9672         Handle the case where preroll fails in basesink.
9673         Update README.
9674
9675 2005-07-06  Wim Taymans  <wim@fluendo.com>
9676
9677         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
9678         Implement the fixate function.
9679         Clean up acceptcaps.
9680
9681 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9682
9683         * docs/pwg/building-filterfactory.xml:
9684         * docs/pwg/pwg.xml:
9685           Remove never-written filter-factory chapter; I'll add the various
9686           base classes to part 4 ("other element types") later on.
9687
9688 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9689
9690         * docs/pwg/advanced-negotiation.xml:
9691         * docs/pwg/building-boiler.xml:
9692         * docs/pwg/building-pads.xml:
9693         * docs/pwg/pwg.xml:
9694         * examples/pwg/Makefile.am:
9695           Add a chapter on caps negotiation, simplify the original code
9696           samples a bit w.r.t. caps negotiation, add link to the advanced
9697           section. Add a bunch of examples showing different use cases of
9698           different types of caps negotiation. Upstream renegotiation isn't
9699           fully documented yet since nobody knows how that works.
9700
9701 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9702
9703         * check/gst/gstpad.c:
9704         * check/gstcheck.c:
9705         * gst/gstpad.c: (gst_pad_get_internal_links_default):
9706           if pad has no parent, return NULL as list of internal links
9707
9708 2005-07-05  Andy Wingo  <wingo@pobox.com>
9709
9710         * gst/elements/gstfilesrc.c:
9711         * gst/elements/gstfakesrc.c: 
9712         * gst/base/gstpushsrc.c:
9713         * gst/base/gstbasesrc.h: 
9714         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
9715         
9716 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
9717
9718         * Makefile.am:
9719           better report generation target (lcov needs a patch)
9720
9721 2005-07-05  Andy Wingo  <wingo@pobox.com>
9722
9723         * gst/elements, testsuite: Null if we got it...
9724
9725 2005-07-05  Wim Taymans  <wim@fluendo.com>
9726
9727         * configure.ac:
9728         * libs/gst/dataprotocol/Makefile.am:
9729         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
9730         * libs/gst/dataprotocol/dataprotocol.h:
9731         * pkgconfig/Makefile.am:
9732         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
9733         * pkgconfig/gstreamer-dataprotocol.pc.in:
9734         Ported dataprotol to 0.9. 
9735         Added pkgconfig files.
9736
9737 2005-07-05  Andy Wingo  <wingo@pobox.com>
9738
9739         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
9740         Default to returning TRUE for the case when tranform_caps returns
9741         a fixed caps, like for identity or volume.
9742
9743         * check/gst/gstbus.c (pound_bus_with_messages): 
9744         * check/gst/gstmessage.c (START_TEST): 
9745         * check/pipelines/simple_launch_lines.c (got_handoff): Application
9746         message API change.
9747
9748         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
9749         logic weaks here: always run transform_caps, trying passthrough
9750         operation only if the original caps intersects with the transform.
9751
9752         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
9753         source and sink caps.
9754
9755         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
9756         Intersect the peer caps with the pad template before going into
9757         transform_caps.
9758         (gst_base_transform_transform_caps): More debugging.
9759
9760         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
9761         src argument.
9762
9763 2005-07-04  Edward Hervey  <edward@fluendo.com>
9764
9765         * gst/gstutils.c:
9766         * gst/gstutils.h:
9767         (gst_pad_add_*_probe): now returns the signal id for better wrapping
9768         in bindings.
9769
9770 2005-07-04  Andy Wingo  <wingo@pobox.com>
9771
9772         * check/gst/gstpad.c: Only set explicit caps on pads.
9773
9774 2005-07-01  Andy Wingo  <wingo@pobox.com>
9775
9776         * tests/network-clock.scm: Commentary update.
9777
9778         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
9779         Didn't really make sense, not implementable with basetransform,
9780         etc.
9781         (gst_identity_transform): Unref inbuf via make_writable. Feeble
9782         attempt at implementing the sync property, needs an unlock method.
9783
9784         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
9785         New func, by default returns the same caps (the identity
9786         transformation).
9787         (gst_base_transform_getcaps): Uses transform_caps to return
9788         something sensible.
9789         (gst_base_transform_setcaps): Complicated logic to get caps on
9790         both pads, even if they are different, and to call set_caps once
9791         for every time both pads get their caps set.
9792         (gst_base_transform_handle_buffer): Give the ref to the transform
9793         function. Allows in-place modification of the buffer.
9794
9795         * gst/base/gstbasetransform.h (transform_caps): New class method.
9796         Given caps on one side, what can I do on the other.
9797         (set_caps): Take two caps, one for each side of the element.
9798
9799         * gst/gstpad.h:
9800         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
9801         caps in place. This is safe because we can check the mutability of
9802         the caps, and a good idea because fixate functions are just called
9803         as a matter of last resort. (Not actually implemented.)
9804         (gst_pad_set_caps): If the caps we're setting is actually the same
9805         as the existing pad caps, just update the pointer without calling
9806         setcaps. Assert that caps is either NULL or fixed, as per the
9807         docs.
9808
9809         * gst/gstghostpad.c: Update for fixate changes.
9810
9811 2005-07-02  Andy Wingo  <wingo@pobox.com>
9812
9813         * gst/gstcaps.c:
9814         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
9815         two refcounts makes it immutable, which is enough. Doc more.
9816
9817 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
9818
9819         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
9820           Put the mini_object into GValue as a mini_object,
9821           not a gpointer, since that's how we declared
9822           the signal.
9823
9824 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9825
9826         * examples/pwg/Makefile.am:
9827           Fix buildbot again.
9828
9829 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9830
9831         * docs/pwg/building-testapp.xml:
9832           Add extra check.
9833         * examples/pwg/Makefile.am:
9834           Fix buildbot.
9835
9836 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9837
9838         * configure.ac:
9839         * examples/Makefile.am:
9840         * examples/pwg/Makefile.am:
9841         * examples/pwg/extract.pl:
9842           Enable building the PWG examples.
9843         * docs/pwg/advanced-interfaces.xml:
9844           Add URI interface stub.
9845         * docs/pwg/advanced-types.xml:
9846         * docs/pwg/other-autoplugger.xml:
9847         * docs/pwg/appendix-porting.xml:
9848         * docs/pwg/pwg.xml:
9849           Add porting guide (mostly stubs), remove autoplugging (see ADM).
9850         * docs/pwg/building-boiler.xml:
9851         * docs/pwg/building-chainfn.xml:
9852         * docs/pwg/building-pads.xml:
9853         * docs/pwg/building-props.xml:
9854         * docs/pwg/building-state.xml:
9855         * docs/pwg/building-testapp.xml:
9856           Update the building-*.xml parts for 0.9 changes. All examples
9857           code blocks compile in examples/pwg/*.
9858
9859 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9860
9861         * docs/manual/advanced-autoplugging.xml:
9862         * docs/manual/appendix-checklist.xml:
9863         * docs/manual/appendix-integration.xml:
9864         * docs/manual/highlevel-components.xml:
9865           Fix playbin/decodebin examples, update docs a bit, mention bus
9866           instead of signals in various places, mention kmplayer and
9867           kaffeine since they have a working GStreamer backend in the KDE
9868           section.
9869
9870 2005-06-30  Wim Taymans  <wim@fluendo.com>
9871
9872         * CHANGES-0.9:
9873         * docs/design/draft-ghostpads.txt:
9874         * docs/design/draft-push-pull.txt:
9875         * docs/design/draft-query.txt:
9876         * docs/design/part-TODO.txt:
9877         * docs/design/part-query.txt:
9878         Added CHANGES-0.9 doc, updated status of other docs.
9879         
9880         * gst/gstquery.h:
9881         Remove "hmm" macro
9882
9883 2005-06-30  Wim Taymans  <wim@fluendo.com>
9884
9885         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9886         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9887         (gst_base_sink_change_state):
9888         * gst/base/gstbasesink.h:
9889         Some tweaks, only EOS and a buffer complete a preroll.
9890
9891 2005-06-30  Andy Wingo  <wingo@pobox.com>
9892
9893         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
9894         activate_push down to the internal pad as well.
9895
9896 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
9897
9898         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9899
9900         * gst/gsttaginterface.c:
9901           Some documentation fixes (#307394 and #307397).
9902
9903 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
9904
9905         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9906
9907         * gst/gstvalue.c: (gst_value_intersect_list):
9908           Fix memleak (#309125).
9909
9910 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9911
9912         * docs/manual/advanced-dataaccess.xml:
9913           Fix fakesrc example to compile; doesn't work, bug somewhere...?
9914         * docs/manual/basics-pads.xml:
9915           Add reference for filtered caps to above chapter.
9916
9917 2005-06-30  Wim Taymans  <wim@fluendo.com>
9918
9919         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
9920         (gst_bin_change_state):
9921         Probes are gone.
9922         Lame attempt at making the state change function a bit
9923         more readable.
9924
9925 2005-06-30  Wim Taymans  <wim@fluendo.com>
9926
9927         * docs/design/part-clocks.txt:
9928         * docs/design/part-element-sink.txt:
9929         * docs/design/part-events.txt:
9930         * docs/design/part-preroll.txt:
9931         * docs/design/part-states.txt:
9932         Some more tweeks and additions to the docs.
9933
9934 2005-06-30  Wim Taymans  <wim@fluendo.com>
9935
9936         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9937         (default_have_data), (gst_pad_class_init), (gst_pad_init),
9938         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9939         (gst_pad_check_pull_range), (gst_pad_get_range),
9940         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
9941         * gst/gstpad.h:
9942         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
9943         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9944         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9945         (gst_pad_remove_buffer_probe):
9946         Removed atomic operations, use existing LOCK.
9947         Move exception handling out of main code path.
9948
9949 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9950
9951         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9952         (silly_return_true_function), (gst_pad_class_init),
9953         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9954         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
9955         (gst_pad_send_event):
9956           Fix accumulator, add default value by using _emitv() instead
9957           of _emit() for signal emission.
9958
9959 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9960
9961         * docs/manual/advanced-dataaccess.xml:
9962         * examples/manual/Makefile.am:
9963           Add probe example.
9964         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
9965           Make work (??).
9966
9967 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
9968
9969         * gst/elements/gstfilesink.c: (gst_filesink_render):
9970           Simplify code so that we don't have to handle short
9971           writes and return GST_FLOW_ERROR if an error occured.
9972
9973 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9974
9975         * docs/gst/gstreamer-docs.sgml:
9976           Remove probes more.
9977
9978 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9979
9980         * docs/gst/gstreamer-sections.txt:
9981         * docs/gst/tmpl/gstpad.sgml:
9982         * docs/gst/tmpl/gstprobe.sgml:
9983         * gst/Makefile.am:
9984         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9985         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
9986         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
9987         (gst_pad_push_event), (gst_pad_send_event):
9988         * gst/gstpad.h:
9989         * gst/gstutils.c: (gst_pad_add_data_probe),
9990         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9991         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9992         (gst_pad_remove_buffer_probe):
9993         * gst/gstutils.h:
9994           Remove old probes, add new g-signal-based probes and some utility
9995           functions.
9996
9997 2005-06-29  Edward Hervey  <edward@fluendo.com>
9998
9999         * gst/gstelementfactory.c:
10000         * gst/gstutils.h:
10001         * gst/gstutils.c:
10002         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
10003         the definition to the header file.
10004
10005 2005-06-29  Andy Wingo  <wingo@pobox.com>
10006
10007         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
10008         plugins from the source directory.
10009
10010 2005-06-29  Wim Taymans  <wim@fluendo.com>
10011
10012         * docs/gst/tmpl/gstbuffer.sgml:
10013         * docs/gst/tmpl/gstclock.sgml:
10014         Some fixings for blantently wrong text.
10015
10016 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10017
10018         * check/Makefile.am:
10019         * gst/gst.c: (add_path_func), (init_pre):
10020         * gst/gstregistry.c: (gst_registry_add_path):
10021           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
10022           only scan the GST_PLUGIN_PATH locations, and not add
10023           system locations
10024
10025 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10026
10027         * docs/gst/gstreamer-sections.txt:
10028         * docs/gst/tmpl/gstbasesrc.sgml:
10029         * gst/gstelement.c:
10030         * gst/gstelement.h:
10031         * gst/gstevent.c:
10032         * gst/gstutils.c:
10033           doc fixes
10034
10035 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10036
10037         * docs/manual/advanced-autoplugging.xml:
10038           Fix autoplugging example.
10039
10040 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10041
10042         * docs/manual/advanced-autoplugging.xml:
10043         * docs/manual/mime-world.fig:
10044           Try to get autoplugging working, fix type detection. Fix text
10045           in hello-world image.
10046
10047 2005-06-29  Wim Taymans  <wim@fluendo.com>
10048
10049         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10050         (gst_base_sink_change_state):
10051         Small debug line.
10052
10053         * gst/gstclock.h:
10054         map SIGNAL and BROADCAST to the right function.
10055
10056         * gst/gstobject.h:
10057         Remove redundant braces.
10058
10059         * gst/gstpad.c: (gst_pad_set_caps):
10060         Don't call setcaps function when reseting caps to NULL.
10061
10062         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10063         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
10064         (gst_system_clock_id_unschedule):
10065         Use BROADCAST as this is what we do.
10066
10067 2005-06-29  Wim Taymans  <wim@fluendo.com>
10068
10069         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10070         We are actually prerolling before commiting the state
10071         change. 
10072
10073 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10074
10075         * docs/manual/advanced-clocks.xml:
10076         * docs/manual/advanced-interfaces.xml:
10077         * docs/manual/advanced-metadata.xml:
10078         * docs/manual/advanced-position.xml:
10079         * docs/manual/advanced-schedulers.xml:
10080         * docs/manual/advanced-threads.xml:
10081         * docs/manual/appendix-porting.xml:
10082         * docs/manual/basics-bins.xml:
10083         * docs/manual/basics-bus.xml:
10084         * docs/manual/basics-elements.xml:
10085         * docs/manual/basics-helloworld.xml:
10086         * docs/manual/basics-pads.xml:
10087         * docs/manual/highlevel-components.xml:
10088         * docs/manual/manual.xml:
10089         * docs/manual/thread.fig:
10090           Update (until threads/scheduling) Application Development Manual;
10091           remove GstThread, add GstBus, add simple porting checklist, add
10092           documentation for tag writing, clocks, make all examples until this
10093           part compile and run.
10094         * examples/manual/Makefile.am:
10095           Update from changes to Application Development Manual; add bus
10096           example, remove thread example.
10097
10098 2005-06-28  Wim Taymans  <wim@fluendo.com>
10099
10100         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
10101         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
10102         (gst_bus_source_dispatch):
10103         Add debugging messages.
10104         Make internal methods static.
10105         Handle the case where the bus is flushed in the handler.
10106         
10107         * gst/gstelement.c: (gst_element_get_bus):
10108         Fix refcount in _get_bus();
10109
10110         * gst/gstpipeline.c: (gst_pipeline_change_state),
10111         (gst_pipeline_get_clock_func):
10112         Clock refcounting fixes.
10113         Handle the case where preroll timed out more gracefully.
10114         
10115         * gst/gstsystemclock.c: (gst_system_clock_dispose):
10116         Clean up the internal thread in dispose. This is needed
10117         for subclasses that actually get disposed.
10118         
10119         * gst/schedulers/threadscheduler.c:
10120         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10121         (gst_thread_scheduler_dispose):
10122         Free thread pool in dispose.
10123
10124 2005-06-28  Andy Wingo  <wingo@pobox.com>
10125
10126         * tests/network-clock-utils.scm (debug, print-event): New utils.
10127
10128         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
10129         (*packet-loss*): Unified loss probability.
10130         (network-time): Report out-of-band events.
10131
10132         * tests/plot-data: Add support for out-of-band events. Hack it
10133         into this script instead of passing it down the pipe; should fix
10134         this later.
10135
10136 2005-06-28  Wim Taymans  <wim@fluendo.com>
10137
10138         * docs/gst/gstreamer.types:
10139         * docs/gst/tmpl/gstbasesrc.sgml:
10140         * docs/gst/tmpl/gstpad.sgml:
10141         Docs fixes.
10142
10143 2005-06-28  Wim Taymans  <wim@fluendo.com>
10144
10145         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10146         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
10147         (gst_proxy_pad_do_fixatecaps):
10148         Correctly proxy the check_pull_range function.
10149
10150 2005-06-28  Andy Wingo  <wingo@pobox.com>
10151
10152         * tests/network-clock.scm: Removed need for slib.
10153         
10154 2005-06-28  Wim Taymans  <wim@fluendo.com>
10155
10156         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
10157         (gst_basesink_preroll_queue_flush):
10158         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
10159         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
10160         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10161         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10162         (gst_proxy_pad_set_property):
10163         * gst/gstpad.c:
10164         * gst/gstpad.h:
10165         * gst/gstqueue.c: (gst_queue_init):
10166         The deprecated pad loop function is removed now.
10167
10168 2005-06-28  Andy Wingo  <wingo@pobox.com>
10169
10170         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
10171         New parameters, simulate network packet loss.
10172
10173         * tests/network-clock-utils.scm: Initialize the RNG.
10174
10175 2005-06-28  Wim Taymans  <wim@fluendo.com>
10176
10177         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
10178         (gst_basesink_event), (gst_basesink_deactivate):
10179         Flushing the preroll queue always needs to unlock the waiters.
10180
10181 2005-06-28  Edward Hervey  <edward@fluendo.com>
10182
10183         * gst/gstpipeline.c: (gst_pipeline_send_event): 
10184         Wheen a seek was successful on a pipeline, set the stream_time to the
10185         seek offset in order to have a synchronized stream_time.
10186
10187 2005-06-28  Wim Taymans  <wim@fluendo.com>
10188
10189         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10190         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10191         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
10192         (gst_proxy_pad_do_fixatecaps):
10193         Call wrapper function instead of just calling the function
10194         pointers. This takes care of any locking and whatmore.
10195
10196 2005-06-28  Wim Taymans  <wim@fluendo.com>
10197
10198         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10199         (gst_pad_pull_range):
10200         * gst/gstpad.h:
10201         CONNECTED -> LINKED.
10202
10203 2005-06-28  Andy Wingo  <wingo@pobox.com>
10204
10205         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10206         source-munging commit!!!
10207
10208         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
10209         (gst_object_sink): Take gpointer arguments, not GstObject --
10210         avoids casts. Like GLib.
10211
10212         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10213         activate.
10214
10215 2005-06-27  Andy Wingo  <wingo@pobox.com>
10216
10217         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10218         remaining buffer.
10219
10220         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10221         returns a sorted copy of the trace list.
10222         (gst_alloc_trace_print_live): New API, only prints traces with
10223         live objects. Sort the list.
10224         (gst_alloc_trace_print_all): Sort the list.
10225         (gst_alloc_trace_print): Align columns.
10226
10227         * gst/elements/gstttypefindelement.c:
10228         * gst/elements/gsttee.c:
10229         * gst/base/gstbasesrc.c:
10230         * gst/base/gstbasesink.c:
10231         * gst/base/gstbasetransform.c:
10232         * gst/gstqueue.c: Adapt for pad activation changes.
10233
10234         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10235         sched.
10236         (gst_pipeline_dispose): Drop ref on sched.
10237
10238         * gst/gstpad.c (gst_pad_init): Set the default activate func.
10239         (gst_pad_activate_default): Push mode by default.
10240         (pre_activate_switch, post_activate_switch): New stubs, things to
10241         do before and after switching activation modes on pads.
10242         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10243         the pad's activate function to choose which mode to activate.
10244         Shortcut on deactivation and call the right function directly.
10245         (gst_pad_activate_pull): New API, (de)activates a pad in pull
10246         mode.
10247         (gst_pad_activate_push): New API, same for push mode.
10248         (gst_pad_set_activate_function) 
10249         (gst_pad_set_activatepull_function) 
10250         (gst_pad_set_activatepush_function): Setters for new API.
10251
10252         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10253         Trace all miniobjects.
10254         (gst_mini_object_make_writable): Unref the arg if we copy, like
10255         gst_caps_make_writable.
10256
10257         * gst/gstmessage.c (_gst_message_initialize): No trace init.
10258
10259         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
10260         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10261         Adapt for new pad API.
10262
10263         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10264
10265         * gst/gstelement.h:
10266         * gst/gstelement.c (gst_element_iterate_src_pads) 
10267         (gst_element_iterate_sink_pads): New API functions.
10268         
10269         * gst/gstelement.c (iterator_fold_with_resync): New utility,
10270         should fold into gstiterator.c in some form.
10271         (gst_element_pads_activate): Simplified via use of fold and
10272         delegation of decisions to gstpad->activate.
10273
10274         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10275         help in debugging.
10276
10277         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10278         class once in init, like gstmessage. Didn't run into this issue
10279         but it seems correct. Don't initialize a trace, gstminiobject does
10280         that.
10281
10282         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10283         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10284         to the bus.
10285         (assert_live_count): New util function, uses alloc traces to check
10286         cleanup.
10287
10288         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10289         To be modified when unlink drops the internal pad.
10290
10291 2005-06-27  Wim Taymans  <wim@fluendo.com>
10292
10293         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10294         (gst_bin_change_state):
10295         Cleanup the get_state() function a little, make sure it
10296         iterates the same set of elements.
10297         Added stub iterate_state_order().
10298
10299 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10300
10301         * docs/gst/gstreamer-docs.sgml:
10302         * docs/gst/gstreamer-sections.txt:
10303         * docs/gst/gstreamer.types:
10304         * docs/gst/tmpl/gstbasesink.sgml:
10305         * docs/gst/tmpl/gstbasesrc.sgml:
10306         * docs/gst/tmpl/gstbasetransform.sgml:
10307         * docs/gst/tmpl/gstelement.sgml:
10308         * docs/gst/tmpl/gstiterator.sgml:
10309         * gst/base/gstbasesrc.c:
10310         * gst/base/gstbasesrc.h:
10311         * gst/base/gstbasetransform.h:
10312         * gst/gstelement.c:
10313         * gst/gstiterator.h:
10314           adding basetransform and iterator docs
10315
10316 2005-06-27  Andy Wingo  <wingo@pobox.com>
10317
10318         * docs/design/part-activation.txt: Notes on how activation should
10319         work -- not quite implemented yet.
10320
10321 2005-06-25  Wim Taymans  <wim@fluendo.com>
10322
10323         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10324         At least get the chain function correct, needs more
10325         fixing.
10326
10327 2005-06-25  Wim Taymans  <wim@fluendo.com>
10328
10329         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10330         (gst_basesink_handle_object), (gst_basesink_event),
10331         (gst_basesink_do_sync), (gst_basesink_handle_event),
10332         (gst_basesink_change_state):
10333         * gst/gsttask.h:
10334         Right, two problems here: ghostpads don't take locks and
10335         glib _rec_mutex_lock_full() with depth==0 still locks.
10336         Catch illegal locking and g_warn them.
10337
10338 2005-06-25  Wim Taymans  <wim@fluendo.com>
10339
10340         * check/states/sinks.c: (START_TEST), (gst_object_suite):
10341         Have to check for completion now...
10342
10343 2005-06-25  Wim Taymans  <wim@fluendo.com>
10344
10345         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10346         (gst_basesink_handle_object), (gst_basesink_event),
10347         (gst_basesink_do_sync), (gst_basesink_handle_event),
10348         (gst_basesink_change_state):
10349         * gst/gstpad.h:
10350         Unlock STREAM_LOCK whatever the recursion was.
10351
10352 2005-06-25  Wim Taymans  <wim@fluendo.com>
10353
10354         * gst/base/gstbasesink.c: (gst_basesink_set_property),
10355         (gst_basesink_preroll_queue_empty),
10356         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10357         (gst_basesink_event), (gst_basesink_do_sync),
10358         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10359         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10360         (gst_basesink_change_state):
10361         Reworked the base sink, handle event and buffer serialisation
10362         correctly and removed possible deadlock.
10363         Handle EOS correctly.
10364
10365 2005-06-25  Wim Taymans  <wim@fluendo.com>
10366
10367         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10368         (gst_pipeline_change_state):
10369         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10370         Allow elements to post EOS in the state change function.
10371         Fix up -launch, make it exit the poll loop when the
10372         pipeline actually changed state.
10373         Fix up warning parsing in -launch.
10374
10375 2005-06-25  Wim Taymans  <wim@fluendo.com>
10376
10377         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10378         (gst_tee_sink_activate):
10379         Core takes STREAM_LOCK for us now.
10380
10381 2005-06-25  Wim Taymans  <wim@fluendo.com>
10382
10383         * gst/gstelement.c: (gst_element_get_state_func),
10384         (gst_element_set_state):
10385         * gst/gstelement.h:
10386         * gst/gstmessage.c: (gst_message_parse_error),
10387         (gst_message_parse_warning):
10388         Keep track of current target state while performing a state
10389         change so that subclasses can do something interesting.
10390         Fix parsing of warning/error messages when GError is NULL.
10391
10392 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10393
10394         * docs/gst/Makefile.am:
10395         * docs/gst/gstreamer-docs.sgml:
10396         * docs/gst/gstreamer-sections.txt:
10397         * docs/gst/gstreamer.types:
10398         * docs/gst/tmpl/gstbasesink.sgml:
10399         * docs/gst/tmpl/gstbasesrc.sgml:
10400         * docs/gst/tmpl/gstbin.sgml:
10401         * docs/gst/tmpl/gstcompat.sgml:
10402         * docs/gst/tmpl/gstfakesink.sgml:
10403         * docs/gst/tmpl/gstfakesrc.sgml:
10404         * docs/gst/tmpl/gstfilesink.sgml:
10405         * docs/gst/tmpl/gstfilesrc.sgml:
10406         * docs/gst/tmpl/gstindex.sgml:
10407         * docs/manual/appendix-quotes.xml:
10408         * gst/base/gstbasesrc.h:
10409         * gst/elements/gstfakesrc.h:
10410         * gst/gstmessage.h:
10411           start pulling in base classes and elements in our docs
10412
10413 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
10414
10415         * docs/gst/Makefile.am:
10416         * docs/libs/Makefile.am:
10417           fixed make distcheck with gtk-doc 1.3
10418
10419 2005-06-23  Wim Taymans  <wim@fluendo.com>
10420
10421         * gst/gstelement.c: (gst_element_get_state_func),
10422         (gst_element_set_state), (gst_element_change_state):
10423         When the state did not change, also report NO_PREROLL
10424         when it matters.
10425
10426 2005-06-23  Wim Taymans  <wim@fluendo.com>
10427
10428         * gst/gstpad.c: (gst_pad_event_default):
10429         * gst/gstqueue.c: (gst_queue_loop):
10430         No unsafe task pausing please.
10431
10432 2005-06-23  Wim Taymans  <wim@fluendo.com>
10433
10434         * gst/schedulers/threadscheduler.c:
10435         (gst_thread_scheduler_task_start),
10436         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
10437         Ref the task before pushing it on the threadpool. This
10438         makes sure that we have a ref when the threadfunction is
10439         actually called.
10440
10441 2005-06-23  Andy Wingo  <wingo@pobox.com>
10442
10443         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
10444         offset is greater than the file's size.
10445
10446         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
10447         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
10448         * gst/gstobject.c (gst_object_class_init): Make the class lock
10449         recursive. Wim won't let me drop deep_notify. Decodebin works
10450         again, whoopdy doo.
10451
10452         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
10453         internal pad, and hacks accordingly. Doesn't do it on the target
10454         pad because we change its caps. Probably catches all cases of
10455         interest tho.
10456         (gst_ghost_pad_set_property): Connect to notify::caps as
10457         appropritate.
10458
10459         * tests/network-clock.scm (plot-simulation): Pipe data to the
10460         elite python skript.
10461
10462         * tests/network-clock-utils.scm (define-parameter): New macro,
10463         defines a parameter that can be set via the command line.
10464         (set-parameter!, parse-parameter-arguments): Command line args
10465         parser.
10466
10467         * tests/plot-data: Simple matplotlib-based plotter, takes input on
10468         stdin.
10469
10470 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
10471
10472         * gst/elements/gsttypefindelement.c:
10473         (gst_type_find_element_handle_event):
10474           Don't restart typefinding on a discont.
10475         * gst/gstelement.c: (gst_element_set_state):
10476           Debug spelling fix.
10477         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
10478           Allow changing mode of an active pad.
10479           Debug output fixes.
10480         * gst/registries/gstlibxmlregistry.c: (load_feature):
10481           Don't cast a static pad template to a normal pad template.
10482
10483 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10484
10485         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10486         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10487           remove gst_strtoll completely, since it didn't actually do
10488           anything more than what g_ascii_strtoull already does.
10489           check for range errors when deserializing
10490           do a cast for the unsigned cases; but further fixing needs
10491           a decision on what the interpretation of "(int)" and
10492           deserialization should be for values that fall outside the
10493           type's boundaries (ie, refuse, or interpret as casting)
10494
10495 2005-06-23  Wim Taymans  <wim@fluendo.com>
10496
10497         * check/Makefile.am:
10498         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
10499         * docs/design/part-live-source.txt:
10500         * docs/design/part-states.txt:
10501         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10502         (gst_basesrc_set_live), (gst_basesrc_is_live),
10503         (gst_basesrc_get_range), (gst_basesrc_activate),
10504         (gst_basesrc_change_state):
10505         * gst/base/gstbasesrc.h:
10506         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10507         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10508         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
10509         * gst/gstelement.c: (gst_element_get_state_func),
10510         (gst_element_set_state):
10511         * gst/gstelement.h:
10512         * gst/gsttypes.h:
10513         * tools/gst-launch.c: (event_loop), (main):
10514         Added support for live sources and other elements that
10515         cannot do preroll.
10516         Updated design docs, added live-source design doc.
10517         Implemented live source functionality in basesrc
10518         Fix error condition in _bin_get_state()
10519         Implement live source handling in -launch.
10520         Added check for live sources.
10521         Fixed case in GstBin where elements were changed state
10522         multiple times.
10523
10524
10525 2005-06-23  Andy Wingo  <wingo@pobox.com>
10526
10527         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
10528         borken refcounting.
10529
10530         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
10531         gst_caps_replace takes care of this for us.
10532
10533         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
10534         gst_pad_set_caps on the target, not just its setcaps() function.
10535
10536         * tests/network-clock.scm: 
10537         * tests/network-clock-utils.scm: A network clock simulator.
10538         Something of an algorithmic testbed before doing something in C.
10539
10540 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10541
10542         * check/Makefile.am:
10543         * check/gst/capslist.h:
10544           copy over from 0.8, and add two with bitmasks specified with
10545           (int) 0xFF...
10546         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10547           add test to parse everything from capslist.h
10548         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
10549         (main):
10550           add test for structure deserialization
10551         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10552           add tests for deserialization of strings to int types
10553         * gst/gststructure.c: (gst_structure_nth_field_name):
10554         * gst/gststructure.h:
10555           add a way to get the name of a field referenced by index
10556         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10557           instead of checking if the resulting long long lies between
10558           min and max, we check if the long long would fit into
10559           a number of bytes for the final type.
10560           This fixes cases where a string represents 2^32 - 1, which
10561           when cast to int would be the (valid) -1, but is bigger than
10562           G_MAXINT
10563
10564 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10565
10566         * gst/parse/grammar.y:
10567           add a log line for type deserialization
10568
10569 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10570
10571         * check/gst/gstvalue.c: (START_TEST):
10572         * gst/gstvalue.c: (gst_value_deserialize):
10573           return long long, not int, so gint64 deserialization actually
10574           works.  Is there any flag that makes the compiler check this ?
10575           Fixes #308559
10576
10577 2005-06-22  Wim Taymans  <wim@fluendo.com>
10578
10579         * gst/gstbuffer.h:
10580         Added convenience macros for setting buffers in GValue.
10581
10582 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10583
10584         * check/gst/.cvsignore:
10585         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10586           add a test deserializing int64, and comment part out because
10587           it fails, yay !
10588
10589 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10590
10591         * check/Makefile.am:
10592         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
10593         * testsuite/Makefile.am:
10594         * testsuite/caps/Makefile.am:
10595         * testsuite/caps/value_serialize.c:
10596         * testsuite/test_gst_init.c:
10597           move a value_serialize test over
10598
10599 2005-06-20  Wim Taymans  <wim@fluendo.com>
10600
10601         * gst/gstpad.c:
10602         Small doc updates.
10603         
10604         * gst/gstvalue.c: (gst_value_compare_buffer),
10605         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
10606         (gst_value_compare_flags), (gst_value_serialize_flags),
10607         (gst_value_deserialize_flags), (_gst_value_initialize):
10608         Fix serialisation of buffers, they are not boxed types anymore
10609
10610 2005-06-20  Wim Taymans  <wim@fluendo.com>
10611
10612         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10613         Testcase to show error in buffer-on-caps serialisation.
10614
10615 2005-06-20  Andy Wingo  <wingo@pobox.com>
10616
10617         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
10618         will be adding to later.
10619
10620         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
10621         if its socks fill with rocks.
10622         (gst_system_clock_obtain): Set the name on object construction.
10623         Avoid double-checked locking.
10624
10625 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
10626
10627         * gst/gsturi.c: (gst_element_make_from_uri):
10628           Fix potential endless loop.
10629
10630 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10631
10632         * check/Makefile.am:
10633           add gsttag
10634         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
10635         (main):
10636           move over from testsuite dir and clean up
10637         * configure.ac:
10638         * gst/gsttag.c:
10639         * testsuite/Makefile.am:
10640         * testsuite/tags/.cvsignore:
10641         * testsuite/tags/Makefile.am:
10642         * testsuite/tags/merge.c:
10643           remove testsuite/tags
10644
10645 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10646
10647         * docs/gst/gstreamer-sections.txt:
10648         * docs/gst/tmpl/gstenumtypes.sgml:
10649         * win32/gstenumtypes.c:
10650           clean up documentation build a little
10651
10652 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10653
10654         * check/gstcheck.h:
10655           add macros for checking refcounts on objects and caps
10656         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
10657           add some more unit tests
10658         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
10659         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
10660           fix leaked refcounts (I hope :)) so unittest works
10661         * gst/gstpad.h:
10662           whitespace removal
10663
10664 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10665
10666         * configure.ac: back to HEAD
10667
10668 === release 0.9.1 ===
10669
10670 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10671
10672         * NEWS:
10673         * RELEASE:
10674           updated
10675
10676 2005-06-17  Andy Wingo  <wingo@pobox.com>
10677
10678         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
10679         assert; it's always possible that the pad gets deactivated in
10680         between the checks in gstpad.c and the implementation. Rely on
10681         finish_preroll() to return a FLUSHING or similar instead of on the
10682         assert.
10683         
10684         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
10685         clock and post an EOS message if we come out of finish_preroll in
10686         the playing state.
10687
10688 2005-06-16  David Schleef  <ds@schleef.org>
10689
10690         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
10691         (gst_capsfilter_set_property): Allow NULL as possible value
10692         for filter_caps property, indicating GST_CAPS_ANY.
10693
10694 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10695
10696         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
10697           fix debug output
10698         * gst/schedulers/Makefile.am:
10699           use libgst prefix
10700         * gstreamer.spec.in:
10701           fix spec for it
10702
10703 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10704
10705         * gstreamer.spec.in:
10706           clean up
10707
10708 2005-06-08  Andy Wingo  <wingo@pobox.com>
10709
10710         * gst/gstutils.c: RPAD fixes all around.
10711         (gst_element_link_pads): Refcounting fixes.
10712
10713         * tools/gst-inspect.c:
10714         * tools/gst-xmlinspect.c:
10715         * parse/grammar.y:
10716         * gst/base/gsttypefindhelper.c:
10717         * gst/base/gstbasesink.c:
10718         * gst/gstqueue.c: RPAD fixes.
10719
10720         * gst/gstghostpad.h:
10721         * gst/gstghostpad.c: New ghost pad implementation as full proxy
10722         pads. The tricky thing is they provide both source and sink
10723         interfaces, since they proxy the internal pad for the external
10724         pad, and vice versa. Implement with lower-level ProxyPad objects,
10725         with the interior proxy pad as a child of the exterior ghost pad.
10726         Should write a doc on this.
10727         
10728         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
10729         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
10730         gst_object API.
10731         
10732         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
10733         pads are real pads. No ghost pads in this file. Not documenting
10734         the myriad s/RPAD/PAD/ and REALIZE fixes.
10735         (gst_pad_class_init): Add properties for "direction" and
10736         "template". Both are construct-only, so they can't change during
10737         the life of the pad. Fixes properly deriving from GstPad.
10738         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
10739         derived objects, just set properties when creating the objects via
10740         g_object_new.
10741         (gst_pad_get_parent): Implement as a function, return NULL if the
10742         parent is not an element.
10743         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
10744         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
10745         
10746         * gst/gstobject.c (gst_object_class_init): Make name a construct
10747         property. Don't set it in the object init.
10748
10749         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
10750         with UNKNOWN direction.
10751         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
10752         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
10753         (gst_element_remove_pad): Remove ghost-pad special cases.
10754         (gst_element_pads_activate): Remove rpad cruft.
10755
10756         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
10757         catch the pad's-parent-not-an-element case.
10758
10759         * gst/gst.h: Include gstghostpad.h.
10760
10761         * gst/gst.c (init_post): No more real, ghost pads.
10762
10763         * gst/Makefile.am: Add gstghostpad.[ch].
10764
10765         * check/Makefile.am:
10766         * check/gst/gstbin.c:
10767         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
10768         into a bin creates ghost pads, and that the refcounts are right.
10769         Partly moved from gstbin.c.
10770
10771 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10772
10773         * check/gst-libs/.cvsignore:
10774         * check/gst/.cvsignore:
10775         * check/pipelines/.cvsignore:
10776           ignore more
10777         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
10778         (START_TEST), (cleanup_suite), (main):
10779           add some tests related to cleanup after running pipelines
10780
10781 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10782
10783         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
10784           add a testsuite for GstBuffer
10785
10786 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10787
10788         * gst/gstminiobject.h:
10789           add defines for accessing the refcount
10790
10791 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
10792
10793         * Makefile.am: added support for html unit test coverage reports
10794
10795 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
10796
10797         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
10798           Free existing caps if the capsfilter changes. Add a FIXME about
10799           setting those caps on the pads.
10800
10801         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
10802           Before adding a ghost pad to a parent bin, check that there isn't
10803           already one for the element on the bin. Prevents infinite recursion
10804           when using decodebin in parse pipelines. Andy says he'll rewrite the
10805           way this works anyway, so ignore the hack.
10806
10807 2005-06-02  Andy Wingo  <wingo@pobox.com>
10808
10809         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
10810         file size, pass it on to the type find helper.
10811
10812         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
10813         segment_start and segment_end properly according to the seek
10814         method. Segment_end is still a bit flaky because offset can be
10815         negative for CUR and END cases, but it takes -1 as an "unset"
10816         value.
10817
10818 2005-06-02  Wim Taymans  <wim@fluendo.com>
10819
10820         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
10821         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
10822         (gst_basesink_activate):
10823         * gst/base/gstbasesink.h:
10824         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10825         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10826         (gst_pad_query), (gst_pad_start_task):
10827         * gst/gstpad.h:
10828         * gst/gstqueue.c: (gst_queue_bufferalloc),
10829         (gst_queue_handle_sink_event), (gst_queue_chain):
10830         Bufferalloc: return GstFlowReturn to more accuratly report
10831         why allocation failed.
10832
10833 2005-06-02  Wim Taymans  <wim@fluendo.com>
10834
10835         * gst/gstpipeline.c: (gst_pipeline_send_event):
10836         Take snapshot of state without blocking.
10837
10838 2005-06-02  Wim Taymans  <wim@fluendo.com>
10839
10840         * docs/design/part-TODO.txt:
10841         * docs/design/part-caps.txt:
10842         * docs/design/part-clocks.txt:
10843         * docs/design/part-negotiation.txt:
10844         * docs/design/part-preroll.txt:
10845         Small doc updates 
10846
10847 2005-05-30  Wim Taymans  <wim@fluendo.com>
10848
10849         * gst/elements/gstidentity.c: (gst_identity_event),
10850         (gst_identity_transform), (gst_identity_get_property):
10851         Protect last_message property as it is accessed from
10852         multiple threads.
10853
10854 2005-05-30  Wim Taymans  <wim@fluendo.com>
10855
10856         * gst/gstelement.c: (gst_element_init),
10857         (gst_element_pads_activate), (gst_element_change_state):
10858         Slicker pad activation code.
10859
10860 2005-05-30  Wim Taymans  <wim@fluendo.com>
10861
10862         * gst/Makefile.am:
10863         * gst/gstelement.h:
10864         * gst/gstelementfactory.h:
10865         * gst/gsttypes.h:
10866         Move elementfactory methods to separate .h file.
10867
10868 2005-05-30  Wim Taymans  <wim@fluendo.com>
10869
10870         * docs/design/part-overview.txt:
10871         * gst/gstsystemclock.h:
10872         Small typo fixes, doc updates.
10873
10874 2005-05-30  Wim Taymans  <wim@fluendo.com>
10875
10876         * gst/gst.c: (gst_init_get_popt_table), (init_post),
10877         (init_popt_callback):
10878         Remove cpu-opt flag.
10879
10880 2005-05-30  Wim Taymans  <wim@fluendo.com>
10881
10882         * gst/gstbuffer.c: (gst_subbuffer_finalize),
10883         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
10884         * gst/gstbuffer.h:
10885         Avoid typechecking in places where not needed.
10886         Added accessor for malloc_data.
10887
10888 2005-05-30  Wim Taymans  <wim@fluendo.com>
10889
10890         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
10891         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
10892         (gst_pad_configure_sink), (gst_pad_configure_src),
10893         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
10894         (gst_pad_start_task):
10895         Propagate errors from _set_caps() in configure_src/sink
10896         functions instead of returning TRUE.
10897         FLUSH events can travel up and downstream
10898
10899
10900 2005-05-30  Wim Taymans  <wim@fluendo.com>
10901
10902         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10903         (gst_basesink_activate):
10904         Handle EOS in preroll.
10905
10906 2005-05-30  Wim Taymans  <wim@fluendo.com>
10907
10908         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10909         (gst_queue_loop), (gst_queue_handle_src_event):
10910         Remove old pieces of code
10911         Flushing the queue in an upstream event is a very bad idea.
10912
10913 2005-05-26  Andy Wingo  <wingo@pobox.com>
10914
10915         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
10916         gst_value_set_mini_object so as to add a ref on the object (which
10917         will be removed when the value is unset).
10918
10919         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
10920         arg type in ::handoff.
10921
10922         * gst/gstelement.c (gst_element_change_state): Also deactivate
10923         pads in READY->NULL, just in case the element didn't make it to
10924         PAUSED. Wingo tested, Wim approved.
10925
10926 2005-05-26  Wim Taymans  <wim@fluendo.com>
10927
10928         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10929         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10930         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
10931         A flushing pad cannot be used to alloc_buffer from.
10932
10933 2005-05-26  Wim Taymans  <wim@fluendo.com>
10934
10935         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
10936         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
10937         (gst_bus_source_dispatch), (gst_bus_source_finalize),
10938         (gst_bus_create_watch), (gst_bus_add_watch_full):
10939         * gst/gstbus.h:
10940         Implement a real GSource and use g_main_context_wakeup() to
10941         signal new messages instead of the socketpair.
10942
10943 2005-05-25  Wim Taymans  <wim@fluendo.com>
10944
10945         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
10946         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
10947         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10948         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10949         (gst_pad_send_event), (gst_pad_start_task):
10950         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
10951         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
10952         (gst_queue_sink_activate), (gst_queue_src_activate),
10953         (gst_queue_change_state):
10954         * gst/gstqueue.h:
10955         Fix state changes for non sinks. We now change sinks, then elements
10956         with unconnected srcpads, then the rest.
10957         More efficient queue unlocking in flush and state changes.
10958         Set the pad activate mode even if it does not have an activate
10959         function.
10960
10961 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10962
10963         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
10964           Don't go in pull mode for non-seekable sources.
10965         * gst/elements/gsttypefindelement.h:
10966         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10967         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
10968         (free_entry), (stop_typefinding),
10969         (gst_type_find_element_handle_event), (find_peek),
10970         (gst_type_find_element_chain), (do_pull_typefind),
10971         (gst_type_find_element_change_state):
10972           Allow typefinding (w/o seeking) in push-mode, simplified version
10973           of what was in 0.8.
10974         * gst/gstutils.c: (gst_buffer_join):
10975         * gst/gstutils.h:
10976           gst_buffer_join() from 0.8.
10977
10978 2005-05-25  Wim Taymans  <wim@fluendo.com>
10979
10980         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10981         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10982         (gst_pad_send_event), (gst_pad_start_task):
10983         Disable attempt at mode switching until it is figured out.
10984
10985 2005-05-25  Wim Taymans  <wim@fluendo.com>
10986
10987         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
10988         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10989         (gst_basesink_finish_preroll), (gst_basesink_chain),
10990         (gst_basesink_loop), (gst_basesink_activate),
10991         (gst_basesink_change_state):
10992         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
10993         (gst_basesrc_get_range), (gst_basesrc_loop),
10994         (gst_basesrc_activate):
10995         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10996         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
10997         (gst_real_pad_init), (gst_real_pad_set_property),
10998         (gst_real_pad_get_property), (gst_pad_set_active),
10999         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
11000         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
11001         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
11002         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
11003         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11004         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
11005         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
11006         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11007         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
11008         (gst_pad_stop_task):
11009         * gst/gstpad.h:
11010         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11011         (gst_queue_loop), (gst_queue_src_activate):
11012         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
11013         (gst_task_get_state):
11014         * gst/gsttask.h:
11015         * gst/schedulers/threadscheduler.c:
11016         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
11017         Implement gst_pad_pause/start/stop_task(), take STREAM lock
11018         in task function.
11019         Remove ACTIVE pad flag, use FLUSHING everywhere
11020         Added _pad_chain(), _pad_get_range() to call chain/getrange 
11021         functions.
11022         Add locks around IS_FLUSHING when reading.
11023         Take STREAM lock in chain(), get_range() functions so plugins
11024         don't need to take it anymore.
11025         
11026
11027
11028 2005-05-25  Wim Taymans  <wim@fluendo.com>
11029
11030         * tools/gst-launch.c: (event_loop):
11031         Unref message after using its contents instead of
11032         before.
11033
11034 2005-05-24  Wim Taymans  <wim@fluendo.com>
11035
11036         * docs/design/draft-ghostpads.txt:
11037         * docs/design/draft-push-pull.txt:
11038         * docs/design/draft-query.txt:
11039         * docs/design/part-overview.txt:
11040         Docs updates, added general overview doc.
11041
11042 2005-05-21  David Schleef  <ds@schleef.org>
11043
11044         * docs/gst/tmpl/old/GstBin.sgml:
11045         * docs/gst/tmpl/old/GstBuffer.sgml:
11046         * docs/gst/tmpl/old/GstCaps.sgml:
11047         * docs/gst/tmpl/old/GstClock.sgml:
11048         * docs/gst/tmpl/old/GstCompat.sgml:
11049         * docs/gst/tmpl/old/GstData.sgml:
11050         * docs/gst/tmpl/old/GstElement.sgml:
11051         * docs/gst/tmpl/old/GstEvent.sgml:
11052         * docs/gst/tmpl/old/GstIndex.sgml:
11053         * docs/gst/tmpl/old/GstStructure.sgml:
11054         * docs/gst/tmpl/old/GstTag.sgml:
11055         * docs/gst/tmpl/old/cothreads.sgml:
11056         * docs/gst/tmpl/old/cothreads_compat.sgml:
11057         * docs/gst/tmpl/old/gettext.sgml:
11058         * docs/gst/tmpl/old/gobject2gtk.sgml:
11059         * docs/gst/tmpl/old/grammar.tab.sgml:
11060         * docs/gst/tmpl/old/gst-i18n-app.sgml:
11061         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
11062         * docs/gst/tmpl/old/gst_private.sgml:
11063         * docs/gst/tmpl/old/gstaggregator.sgml:
11064         * docs/gst/tmpl/old/gstarch.sgml:
11065         * docs/gst/tmpl/old/gstatomic_impl.sgml:
11066         * docs/gst/tmpl/old/gstbufferstore.sgml:
11067         * docs/gst/tmpl/old/gstdata_private.sgml:
11068         * docs/gst/tmpl/old/gstdisksink.sgml:
11069         * docs/gst/tmpl/old/gstdisksrc.sgml:
11070         * docs/gst/tmpl/old/gstelementfactory.sgml:
11071         * docs/gst/tmpl/old/gstextratypes.sgml:
11072         * docs/gst/tmpl/old/gstfakesink.sgml:
11073         * docs/gst/tmpl/old/gstfakesrc.sgml:
11074         * docs/gst/tmpl/old/gstfdsink.sgml:
11075         * docs/gst/tmpl/old/gstfdsrc.sgml:
11076         * docs/gst/tmpl/old/gstfilesink.sgml:
11077         * docs/gst/tmpl/old/gstfilesrc.sgml:
11078         * docs/gst/tmpl/old/gsthttpsrc.sgml:
11079         * docs/gst/tmpl/old/gstidentity.sgml:
11080         * docs/gst/tmpl/old/gstindexfactory.sgml:
11081         * docs/gst/tmpl/old/gstmarshal.sgml:
11082         * docs/gst/tmpl/old/gstmd5sink.sgml:
11083         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
11084         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
11085         * docs/gst/tmpl/old/gstpadtemplate.sgml:
11086         * docs/gst/tmpl/old/gstpipefilter.sgml:
11087         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
11088         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
11089         * docs/gst/tmpl/old/gstshaper.sgml:
11090         * docs/gst/tmpl/old/gstspider.sgml:
11091         * docs/gst/tmpl/old/gstspideridentity.sgml:
11092         * docs/gst/tmpl/old/gststatistics.sgml:
11093         * docs/gst/tmpl/old/gsttee.sgml:
11094         * docs/gst/tmpl/old/gsttimecache.sgml:
11095         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
11096         * docs/gst/tmpl/old/gstxmlregistry.sgml:
11097         * docs/gst/tmpl/old/gthread-cothreads.sgml:
11098         * docs/gst/tmpl/old/types.sgml:
11099           I didn't intend to add these or check them in.
11100
11101 2005-05-19  David Schleef  <ds@schleef.org>
11102
11103         * configure.ac: Use -no-common everywhere.  In a sane world, it
11104           would be the default in libtool, because without it, you can't
11105           build DLLs on Windows.
11106         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
11107         * docs/gst/gstreamer-sections.txt:
11108         * docs/gst/tmpl/gstcpu.sgml:
11109         * docs/gst/tmpl/gstdata.sgml:
11110         * docs/gst/tmpl/gstthread.sgml:
11111
11112 2005-05-19  David Schleef  <ds@schleef.org>
11113
11114         * gst/gstminiobject.c: (gst_value_set_mini_object),
11115         (gst_value_take_mini_object), (gst_value_get_mini_object):
11116         * gst/gstminiobject.h: Add GValue set/get functions.
11117
11118 2005-05-19  Wim Taymans  <wim@fluendo.com>
11119
11120         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
11121         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
11122         (gst_subbuffer_init), (gst_buffer_is_span_fast):
11123         * gst/gstbuffer.h:
11124         * gst/gstbus.c: (gst_bus_post):
11125         * gst/gstelement.c: (gst_element_get_random_pad):
11126         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
11127         Make subbufer unref the parent in finalize.
11128         some more debugging info.
11129
11130
11131 2005-05-19  Wim Taymans  <wim@fluendo.com>
11132
11133         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11134         (gst_basesink_init), (gst_basesink_finalize),
11135         (gst_basesink_activate), (gst_basesink_change_state):
11136         Don't free preroll queue too early.
11137
11138 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11139
11140         * gst/Makefile.am:
11141         * gst/ROADMAP:
11142           Hi, I'm outdated. Please shoot me.
11143
11144 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11145
11146         * gst/gstpipeline.c: (gst_pipeline_send_event):
11147           Do not access variables after they have been deleted.
11148
11149 2005-05-19  Wim Taymans  <wim@fluendo.com>
11150
11151         * tools/gst-inspect.c: (print_plugin_features):
11152         A plugin feature does unfortunatly not use the
11153         object name yet...
11154
11155 2005-05-18  Wim Taymans  <wim@fluendo.com>
11156
11157         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
11158         Port _span() functions to new subbuffers.
11159
11160 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11161
11162         * gst/gstbin.c: (gst_bin_add_func):
11163           Fix clock settery in bins when adding kids after the clock has
11164           been selected.
11165
11166 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11167
11168         * gst/elements/gstidentity.c: (gst_identity_class_init):
11169           Workaround until signals support GstMiniObject.
11170
11171 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
11172
11173         * gst/gstbuffer.c:
11174         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11175
11176 2005-05-18  Wim Taymans  <wim@fluendo.com>
11177
11178         * gst/base/Makefile.am:
11179         * gst/base/gstadapter.c: (gst_adapter_base_init),
11180         (gst_adapter_class_init), (gst_adapter_init),
11181         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
11182         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
11183         (gst_adapter_flush), (gst_adapter_available),
11184         (gst_adapter_available_fast):
11185         * gst/base/gstadapter.h:
11186         Ported and added adapter to the base classes.
11187
11188 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11189
11190         * gst/gst.c:
11191         * gst/gstmessage.c:
11192           Make sure the class is reffed/unreffed once before threads can be
11193           used.  Fixes #304551.
11194
11195 2005-05-17  Wim Taymans  <wim@fluendo.com>
11196
11197         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11198         (gst_basesink_chain_unlocked), (gst_basesink_activate):
11199         * gst/gstminiobject.c: (gst_mini_object_get_type),
11200         (gst_mini_object_free):
11201         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11202         (gst_pad_push), (gst_pad_push_event):
11203         * gst/gstqueue.c: (gst_queue_change_state):
11204         Don't queue buffers in basesink when we are flushing.
11205         Unref buffer when flushing in basesink.
11206         Flush queue when going to READY
11207         Unref buffer when _push() returns an error.
11208         Don't free MiniObject instance when refcount is incremented
11209         in _finalize() so that we can recover objects.
11210
11211 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11212
11213         * docs/manual/advanced-schedulers.xml:
11214         * docs/manual/appendix-checklist.xml:
11215         * docs/pwg/advanced-clock.xml:
11216         * docs/pwg/advanced-interfaces.xml:
11217         * docs/pwg/advanced-request.xml:
11218         * docs/pwg/advanced-types.xml:
11219         * docs/pwg/intro-preface.xml:
11220         * examples/plugins/example.c: (gst_example_get_type),
11221         (gst_example_class_init), (gst_example_chain),
11222         (gst_example_set_property), (gst_example_get_property),
11223         (gst_example_change_state), (plugin_init):
11224         * examples/plugins/example.h:
11225           small doc fixes
11226
11227 2005-05-17  Wim Taymans  <wim@fluendo.com>
11228
11229         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11230         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11231         * gst/gstqueue.c: (gst_queue_change_state):
11232         Clear queue when going to READY.
11233         Remove IN_SETCAPS flag too.
11234
11235 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
11236
11237         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11238           Remove implicit cast from gboolean to GstElementStateReturn;
11239           make sure we still return failure in paused => ready case if
11240           the parent class fails to change state and our own stop 
11241           vfunc succeeds.
11242
11243 2005-05-17  Wim Taymans  <wim@fluendo.com>
11244
11245         * tools/gst-launch.c: (event_loop):
11246         Message was unreffed too soon.
11247
11248 2005-05-16  Andy Wingo  <wingo@pobox.com>
11249
11250         * gst/gstbin.c (sink_iterator_filter): Err... um...
11251
11252         * check/gst/gstbin.c (test_ghost_pads): New test for the
11253         ghosting-if-elements-not-in-same-bin behavior.
11254
11255 2005-05-16  David Schleef  <ds@schleef.org>
11256
11257         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11258         accessing refcount directly.
11259
11260 2005-05-15  David Schleef  <ds@schleef.org>
11261
11262         * check/Makefile.am: remove GstData checks
11263         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11264         * gst/Makefile.am: add miniobject, remove data
11265         * gst/gst.h: add miniobject, remove data
11266         * gst/gstdata.c: remove
11267         * gst/gstdata.h: remove
11268         * gst/gstdata_private.h: remove
11269         * gst/gsttypes.h: remove GstEvent and GstMessage
11270         * gst/gstelement.c: (gst_element_post_message): fix for API changes
11271         * gst/gstmarshal.list: change BOXED -> OBJECT
11272
11273         Implement GstMiniObject.
11274         * gst/gstminiobject.c:
11275         * gst/gstminiobject.h:
11276
11277         Modify to be subclasses of GstMiniObject.
11278         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11279         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11280         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11281         (gst_subbuffer_get_type), (gst_subbuffer_init),
11282         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11283         (gst_buffer_span):
11284         * gst/gstbuffer.h:
11285         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11286         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11287         (_gst_event_copy), (gst_event_new):
11288         * gst/gstevent.h:
11289         * gst/gstmessage.c: (_gst_message_initialize),
11290         (gst_message_get_type), (gst_message_class_init),
11291         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11292         (gst_message_new), (gst_message_new_error),
11293         (gst_message_new_warning), (gst_message_new_tag),
11294         (gst_message_new_state_changed), (gst_message_new_application):
11295         * gst/gstmessage.h:
11296         * gst/gstprobe.c: (gst_probe_perform),
11297         (gst_probe_dispatcher_dispatch):
11298         * gst/gstprobe.h:
11299         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11300         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11301         (_gst_query_copy), (gst_query_new):
11302
11303         Update elements for GstData -> GstMiniObject changes
11304         * gst/gstquery.h:
11305         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11306         (gst_queue_chain), (gst_queue_loop):
11307         * gst/elements/gstbufferstore.c:
11308         (gst_buffer_store_add_buffer_func),
11309         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11310         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11311         (gst_fakesink_render):
11312         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11313         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11314         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11315         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11316         (gst_filesrc_create_read):
11317         * gst/elements/gstidentity.c: (gst_identity_class_init):
11318         * gst/elements/gsttypefindelement.c:
11319         (gst_type_find_element_src_event), (free_entry_buffers),
11320         (gst_type_find_element_handle_event):
11321         * libs/gst/dataprotocol/dataprotocol.c:
11322         (gst_dp_header_from_buffer):
11323         * libs/gst/dataprotocol/dataprotocol.h:
11324         * libs/gst/dataprotocol/dp-private.h:
11325
11326 2005-05-15  David Schleef  <ds@schleef.org>
11327
11328         * gst/elements/gstelements.c: Don't include headers that were
11329         just removed.
11330
11331 2005-05-15  David Schleef  <ds@schleef.org>
11332
11333         * gst/elements/Makefile.am: Remove some elements that don't
11334         need to be in the core (or even exist at all).
11335         * gst/elements/gstaggregator.c:
11336         * gst/elements/gstaggregator.h:
11337         * gst/elements/gstmd5sink.c:
11338         * gst/elements/gstmd5sink.h:
11339         * gst/elements/gstmultifilesrc.c:
11340         * gst/elements/gstmultifilesrc.h:
11341         * gst/elements/gstpipefilter.c:
11342         * gst/elements/gstpipefilter.h:
11343         * gst/elements/gstshaper.c:
11344         * gst/elements/gstshaper.h:
11345         * gst/elements/gststatistics.c:
11346         * gst/elements/gststatistics.h:
11347         * po/POTFILES.in: Remove above files.
11348
11349 2005-05-14  Andy Wingo  <wingo@pobox.com>
11350
11351         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11352         so as to get the refs right.
11353         (sink_iterator_filter): New function, wraps bin_element_is_sink,
11354         unreffing objects that don't pass the filter.
11355
11356         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11357         gst_element_set_bus.
11358         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11359         normal cases, this will destroy the bus.
11360
11361         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11362         object.
11363
11364         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11365         has no sinks.
11366
11367 2005-05-13  Andy Wingo  <wingo@pobox.com>
11368
11369         * gst/gstutils.c (gst_element_link_pads): Instead of calling
11370         gst_pad_link, call pad_link_maybe_ghosting,
11371         (pad_link_maybe_ghosting): Links pads, making sure that the
11372         elements being linked are in the same bin.
11373         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11374         Helpers for pad_link_maybe_ghosting.
11375
11376 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11377
11378         * configure.ac:
11379           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11380
11381 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11382
11383         * docs/design/part-element-source.txt:
11384           Mention GstPushSrc
11385
11386 2005-05-12  Wim Taymans  <wim@fluendo.com>
11387
11388         * gst/base/gstbasesink.c: (gst_basesink_init),
11389         (gst_basesink_activate):
11390         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11391         (gst_basesrc_is_seekable):
11392         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11393         (bin_element_is_sink), (gst_bin_change_state):
11394         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11395         * gst/gstelement.h:
11396         Identify sinks by their flag to avoid overly complicated
11397         checks (fow now).
11398         Do state changes even for elements not reachable from the
11399         sinks.
11400         BaseSink is a sink now :)
11401         Some more debugging info in the basesrc.
11402
11403
11404 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11405
11406         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
11407           Implement _query on a bin, similar to _send_event.
11408
11409 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
11410
11411         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
11412           Discont event offset format should be GST_FORMAT_BYTES,
11413           not GST_FORMAT_TIME.
11414
11415 2005-05-12  Wim Taymans  <wim@fluendo.com>
11416
11417         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
11418         Same fix as Ronald's but without the signal. 
11419
11420 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11421
11422         * gst/gstutils.c: (gst_element_query_position):
11423           No, an element is not a pad.
11424
11425 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11426
11427         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
11428         (gst_bin_get_state):
11429           If a child is removed from a bin while we remove the child from
11430           the bin and while we're retrieving its state, signal this to the
11431           get_state function so we abort the wait (instead of waiting for
11432           a timeout) and can immediately re-iterate over all other elements.
11433
11434 2005-05-12  Wim Taymans  <wim@fluendo.com>
11435
11436         * gst/base/Makefile.am:
11437         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
11438         (gst_basesrc_start):
11439         * gst/base/gstbasesrc.h:
11440         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
11441         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
11442         (gst_pushsrc_init), (gst_pushsrc_create):
11443         * gst/base/gstpushsrc.h:
11444         Added is_seekable to BaseSrc
11445         Added simple PushSrc.
11446
11447 2005-05-11  Wim Taymans  <wim@fluendo.com>
11448
11449         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11450         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11451         (gst_element_link_pads), (gst_element_query_position),
11452         (gst_element_query_convert), (intersect_caps_func),
11453         (gst_pad_query_position), (gst_pad_query_convert):
11454         Fix refcounting in utils function.
11455         No point in trying to activate a pad when it's added, it could
11456         be added from the state change function and then we deadlock, the
11457         element has to decide what to do.
11458
11459 2005-05-10  Andy Wingo  <wingo@pobox.com>
11460
11461         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
11462         *all* the arguments.
11463
11464         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
11465         stream lock if it's a FLUSH_DONE; normal flushes don't get the
11466         lock (according to the docs -- if this is wrong change the docs).
11467
11468         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
11469         flush messages in the NULL state.
11470
11471         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
11472         message immediately and return.
11473         (gst_bus_set_flushing): New function. If a bus is flushing, it
11474         flushes out any queued messages and immediately unrefs new
11475         messages. This is so when an element goes to NULL, all of the
11476         unhandled messages coming from it can be freed, and their
11477         references to the element dropped. In other words: message source
11478         ref considered harmful :P
11479
11480         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
11481         we're finished with it.
11482
11483         * gst/gstmessage.c (gst_message_new_state_changed): 
11484
11485 2005-05-10  Wim Taymans  <wim@fluendo.com>
11486
11487         * gst/gstvalue.c: (gst_value_compare_flags),
11488         (gst_value_serialize_flags), (gst_value_deserialize_flags),
11489         (_gst_value_initialize):
11490         Added flags serialize/deserialize/compare code.
11491
11492 2005-05-09  Andy Wingo  <wingo@pobox.com>
11493
11494         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
11495         Intersect the peer's caps with our caps.
11496
11497 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11498
11499         * gst/base/gsttypefindhelper.c: (helper_find_peek):
11500         * gst/elements/gsttypefindelement.c: (find_peek):
11501           Handle negative offsets better. Fixes decodebin.
11502
11503 2005-05-09  Wim Taymans  <wim@fluendo.com>
11504
11505         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
11506         (gst_base_transform_event):
11507         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
11508         Implement accept_caps.
11509         Fix silly lock/unlock mismatch in base class.
11510
11511 2005-05-09  Wim Taymans  <wim@fluendo.com>
11512
11513         * docs/design/draft-push-pull.txt:
11514         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
11515         * gst/elements/gstfilesink.c: (gst_filesink_init),
11516         (gst_filesink_query):
11517         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11518         (gst_type_find_handle_src_query), (find_element_get_length):
11519         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
11520         * gst/gstelement.h:
11521         * gst/gstmessage.c:
11522         * gst/gstmessage.h:
11523         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
11524         (gst_real_pad_get_caps_unlocked),
11525         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
11526         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11527         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
11528         (gst_real_pad_dispose), (gst_real_pad_finalize),
11529         (gst_pad_load_and_link), (gst_pad_save_thyself),
11530         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
11531         (gst_pad_check_pull_range), (gst_pad_pull_range),
11532         (gst_pad_template_get_type), (gst_pad_template_class_init),
11533         (gst_pad_template_init), (gst_pad_template_dispose),
11534         (name_is_valid), (gst_static_pad_template_get),
11535         (gst_pad_template_new), (gst_static_pad_template_get_caps),
11536         (gst_pad_template_get_caps), (gst_pad_set_element_private),
11537         (gst_pad_get_element_private), (gst_pad_start_task),
11538         (gst_pad_pause_task), (gst_pad_stop_task),
11539         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
11540         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
11541         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
11542         (gst_ghost_pad_new):
11543         * gst/gstpad.h:
11544         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
11545         (gst_query_new_position), (gst_query_set_position),
11546         (gst_query_parse_position), (gst_query_new_convert),
11547         (gst_query_set_convert), (gst_query_parse_convert):
11548         * gst/gstquery.h:
11549         * gst/gstqueryutils.c:
11550         * gst/gstqueryutils.h:
11551         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11552         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11553         (gst_queue_handle_src_query):
11554         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11555         (gst_element_query_position), (gst_element_query_convert),
11556         (intersect_caps_func), (gst_pad_query_position),
11557         (gst_pad_query_convert):
11558         * gst/gstutils.h:
11559         * tools/gst-inspect.c: (print_pad_info):
11560         * tools/gst-xmlinspect.c: (print_element_info):
11561         Remove old query functions. Ported old code.
11562         Added position/convert helper functions to gstutils.
11563         Reordered gstpad.c code, grouping relevant things.
11564         Remove gst_message_new(), always need to speficy a specific
11565         message.
11566
11567
11568 2005-05-09  Andy Wingo  <wingo@pobox.com>
11569
11570         * gst/gstiterator.h: Add some includes.
11571
11572         * gst/gstqueryutils.h: Include more headers.
11573
11574         * gst/gstpad.h:
11575         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
11576         some uses of gst_pad_query.
11577
11578         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
11579         NULL out parameters.
11580         (gst_query_new_position): New proc, allocates a new position
11581         query.
11582
11583         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
11584         gstqueryutils.c to the build.
11585
11586         * gst/gststructure.c (gst_structure_set_valist): Implement with
11587         the generic G_VALUE_COLLECT.
11588         
11589 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
11590
11591         * gst/Makefile.am: (gst_headers):
11592         Added gstqueryutils.h to the list of headers to install, that was
11593         a 'nachty' move wingo :)
11594
11595 2005-05-06  Andy Wingo  <wingo@pobox.com>
11596
11597         * gst/gstquery.h
11598         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
11599         GstData, init a memchunk.
11600         (standard_definitions): Add a few query types, deprecate a few.
11601         (gst_query_get_type): New proc.
11602         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
11603         implementation.
11604         (gst_query_new_application, gst_query_get_structure): New public
11605         procs.
11606
11607         * docs/design/draft-query.txt: Removed LINKS from the query types,
11608         because all the rest can be dispatched to other pads -- seemed
11609         ugly to have a query that couldn't be dispatched. internal_links
11610         is fine as a pad method.
11611
11612         * gst/gstpad.h: Add query2 as a pad method, add the new functions
11613         in gstpad.c, but maintain binary compatibility for the moment.
11614         Will fix before 0.9 is out.
11615
11616         * gst/gstqueryutils.c: 
11617         * gst/gstqueryutils.h: New files, implement 3 methods for each
11618         query type: parse_query, parse_response, and set. Probably need an
11619         allocator as well.
11620
11621         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
11622
11623         * gst/elements/gstfilesink.c (gst_filesink_query2):
11624         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
11625         query_types, and formats methods.
11626
11627         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
11628         (gst_pad_set_query2_function): New functions.
11629         (gst_real_pad_init): Set query2_default as the default query2
11630         function. Basically just dispatches to internally linked pads.
11631
11632         Needs review!
11633         
11634         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
11635         without using the atomic operations. Only one thread can possibly
11636         be accessing the data at this point. Changed so as to avoid
11637         gst_atomic operations.
11638
11639 2005-05-06  Wim Taymans  <wim@fluendo.com>
11640
11641         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
11642         Also set caps if we use the fallback buffer alloc.
11643
11644 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
11645
11646         * docs/gst/Makefile.am:
11647         * docs/gst/gstreamer-docs.sgml:
11648         * docs/gst/gstreamer-sections.txt:
11649         * docs/gst/tmpl/gstatomic.sgml:
11650         * docs/gst/tmpl/gstmemchunk.sgml:
11651         * testsuite/elements/struct_i386.h:
11652         * win32/GStreamer.vcproj:
11653         * win32/Makefile:
11654           Purge GstAtomic stuff from docs and win32 makefiles as well
11655
11656 2005-05-06  Wim Taymans  <wim@fluendo.com>
11657
11658         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
11659         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
11660         * gst/gstpad.c: (gst_pad_peer_get_caps):
11661         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11662         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11663         (gst_queue_src_activate), (gst_queue_change_state):
11664         * gst/gstqueue.h:
11665         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11666         (intersect_caps_func):
11667         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
11668         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
11669         Some fixes for the peer_get_caps() change.
11670
11671 2005-05-06  Wim Taymans  <wim@fluendo.com>
11672
11673         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11674         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
11675         (gst_basesink_activate):
11676         Actually do something with error codes returned from the push
11677         functions.
11678
11679 2005-05-06  Wim Taymans  <wim@fluendo.com>
11680
11681         * docs/design/part-element-sink.txt:
11682         * docs/design/part-element-source.txt:
11683         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11684         (gst_basesink_event), (gst_basesink_activate):
11685         * gst/base/gstbasesink.h:
11686         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
11687         (gst_basesrc_activate):
11688         * gst/base/gstbasesrc.h:
11689         * gst/gstelement.c: (gst_element_pads_activate):
11690         Some more documentation.
11691         Fixed scheduling decision in _pads_activate().
11692
11693 2005-05-05  Andy Wingo  <wingo@pobox.com>
11694
11695         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
11696         the test suite.
11697
11698 2005-05-05  Wim Taymans  <wim@fluendo.com>
11699
11700         * gst/base/Makefile.am:
11701         * gst/base/gstbasesink.h:
11702         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11703         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
11704         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
11705         (gst_collectpads_class_init), (gst_collectpads_init),
11706         (gst_collectpads_finalize), (gst_collectpads_new),
11707         (gst_collectpads_set_function), (gst_collectpads_add_pad),
11708         (find_pad), (gst_collectpads_remove_pad),
11709         (gst_collectpads_is_active), (gst_collectpads_collect),
11710         (gst_collectpads_collect_range), (gst_collectpads_start),
11711         (gst_collectpads_stop), (gst_collectpads_peek),
11712         (gst_collectpads_pop), (gst_collectpads_available),
11713         (gst_collectpads_read), (gst_collectpads_flush),
11714         (gst_collectpads_chain):
11715         * gst/base/gstcollectpads.h:
11716         * gst/elements/Makefile.am:
11717         * gst/elements/gstelements.c:
11718         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11719         (gst_fakesink_get_times), (gst_fakesink_event),
11720         (gst_fakesink_preroll), (gst_fakesink_render):
11721         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
11722         (gst_filesink_init), (gst_filesink_set_location),
11723         (gst_filesink_open_file), (gst_filesink_close_file),
11724         (gst_filesink_pad_query), (gst_filesink_event),
11725         (gst_filesink_render), (gst_filesink_change_state):
11726         * gst/elements/gstfilesink.h:
11727         Added object to help in making collect pad based elements.
11728         Ported filesink.
11729         Make event function in sink baseclass return gboolean.
11730
11731 2005-05-05  Wim Taymans  <wim@fluendo.com>
11732
11733         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
11734         (gst_bin_get_by_name):
11735         * gst/gstbuffer.h:
11736         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
11737         (gst_clock_finalize):
11738         * gst/gstdata.c: (gst_data_replace):
11739         * gst/gstdata.h:
11740         * gst/gstelement.c: (gst_element_request_pad),
11741         (gst_element_pads_activate):
11742         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
11743         (gst_object_unref):
11744         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11745         (gst_pad_set_checkgetrange_function),
11746         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
11747         (gst_pad_check_pull_range), (gst_pad_pull_range),
11748         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11749         (gst_pad_pause_task), (gst_pad_stop_task):
11750         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11751         (gst_element_request_pad), (gst_pad_proxy_getcaps):
11752         Fix name lookup in GstBin.
11753         Added _data_replace() function and _buffer_replace()
11754         Use finalize method to clean up clock.
11755         Fix refcounting on request pads.
11756         Fix pad schedule mode error.
11757         Some more object refcounting debug info,
11758
11759
11760 2005-05-04  Andy Wingo <wingo@pobox.com>
11761
11762         * check/Makefile.am:
11763         * docs/gst/tmpl/gstatomic.sgml:
11764         * docs/gst/tmpl/gstplugin.sgml:
11765         * gst/base/gstbasesink.c: (gst_basesink_activate):
11766         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
11767         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
11768         (gst_basesrc_query), (gst_basesrc_set_property),
11769         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
11770         (gst_basesrc_activate):
11771         * gst/base/gstbasesrc.h:
11772         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
11773         (gst_base_transform_src_activate):
11774         * gst/elements/gstelements.c:
11775         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11776         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11777         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11778         * gst/elements/gsttypefindelement.c: (find_element_get_length),
11779         (gst_type_find_element_checkgetrange),
11780         (gst_type_find_element_activate):
11781         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
11782         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
11783         (gst_caps_load_thyself):
11784         * gst/gstelement.c: (gst_element_pads_activate),
11785         (gst_element_save_thyself), (gst_element_restore_thyself):
11786         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
11787         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
11788         * gst/gstpad.h:
11789         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
11790         (gst_xml_parse_file), (gst_xml_parse_memory),
11791         (gst_xml_get_element), (gst_xml_make_element):
11792         * gst/indexers/gstfileindex.c: (gst_file_index_load),
11793         (_file_index_id_save_xml), (gst_file_index_commit):
11794         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
11795         (read_enum), (load_pad_template), (load_feature), (load_plugin),
11796         (load_paths):
11797         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
11798         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
11799         * tools/gst-complete.c: (main):
11800         * tools/gst-compprep.c: (main):
11801         * tools/gst-inspect.c: (print_element_properties_info):
11802         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
11803         * tools/gst-xmlinspect.c: (print_element_properties):
11804         GCC 4 fixen.
11805         
11806 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11807
11808         * gst/gstplugin.c: (gst_plugin_check_module),
11809         (gst_plugin_check_file), (gst_plugin_load_file):
11810             apply patch from #172526 to make register work on MacOSX
11811
11812 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11813
11814         * docs/gst/tmpl/gstconfig.sgml:
11815         * gst/gstconfig.h.in:
11816           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
11817         * testsuite/debug/printf_extension.c: (main):
11818           Do not use GST_PTR_FORMAT on pointers to types with
11819           sizeof < sizeof(gpointer).  Fixes test on 64-bit
11820         * testsuite/elements/property.h:
11821           use correct printf format
11822
11823 2005-05-02  Wim Taymans  <wim@fluendo.com>
11824
11825         * docs/design/draft-push-pull.txt:
11826         * docs/design/draft-query.txt:
11827         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
11828         (gst_basesrc_start):
11829         Added draft for new query API.
11830         Added draft for better selecting scheduling methods.
11831         Make basesrc ignore length if the subclass does not support
11832         it.
11833
11834 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11835
11836         * gst/Makefile.am:
11837           possible fixes for automake-1.5 - _LIBADD is reserved
11838
11839 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11840
11841         * docs/faq/Makefile.am:
11842         * docs/manual/Makefile.am:
11843         * docs/manuals.mak:
11844         * docs/pwg/Makefile.am:
11845         * gst/Makefile.am:
11846           possible fixes for automake-1.5
11847
11848 2005-04-28  Wim Taymans  <wim@fluendo.com>
11849
11850         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11851         (gst_basesink_pad_getcaps), (gst_basesink_init),
11852         (gst_basesink_do_sync):
11853         * gst/gstclock.c: (gst_clock_entry_new):
11854         * gst/gstevent.c: (gst_event_discont_get_value):
11855         * gst/gstpipeline.c: (pipeline_bus_handler),
11856         (gst_pipeline_change_state):
11857         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
11858         Better debugging of clocking info.
11859         Allow NULL values when getting discont values.
11860
11861 2005-04-27  Wim Taymans  <wim@fluendo.com>
11862
11863         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11864         * check/gst/gstpad.c: (gst_pad_suite):
11865         Increase timeout for checks.
11866
11867 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11868
11869         * check/Makefile.am:
11870           fix the broken rule for cleanup.  Apparently this rule is
11871           only needed on FC2, so maybe this warrants further autotool
11872           inspection.
11873
11874 2005-04-26  Wim Taymans  <wim@fluendo.com>
11875
11876         * gst/gsttrashstack.h:
11877         Ooohh. a nasty one! After having a failed pop() from the stack,
11878         it's possible that the stack is empty. In that case, don't
11879         follow the NULL pointer.
11880
11881 2005-04-25  Wim Taymans  <wim@fluendo.com>
11882
11883         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11884         (gst_pad_set_checkgetrange_function),
11885         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
11886         (gst_pad_check_pull_range), (gst_pad_pull_range),
11887         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11888         (gst_pad_pause_task), (gst_pad_stop_task):
11889         * gst/gstplugin.c: (gst_plugin_load):
11890         * gst/gstplugin.h:
11891         Remove gst_library_load as it does more harm than good with
11892         the new g_module flags.
11893         Revert bogus caps template check in pad linking, pad caps
11894         are important when linking not the template, which is more
11895         general than the current caps.
11896
11897 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11898
11899         * gst/autoplug/.cvsignore:
11900         * gst/autoplug/Makefile.am:
11901         * gst/autoplug/gstsearchfuncs.c:
11902         * gst/autoplug/gstsearchfuncs.h:
11903         * gst/autoplug/gstspider.c:
11904         * gst/autoplug/gstspider.h:
11905         * gst/autoplug/gstspideridentity.c:
11906         * gst/autoplug/gstspideridentity.h:
11907         * gst/autoplug/spidertest.c:
11908           Die, spider, die.
11909
11910 2005-04-25  Wim Taymans  <wim@fluendo.com>
11911
11912         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11913         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11914         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
11915         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
11916         * gst/gstpad.h:
11917         Added stubs for unimplemented functions. 
11918
11919 2005-04-24  David Schleef  <ds@schleef.org>
11920
11921         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
11922         please fix.
11923
11924 2005-04-24  David Schleef  <ds@schleef.org>
11925
11926         Convert everything from GstAtomicInt to g_atomic_int_*, and
11927         remove gstatomic.
11928         * gst/Makefile.am:
11929         * gst/gstatomic.c:
11930         * gst/gstatomic.h:
11931         * gst/gstatomic_impl.h:
11932         * gst/gstbuffer.c:
11933         * gst/gstcaps.c:
11934         * gst/gstcaps.h:
11935         * gst/gstclock.c:
11936         * gst/gstclock.h:
11937         * gst/gstdata.c:
11938         * gst/gstdata.h:
11939         * gst/gstdata_private.h:
11940         * gst/gstevent.c:
11941         * gst/gstinfo.c:
11942         * gst/gstinfo.h:
11943         * gst/gstmessage.c:
11944         * gst/gstobject.c:
11945         * gst/gstobject.h:
11946         * gst/gststructure.c:
11947         * gst/gststructure.h:
11948         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
11949         * gst/gstutils.h:
11950
11951 2005-04-24  David Schleef  <ds@schleef.org>
11952
11953         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
11954         make the regressions tests work.  Remove some code that is no
11955         longer true.
11956         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
11957         Disable warning for pads without templates.
11958
11959 2005-04-24  David Schleef  <ds@schleef.org>
11960
11961         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
11962         functions that handle filtered links.
11963         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
11964         removed functions.
11965         * gst/gstutils.c: Fix/remove utility functions that handle
11966         filtered caps.
11967         * gst/gstutils.h:
11968         * gst/gstvalue.c: Add serialization/deserialization of caps
11969         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
11970         requires fixing so that the filter caps notation creates
11971         a capsfilter element and sets the filter_caps property.  I
11972         think everyone probably wants to keep the shorthand notation.
11973         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
11974         * docs/gst/tmpl/gstpad.sgml:
11975
11976         * gst/elements/gstelements.c: Register capsfilter element.
11977         * gst/Makefile.am: fix spacing
11978         * docs/random/ds/0.9-suggested-changes: random
11979
11980 2005-04-23  David Schleef  <ds@schleef.org>
11981
11982         * gst/elements/Makefile.am:
11983         * gst/elements/gstcapsfilter.c: New element that acts like an
11984         identity, but filters caps.  Will eventually replace filtered
11985         caps in pad linking.
11986         * gst/gstutils.c: (gst_element_create_all_pads): New function
11987         to create all the ALWAYS pads that are registered with an
11988         element class.  This functionality should eventually be
11989         merged in with GstElement initialization.
11990         * gst/gstutils.h:
11991         * testsuite/trigger/README: part of trigger test code that should
11992         have been checked in a long time ago.
11993
11994 2005-04-23  David Schleef  <ds@schleef.org>
11995
11996         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
11997         needed with new versions of libtool (nobody will confirm this),
11998         and hard to carry around.
11999         * gst/autoplug/Makefile.am:
12000         * gst/base/Makefile.am:
12001         * gst/elements/Makefile.am:
12002         * gst/indexers/Makefile.am:
12003         * gst/schedulers/Makefile.am:
12004         * libs/gst/bytestream/Makefile.am:
12005         * libs/gst/control/Makefile.am:
12006         * libs/gst/dataprotocol/Makefile.am:
12007         * libs/gst/getbits/Makefile.am:
12008
12009 2005-04-21  Wim Taymans  <wim@fluendo.com>
12010
12011         * docs/design/draft-push-pull.txt:
12012         * docs/design/part-MT-refcounting.txt:
12013         * docs/design/part-TODO.txt:
12014         * docs/design/part-caps.txt:
12015         * docs/design/part-events.txt:
12016         * docs/design/part-gstbus.txt:
12017         * docs/design/part-gstpipeline.txt:
12018         * docs/design/part-messages.txt:
12019         * docs/design/part-push-pull.txt:
12020         * docs/design/part-query.txt:
12021         Some more docs.
12022
12023 2005-04-21  Wim Taymans  <wim@fluendo.com>
12024
12025         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
12026         (gst_message_new), (gst_message_new_error),
12027         (gst_message_new_warning), (gst_message_new_tag),
12028         (gst_message_new_state_changed), (gst_message_new_application),
12029         (gst_message_get_structure):
12030         * gst/gstmessage.h:
12031         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12032         (gst_structure_copy_conditional):
12033         Use parent refcount in GstMessage to ensure GstStructure
12034         consistency.
12035         Cleaned up headers a bit.
12036         
12037
12038 2005-04-20  Wim Taymans  <wim@fluendo.com>
12039
12040         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12041         (gst_basesink_pad_getcaps), (gst_basesink_init),
12042         (gst_basesink_chain_unlocked):
12043         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
12044         (gst_type_find_helper):
12045         * gst/elements/gsttypefindelement.c:
12046         (gst_type_find_element_have_type), (gst_type_find_element_init),
12047         (stop_typefinding), (gst_type_find_element_handle_event),
12048         (find_suggest), (gst_type_find_element_chain),
12049         (gst_type_find_element_checkgetrange),
12050         (gst_type_find_element_getrange), (do_typefind),
12051         (gst_type_find_element_activate):
12052         * gst/gstbuffer.c: (_gst_buffer_sub_free),
12053         (gst_buffer_default_free), (gst_buffer_default_copy),
12054         (gst_buffer_set_caps):
12055         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
12056         (gst_caps_replace):
12057         * gst/gstmessage.c: (gst_message_new),
12058         (gst_message_new_state_changed):
12059         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12060         (gst_pad_set_checkgetrange_function),
12061         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
12062         (gst_pad_set_caps), (gst_pad_check_pull_range),
12063         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
12064         * gst/gstpad.h:
12065         * gst/gsttypefind.c: (gst_type_find_register):
12066         Make gst_caps_replace() work like other _replace() functions.
12067         Use _caps_replace() where possible.
12068         Make sure _message_new() initialises its field.
12069         Add gst_static_pad_template_get_caps()
12070
12071
12072 2005-04-18  Andy Wingo  <wingo@pobox.com>
12073
12074         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
12075         on the peer, not the pad. I think that was a typo. Pass an extra
12076         arg to see if random access is possible. Activate the pads as
12077         PULL_RANGE if possible.
12078
12079         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
12080
12081         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
12082         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
12083         to PROP_....
12084
12085 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12086
12087         * docs/faq/using.xml:
12088           Add note on gstreamer-properties (#154996).
12089
12090 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12091
12092         * docs/random/bbb/optional-properties:
12093           Some analysis on optional properties.
12094
12095 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12096
12097         * docs/gst/tmpl/gstelementfactory.sgml:
12098         * gst/gstelement.h:
12099         * gst/gstelementfactory.c: (gst_element_factory_init),
12100         (gst_element_factory_cleanup), (gst_element_register),
12101         (__gst_element_factory_add_static_pad_template),
12102         (gst_element_factory_get_static_pad_templates),
12103         (gst_element_factory_can_src_caps),
12104         (gst_element_factory_can_sink_caps):
12105         * gst/registries/Makefile.am:
12106         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
12107         (gst_xml_registry_class_init), (gst_xml_registry_init),
12108         (gst_xml_registry_new), (gst_xml_registry_set_property),
12109         (gst_xml_registry_get_property), (get_time), (make_dir),
12110         (gst_xml_registry_get_perms_func),
12111         (plugin_times_older_than_recurse), (plugin_times_older_than),
12112         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
12113         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
12114         (add_to_char_array), (read_string), (read_uint), (read_enum),
12115         (load_pad_template), (load_feature), (load_plugin), (load_paths),
12116         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
12117         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
12118         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
12119         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
12120         (gst_xml_registry_rebuild):
12121         * gst/registries/gstlibxmlregistry.h:
12122         * tools/gst-compprep.c: (main):
12123         * tools/gst-inspect.c: (print_pad_templates_info):
12124         * tools/gst-xmlinspect.c: (print_element_info):
12125           Use libxml2 for registry parsing, use staticpadtemplates in
12126           elementfactories. Makes gst_init() +/- 10x faster.
12127
12128 2005-04-12  Wim Taymans  <wim@fluendo.com>
12129
12130         * gst/base/Makefile.am:
12131         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12132         (gst_basesink_pad_getcaps), (gst_basesink_init),
12133         (gst_basesink_event), (gst_basesink_change_state):
12134         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12135         (gst_basesrc_init), (gst_basesrc_query),
12136         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12137         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12138         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12139         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12140         (gst_basesrc_stop), (gst_basesrc_activate),
12141         (gst_basesrc_change_state):
12142         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12143         (helper_find_suggest), (gst_type_find_helper):
12144         * gst/base/gsttypefindhelper.h:
12145         * gst/elements/Makefile.am:
12146         * gst/elements/gstelements.c:
12147         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12148         (gst_fakesink_get_times), (gst_fakesink_event),
12149         (gst_fakesink_preroll), (gst_fakesink_render):
12150         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12151         (gst_fakesrc_init), (gst_fakesrc_event_handler),
12152         (gst_fakesrc_get_property), (gst_fakesrc_create),
12153         (gst_fakesrc_start), (gst_fakesrc_stop):
12154         * gst/elements/gstfakesrc.h:
12155         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
12156         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12157         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12158         (gst_filesrc_create_read), (gst_filesrc_create),
12159         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
12160         (gst_filesrc_start):
12161         * gst/elements/gsttypefindelement.c:
12162         (gst_type_find_element_have_type), (gst_type_find_element_init),
12163         (start_typefinding), (stop_typefinding), (push_buffer_store),
12164         (gst_type_find_element_handle_event),
12165         (gst_type_find_element_chain),
12166         (gst_type_find_element_checkgetrange),
12167         (gst_type_find_element_getrange), (do_typefind),
12168         (gst_type_find_element_activate),
12169         (gst_type_find_element_change_state):
12170         * gst/elements/gsttypefindelement.h:
12171         * gst/gstpipeline.c: (pipeline_bus_handler):
12172         Added typefind helper.
12173         Small preroll fix in the base sink.
12174         Disable typefind code in basesrc.
12175         Crude port of typefindelement.
12176         Fakesrc cleanups.
12177
12178
12179 2005-04-11  Wim Taymans  <wim@fluendo.com>
12180
12181         * check/gst/gstbus.c: (gstbus_suite):
12182         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
12183         * check/gstcheck.h:
12184           Fix up the timeout so that the test does not fail.
12185
12186 2005-04-06  Wim Taymans  <wim@fluendo.com>
12187
12188         * gst/base/README:
12189         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12190         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
12191         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12192         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12193         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12194         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12195         (gst_basesrc_stop), (gst_basesrc_activate),
12196         (gst_basesrc_change_state), (basesrc_find_peek),
12197         (basesrc_find_suggest), (gst_basesrc_type_find):
12198         * gst/base/gstbasesrc.h:
12199         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12200         (gst_filesrc_class_init), (gst_filesrc_init),
12201         (gst_filesrc_finalize), (gst_filesrc_set_location),
12202         (gst_filesrc_set_property), (gst_filesrc_get_property),
12203         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12204         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12205         (gst_filesrc_create_read), (gst_filesrc_create),
12206         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12207         * gst/elements/gstfilesrc.h:
12208         * gst/gstelement.c: (gst_element_get_state_func),
12209         (gst_element_lost_state), (gst_element_pads_activate):
12210         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12211         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12212         (gst_pad_pull_range):
12213         * gst/gstpad.h:
12214         More work on the generic source base class, implement seeking,
12215         query.
12216         Make filesrc extend the base source class.
12217         Added gst_pad_set_checkgetrange_function to GstPad.
12218
12219 2005-04-06  Andy Wingo  <wingo@pobox.com>
12220
12221         * pkgconfig/gstreamer-base.pc.in:
12222         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12223
12224         * pkgconfig/Makefile.am:
12225         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12226
12227 2005-04-04  Wim Taymans  <wim@fluendo.com>
12228
12229         * gst/base/Makefile.am:
12230         * gst/base/README:
12231         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12232         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12233         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12234         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12235         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12236         (gst_basesrc_base_init), (gst_basesrc_class_init),
12237         (gst_basesrc_init), (gst_basesrc_get_formats),
12238         (gst_basesrc_get_query_types), (gst_basesrc_query),
12239         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12240         (gst_basesrc_set_property), (gst_basesrc_get_property),
12241         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12242         (gst_basesrc_loop), (gst_basesrc_activate),
12243         (gst_basesrc_change_state):
12244         * gst/base/gstbasesrc.h:
12245         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12246         (gst_fakesrc_class_init), (gst_fakesrc_init),
12247         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12248         (gst_fakesrc_get_property), (gst_fakesrc_create):
12249         * gst/elements/gstfakesrc.h:
12250         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12251         (gst_filesrc_open_file), (gst_filesrc_loop),
12252         (gst_filesrc_activate), (filesrc_find_peek),
12253         (gst_filesrc_type_find):
12254         Made base source class, make fakesrc extend it.
12255         Add comments to basesink class.
12256         Some filesrc cleanup.
12257
12258 2005-03-31  David Schleef  <ds@schleef.org>
12259
12260         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12261         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12262         expected to link against libgstreamer.
12263         * gst/base/Makefile.am: link against libgstreamer
12264         * gst/elements/Makefile.am: same
12265
12266 2005-03-31  Andy Wingo  <wingo@pobox.com>
12267
12268         * tests/instantiate/Makefile.am:
12269         * tests/instantiate/caps.c: Add test to test speed of caps copy
12270         and free.
12271
12272         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12273         GMemChunk to be fair.
12274
12275         * gst/gsttrashstack.h: Remove warning about using the fallback
12276         trash stack implementation, it's still faster than malloc.
12277
12278 2005-03-30  Andy Wingo  <wingo@pobox.com>
12279
12280         * tests/complexity.c: Add a copyright.
12281
12282 2005-03-31  Wim Taymans  <wim@fluendo.com>
12283
12284         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12285         (gst_base_transform_class_init), (gst_base_transform_init),
12286         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12287         (gst_base_transform_get_property),
12288         (gst_base_transform_sink_activate),
12289         (gst_base_transform_src_activate),
12290         (gst_base_transform_change_state):
12291         * gst/base/gstbasetransform.h:
12292         * gst/elements/gstidentity.c: (gst_identity_class_init),
12293         (gst_identity_event), (gst_identity_check_perfect),
12294         (gst_identity_transform), (gst_identity_start),
12295         (gst_identity_stop):
12296         Added start/stop methods to transform base class so subclasses 
12297         don't need to deal with state changes even.
12298
12299 2005-03-31  Wim Taymans  <wim@fluendo.com>
12300
12301         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12302         (gst_event_new_discontinuous), (gst_event_discont_get_value):
12303         * gst/gstevent.h:
12304         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12305         (gst_pad_pull_range):
12306         Added rate to the discont event to prepare for variable speed
12307         and reverse playback.
12308
12309 2005-03-29  David Schleef  <ds@schleef.org>
12310
12311         * configure.ac:
12312         * testsuite/trigger/Makefile.am:
12313         * testsuite/trigger/trigger.c: A little example program to show
12314         how trigger-based elements can work.
12315
12316 2005-03-29  Wim Taymans  <wim@fluendo.com>
12317
12318         * gst/base/Makefile.am:
12319         * gst/base/README:
12320         * gst/base/gstbasesink.c: (gst_basesink_get_type),
12321         (gst_basesink_base_init), (gst_basesink_class_init),
12322         (gst_basesink_pad_getcaps), (gst_basesink_init),
12323         (gst_basesink_activate), (gst_basesink_change_state):
12324         * gst/base/gstbasesink.h:
12325         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12326         (gst_base_transform_base_init), (gst_base_transform_finalize),
12327         (gst_base_transform_class_init), (gst_base_transform_init),
12328         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12329         (gst_base_transform_event), (gst_base_transform_getrange),
12330         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12331         (gst_base_transform_set_property),
12332         (gst_base_transform_get_property),
12333         (gst_base_transform_sink_activate),
12334         (gst_base_transform_src_activate),
12335         (gst_base_transform_change_state):
12336         * gst/base/gstbasetransform.h:
12337         * gst/elements/gstidentity.c: (gst_identity_finalize),
12338         (gst_identity_class_init), (gst_identity_init),
12339         (gst_identity_event), (gst_identity_check_perfect),
12340         (gst_identity_transform), (gst_identity_set_property),
12341         (gst_identity_get_property), (gst_identity_change_state):
12342         * gst/elements/gstidentity.h:
12343         * gst/gstelement.c: (gst_element_get_state_func),
12344         (gst_element_lost_state), (gst_element_pads_activate):
12345         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12346         (gst_pad_check_pull_range), (gst_pad_pull_range):
12347         * gst/gstpad.h:
12348         Simplify pad activation.
12349         Added function to check if pull_range can be performed.
12350         Error out when pulling inactive or flushing pads.
12351         Removed const from refcounted types as it does not make sense.
12352         Simplify pad templates in basesink
12353         Added base class for simple 1-to-1 transforms.
12354         Make identity subclass the base transform.
12355
12356 2005-03-29  Andy Wingo  <wingo@pobox.com>
12357
12358         * docs/libs/gstreamer-libs-overrides.txt: 
12359         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12360         really don't understand what's going on, but like whatever. I want
12361         green buildbot!
12362
12363         * docs/gst/Makefile.am:
12364         * docs/libs/Makefile.am: Dist the overrides files.
12365
12366         * check/Makefile.am (clean-local): Remove .libs directories.
12367
12368         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12369         elements to EXTRA_DIST, so po/ files are happy.
12370
12371         * po/POTFILES.in: Er, remove it here.
12372
12373         * po/POTFILES: Remove gstspider.c.
12374
12375         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12376
12377         * docs/libs/gstreamer-libs-docs.sgml: 
12378         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12379         bytestream.
12380
12381         * tests/complexity.c (main): Set the length of the preroll queue
12382         on the sinks to prevent a lockup.
12383
12384         * libs/gst/dataprotocol/Makefile.am: 
12385         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12386         the same as the one in check/gst-libs/gdp.c.
12387
12388         * po/, docs/gst/: Commit automatic changes to docs and po files.
12389
12390         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12391         the versioned libgstbase.
12392
12393         * check/Makefile.am: Depend on an unversioned gst-register, seems
12394         to make autoconf happier.
12395
12396         * gst/base/Makefile.am: Make libgstbase a versioned lib.
12397
12398 2005-03-28  Wim Taymans  <wim@fluendo.com>
12399
12400         * configure.ac:
12401         * docs/design/part-gstelement.txt:
12402         * docs/design/part-negotiation.txt:
12403         * docs/design/part-preroll.txt:
12404         * docs/design/part-scheduling.txt:
12405         * docs/design/part-states.txt:
12406         * gst/Makefile.am:
12407         * gst/base/Makefile.am:
12408         * gst/base/README:
12409         * gst/base/gstbasesink.c: (gst_basesink_get_template),
12410         (gst_basesink_base_init), (gst_basesink_class_init),
12411         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12412         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12413         (gst_basesink_set_pad_functions),
12414         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
12415         (gst_basesink_set_property), (gst_basesink_get_property),
12416         (gst_base_sink_get_template), (gst_base_sink_get_caps),
12417         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
12418         (gst_basesink_preroll_queue_push),
12419         (gst_basesink_preroll_queue_empty),
12420         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
12421         (gst_basesink_event), (gst_basesink_get_times),
12422         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
12423         (gst_basesink_chain_unlocked), (gst_basesink_chain),
12424         (gst_basesink_loop), (gst_basesink_activate),
12425         (gst_basesink_change_state):
12426         * gst/base/gstbasesink.h:
12427         * gst/elements/Makefile.am:
12428         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
12429         (gst_fakesink_class_init), (gst_fakesink_init),
12430         (gst_fakesink_set_property), (gst_fakesink_get_property),
12431         (gst_fakesink_get_times), (gst_fakesink_event),
12432         (gst_fakesink_preroll), (gst_fakesink_render),
12433         (gst_fakesink_change_state):
12434         * gst/elements/gstfakesink.h:
12435         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12436         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
12437         * gst/gstelement.c: (gst_element_add_pad),
12438         (gst_element_get_state_func), (gst_element_abort_state),
12439         (gst_element_commit_state), (gst_element_lost_state),
12440         (gst_element_set_state), (gst_element_pads_activate):
12441         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
12442         * gst/gstpipeline.c: (gst_pipeline_send_event),
12443         (gst_pipeline_change_state):
12444         Added state change code.
12445         Added/updated docs.
12446         Added sink base class, make fakesink extend the base class.
12447         Small cleanups in GstPipeline.
12448
12449 2005-03-26  David Schleef  <ds@schleef.org>
12450
12451         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
12452         is broken and should be implemented in a different library.
12453         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
12454         * gst/gst.h: remove gstcpu.h
12455         * gst/gstcpu.c: remove
12456         * gst/gstcpu.h: remove
12457         * gst/Makefile.am.future: Remove this file.  It's ancient.
12458
12459 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12460
12461         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12462         (gst_bin_send_event):
12463           Add default event/set_manager handlers. The set_manager handler
12464           takes care that the manager is distributed over kids that were
12465           already in the bin before the manager was set. The event handler
12466           is a utility virtual function that sends the event over all sinks,
12467           so that gst_element_send_event (bin, event); has the expected
12468           behaviour.
12469         * gst/gstpad.c: (gst_pad_event_default):
12470           Re-install default event handling for discontinuities, so that
12471           seeking works without requiring hacks in applications or extra
12472           code in sinks.
12473         * gst/gstpipeline.c: (gst_pipeline_class_init),
12474         (gst_pipeline_send_event):
12475           Half hack, half utility: set a pipeline to PAUSED for seek events,
12476           since that is the only way we can guarantee a/v sync. Means that
12477           you can do gst_element_seek (pipeline, method, pos); on a pipeline
12478           and it "just works".
12479
12480 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12481
12482         * gst/gstpipeline.c: (gst_pipeline_use_clock):
12483           Lock/unlock mismatch.
12484
12485 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12486
12487         * docs/faq/gst-uninstalled:
12488           add gst-plugins-base
12489         * docs/gst/Makefile.am:
12490           don't error out until docs are fixed
12491         * docs/gst/gstreamer.types:
12492           remove thread
12493
12494 2005-03-22  Wim Taymans  <wim@fluendo.com>
12495
12496         * check/Makefile.am:
12497         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
12498         * gst/gststructure.c: (gst_structure_set_valist),
12499         (gst_structure_copy_conditional):
12500         Activated more tests.
12501         Added message test.
12502         Added G_TYPE_POINTER to GstStructure.
12503         
12504
12505 2005-03-22  Wim Taymans  <wim@fluendo.com>
12506
12507         * docs/design/part-TODO.txt:
12508         * docs/design/part-events.txt:
12509         * docs/design/part-gstbin.txt:
12510         * docs/design/part-gstbus.txt:
12511         * docs/design/part-gstpipeline.txt:
12512         * docs/design/part-messages.txt:
12513         * gst/gstbus.c:
12514         * gst/gstmessage.c:
12515         Docs updates
12516
12517 2005-03-21  Wim Taymans  <wim@fluendo.com>
12518
12519         * gst/gstbus.c: (gst_bus_post):
12520         Fix copy-and-paste error.
12521
12522 2005-03-21  Wim Taymans  <wim@fluendo.com>
12523
12524         * check/Makefile.am:
12525         * gst/Makefile.am:
12526         * gst/elements/Makefile.am:
12527         * gst/elements/gstelements.c:
12528         * gst/elements/gstfakesink.c: (gst_fakesink_init),
12529         (gst_fakesink_event), (gst_fakesink_chain):
12530         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12531         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
12532         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
12533         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
12534         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
12535         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
12536         (gst_fakesrc_loop), (gst_fakesrc_activate),
12537         (gst_fakesrc_change_state):
12538         * gst/elements/gstfakesrc.h:
12539         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12540         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
12541         (gst_filesrc_open_file), (gst_filesrc_loop),
12542         (gst_filesrc_activate), (gst_filesrc_change_state),
12543         (filesrc_find_peek), (filesrc_find_suggest),
12544         (gst_filesrc_type_find):
12545         * gst/elements/gstidentity.c: (gst_identity_finalize),
12546         (gst_identity_class_init), (gst_identity_init),
12547         (gst_identity_proxy_getcaps), (identity_queue_push),
12548         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
12549         (gst_identity_getrange), (gst_identity_chain),
12550         (gst_identity_sink_loop), (gst_identity_src_loop),
12551         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
12552         (gst_identity_set_property), (gst_identity_get_property),
12553         (gst_identity_change_state):
12554         * gst/elements/gstidentity.h:
12555         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
12556         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
12557         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
12558         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
12559         (gst_tee_sink_activate):
12560         * gst/elements/gsttee.h:
12561         * gst/gst.c: (gst_register_core_elements), (init_post):
12562         * gst/gst.h:
12563         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
12564         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
12565         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
12566         (gst_bin_change_state):
12567         * gst/gstbin.h:
12568         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
12569         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
12570         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
12571         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
12572         (gst_bus_set_sync_handler), (gst_bus_create_watch),
12573         (bus_watch_callback), (bus_watch_destroy),
12574         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
12575         (poll_timeout), (gst_bus_poll):
12576         * gst/gstbus.h:
12577         * gst/gstcaps.h:
12578         * gst/gstdata.h:
12579         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12580         (gst_element_post_message), (gst_element_message_full),
12581         (gst_element_get_state_func), (gst_element_get_state),
12582         (gst_element_abort_state), (gst_element_commit_state),
12583         (gst_element_lost_state), (gst_element_set_state),
12584         (gst_element_pads_activate), (gst_element_change_state),
12585         (gst_element_dispose), (gst_element_set_manager_func),
12586         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
12587         (gst_element_set_manager), (gst_element_get_manager),
12588         (gst_element_set_bus), (gst_element_get_bus),
12589         (gst_element_set_scheduler), (gst_element_get_scheduler):
12590         * gst/gstelement.h:
12591         * gst/gstevent.c: (gst_event_new_segment_seek),
12592         (gst_event_new_flush):
12593         * gst/gstevent.h:
12594         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
12595         (_gst_message_free), (gst_message_get_type), (gst_message_new),
12596         (gst_message_new_eos), (gst_message_new_error),
12597         (gst_message_new_warning), (gst_message_new_tag),
12598         (gst_message_new_state_changed), (gst_message_new_application),
12599         (gst_message_get_structure), (gst_message_parse_tag),
12600         (gst_message_parse_state_changed), (gst_message_parse_error),
12601         (gst_message_parse_warning):
12602         * gst/gstmessage.h:
12603         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
12604         (gst_real_pad_set_property), (gst_pad_set_active),
12605         (gst_pad_is_active), (gst_pad_set_blocked_async),
12606         (gst_pad_set_blocked), (gst_pad_is_blocked),
12607         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
12608         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
12609         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
12610         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
12611         (gst_pad_link_filtered), (gst_pad_relink_filtered),
12612         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
12613         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
12614         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
12615         (gst_pad_set_caps), (gst_pad_configure_sink),
12616         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
12617         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
12618         (gst_real_pad_dispose), (gst_real_pad_finalize),
12619         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
12620         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12621         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
12622         * gst/gstpad.h:
12623         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
12624         (pipeline_bus_handler), (gst_pipeline_change_state),
12625         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
12626         * gst/gstpipeline.h:
12627         * gst/gstprobe.h:
12628         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
12629         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
12630         (gst_queue_link_src), (gst_queue_bufferalloc),
12631         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
12632         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
12633         (gst_queue_loop), (gst_queue_handle_src_event),
12634         (gst_queue_handle_src_query), (gst_queue_src_activate),
12635         (gst_queue_change_state):
12636         * gst/gstqueue.h:
12637         * gst/gstscheduler.c: (gst_scheduler_init),
12638         (gst_scheduler_dispose), (gst_scheduler_create_task),
12639         (gst_scheduler_factory_create):
12640         * gst/gstscheduler.h:
12641         * gst/gststructure.c: (gst_structure_get_type),
12642         (gst_structure_copy_conditional):
12643         * gst/gststructure.h:
12644         * gst/gsttaginterface.h:
12645         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
12646         (gst_task_init), (gst_task_dispose), (gst_task_create),
12647         (gst_task_get_state), (gst_task_start), (gst_task_stop),
12648         (gst_task_pause):
12649         * gst/gsttask.h:
12650         * gst/gstthread.c:
12651         * gst/gstthread.h:
12652         * gst/gsttypes.h:
12653         * gst/schedulers/Makefile.am:
12654         * gst/schedulers/cothreads_compat.h:
12655         * gst/schedulers/entryscheduler.c:
12656         * gst/schedulers/faircothreads.c:
12657         * gst/schedulers/faircothreads.h:
12658         * gst/schedulers/fairscheduler.c:
12659         * gst/schedulers/gstbasicscheduler.c:
12660         * gst/schedulers/gstoptimalscheduler.c:
12661         * gst/schedulers/gthread-cothreads.h:
12662         * gst/schedulers/threadscheduler.c:
12663         (gst_thread_scheduler_task_get_type),
12664         (gst_thread_scheduler_task_class_init),
12665         (gst_thread_scheduler_task_init),
12666         (gst_thread_scheduler_task_start),
12667         (gst_thread_scheduler_task_stop),
12668         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
12669         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
12670         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
12671         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
12672         (plugin_init):
12673         * libs/gst/Makefile.am:
12674         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
12675         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
12676         (gst_file_pad_parent_set):
12677         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12678         (gst_dp_event_from_packet):
12679         * tests/complexity.c: (main):
12680         * tests/mass_elements.c: (main):
12681         * testsuite/states/locked.c: (message_received), (main):
12682         * testsuite/states/parent.c: (main):
12683         * tools/gst-inspect.c: (print_element_flag_info),
12684         (print_implementation_info), (print_pad_info):
12685         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
12686         (main):
12687         * tools/gst-md5sum.c: (event_loop), (main):
12688         * tools/gst-typefind.c: (main):
12689         * tools/gst-xmlinspect.c: (print_element_info):
12690         Next big merge.
12691         Added GstBus for mainloop integration.
12692         Added GstMessage for sending notifications on the bus.
12693         Added GstTask as an abstraction for pipeline entry points.
12694         Removed GstThread.
12695         Removed Schedulers.
12696         Simplified GstQueue for multithreaded core.
12697         Made _link threadsafe, removed old capsnego.
12698         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
12699         Added pad blocking functions.
12700         Reworked scheduling functions in GstPad to prepare for
12701         scheduling updates soon.
12702         Moved events out of data stream.
12703         Simplified GstEvent types.
12704         Added return values to push/pull.
12705         Removed clocking from GstElement.
12706         Added prototypes for state change function for next merge.
12707         Removed iterate from bins and state change management.
12708         Fixed some elements, disabled others for now.
12709         Fixed -inspect and -launch.
12710         Added check for GstBus.
12711
12712 2005-03-10  Wim Taymans  <wim@fluendo.com>
12713
12714         * docs/design/part-MT-refcounting.txt:
12715         * docs/design/part-clocks.txt:
12716         * docs/design/part-gstelement.txt:
12717         * docs/design/part-gstobject.txt:
12718         * docs/design/part-standards.txt:
12719         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12720         (gst_bin_remove_func), (gst_bin_remove):
12721         * gst/gstbin.h:
12722         * gst/gstbuffer.c:
12723         * gst/gstcaps.h:
12724         * testsuite/clock/clock1.c: (main):
12725         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
12726         (main):
12727         * testsuite/dlopen/loadgst.c: (do_test):
12728         * testsuite/refcounting/bin.c: (add_remove_test1),
12729         (add_remove_test2), (main):
12730         * testsuite/refcounting/element.c: (main):
12731         * testsuite/refcounting/element_pad.c: (main):
12732         * testsuite/refcounting/pad.c: (main):
12733         * tools/gst-launch.c: (sigint_handler_sighandler):
12734         * tools/gst-typefind.c: (main):
12735         Doc updates.
12736         Added doc about clock.
12737         removed gst_bin_iterate_recurse_up(), marked methods
12738         for removal.
12739         Fix more testsuites.
12740
12741 2005-03-09  Wim Taymans  <wim@fluendo.com>
12742
12743         * gst/gstpad.c: (gst_pad_get_direction),
12744         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
12745         (gst_pad_collect_valist):
12746         * testsuite/bins/interface.c: (main):
12747         * testsuite/caps/audioscale.c: (test_caps):
12748         * testsuite/caps/caps.c: (test1), (test2), (test3):
12749         * testsuite/caps/deserialize.c: (main):
12750         * testsuite/caps/enumcaps.c: (main):
12751         * testsuite/caps/filtercaps.c: (main):
12752         * testsuite/caps/intersect2.c: (main):
12753         * testsuite/caps/random.c: (main):
12754         * testsuite/caps/renegotiate.c: (my_fixate), (main):
12755         * testsuite/caps/sets.c: (check_caps):
12756         * testsuite/caps/simplify.c: (check_caps), (main):
12757         * testsuite/caps/subtract.c: (check_caps):
12758         Fix _pad_get_direction wrt ghostpads.
12759         Fix caps testsuite.
12760
12761 2005-03-09  Wim Taymans  <wim@fluendo.com>
12762
12763         * check/Makefile.am:
12764         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
12765         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
12766         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
12767         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
12768         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
12769         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
12770         (gst_bin_remove), (gst_bin_iterate_recurse_up),
12771         (bin_element_is_sink), (gst_bin_iterate_sinks),
12772         (gst_bin_iterate_all_by_interface):
12773         * gst/gstbin.h:
12774         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
12775         (gst_element_change_state), (gst_element_dispose),
12776         (gst_element_finalize), (gst_element_set_loop_function):
12777         * gst/gstelement.h:
12778         * gst/gstiterator.c: (find_custom_fold_func):
12779         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12780         (gst_pad_collectv), (gst_pad_collect_valist),
12781         (gst_pad_template_new):
12782         * gst/gstpipeline.c: (gst_pipeline_class_init),
12783         (gst_pipeline_dispose), (gst_pipeline_set_property),
12784         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
12785         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
12786         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
12787         * gst/gstutils.h:
12788         * gst/schedulers/entryscheduler.c:
12789         * gst/schedulers/gstbasicscheduler.c:
12790         (gst_basic_scheduler_cothreaded_chain),
12791         (gst_basic_scheduler_chain_add_element):
12792         * testsuite/bins/interface.c: (main):
12793         Added GstBin test.
12794         Added GstSystemClock test.
12795         Implemented clock distribution code in GstBin.
12796         Implemented iterate sinks method for future use.
12797         Rearranged gstelement.h
12798         Fix GstIterator comparison bug.
12799         Moved some code to GstPipeline, mostly clocking related.
12800
12801 2005-03-09  Wim Taymans  <wim@fluendo.com>
12802
12803         * configure.ac:
12804         * gst/gst_private.h:
12805         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12806         (gst_bin_remove_func), (gst_bin_remove),
12807         (gst_bin_get_by_name_recurse_up):
12808         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
12809         (gst_clock_id_compare_func), (gst_clock_id_wait),
12810         (gst_clock_id_wait_async), (gst_clock_init),
12811         (gst_clock_adjust_unlocked), (gst_clock_get_time):
12812         * gst/gstelement.h:
12813         * gst/gstinfo.c: (_gst_debug_init):
12814         * gst/gstobject.h:
12815         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12816         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
12817         * gst/gstpad.h:
12818         Bump version number, we're now 0.9.0
12819         Add future debugging category.
12820         Fix NULL _unref() in _get_by_name_recurse_up
12821         Rearrange gstpad.h.
12822         Update some docs.
12823
12824 2005-03-08  Wim Taymans  <wim@fluendo.com>
12825
12826         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
12827         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
12828         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
12829         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
12830         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
12831         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
12832         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
12833         * gst/elements/gstidentity.c: (gst_identity_class_init):
12834         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
12835         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12836         * gst/elements/gstshaper.c: (gst_shaper_class_init):
12837         * gst/elements/gststatistics.c: (gst_statistics_class_init):
12838         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
12839         (gst_tee_link):
12840         * gst/gstelement.c: (gst_element_class_init),
12841         (gst_element_base_class_init), (gst_element_init),
12842         (gst_element_get_random_pad), (gst_element_wait_state_change),
12843         (gst_element_change_state), (gst_element_dispose),
12844         (gst_element_finalize), (gst_element_set_loop_function):
12845         * gst/gstelement.h:
12846         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
12847         * gst/gstthread.c: (gst_thread_class_init),
12848         (gst_thread_release_children_locks), (gst_thread_change_state):
12849         * gst/schedulers/gstbasicscheduler.c:
12850         (gst_basic_scheduler_loopfunc_wrapper),
12851         (gst_basic_scheduler_chain_wrapper),
12852         (gst_basic_scheduler_src_wrapper),
12853         (gst_basic_scheduler_remove_element):
12854         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
12855         Remove threadsafe properties. Fix elements because GObject
12856         complains when installing a property before declaring a
12857         set/get_property handler.
12858         Rearrange gstelement.h file, use STATE macros for state locks.
12859         Free mutexes in the finalize method instead of dispose.
12860
12861 2005-03-08  Wim Taymans  <wim@fluendo.com>
12862
12863         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12864         * gst/gstthread.c: (gst_thread_release_children_locks):
12865         Added parentage check.
12866         Fix build og GstThread again.
12867
12868 2005-03-08  Wim Taymans  <wim@fluendo.com>
12869
12870         * docs/design/part-MT-refcounting.txt:
12871         * docs/design/part-conventions.txt:
12872         * docs/design/part-gstobject.txt:
12873         * docs/design/part-relations.txt:
12874         * docs/design/part-standards.txt:
12875         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12876         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
12877         (gst_bin_get_by_name), (gst_bin_get_by_interface),
12878         (gst_bin_iterate_all_by_interface):
12879         * gst/gstbuffer.h:
12880         * gst/gstclock.h:
12881         * gst/gstelement.c: (gst_element_class_init),
12882         (gst_element_change_state), (gst_element_set_loop_function):
12883         * gst/gstelement.h:
12884         * gst/gstiterator.c:
12885         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
12886         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
12887         (gst_object_dispatch_properties_changed), (gst_object_set_name),
12888         (gst_object_set_parent), (gst_object_unparent),
12889         (gst_object_check_uniqueness):
12890         * gst/gstobject.h:
12891         Docs updates, clean up some headers.
12892
12893 2005-03-07  Wim Taymans  <wim@fluendo.com>
12894
12895         * check/.cvsignore:
12896         * check/Makefile.am:
12897         * check/gst-libs/.cvsignore:
12898         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
12899         * check/gst/.cvsignore:
12900         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
12901         (START_TEST), (gstbus_suite), (main):
12902         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
12903         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
12904         (gst_data_suite), (main):
12905         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
12906         (add_fold_func), (gstiterator_suite), (main):
12907         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
12908         (thread_name_object), (thread_name_object_default),
12909         (gst_object_name_compare), (gst_object_suite), (main):
12910         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
12911         (gst_pad_suite), (main):
12912         * check/gstcheck.c: (gst_check_log_message_func),
12913         (gst_check_log_critical_func), (gst_check_init):
12914         * check/gstcheck.h:
12915         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
12916         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
12917         Added checks.
12918
12919 2005-03-07  Wim Taymans  <wim@fluendo.com>
12920
12921         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
12922         (gst_list_iterator_next), (gst_list_iterator_resync),
12923         (gst_list_iterator_free), (gst_iterator_new_list),
12924         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
12925         (gst_iterator_free), (gst_iterator_push), (filter_next),
12926         (filter_resync), (filter_uninit), (filter_free),
12927         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
12928         (gst_iterator_foreach), (find_custom_fold_func),
12929         (gst_iterator_find_custom):
12930         * gst/gstiterator.h:
12931         Added missing files.
12932
12933 2005-03-07  Wim Taymans  <wim@fluendo.com>
12934
12935         * Makefile.am:
12936         * configure.ac:
12937         * docs/design/part-MT-refcounting.txt:
12938         * docs/design/part-conventions.txt:
12939         * docs/design/part-gstobject.txt:
12940         * docs/design/part-relations.txt:
12941         * examples/mixer/mixer.c: (main):
12942         * examples/thread/thread.c: (eos), (main):
12943         * gst/Makefile.am:
12944         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
12945         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
12946         (gst_spider_plug_from_srcpad):
12947         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
12948         (gst_spider_identity_change_state),
12949         (gst_spider_identity_sink_loop_type_finding):
12950         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
12951         * gst/elements/gstidentity.c: (gst_identity_init):
12952         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
12953         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
12954         * gst/elements/gsttypefindelement.c: (free_entry):
12955         * gst/gst.c:
12956         * gst/gst.h:
12957         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
12958         (gst_bin_set_clock_func), (gst_bin_auto_clock),
12959         (gst_bin_set_index), (gst_bin_set_element_sched),
12960         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
12961         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
12962         (gst_bin_iterate_elements), (iterate_child_recurse),
12963         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
12964         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
12965         (compare_interface), (gst_bin_get_by_interface),
12966         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
12967         * gst/gstbin.h:
12968         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
12969         (gst_buffer_default_free), (gst_buffer_default_copy),
12970         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
12971         (gst_buffer_create_sub):
12972         * gst/gstbuffer.h:
12973         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
12974         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
12975         (gst_caps_unref), (gst_static_caps_get),
12976         (gst_caps_remove_and_get_structure), (gst_caps_append),
12977         (gst_caps_append_structure), (gst_caps_remove_structure),
12978         (gst_caps_copy_nth), (gst_caps_set_simple),
12979         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
12980         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
12981         (gst_caps_structure_intersect_field), (gst_caps_intersect),
12982         (gst_caps_structure_subtract_field), (gst_caps_subtract),
12983         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
12984         (gst_caps_structure_figure_out_union),
12985         (gst_caps_switch_structures), (gst_caps_do_simplify),
12986         (gst_caps_replace), (gst_caps_from_string),
12987         (gst_caps_copy_conditional):
12988         * gst/gstcaps.h:
12989         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
12990         (_gst_clock_id_free), (gst_clock_id_unref),
12991         (gst_clock_id_compare_func), (gst_clock_id_wait),
12992         (gst_clock_id_wait_async), (gst_clock_class_init),
12993         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
12994         (gst_clock_get_time), (gst_clock_set_time_adjust),
12995         (gst_clock_set_property), (gst_clock_get_property):
12996         * gst/gstclock.h:
12997         * gst/gstcompat.h:
12998         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
12999         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
13000         * gst/gstdata.h:
13001         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13002         (gst_element_requires_clock), (gst_element_provides_clock),
13003         (gst_element_set_clock), (gst_element_clock_wait),
13004         (gst_element_wait), (gst_element_set_time_delay),
13005         (gst_element_is_indexable), (gst_element_add_pad),
13006         (gst_element_add_ghost_pad), (gst_element_remove_pad),
13007         (pad_compare_name), (gst_element_get_static_pad),
13008         (gst_element_request_pad), (gst_element_get_request_pad),
13009         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
13010         (gst_element_class_get_pad_template_list),
13011         (gst_element_class_get_pad_template), (gst_element_error_func),
13012         (gst_element_get_random_pad), (gst_element_get_event_masks),
13013         (gst_element_send_event), (gst_element_seek),
13014         (gst_element_get_query_types), (gst_element_query),
13015         (gst_element_get_formats), (gst_element_convert),
13016         (gst_element_is_locked_state), (gst_element_set_locked_state),
13017         (gst_element_sync_state_with_parent), (gst_element_change_state),
13018         (gst_element_finalize), (gst_element_yield),
13019         (gst_element_interrupt), (gst_element_set_scheduler),
13020         (gst_element_get_scheduler), (gst_element_set_loop_function):
13021         * gst/gstelement.h:
13022         * gst/gstevent.h:
13023         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
13024         (gst_format_get_by_nick), (gst_format_get_details),
13025         (gst_format_iterate_definitions):
13026         * gst/gstformat.h:
13027         * gst/gstindex.c: (gst_index_gtype_resolver):
13028         * gst/gstinfo.c:
13029         * gst/gstinfo.h:
13030         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
13031         (gst_mem_chunk_free):
13032         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
13033         (gst_object_ref), (gst_object_unref), (gst_object_sink),
13034         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
13035         (gst_object_dispatch_properties_changed),
13036         (gst_object_set_name_default), (gst_object_set_name),
13037         (gst_object_get_name), (gst_object_set_name_prefix),
13038         (gst_object_get_name_prefix), (gst_object_set_parent),
13039         (gst_object_get_parent), (gst_object_unparent),
13040         (gst_object_check_uniqueness), (gst_object_save_thyself),
13041         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
13042         (gst_object_set_property), (gst_object_get_property),
13043         (gst_object_get_path_string):
13044         * gst/gstobject.h:
13045         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13046         (gst_real_pad_init), (gst_real_pad_get_property),
13047         (gst_pad_custom_new), (gst_pad_get_direction),
13048         (gst_pad_set_active), (gst_pad_is_active),
13049         (gst_pad_set_event_function), (gst_pad_is_linked),
13050         (gst_pad_link_free), (gst_pad_link_intersect),
13051         (gst_pad_link_fixate), (gst_pad_set_caps),
13052         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
13053         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
13054         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
13055         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
13056         (gst_pad_get_caps), (gst_pad_peer_get_caps),
13057         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
13058         (gst_pad_realize), (gst_pad_get_allowed_caps),
13059         (gst_real_pad_dispose), (gst_real_pad_finalize),
13060         (gst_pad_collectv), (gst_pad_collect_valist),
13061         (gst_pad_template_dispose), (gst_pad_template_new),
13062         (gst_pad_get_internal_links):
13063         * gst/gstpad.h:
13064         * gst/gstpipeline.c: (gst_pipeline_dispose),
13065         (gst_pipeline_change_state):
13066         * gst/gstpipeline.h:
13067         * gst/gstplugin.c:
13068         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
13069         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
13070         * gst/gstpluginfeature.h:
13071         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
13072         * gst/gstquery.c: (_gst_query_type_initialize),
13073         (gst_query_type_register), (gst_query_type_get_by_nick),
13074         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
13075         * gst/gstquery.h:
13076         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
13077         * gst/gstscheduler.c: (gst_scheduler_add_element),
13078         (gst_scheduler_factory_create):
13079         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13080         (gst_structure_free), (gst_structure_set_name),
13081         (gst_structure_id_set_value), (gst_structure_set_value),
13082         (gst_structure_set_valist), (gst_structure_remove_field),
13083         (gst_structure_remove_fields),
13084         (gst_structure_remove_fields_valist),
13085         (gst_structure_remove_all_fields), (gst_structure_foreach),
13086         (gst_structure_map_in_place),
13087         (gst_caps_structure_fixate_field_nearest_int),
13088         (gst_caps_structure_fixate_field_nearest_double):
13089         * gst/gststructure.h:
13090         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13091         (gst_system_clock_init), (gst_system_clock_dispose),
13092         (gst_system_clock_async_thread),
13093         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
13094         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
13095         * gst/gstsystemclock.h:
13096         * gst/gsttag.c: (gst_tag_list_add_value_internal),
13097         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
13098         * gst/gsttaginterface.c:
13099         * gst/gstthread.c: (gst_thread_dispose),
13100         (gst_thread_release_children_locks), (gst_thread_change_state),
13101         (gst_thread_main_loop):
13102         * gst/gsttrashstack.h:
13103         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
13104         * gst/gsttypes.h:
13105         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13106         (gst_element_request_pad), (gst_element_get_pad_from_template),
13107         (gst_element_request_compatible_pad),
13108         (gst_element_get_compatible_pad_filtered),
13109         (gst_element_get_compatible_pad), (gst_element_state_get_name),
13110         (gst_element_link_pads_filtered), (gst_element_link_filtered),
13111         (gst_element_link_many), (gst_element_link),
13112         (gst_element_link_pads), (gst_element_unlink_pads),
13113         (gst_element_unlink_many), (gst_element_unlink),
13114         (gst_pad_can_link_filtered), (gst_pad_can_link),
13115         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
13116         (gst_object_default_error), (gst_bin_add_many),
13117         (gst_bin_remove_many), (gst_element_populate_std_props),
13118         (gst_element_class_install_std_props), (gst_buffer_merge),
13119         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
13120         (link_fold_func), (gst_pad_proxy_setcaps):
13121         * gst/gstutils.h:
13122         * gst/gstvalue.c: (gst_value_deserialize_string):
13123         * gst/parse/grammar.y:
13124         * gst/schedulers/gstbasicscheduler.c:
13125         (gst_basic_scheduler_cothreaded_chain),
13126         (gst_basic_scheduler_chain_recursive_add),
13127         (gst_basic_scheduler_pad_link):
13128         * gst/schedulers/gstoptimalscheduler.c:
13129         (get_group_schedule_function),
13130         (gst_opt_scheduler_state_transition),
13131         (gst_opt_scheduler_add_element), (element_get_reachables_func):
13132         * libs/gst/bytestream/bytestream.c:
13133         * libs/gst/dataprotocol/dataprotocol.c:
13134         (gst_dp_header_from_buffer):
13135         * po/nb.po:
13136         * po/ru.po:
13137         * tests/threadstate/threadstate2.c: (eos):
13138         * tools/gst-compprep.c: (main):
13139         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
13140         (print_pad_info), (print_children_info):
13141         * tools/gst-launch.c: (idle_func), (main):
13142         * tools/gst-md5sum.c: (idle_func), (main):
13143         * tools/gst-xmlinspect.c: (print_element_info):
13144         First THREADED backport attempt, focusing on adding locks and
13145         making sure the API is threadsafe. Needs more work. More docs
13146         follow this week.
13147
13148 2005-02-24  Andy Wingo  <wingo@pobox.com>
13149
13150         * tests/bench-complexity.scm:
13151         * tests/complexity.gnuplot: New files, good for running complexity
13152         benchmarks.
13153
13154         * tests/Makefile.am:
13155         * tests/complexity.c: New test, sets up N elements, at each level
13156         teeing into M streams per element. Eeeenteresting.
13157
13158         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
13159         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
13160         running bench-mass_elements.scm.
13161
13162         * tests/bench-mass_elements.scm: New script, runs mass_elements
13163         for various numbers of identities, outputting the results to a
13164         file. Requires guile 1.6. Just for testing.
13165
13166 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13167
13168         * gst/schedulers/fairscheduler.c:
13169           compile with debug disabled
13170
13171 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13172
13173         * configure.ac:
13174           hunting season on 0.9 is now OPEN