add tests that seem to show that the guint64/gdouble conversions are correct.
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
2
3         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
4         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
5         * gst/gstutils.h:
6         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
7           add tests that seem to show that the guint64/gdouble conversions
8           are correct.
9
10 2005-12-02  Wim Taymans  <wim@fluendo.com>
11
12         * gst/gstregistry.c: (gst_registry_add_path):
13         * gst/gstregistry.h:
14         * gst/gstregistryxml.c:
15         Fix docs again.
16
17 2005-12-02  Wim Taymans  <wim@fluendo.com>
18
19         * gst/gstutils.c: (gst_util_uint64_scale_int64),
20         (gst_util_uint64_scale_int):
21         Small cleanup.
22
23         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24         Add debug log line.
25
26         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
27         Add FIXME.
28
29 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30
31         * win32/MANIFEST:
32         * win32/common/config.h:
33         * win32/vs6/gstreamer.dsw:
34         * win32/vs6/libgstcoreelements.dsp:
35         * win32/vs6/libgstelements.dsp:
36           renamed core elements plugin
37
38 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
39
40         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
41         (get_candidates):
42           do piece-wise major/minor comparison so 0.9 < 0.10
43           also allow .exe extensions for tools
44
45 2005-12-02  Michael Smith  <msmith@fluendo.com>
46
47         * gst/gst.c:
48           Escape a % to make gtkdoc happier; bug 322958.
49
50 === release 0.9.7 ===
51
52 2005-12-01   <thomas (at) apestaart (dot) org>
53
54         * configure.ac:
55           releasing 0.9.7, "My Dog Has No Nose"
56
57 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
58
59         * common/gst-xmlinspect.py:
60         * configure.ac:
61         * docs/libs/tmpl/gstdataprotocol.sgml:
62         * docs/random/release:
63         * po/af.po:
64         * po/az.po:
65         * po/bg.po:
66         * po/ca.po:
67         * po/cs.po:
68         * po/de.po:
69         * po/en_GB.po:
70         * po/fr.po:
71         * po/it.po:
72         * po/nb.po:
73         * po/nl.po:
74         * po/ru.po:
75         * po/sq.po:
76         * po/sr.po:
77         * po/sv.po:
78         * po/tr.po:
79         * po/uk.po:
80         * po/vi.po:
81         * win32/common/config.h:
82         * win32/common/config.h.in:
83         * win32/vs6/gst_inspect.dsp:
84         * win32/vs6/gst_launch.dsp:
85         * win32/vs6/libgstbase.dsp:
86         * win32/vs6/libgstelements.dsp:
87         * win32/vs6/libgstreamer.dsp:
88         * win32/vs7/GStreamer.vcproj:
89         * win32/vs7/gst-inspect.vcproj:
90         * win32/vs7/gst-launch.vcproj:
91         * win32/vs7/libgstbase.vcproj:
92           bump GST_MAJORMINOR to 0.10
93           reset libtool version
94
95 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
96
97         * po/LINGUAS:
98         * po/bg.po:
99           Added Bulgarian translation by (Alexander Shopov)
100
101 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
102
103         * tests/check/gst/gstplugin.c:
104           fix test
105
106 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
107
108         * common/gst-xmlinspect.py:
109         * common/gtk-doc-plugins.mak:
110         * configure.ac:
111         * docs/Makefile.am:
112         * docs/gst/Makefile.am:
113         * docs/gst/gstreamer-docs.sgml:
114         * docs/gst/gstreamer-sections.txt:
115         * docs/gst/gstreamer.types:
116         * docs/gst/gstreamer.types.in:
117         * docs/plugins/Makefile.am:
118         * docs/plugins/gstreamer-plugins-docs.sgml:
119         * docs/plugins/gstreamer-plugins-sections.txt:
120         * docs/plugins/gstreamer-plugins.types:
121         * docs/plugins/inspect.stamp:
122         * docs/plugins/inspect/plugin-coreelements.xml:
123         * docs/plugins/inspect/plugin-coreindexers.xml:
124         * docs/plugins/scanobj-build.stamp:
125         * gstreamer.spec.in:
126         * plugins/elements/Makefile.am:
127         * plugins/elements/gstelements.c:
128         * plugins/elements/gstfakesink.c:
129         * plugins/elements/gstfakesrc.c:
130         * plugins/elements/gstfilesink.c:
131         * plugins/elements/gstfilesrc.c:
132         * plugins/elements/gstqueue.c:
133         * plugins/indexers/Makefile.am:
134         * plugins/indexers/gstindexers.c:
135           document core plugins in a separate document just like all the
136           others
137           rename these plugins to something starting with core
138
139 2005-12-01  Andy Wingo  <wingo@pobox.com>
140
141         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
142         padding here before, but it missed the commit.
143
144 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
145
146         * libs/gst/controller/gstinterpolation.c:
147           whitespace prices have crashed, we should feel free to use some now
148           use gst_guint64_to_gdouble
149
150 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
151
152         * libs/gst/controller/gstcontroller.c:
153         * libs/gst/controller/gsthelper.c:
154         * libs/gst/controller/gstinterpolation.c:
155         * libs/gst/controller/lib.c:
156           wrap config.h include
157
158 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
159
160         * docs/gst/gstreamer-sections.txt:
161           update docs
162
163 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
164
165         * plugins/elements/gstelements.c:
166         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
167         (gst_fd_sink__class_init), (gst_fd_sink__init),
168         (gst_fd_sink__chain), (gst_fd_sink__set_property),
169         (gst_fd_sink__get_property):
170         * plugins/elements/gstfdsink.h:
171         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
172         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
173         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
174         (gst_fd_src_unlock), (gst_fd_src_set_property),
175         (gst_fd_src_get_property), (gst_fd_src_create),
176         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
177         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
178         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
179         (gst_fd_src_uri_handler_init):
180         * plugins/elements/gstfdsrc.h:
181         * plugins/elements/gstqueue.c: (gst_queue_get_type):
182           more anal cleanup
183
184 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
185
186         * docs/gst/Makefile.am:
187         * docs/gst/gstreamer.types.in:
188         * gst/Makefile.am:
189           fix the docs build
190
191 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
192
193         * configure.ac:
194         * gst/Makefile.am:
195         * gst/gst.c:
196         * gst/gstplugin.h:
197         * gst/gstregistry.h:
198         * tests/benchmarks/complexity.c:
199         * tests/benchmarks/mass-elements.c:
200         * tests/check/Makefile.am:
201         * tools/Makefile.am:
202         * tools/gst-inspect.c:
203         * tools/gst-xmlinspect.c:
204           various fixes to make
205           --disable-nls --disable-registry --disable-loadsave
206           --disable-parse --disable-gst-debug
207           work and get the core .so down to 360444 bytes after stripping
208
209 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
210
211         * Makefile.am:
212         * configure.ac:
213           descend into tests
214         * docs/random/thomasvs/TODO:
215         * tests/Makefile.am:
216         * tests/README:
217           add a README
218
219 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
220
221         * win32/GStreamer.vcproj:
222         * win32/MANIFEST:
223         * win32/Makefile:
224         * win32/Makefile.inspect:
225         * win32/Makefile.launch:
226         * win32/Makefile.register:
227         * win32/README.txt:
228         * win32/gst-inspect.vcproj:
229         * win32/gst-launch.vcproj:
230         * win32/gst-register.vcproj:
231         * win32/gstelements.vcproj:
232         * win32/gstgetbits.def:
233         * win32/gstgetbits.vcproj:
234         * win32/gstreamer-dbg.def:
235         * win32/gstreamer.def:
236         * win32/libgstbase.def:
237         * win32/libgstbase.vcproj:
238         * win32/link_oldruntime.c:
239         * win32/mman.c:
240         * win32/mman.h:
241         * win32/mman.inl:
242         * win32/msvc71.sln:
243           move even more stuff, win32/ is nice and clean now
244
245 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
246
247         * libs/gst/control/.cvsignore:
248         * win32/MANIFEST:
249         * win32/config.h:
250         * win32/dirent.c:
251         * win32/dirent.h:
252         * win32/gstbytestream.def:
253         * win32/gstbytestream.vcproj:
254         * win32/gstconfig.h:
255         * win32/gstenumtypes.c:
256         * win32/gstenumtypes.h:
257         * win32/gstoptimalscheduler.vcproj:
258         * win32/gstversion.h:
259         * win32/gtchar.h:
260         * win32/testsuite/bins.vcproj:
261         * win32/testsuite/bytestream.vcproj:
262         * win32/testsuite/caps.vcproj:
263         * win32/testsuite/cleanup.vcproj:
264         * win32/testsuite/clock.vcproj:
265         * win32/testsuite/debug.vcproj:
266         * win32/testsuite/dlopen.vcproj:
267         * win32/testsuite/dynparams.vcproj:
268         * win32/testsuite/elements.vcproj:
269         * win32/testsuite/ghostpads.vcproj:
270         * win32/testsuite/indexers.vcproj:
271         * win32/testsuite/negotiation.vcproj:
272         * win32/testsuite/parse.vcproj:
273         * win32/testsuite/plugin.vcproj:
274         * win32/testsuite/refcounting.vcproj:
275         * win32/testsuite/schedulers.vcproj:
276         * win32/testsuite/states.vcproj:
277         * win32/testsuite/tags.vcproj:
278         * win32/testsuite/threads.vcproj:
279           remove old win32 stuff that isn't maintained and should be
280           reorganized
281
282 2005-11-30  Andy Wingo  <wingo@pobox.com>
283
284         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
285         loading the gst.interfaces python module bork.
286
287         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
288         available since GLib 2.2. Fixes #318031.
289
290 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
291
292         * Makefile.am:
293         * check/.cvsignore:
294         * check/Makefile.am:
295         * check/elements/.cvsignore:
296         * check/elements/fakesrc.c:
297         * check/elements/fdsrc.c:
298         * check/elements/identity.c:
299         * check/generic/.cvsignore:
300         * check/generic/states.c:
301         * check/gst-libs/.cvsignore:
302         * check/gst-libs/controller.c:
303         * check/gst-libs/gdp.c:
304         * check/gst/.cvsignore:
305         * check/gst/capslist.h:
306         * check/gst/gst.c:
307         * check/gst/gstbin.c:
308         * check/gst/gstbuffer.c:
309         * check/gst/gstbus.c:
310         * check/gst/gstcaps.c:
311         * check/gst/gstelement.c:
312         * check/gst/gstevent.c:
313         * check/gst/gstghostpad.c:
314         * check/gst/gstiterator.c:
315         * check/gst/gstmessage.c:
316         * check/gst/gstminiobject.c:
317         * check/gst/gstobject.c:
318         * check/gst/gstpad.c:
319         * check/gst/gstpipeline.c:
320         * check/gst/gstplugin.c:
321         * check/gst/gstsegment.c:
322         * check/gst/gststructure.c:
323         * check/gst/gstsystemclock.c:
324         * check/gst/gsttag.c:
325         * check/gst/gstutils.c:
326         * check/gst/gstvalue.c:
327         * check/net/.cvsignore:
328         * check/net/gstnetclientclock.c:
329         * check/net/gstnettimeprovider.c:
330         * check/pipelines/.cvsignore:
331         * check/pipelines/cleanup.c:
332         * check/pipelines/simple_launch_lines.c:
333         * check/pipelines/stress.c:
334         * check/states/.cvsignore:
335         * check/states/sinks.c:
336         * configure.ac:
337         * examples/Makefile.am:
338         * examples/appreader/.cvsignore:
339         * examples/appreader/Makefile.am:
340         * examples/appreader/appreader.c:
341         * examples/controller/.cvsignore:
342         * examples/controller/Makefile.am:
343         * examples/controller/audio-example.c:
344         * examples/cutter/.cvsignore:
345         * examples/cutter/Makefile.am:
346         * examples/cutter/cutter.c:
347         * examples/cutter/cutter.h:
348         * examples/events/Makefile.am:
349         * examples/events/seek.c:
350         * examples/helloworld/.cvsignore:
351         * examples/helloworld/Makefile.am:
352         * examples/helloworld/helloworld.c:
353         * examples/helloworld2/.cvsignore:
354         * examples/helloworld2/Makefile.am:
355         * examples/helloworld2/helloworld2.c:
356         * examples/launch/.cvsignore:
357         * examples/launch/Makefile.am:
358         * examples/launch/mp3parselaunch.c:
359         * examples/launch/mp3play:
360         * examples/manual/.cvsignore:
361         * examples/manual/Makefile.am:
362         * examples/manual/extract.pl:
363         * examples/metadata/Makefile.am:
364         * examples/metadata/read-metadata.c:
365         * examples/mixer/.cvsignore:
366         * examples/mixer/Makefile.am:
367         * examples/mixer/mixer.c:
368         * examples/mixer/mixer.h:
369         * examples/pingpong/.cvsignore:
370         * examples/pingpong/Makefile.am:
371         * examples/pingpong/pingpong.c:
372         * examples/plugins/.cvsignore:
373         * examples/plugins/Makefile.am:
374         * examples/plugins/example.c:
375         * examples/plugins/example.h:
376         * examples/pwg/.cvsignore:
377         * examples/pwg/Makefile.am:
378         * examples/pwg/extract.pl:
379         * examples/queue/.cvsignore:
380         * examples/queue/Makefile.am:
381         * examples/queue/queue.c:
382         * examples/queue2/.cvsignore:
383         * examples/queue2/Makefile.am:
384         * examples/queue2/queue2.c:
385         * examples/queue3/.cvsignore:
386         * examples/queue3/Makefile.am:
387         * examples/queue3/queue3.c:
388         * examples/queue4/.cvsignore:
389         * examples/queue4/Makefile.am:
390         * examples/queue4/queue4.c:
391         * examples/retag/.cvsignore:
392         * examples/retag/Makefile.am:
393         * examples/retag/retag.c:
394         * examples/retag/transcode.c:
395         * examples/thread/.cvsignore:
396         * examples/thread/Makefile.am:
397         * examples/thread/thread.c:
398         * examples/typefind/.cvsignore:
399         * examples/typefind/Makefile.am:
400         * examples/typefind/typefind.c:
401         * examples/xml/.cvsignore:
402         * examples/xml/Makefile.am:
403         * examples/xml/createxml.c:
404         * examples/xml/runxml.c:
405         * tests/Makefile.am:
406         * tests/check/Makefile.am:
407         * testsuite/.cvsignore:
408         * testsuite/Makefile.am:
409         * testsuite/Rules:
410         * testsuite/caps/.cvsignore:
411         * testsuite/caps/Makefile.am:
412         * testsuite/caps/app_fixate.c:
413         * testsuite/caps/audioscale.c:
414         * testsuite/caps/caps.c:
415         * testsuite/caps/caps.h:
416         * testsuite/caps/caps_strings:
417         * testsuite/caps/compatibility.c:
418         * testsuite/caps/deserialize.c:
419         * testsuite/caps/enumcaps.c:
420         * testsuite/caps/eratosthenes.c:
421         * testsuite/caps/filtercaps.c:
422         * testsuite/caps/fixed.c:
423         * testsuite/caps/fraction-convert.c:
424         * testsuite/caps/fraction-multiply-and-zero.c:
425         * testsuite/caps/intersect2.c:
426         * testsuite/caps/intersection.c:
427         * testsuite/caps/normalisation.c:
428         * testsuite/caps/random.c:
429         * testsuite/caps/renegotiate.c:
430         * testsuite/caps/sets.c:
431         * testsuite/caps/simplify.c:
432         * testsuite/caps/string-conversions.c:
433         * testsuite/caps/structure.c:
434         * testsuite/caps/subtract.c:
435         * testsuite/caps/union.c:
436         * testsuite/debug/.cvsignore:
437         * testsuite/debug/Makefile.am:
438         * testsuite/debug/category.c:
439         * testsuite/debug/commandline.c:
440         * testsuite/debug/global.c:
441         * testsuite/debug/output.c:
442         * testsuite/debug/printf_extension.c:
443         * testsuite/dlopen/.cvsignore:
444         * testsuite/dlopen/Makefile.am:
445         * testsuite/dlopen/dlopen_gst.c:
446         * testsuite/dlopen/loadgst.c:
447         * testsuite/elements/.cvsignore:
448         * testsuite/elements/Makefile.am:
449         * testsuite/elements/gst-inspect-check.in:
450         * testsuite/elements/struct_i386.h:
451         * testsuite/elements/struct_size.c:
452         * testsuite/indexers/.cvsignore:
453         * testsuite/indexers/Makefile.am:
454         * testsuite/indexers/cache1.c:
455         * testsuite/indexers/indexdump.c:
456         * testsuite/parse/.cvsignore:
457         * testsuite/parse/Makefile.am:
458         * testsuite/parse/parse1.c:
459         * testsuite/parse/parse2.c:
460         * testsuite/plugin/.cvsignore:
461         * testsuite/plugin/Makefile.am:
462         * testsuite/plugin/README:
463         * testsuite/plugin/dynamic.c:
464         * testsuite/plugin/linked.c:
465         * testsuite/plugin/loading.c:
466         * testsuite/plugin/registry.c:
467         * testsuite/plugin/static.c:
468         * testsuite/plugin/static2.c:
469         * testsuite/plugin/testplugin.c:
470         * testsuite/plugin/testplugin2.c:
471         * testsuite/plugin/testplugin2_s.c:
472         * testsuite/plugin/testplugin_s.c:
473         * testsuite/refcounting/.cvsignore:
474         * testsuite/refcounting/Makefile.am:
475         * testsuite/refcounting/bin.c:
476         * testsuite/refcounting/element.c:
477         * testsuite/refcounting/element_pad.c:
478         * testsuite/refcounting/mainloop.c:
479         * testsuite/refcounting/mem.c:
480         * testsuite/refcounting/mem.h:
481         * testsuite/refcounting/object.c:
482         * testsuite/refcounting/pad.c:
483         * testsuite/refcounting/sched.c:
484         * testsuite/refcounting/thread.c:
485         * testsuite/states/.cvsignore:
486         * testsuite/states/Makefile.am:
487         * testsuite/states/bin.c:
488         * testsuite/states/locked.c:
489         * testsuite/states/parent.c:
490         * testsuite/threads/.cvsignore:
491         * testsuite/threads/159566.c:
492         * testsuite/threads/159852.c:
493         * testsuite/threads/Makefile.am:
494         * testsuite/threads/queue.c:
495         * testsuite/threads/signals.c:
496         * testsuite/threads/staticrec.c:
497         * testsuite/threads/thread.c:
498         * testsuite/threads/threadb.c:
499         * testsuite/threads/threadc.c:
500         * testsuite/threads/threadd.c:
501         * testsuite/threads/threade.c:
502         * testsuite/threads/threadf.c:
503         * testsuite/threads/threadg.c:
504         * testsuite/threads/threadh.c:
505         * testsuite/threads/threadi.c:
506           move all of these under tests
507
508 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
509
510         * configure.ac:
511         * tests/Makefile.am:
512           fix distcheck
513
514 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
515
516         * docs/gst/gstreamer-sections.txt:
517         * tests/sched/.cvsignore:
518         * tests/sched/Makefile.am:
519         * tests/sched/cases/(fs-fs).xml:
520         * tests/sched/cases/(fs-i-fs).xml:
521         * tests/sched/cases/(fs-i-i-fs).xml:
522         * tests/sched/cases/(fs-i-q[i-fs]).xml:
523         * tests/sched/dynamic-pipeline.c:
524         * tests/sched/interrupt1.c:
525         * tests/sched/interrupt2.c:
526         * tests/sched/interrupt3.c:
527         * tests/sched/runtestcases:
528         * tests/sched/runxml.c:
529         * tests/sched/sched-stress.c:
530         * tests/sched/sort.c:
531         * tests/sched/testcases:
532         * tests/sched/testcases1.tc:
533         * tests/seeking/.cvsignore:
534         * tests/seeking/Makefile.am:
535         * tests/seeking/seeking1.c:
536         * tests/threadstate/.cvsignore:
537         * tests/threadstate/Makefile.am:
538         * tests/threadstate/test1.c:
539         * tests/threadstate/test2.c:
540         * tests/threadstate/threadstate1.c:
541         * tests/threadstate/threadstate2.c:
542         * tests/threadstate/threadstate3.c:
543         * tests/threadstate/threadstate4.c:
544         * tests/threadstate/threadstate5.c:
545           remove obsolete tests
546         * configure.ac:
547         * tests/bench-complexity.scm:
548         * tests/bench-mass_elements.scm:
549         * tests/complexity.c:
550         * tests/complexity.gnuplot:
551         * tests/instantiate/.cvsignore:
552         * tests/instantiate/Makefile.am:
553         * tests/instantiate/caps.c:
554         * tests/mass_elements.c:
555         * tests/network-clock-utils.scm:
556         * tests/network-clock.scm:
557         * tests/plot-data:
558         First pass at cleaning up tests/ dir before moving the rest
559         Combined with CVS surgery
560
561 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
562
563         * po/POTFILES.in:
564           queue has moved, update
565
566 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
567
568         * docs/gst/gstreamer-sections.txt:
569           remove double entries from the docs
570         * gst/gst_private.h:
571         * gst/gstinfo.c: (_gst_debug_init):
572           remove the THREAD debug category
573         * gst/Makefile.am:
574         * gst/gstqueue.c:
575         * gst/gstqueue.h:
576         * docs/gst/gstreamer.types:
577         * plugins/elements/gstqueue.c: (gst_queue_get_type),
578         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
579           completely move queue and fix up debugging categories
580
581 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
582
583         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
584           make initialization portable, using LL is not
585
586 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
587
588         * win32/common/gstconfig.h:
589           add large padding
590
591 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
592
593         * win32/common/libgstreamer.def:
594           rename symbols; sort base section
595
596 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
597
598         * gst/gstclock.c: (do_linear_regression):
599           remove crack non-portable handrolled DEBUG macro
600
601 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
602
603         * docs/random/release:
604           update notes
605         * win32/common/gstenumtypes.c: (register_gst_object_flags),
606         (gst_object_flags_get_type), (register_gst_bin_flags),
607         (gst_bin_flags_get_type), (register_gst_buffer_flag),
608         (gst_buffer_flag_get_type), (register_gst_bus_flags),
609         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
610         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
611         (gst_caps_flags_get_type), (register_gst_clock_return),
612         (gst_clock_return_get_type), (register_gst_clock_entry_type),
613         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
614         (gst_clock_flags_get_type), (register_gst_state),
615         (gst_state_get_type), (register_gst_state_change_return),
616         (gst_state_change_return_get_type), (register_gst_state_change),
617         (gst_state_change_get_type), (register_gst_element_flags),
618         (gst_element_flags_get_type), (register_gst_core_error),
619         (gst_core_error_get_type), (register_gst_library_error),
620         (gst_library_error_get_type), (register_gst_resource_error),
621         (gst_resource_error_get_type), (register_gst_stream_error),
622         (gst_stream_error_get_type), (register_gst_event_type_flags),
623         (gst_event_type_flags_get_type), (register_gst_event_type),
624         (gst_event_type_get_type), (register_gst_seek_type),
625         (gst_seek_type_get_type), (register_gst_seek_flags),
626         (gst_seek_flags_get_type), (register_gst_format),
627         (gst_format_get_type), (register_gst_index_certainty),
628         (gst_index_certainty_get_type), (register_gst_index_entry_type),
629         (gst_index_entry_type_get_type),
630         (register_gst_index_lookup_method),
631         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
632         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
633         (gst_index_resolver_method_get_type), (register_gst_index_flags),
634         (gst_index_flags_get_type), (register_gst_debug_level),
635         (gst_debug_level_get_type), (register_gst_debug_color_flags),
636         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
637         (gst_iterator_result_get_type), (register_gst_iterator_item),
638         (gst_iterator_item_get_type), (register_gst_message_type),
639         (gst_message_type_get_type), (register_gst_mini_object_flags),
640         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
641         (gst_pad_link_return_get_type), (register_gst_flow_return),
642         (gst_flow_return_get_type), (register_gst_activate_mode),
643         (gst_activate_mode_get_type), (register_gst_pad_direction),
644         (gst_pad_direction_get_type), (register_gst_pad_flags),
645         (gst_pad_flags_get_type), (register_gst_pad_presence),
646         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
647         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
648         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
649         (gst_plugin_error_get_type), (register_gst_plugin_flags),
650         (gst_plugin_flags_get_type), (register_gst_rank),
651         (gst_rank_get_type), (register_gst_query_type),
652         (gst_query_type_get_type), (register_gst_tag_merge_mode),
653         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
654         (gst_tag_flag_get_type), (register_gst_task_state),
655         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
656         (gst_alloc_trace_flags_get_type),
657         (register_gst_type_find_probability),
658         (gst_type_find_probability_get_type), (register_gst_uri_type),
659         (gst_uri_type_get_type), (register_gst_parse_error),
660         (gst_parse_error_get_type):
661         * win32/common/gstenumtypes.h:
662         * win32/common/gstversion.h:
663           update visual studio generated files
664
665 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
666
667         * win32/vs6/libgstbase.dsp:
668         * win32/vs6/libgstelements.dsp:
669           update project files for new locations
670
671 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
672
673         * Makefile.am:
674           remove some files
675         * README:
676           reinstate and update
677         * DEVEL:
678         * REQUIREMENTS:
679           removed
680         * LICENSE:
681         * docs/random/LICENSE:
682           moved to random
683
684 2005-11-30  Edward Hervey  <edward@fluendo.com>
685
686         * gst/gsttypefind.c: (gst_type_find_register):
687         * gst/gsttypefind.h:
688         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
689         (gst_type_find_factory_dispose):
690         * gst/gsttypefindfactory.h:
691         Fix memory leak in GstTypeFindFactory.
692
693 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
694
695         * gst/gst.c:
696         * plugins/elements/Makefile.am:
697         * plugins/elements/gstelements.c:
698         * plugins/elements/gstqueue.c:
699           move queue from core to the elements plugin
700
701 2005-11-29  Andy Wingo  <wingo@pobox.com>
702
703         * libs/gst/base/gstbasetransform.h: 
704         * libs/gst/base/gstbasesrc.h: 
705         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
706
707         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
708         of pointers by which to pad very extensible base classes (like the
709         ones in libs/gst/base).
710
711 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
712
713         * docs/gst/gstreamer-docs.sgml:
714         * docs/gst/gstreamer-sections.txt:
715         * docs/libs/gstreamer-libs-docs.sgml:
716         * docs/libs/gstreamer-libs-sections.txt:
717           moving documentation from core to lib
718
719 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
720
721         * check/Makefile.am:
722         * configure.ac:
723         * docs/gst/Makefile.am:
724         * gst/Makefile.am:
725         * gst/base/.cvsignore:
726         * gst/base/Makefile.am:
727         * gst/base/README:
728         * gst/base/gstadapter.c:
729         * gst/base/gstadapter.h:
730         * gst/base/gstbasesink.c:
731         * gst/base/gstbasesink.h:
732         * gst/base/gstbasesrc.c:
733         * gst/base/gstbasesrc.h:
734         * gst/base/gstbasetransform.c:
735         * gst/base/gstbasetransform.h:
736         * gst/base/gstcollectpads.c:
737         * gst/base/gstcollectpads.h:
738         * gst/base/gstpushsrc.c:
739         * gst/base/gstpushsrc.h:
740         * gst/base/gsttypefindhelper.c:
741         * gst/base/gsttypefindhelper.h:
742         * gst/check/Makefile.am:
743         * gst/check/gstcheck.c:
744         * gst/check/gstcheck.h:
745         * gst/net/Makefile.am:
746         * gst/net/gstnet.h:
747         * gst/net/gstnetclientclock.c:
748         * gst/net/gstnetclientclock.h:
749         * gst/net/gstnettimepacket.c:
750         * gst/net/gstnettimepacket.h:
751         * gst/net/gstnettimeprovider.c:
752         * gst/net/gstnettimeprovider.h:
753         * libs/gst/Makefile.am:
754         * libs/gst/base/Makefile.am:
755         * libs/gst/base/gstbasetransform.c:
756         * libs/gst/check/Makefile.am:
757         * plugins/elements/Makefile.am:
758         * po/POTFILES.in:
759           CVS surgery + support to move base, check, and net out of gst
760           and into libs/gst
761
762 2005-11-29  Andy Wingo  <wingo@pobox.com>
763
764         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
765
766         * gst/gststructure.h (struct _GstStructure): Only one pointer of
767         padding.
768
769         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
770
771         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
772
773         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
774
775         * gst/gstobject.h: (struct _GstObject): Only one pointer of
776         padding; reduces object size by about 30%. We don't expect
777         anything else to go into gstobject.
778
779         * gst/gstminiobject.h (struct _GstMiniObject)
780         (struct _GstMiniObjectClass): Only one pointer of padding; the
781         payload is only a pointer and two ints anyway. For the class there
782         are only two methods as well.
783         
784         * gst/gstelement.h (struct _GstElementClass): Removed
785         the state_changed signal callback, it is not used.
786
787 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
788
789         * docs/gst/gstreamer.types:
790           fix includes, though they are a little dinky
791
792 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
793
794         * check/Makefile.am:
795           look in the right place for elements, a lot more chance of
796           success
797         * gst/Makefile.am:
798           remove indexers and elements subdirs
799         * plugins/Makefile.am:
800           make indexers conditional
801
802 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
803
804         * Makefile.am:
805         * configure.ac:
806         * plugins/elements/Makefile.am:
807         * plugins/elements/gstcapsfilter.c:
808         * plugins/elements/gstfilesink.c:
809         * plugins/elements/gstfilesrc.c:
810         * plugins/elements/gstidentity.c:
811         * plugins/indexers/Makefile.am:
812           do CVS surgery and related build fixery to move elements
813           and indexers in a new gstreamer/plugins directory, out of the
814           gst/ directory
815
816 2005-11-29  Andy Wingo  <wingo@pobox.com>
817
818         * check/Makefile.am:
819         * pkgconfig/gstreamer-net-uninstalled.pc.in:
820         * pkgconfig/gstreamer-net.pc.in:
821         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
822         #322257.
823
824 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
825
826         * tools/Makefile.am:
827         * tools/gst-complete.1.in:
828         * tools/gst-complete.c:
829         * tools/gst-compprep.1.in:
830         * tools/gst-compprep.c:
831           removing -compprep and -complete
832
833 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
834
835         * gst/gstevent.c: (gst_event_new_new_segment),
836         (gst_event_parse_new_segment):
837         * gst/gstevent.h:
838           fix #320529 - clean up new_segment API and structure.
839           Let's hope everyone was using the methods, and not the structure.
840
841 2005-11-29  Edward Hervey  <edward@fluendo.com>
842
843         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
844         (gst_base_sink_event), (gst_base_sink_do_sync),
845         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
846         Properly handle non GST_FORMAT_TIME segment
847         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
848         Properly handle non GST_FORMAT_TIME segment
849         * gst/gstsegment.c:
850         This function is valid if the accumulator is 0 and the format
851         is different from the requested format.
852         
853 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
854
855         * docs/gst/gstreamer-sections.txt:
856         Add gst_query_new_seeking and gst_query_parse_seeking to the
857         docs.
858
859 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
860
861         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
862           Treat a pad alloc with new caps the same as if we were not
863           negotiated, in order to allow a changing upstream output
864           to produce a new format of data.
865
866 2005-11-29  Edward Hervey  <edward@fluendo.com>
867
868         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
869         (gst_base_transform_event), (gst_base_transform_eventfunc):
870         The event virtual method is now properly implemented, with a default
871         handler
872         Sub classes should call the parent_class event method. They should
873         return FALSE if they had a problem handling the given event, or don't
874         want GstBaseTransform to send that even downstream
875         * gst/elements/gstidentity.c: (gst_identity_class_init),
876         (gst_identity_init), (gst_identity_event),
877         (gst_identity_transform_ip), (gst_identity_set_property),
878         (gst_identity_get_property):
879         * gst/elements/gstidentity.h:
880         Added the single-segment boolean property.
881         If set to TRUE, it will output a single segment of data, starting from
882         0, will eat up all incoming newsegment, and modify the timestamp of the
883         buffers accordingly
884
885 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
886
887         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
888           Don't ref NULL target pad (#322751). Improve docs.
889
890 2005-11-29  Michael Smith  <msmith@fluendo.com>
891
892         * gst/gstregistryxml.c: (load_plugin):
893           Don't crash if we failed to load a feature from a plugin. 
894
895 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
896
897         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
898         (GST_START_TEST):
899           use more check API and less GLib API
900
901 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
902
903         * Makefile.am:
904           don't run checks if we don't have check
905         * common/check.mak:
906           remove the registry when running make torture
907         * docs/gst/gstreamer-sections.txt:
908           remove second multiply
909         * gst/gstqueue.c: (gst_queue_loop):
910           fix a compile warning when disabling debug
911
912 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
913
914         * gst/gstinfo.h:
915         Hey! Let's print the pad name if the pointer != NULL instead
916         of when it == NULL :-)
917
918 2005-11-28  Wim Taymans  <wim@fluendo.com>
919
920         * check/gst/gstutils.c: (GST_START_TEST):
921         Updated check, add some scaling accuracy checking code.
922
923         * gst/gstutils.c: (gst_util_div128_64),
924         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
925         (gst_util_uint64_scale_int):
926         Fix 6 times faster division code. Optimize for common 
927         1/1 and less common X/1 cases.
928
929 2005-11-28  Wim Taymans  <wim@fluendo.com>
930
931         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
932         More checks.
933
934         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
935         (do_linear_regression), (gst_clock_add_observation):
936         Cleanups.
937         Release lock when the clock cannot be slaved.
938         Catch the case where the regression returned an invalid denominator.
939
940         * gst/gstutils.c: (gst_util_div128_64_iterate),
941         (gst_util_div128_64), (gst_util_uint64_scale_int64),
942         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
943         Add protentially more performant non-iterative 128/64 divide function
944         that unfortunatly does not work yet.
945         Shortcut the trivial 0/X = 0 case.
946         Remove the warnings on overflow.
947
948 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
949
950         * gst/gstplugin.c: (gst_plugin_register_func):
951           everything causing a plugin not to load should be at least a WARNING
952
953 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
954
955         * docs/random/ensonic/dparams.txt:
956           some TODOs for the next dev cycle
957         * libs/gst/controller/gstcontroller.c:
958         (gst_controlled_property_set_interpolation_mode),
959         (gst_controlled_property_new):
960         * libs/gst/controller/gstcontroller.h:
961           use base type to assign acccessor functions
962
963 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
964
965         * check/Makefile.am:
966         Oops, that should have been top_srcdir
967
968 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
969
970         * check/Makefile.am:
971         * check/elements/fdsrc.c: (GST_START_TEST):
972         Use a cmdline define to specify the location of a file to use for
973         testing, to avoid breaking distcheck.
974
975 2005-11-28  Andy Wingo  <wingo@pobox.com>
976
977         * gst/gstpad.c (fixate_value): Use array functions for arrays.
978
979 2005-11-28  Edward Hervey  <edward@fluendo.com>
980
981         * tools/gst-launch.c: (main):
982         Clarify the output strings, makes it easier to translate.
983         Fixes #322626
984
985 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
986
987         * gst/Makefile.am:
988           don't try and build net if we don't even have <sys/socket.h>
989
990 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
991
992         * check/Makefile.am:
993         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
994         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
995           Add tests for fdsrc seekability
996
997         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
998         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
999         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
1000         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
1001         * gst/elements/gstfdsrc.h:
1002           fdsrc should not be a 'live' source.
1003           Implement seeking on seekable fd's.
1004
1005         * gst/gstquery.c: (gst_query_new_seeking),
1006         (gst_query_parse_seeking):
1007         * gst/gstquery.h:
1008           Implement SEEKING query functions: 
1009             *_new_seeking and *_parse_seeking
1010
1011 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
1012
1013         * gst/gstelement.c: (gst_element_dispose):
1014           don't loop forever
1015
1016         * gst/gstiterator.c:
1017         * gst/gststructure.c:
1018           doc fixes
1019
1020         * libs/gst/controller/gstcontroller.c:
1021         (gst_controlled_property_set_interpolation_mode):
1022         * libs/gst/controller/gstcontroller.h:
1023         * libs/gst/controller/gstinterpolation.c:
1024         (interpolate_none_get_enum_value_array):
1025           support controlling enums
1026
1027 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1028
1029         * gst/gstvalue.c:
1030           Improve documentation for gst_value_union().
1031
1032         * gst/gstvalue.h:
1033           Change return value for union, intersect and subtract functions
1034           from gint to gboolean.
1035
1036 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1037
1038         * gst/gstvalue.c: (gst_value_serialize_any_list),
1039         (gst_value_transform_any_list_string),
1040         (gst_value_deserialize_list), (gst_value_deserialize_array),
1041         (gst_value_set_int_range), (gst_value_deserialize_int_range),
1042         (gst_value_set_double_range), (gst_value_deserialize_double_range),
1043         (gst_value_set_fraction_range_full),
1044         (gst_value_deserialize_fraction_range),
1045         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
1046         (gst_value_deserialize_boolean),
1047         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
1048         (gst_value_serialize_float), (gst_value_deserialize_float),
1049         (gst_string_wrap), (gst_value_deserialize_string),
1050         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
1051         (gst_value_union_int_range_int_range),
1052         (gst_value_intersect_int_range_int_range),
1053         (gst_value_intersect_double_range_double_range),
1054         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
1055         (gst_value_subtract_int_range_int_range),
1056         (gst_value_subtract_double_double_range),
1057         (gst_value_subtract_double_range_double_range),
1058         (gst_value_deserialize_fraction):
1059         * gst/gstvalue.h:
1060           Use gint, gdouble and gchar in our API instead of int, double and
1061           char (and make usage in gstvalue.c more consistent).
1062
1063 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1064
1065         * check/Makefile.am:
1066         * libs/gst/controller/Makefile.am:
1067         * libs/gst/dataprotocol/Makefile.am:
1068           fix up Makefile.am and remove GST_ENABLE_NEW
1069
1070 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1071
1072         * configure.ac:
1073         * gst/Makefile.am:
1074         * gst/base/Makefile.am:
1075         * gst/check/Makefile.am:
1076         * gst/elements/Makefile.am:
1077         * gst/net/Makefile.am:
1078           update LDFLAGS use some more
1079
1080 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1081
1082         * common/m4/gst-doc.m4:
1083           Fixes #312589
1084
1085 2005-11-26  Edward Hervey  <edward@fluendo.com>
1086
1087         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1088         This shouldn't issue a g_warning since it returns NULL if it
1089         couldn't find the plugin, and all functions using this behave
1090         properly on a NULL return. Switching to a GST_WARNING.
1091
1092 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
1093
1094         * gst/gstbin.c: (gst_bin_handle_message_func):
1095         Don't leak clock messages.
1096
1097 2005-11-25  Wim Taymans  <wim@fluendo.com>
1098
1099         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1100         (gst_util_uint64_scale_int):
1101         Optimisations, remove unneeded vars.
1102
1103 2005-11-25  Wim Taymans  <wim@fluendo.com>
1104
1105         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1106         Added more checks for the high precision uint64 cases.
1107
1108         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1109         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1110         Implement high precision (guint64 * guint64) / guint64.
1111
1112 2005-11-24  Wim Taymans  <wim@fluendo.com>
1113
1114         * gst/base/gstbasesrc.c: (gst_base_src_query):
1115         Fix wrong percentage query.
1116
1117         * gst/gstutils.c: (gst_util_uint64_scale),
1118         (gst_util_uint64_scale_int):
1119         Add some more common cases that can be handled 
1120         efficiently to _scale.
1121
1122 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1123
1124         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
1125         (gst_mini_object_suite):
1126           don't use check calls from threads; check probably isn't
1127           threadsafe and using a lock to make it threadsafe would
1128           defeat the purpose of this check
1129         * gst/check/gstcheck.c:
1130         * gst/check/gstcheck.h:
1131           use GST_DEBUG some more
1132
1133 2005-11-24  Wim Taymans  <wim@fluendo.com>
1134
1135         * gst/gstutils.c: (gst_util_uint64_scale),
1136         (gst_util_uint64_scale_int):
1137         Chain trivial case to _scale_int.
1138
1139 2005-11-24  Wim Taymans  <wim@fluendo.com>
1140
1141         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1142         Added test for scaling.
1143
1144         * gst/gstclock.h:
1145         Small doc fix.
1146
1147         * gst/gstutils.c: (gst_util_uint64_scale_int):
1148         Implemented high precision scaling code.
1149
1150 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
1151
1152         * gst/gstinfo.h:
1153           do not crash on pad==NULL
1154
1155 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1156
1157         Patch by: Stefan Kost
1158
1159         * common/gtk-doc.mak:
1160         * docs/gst/Makefile.am:
1161         * docs/libs/Makefile.am:
1162           Fix distcheck issues for the libraries docs build
1163           Closes #319599.
1164
1165 2005-11-24  Michael Smith <msmith@fluendo.com>
1166
1167         * docs/manual/basics-helloworld.xml:
1168           Fix bug #315027: memory leak in example code in docs.
1169
1170 2005-11-24  Michael Smith <msmith@fluendo.com>
1171
1172         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1173           Unlock the PREROLL_LOCK in a failure case.
1174
1175 2005-11-24  Wim Taymans  <wim@fluendo.com>
1176
1177         * docs/gst/gstreamer-sections.txt:
1178         * gst/base/gstadapter.h:
1179         * gst/base/gstbasesink.h:
1180         * gst/base/gstbasesrc.h:
1181         * gst/base/gstbasetransform.h:
1182         * gst/base/gstpushsrc.h:
1183         * gst/elements/gstfakesink.h:
1184         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1185         * gst/elements/gstfakesrc.h:
1186         * gst/elements/gstfilesink.h:
1187         * gst/elements/gstfilesrc.h:
1188         * gst/gst.c:
1189         * gst/gstbin.c:
1190         * gst/gstbuffer.c: (_gst_buffer_copy):
1191         * gst/gstbus.h:
1192         * gst/gstcaps.c:
1193         * gst/gstchildproxy.c:
1194         * gst/gstclock.c:
1195         * gst/gstelement.c:
1196         * gst/gstelementfactory.c:
1197         * gst/gstelementfactory.h:
1198         * gst/gstevent.c:
1199         * gst/gstghostpad.h:
1200         * gst/gstindex.h:
1201         * gst/gstinterface.h:
1202         * gst/gstminiobject.c:
1203         * gst/gstminiobject.h:
1204         * gst/gstpad.c:
1205         * gst/gstpad.h:
1206         * gst/gstpadtemplate.h:
1207         * gst/gstpipeline.h:
1208         * gst/gstpluginfeature.h:
1209         * gst/gstquery.h:
1210         * gst/gstqueue.h:
1211         * gst/gsttaglist.c:
1212         * gst/gsttaglist.h:
1213         * gst/gsttagsetter.c:
1214         * gst/gsttagsetter.h:
1215         * gst/gsttrace.c:
1216         * gst/gsttrace.h:
1217         * gst/gsttypefind.h:
1218         * gst/gsturi.h:
1219         * gst/gstvalue.c:
1220         * gst/net/gstnetclientclock.c:
1221         * gst/net/gstnetclientclock.h:
1222         * gst/net/gstnettimepacket.c:
1223         * gst/net/gstnettimeprovider.c:
1224         * gst/net/gstnettimeprovider.h:
1225         Doc fixes.
1226
1227 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1228
1229         * configure.ac: back to HEAD
1230
1231 === release 0.9.6 ===
1232
1233 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
1234
1235         * configure.ac:
1236           releasing 0.9.6, "Always On Time"
1237
1238 2005-11-23  Wim Taymans  <wim@fluendo.com>
1239
1240         * docs/gst/gstreamer-sections.txt:
1241         * gst/glib-compat.c:
1242         * gst/gsttagsetter.c:
1243         * gst/gstvalue.c:
1244         * gst/net/gstnetclientclock.c:
1245         * gst/net/gstnettimepacket.h:
1246         Doc updates.
1247
1248 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1249
1250         * docs/faq/using.xml:
1251         * docs/libs/tmpl/gstcontrol.sgml:
1252         * docs/manual/advanced-dparams.xml:
1253         * docs/manual/appendix-checklist.xml:
1254         * docs/manual/basics-elements.xml:
1255         * docs/pwg/other-source.xml:
1256         * docs/random/moving-plugins:
1257         * gst/gstpad.c:
1258         * tools/gst-launch.1.in:
1259           remove mentions of sinesrc
1260
1261 2005-11-23  Michael Smith <msmith@fluendo.com>
1262
1263         * docs/gst/gstreamer-sections.txt:
1264           Update for new API and API changes.
1265         * gst/gstobject.h:
1266           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1267         * gst/gstvalue.c:
1268           Documentation typo fix.
1269         * gst/net/gstnettimepacket.c:
1270           Documentation fixes for arguments.
1271
1272 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
1273
1274         * gst/gststructure.c: (gst_structure_get_fraction),
1275         (gst_structure_parse_value),
1276         (gst_structure_fixate_field_nearest_fraction):
1277         * gst/gststructure.h:
1278         * gst/gstutils.c: (gst_util_uint64_scale_int):
1279         * gst/gstutils.h:
1280         * scripts/update-funcnames:
1281         API Changes. 
1282         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1283         Make gst_structure_fixate_field_nearest_fraction take a numerator
1284         and denominator argument instead of a GValue
1285         add gst_structure_get_fraction helper function.
1286
1287 2005-11-23  Wim Taymans  <wim@fluendo.com>
1288
1289         * docs/design/part-TODO.txt:
1290         Update TODO.
1291
1292         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1293         * gst/net/gstnetclientclock.h:
1294         Use parent fields for timeout and window_size.
1295
1296 2005-11-23  Andy Wingo  <wingo@pobox.com>
1297
1298         * check/net/gstnetclientclock.c (test_functioning): Adjust to
1299         rate_num/rate_denom change.
1300
1301         * gst/net/gstnetclientclock.c
1302         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1303         OBJECT_LOCK. Don't call add_observation with the lock.
1304
1305         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1306         fraction.
1307         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1308         rate fraction.
1309         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1310         deal with rate as a fraction whose numerator and denominator are
1311         GstClockTime values.
1312         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1313         master; the other fields are protected by the SLAVE_LOCK.
1314         (do_linear_regression): Note that this must be called with the
1315         SLAVE_LOCK.
1316         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1317         OBJECT_LOCK. Call set_calibration instead of touching the
1318         variables directly.
1319         (gst_clock_set_property, gst_clock_get_property): Protect
1320         master/slave parameters with the SLAVE_LOCK.
1321
1322         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1323         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1324         note that all of the instance variables that add_observation and
1325         the set_master functions use are protected by that lock and not
1326         the OBJECT_LOCK.
1327         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1328
1329         * gst/gstclock.c (gst_clock_add_observation): No longer requires
1330         the caller to take the object lock.
1331
1332 2005-11-23  Wim Taymans  <wim@fluendo.com>
1333
1334         * gst/gsterror.c: (_gst_core_errors_init):
1335         * gst/gsterror.h:
1336         Add error for clock stuff.
1337
1338         * gst/gstpipeline.c: (gst_pipeline_change_state),
1339         (gst_pipeline_set_clock):
1340         Post clock error when clock cannot be used in a pipeline.
1341
1342 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
1343
1344         * docs/gst/gstreamer-sections.txt:
1345           make two symbols from gstinfo private for the docs
1346         * gst/base/gstcollectpads.h:
1347         * gst/gstutils.c:
1348           fix doc typos, update docs
1349
1350 2005-11-22  Wim Taymans  <wim@fluendo.com>
1351
1352         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1353         (gst_base_sink_wait), (gst_base_sink_do_sync),
1354         (gst_base_sink_handle_event):
1355         * gst/base/gstbasesink.h:
1356         No need to store the clock, the parent element class already
1357         has it.
1358
1359         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
1360         Updates for clock_set returning a gboolean
1361
1362         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
1363         (gst_clock_id_wait_async), (gst_clock_class_init),
1364         (gst_clock_init), (gst_clock_finalize),
1365         (gst_clock_get_internal_time), (gst_clock_get_time),
1366         (gst_clock_slave_callback), (gst_clock_set_master),
1367         (gst_clock_get_master), (do_linear_regression),
1368         (gst_clock_add_observation), (gst_clock_set_property),
1369         (gst_clock_get_property):
1370         * gst/gstclock.h:
1371         Implement master/slave. When setting a clock as a slave, a
1372         periodic timeout is scheduled to sample master and slave times.
1373         Then the slave clock is recalibrated to match offset and rate
1374         of the master clock.
1375         Update logging a bit.
1376         Add flag so that a clock can state that is cannot be slaved to
1377         another clock.
1378
1379         * gst/gstelement.c: (gst_element_set_clock):
1380         * gst/gstelement.h:
1381         The set clock returns a gboolean for when an element cannot
1382         deal with the selected clock in the pipeline. 
1383
1384         * gst/gstpipeline.c: (gst_pipeline_change_state),
1385         (gst_pipeline_set_clock):
1386         * gst/gstpipeline.h:
1387         Handle the case where the selected clock cannot be set on
1388         the pipeline.
1389
1390         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
1391         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1392         (gst_net_client_clock_set_property),
1393         (gst_net_client_clock_get_property),
1394         (gst_net_client_clock_observe_times):
1395         * gst/net/gstnetclientclock.h:
1396         Use regression code in GstClock parent, remove duplicated
1397         functionality.
1398
1399 2005-11-22  Michael Smith <msmith@fluendo.com>
1400
1401         * gst/gstutils.c: (gst_util_clock_time_scale):
1402         * gst/gstutils.h:
1403         * docs/gst/gstreamer-sections.txt:
1404           Rename method to have extra underscore.
1405
1406 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1407
1408         * gst/elements/Makefile.am:
1409         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
1410         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1411         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1412         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
1413         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
1414         * gst/elements/gstfakesrc.h:
1415         * gst/gstqueue.c: (queue_leaky_get_type):
1416           correctly fix GEnumValues so that nick is the short lowercase
1417           dashed tag
1418         * tools/gst-inspect.c: (print_element_properties_info):
1419           also show the nick, since it's useful to use from parse_launch
1420           syntax
1421           Fixes #322139
1422
1423 2005-11-22  Michael Smith <msmith@fluendo.com>
1424
1425         * gst/gstutils.c: (gst_util_clocktime_scale):
1426         * gst/gstutils.h:
1427         * docs/gst/gstreamer-sections.txt:
1428           Add util method for scaling a clocktime by a fraction. Useful 
1429           implementation is left as an exercise for the reader.
1430
1431 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1432
1433         * gst/gstvalue.c: (gst_value_collect_fraction_range):
1434         If needed, allocate storage in the destination value during
1435         collection.
1436
1437 2005-11-22  Edward Hervey  <edward@fluendo.com>
1438
1439         * docs/gst/gstreamer-sections.txt:
1440         * gst/Makefile.am:
1441         * gst/gst.h:
1442         * gst/gsturitype.c:
1443         * gst/gsturitype.h:
1444         * gst/gstutils.c: (gst_util_set_object_arg):
1445         * tools/gst-compprep.c: (main):
1446         * tools/gst-inspect.c: (print_element_properties_info):
1447         Removed GstURI, closes bug #321061
1448
1449 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1450
1451         * check/gst/gststructure.c: (GST_START_TEST):
1452         * gst/gststructure.c: (gst_structure_parse_value):
1453           Oops, broke automatic string type parsing.
1454           Add a test to catch it in future.
1455
1456 2005-11-22  Andy Wingo  <wingo@pobox.com>
1457
1458         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
1459         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
1460         Actually rename the function implementations. Grr.
1461
1462 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1463
1464         * check/gst/capslist.h:
1465           Comment test cases
1466         * check/gst/gststructure.c: (GST_START_TEST),
1467         (gst_structure_suite):
1468           Test automatic value type detection in gst_structure_from_string.
1469         * gst/gststructure.c: (gst_structure_parse_value):
1470           Add fraction as a type we try and guess automatically in
1471           caps/structure strings.
1472
1473 2005-11-22  Andy Wingo  <wingo@pobox.com>
1474
1475         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
1476
1477         * gst/gsttagsetter.h:
1478         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
1479         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
1480         (gst_tag_setter_add_tag_valist)
1481         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
1482         _add_values, _add_valist, and _add_valist_values. Since this is an
1483         interface the function suffixes should be more explicit so
1484         language binding don't end up with element.add_valist ->
1485         gst_tag_setter_add_valist, for example. Fixes #322069.
1486
1487 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1488
1489         * check/gst/gstcaps.c: (GST_START_TEST):
1490           Extend caps string tests to check that a caps to string
1491           conversion is reversible and produces the same caps.
1492
1493         * gst/gststructure.c: (gst_structure_value_get_generic_type):
1494           Output "fraction" as the generic type fraction range, so caps
1495           serialisation and deserialisation works.
1496         * check/gst/capslist.h:
1497         * gst/gstvalue.c: (gst_value_deserialize_fraction):
1498           Support 'MIN' and 'MAX' for deserialising fractions.
1499
1500 2005-11-22  Andy Wingo  <wingo@pobox.com>
1501
1502         * gst/gstevent.h (gst_event_new_new_segment)
1503         (gst_event_parse_new_segment, gst_event_new_buffer_size)
1504         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
1505         Renamed from *_newsegment, *_buffersize, *_notarget.
1506
1507         * scripts/update-funcnames: New script, performs the changes
1508         listed above.
1509
1510 2005-11-22  Wim Taymans  <wim@fluendo.com>
1511
1512         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1513         Make sure the GstFlowReturn is returned.
1514
1515         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
1516         (gst_bus_add_signal_watch):
1517         * gst/gstbus.h:
1518         add gst_bus_add_signal_watch_full.
1519
1520         * gst/gstplugin.c: (gst_plugin_load_file):
1521         Small style cleanup.
1522
1523 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1524
1525         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
1526           Block the fakesrc srcpad when we send an event, to avoid
1527           contention on the stream_lock causing random test failures.
1528
1529 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1530
1531         * check/gst/gstvalue.c: (GST_START_TEST):
1532         * gst/gstvalue.c: (gst_value_fraction_subtract):
1533           Fix subtraction.
1534
1535 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
1536
1537         * gst/gst.h:
1538           include "gstchildproxy.h"
1539         * gst/gstchildproxy.h:
1540         * libs/gst/controller/gstcontroller.h:
1541           use G_GNUC_NULL_TERMINATED
1542
1543 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1544
1545         * check/gst/capslist.h:
1546         * check/gst/gstcaps.c: (GST_START_TEST):
1547         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1548         * gst/gststructure.c: (gst_structure_parse_range),
1549         (gst_structure_fixate_field_nearest_fraction):
1550         * gst/gststructure.h:
1551         * gst/gstvalue.c: (gst_value_init_fraction_range),
1552         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
1553         (gst_value_collect_fraction_range),
1554         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
1555         (gst_value_set_fraction_range_full),
1556         (gst_value_get_fraction_range_min),
1557         (gst_value_get_fraction_range_max),
1558         (gst_value_serialize_fraction_range),
1559         (gst_value_transform_fraction_range_string),
1560         (gst_value_compare_fraction_range),
1561         (gst_value_deserialize_fraction_range),
1562         (gst_value_intersect_fraction_fraction_range),
1563         (gst_value_intersect_fraction_range_fraction_range),
1564         (gst_value_subtract_fraction_fraction_range),
1565         (gst_value_subtract_fraction_range_fraction),
1566         (gst_value_subtract_fraction_range_fraction_range),
1567         (gst_value_collect_fraction), (gst_value_fraction_multiply),
1568         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
1569         (gst_value_transform_string_fraction), (_gst_value_initialize):
1570         * gst/gstvalue.h:
1571           Implement fraction ranges and extend GstFraction to support
1572           arithmetic subtraction, as well as deserialization from integer
1573           strings such as "100"
1574           Add a testsuite as for int and double range set operations
1575
1576 2005-11-21  Andy Wingo  <wingo@pobox.com>
1577
1578         * gst/gsttaglist.h: 
1579         * gst/gstcaps.h: 
1580         * gst/gststructure.h: Add glib-compat.h.
1581
1582 2005-11-21  Wim Taymans  <wim@fluendo.com>
1583
1584         * gst/gstbin.c: (gst_bin_change_state_func):
1585         Fix for #321595
1586
1587 2005-11-21  Wim Taymans  <wim@fluendo.com>
1588
1589         * gst/gstsegment.h:
1590         And add a nice define too.
1591
1592 2005-11-21  Wim Taymans  <wim@fluendo.com>
1593
1594         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
1595         (gst_segment_new), (gst_segment_free), (gst_segment_init),
1596         (gst_segment_set_duration), (gst_segment_set_last_stop),
1597         (gst_segment_set_seek), (gst_segment_set_newsegment),
1598         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1599         (gst_segment_clip):
1600         * gst/gstsegment.h:
1601         Make binding friendly.
1602
1603 2005-11-21  Andy Wingo  <wingo@pobox.com>
1604
1605         * gst/gsttagsetter.h: 
1606         * gst/gsttaglist.h: 
1607         * gst/gststructure.h: 
1608         * gst/gstcaps.h: 
1609         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
1610         #319940.
1611
1612         * gst/gsterror.c (_gst_core_errors_init):
1613         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
1614         category.
1615
1616         * gst/Makefile.am (gst_headers): Add glib-compat.h.
1617         (noinst_HEADERS): noinst the -private.
1618
1619 2005-11-21  Michael Smith <msmith@fluendo.com>
1620
1621         * gst/gstplugin.h:
1622         * gst/gstregistry.h:
1623           Remove unimplemented declarations for which we can see no sensible
1624           use.
1625
1626 2005-11-21  Andy Wingo  <wingo@pobox.com>
1627
1628         * gst/gst.h: Include glib-compat.h.
1629
1630         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
1631
1632         * gst/glib-compat.c: Include the public and the private header.
1633
1634         * gst/glib-compat-private.h: Copied here from glib-compat.h.
1635
1636         * gst/gstvalue.c: 
1637         * gst/gstpad.c: 
1638         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
1639
1640         * check/gst/gstevent.c (create_custom_events): Check that
1641         FLUSH_STOP is serialized.
1642
1643         * check/elements/identity.c (event_func): 
1644         * check/elements/fakesrc.c (event_func): No stream lock, the core
1645         takes it.
1646
1647         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
1648         stream lock taking, yay.
1649
1650         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
1651         ensure that core takes the stream lock.
1652
1653         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
1654         lock name change.
1655
1656         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
1657         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
1658         it already. For the flush start we do take it though so we get the
1659         right preroll state change messages.
1660
1661         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
1662         the stream lock here, the core does it for us.
1663
1664         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
1665         GST_STREAM_GET_LOCK.
1666         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
1667         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
1668         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
1669         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
1670         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
1671         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
1672
1673         * gst/gstpad.c: Update for stream lock name change.
1674
1675         * gst/base/gstbasesink.c: Update for preroll lock name change.
1676
1677 2005-11-21  Wim Taymans  <wim@fluendo.com>
1678
1679         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
1680         (gst_clock_get_master):
1681         * gst/gstclock.h:
1682         * gst/gstsystemclock.c: (gst_system_clock_init):
1683         Convert Clock flags to object flags.
1684         Added methods to manage master/slave clocks.
1685
1686 2005-11-21  Wim Taymans  <wim@fluendo.com>
1687
1688         * check/gst/gstsegment.c: (GST_START_TEST):
1689         * docs/design/part-TODO.txt:
1690         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1691         (gst_base_sink_event), (gst_base_sink_do_sync),
1692         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
1693         (gst_base_sink_query), (gst_base_sink_change_state):
1694         * gst/base/gstbasesink.h:
1695         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
1696         (gst_base_src_default_newsegment),
1697         (gst_base_src_configure_segment), (gst_base_src_do_seek),
1698         (gst_base_src_get_range), (gst_base_src_loop),
1699         (gst_base_src_change_state):
1700         * gst/base/gstbasesrc.h:
1701         * gst/base/gstbasetransform.c:
1702         (gst_base_transform_prepare_output_buf),
1703         (gst_base_transform_event), (gst_base_transform_change_state):
1704         * gst/base/gstbasetransform.h:
1705         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1706         (gst_collect_pads_event):
1707         * gst/base/gstcollectpads.h:
1708         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
1709         (gst_fake_src_create):
1710         * gst/elements/gstfakesrc.h:
1711         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1712         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1713         (gst_segment_set_last_stop), (gst_segment_set_seek),
1714         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
1715         (gst_segment_to_running_time), (gst_segment_clip):
1716         * gst/gstsegment.h:
1717         More segment updates, replace code in plugins with segment
1718         helper functions.
1719
1720 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1721
1722         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
1723         Don't ignore sscanf results
1724
1725 2005-11-21  Andy Wingo  <wingo@pobox.com>
1726
1727         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
1728
1729         * *.h:
1730         * *.c: Ran scripts/update-macros. Oh yes.
1731
1732         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
1733         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
1734         GST_GET_LOCK, etc.
1735
1736         * scripts/update-macros: New script. Run it on your files to
1737         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
1738         well.
1739
1740 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1741
1742         * docs/gst/Makefile.am:
1743         * docs/gst/gstreamer-docs.sgml:
1744         * docs/gst/gstreamer-sections.txt:
1745         * docs/gst/gstreamer.types:
1746         * gst/gstinfo.h:
1747           more docs fixes, add new api to the docs
1748
1749 2005-11-21  Andy Wingo  <wingo@pobox.com>
1750
1751         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
1752         state_broadcast call.
1753
1754         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
1755
1756 2005-11-21  Julien MOUTTE  <julien@moutte.net>
1757
1758         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
1759         function calls for arrays.
1760
1761 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1762
1763         * docs/random/ensonic/media-device-daemon.txt:
1764           wild idea, can this be done?
1765         * docs/gst/gstreamer-sections.txt:
1766         * gst/gsterror.h:
1767         * gst/gstfilter.c:
1768         * gst/gstfilter.h:
1769         * gst/gstplugin.h:
1770         * gst/gstpluginfeature.c:
1771         * gst/gsttrace.c:
1772         * gst/gstvalue.c:
1773         * gst/gstvalue.h:
1774           doc fixes and additions
1775
1776 2005-11-21  Andy Wingo  <wingo@pobox.com>
1777
1778         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
1779         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
1780         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
1781         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
1782         private to the basesrc implementation.
1783
1784         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
1785         behalf of event function if necessary. It should no longer be
1786         necessary to take the stream lock in pad's event functions. Fixes
1787         #320299.
1788
1789 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1790         * docs/gst/gstreamer-sections.txt:
1791         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
1792         (gst_structure_fixate_field_nearest_double),
1793         (gst_structure_fixate_field_boolean):
1794         * gst/gststructure.h:
1795         * win32/common/libgstreamer.def:
1796         * win32/gstreamer.def:
1797
1798         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
1799         (#322027)
1800
1801 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1802
1803         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
1804         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
1805         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
1806         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
1807         (gst_fdsrc_uri_handler_init):
1808         * gst/elements/gstfdsrc.h:
1809           Port fd:// URI handler from 0.8 to fdsrc
1810
1811 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1812
1813         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
1814         (gst_value_serialize_fourcc):
1815         * gst/gstvalue.h:
1816           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
1817           consistent with our other format defines (#320324).
1818
1819 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1820
1821         * gst/gstvalue.c: (gst_value_is_fixed):
1822           Revert previous commit. Value lists are by definition
1823           not fixed, as they are a list of possible values.
1824
1825 2005-11-21  Andy Wingo  <wingo@pobox.com>
1826
1827         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
1828         during the stable series if we need it. Fixes #319178.
1829
1830         * gst/gstevent.c (gst_event_new_filler): Removed.
1831
1832         * check/gst/gstevent.c: Update comment about filler events.
1833
1834 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1835
1836         * gst/gstvalue.c: (gst_value_is_fixed):
1837           Should handle both value arrays and value lists.
1838
1839 2005-11-21  Andy Wingo  <wingo@pobox.com>
1840
1841         patch by: Alessandro Dessina <alessandro nnva org>
1842
1843         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
1844         functions to access arrays. Fixes #321962.
1845
1846 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1847
1848         * docs/gst/gstreamer.types:
1849           gst_collectpads_get_type => gst_collect_pads_get_type.
1850           
1851         * gst/base/gstbasetransform.c:
1852           Remove unused SIGNAL_HANDOFF enum.
1853
1854 2005-11-21  Andy Wingo  <wingo@pobox.com>
1855
1856         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
1857         the event type (upstream, downstream, serialized). Renamed
1858         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
1859         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
1860         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
1861
1862         * gst/gstevent.c: Update for new CUSTOM event names.
1863
1864         * check/gst/gstevent.c: Update check for new CUSTOM event names.
1865
1866         * gst/gstevent.h:
1867         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
1868         bug #319392.
1869
1870 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1871
1872         * docs/gst/gstreamer-sections.txt:
1873         * win32/common/libgstbase.def:
1874         * win32/libgstbase.def:
1875         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1876         (gst_collect_pads_class_init), (gst_collect_pads_init),
1877         (gst_collect_pads_finalize), (gst_collect_pads_new),
1878         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
1879         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
1880         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
1881         (gst_collect_pads_start), (gst_collect_pads_stop),
1882         (gst_collect_pads_peek), (gst_collect_pads_pop),
1883         (gst_collect_pads_available), (gst_collect_pads_read),
1884         (gst_collect_pads_flush), (gst_collect_pads_event),
1885         (gst_collect_pads_chain):
1886         * gst/base/gstcollectpads.h:
1887           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
1888           unimplemented functions as unimplemented. Add padding to
1889           GstCollectData. (#320766, #320423)
1890
1891 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1892
1893         * gst/gstmessage.c:
1894           Improve docs for DURATION message (usage of duration parameter)
1895           (#320113)
1896
1897 2005-11-20  Wim Taymans  <wim@fluendo.com>
1898
1899         * check/Makefile.am:
1900         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
1901         (main):
1902         * gst/Makefile.am:
1903         * gst/gst.h:
1904         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1905         (gst_segment_set_seek), (gst_segment_set_newsegment),
1906         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1907         (gst_segment_clip):
1908         * gst/gstsegment.h:
1909         Added segment helper structure and methods. Not fully implemented
1910         yet.
1911         Added segment check.
1912
1913 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
1914
1915         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1916           Add a deserialisation test for fractions
1917         * examples/metadata/read-metadata.c: (message_loop),
1918         (make_pipeline), (main):
1919           Fix up metadata reading sample.
1920         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1921           Debug format fix
1922         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1923           Don't try and fixate empty caps
1924         * gst/gst_private.h:
1925           Wrap in G_BEGIN_DECLS/G_END_DECLS
1926         * gst/gstvalue.c: (gst_value_collect_fraction),
1927         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
1928         (gst_value_transform_string_fraction),
1929         (gst_value_compare_fraction):
1930           Add some extra guards to ensure that we don't end up 
1931           with an invalid denominator of 0 in a gstfraction and
1932           that fractions always get reduced.
1933
1934 2005-11-20  Wim Taymans  <wim@fluendo.com>
1935
1936         * docs/gst/gstreamer-sections.txt:
1937         * gst/gstbuffer.h:
1938         * gst/gstelement.c:
1939         * gst/gstformat.c:
1940         * gst/gstformat.h:
1941         * gst/gstindex.h:
1942         * gst/gstquery.c:
1943         * gst/gstquery.h:
1944         * gst/gstvalue.c:
1945         Doc fixes.
1946
1947 2005-11-20  Wim Taymans  <wim@fluendo.com>
1948
1949         * docs/design/part-TODO.txt:
1950         * gst/gstcaps.h:
1951         Make a proper enum of the flag.
1952
1953 2005-11-19  Wim Taymans  <wim@fluendo.com>
1954
1955         * docs/design/part-TODO.txt:
1956         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
1957         (gst_format_to_quark), (gst_format_register):
1958         * gst/gstformat.h:
1959         * gst/gstquery.c: (_gst_query_initialize),
1960         (gst_query_type_get_name), (gst_query_type_to_quark),
1961         (gst_query_type_register):
1962         * gst/gstquery.h:
1963         Add type to quark and type to string conversions.
1964
1965 2005-11-19  Andy Wingo  <wingo@pobox.com>
1966
1967         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
1968         #320097.
1969
1970 2005-11-19  Wim Taymans  <wim@fluendo.com>
1971
1972         * docs/design/part-TODO.txt:
1973         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
1974         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
1975         (gst_bin_handle_message_func):
1976         * gst/gstbin.h:
1977         Make message handling overridable.
1978
1979 2005-11-19  Andy Wingo  <wingo@pobox.com>
1980
1981         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
1982
1983         * gst/gstclock.h:
1984         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
1985         be a GstClockTime.
1986         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
1987         is a GstClockTime. Fixes #321710.
1988
1989         * gst/gstclock.h (GstClock): Remove offset property. Add
1990         internal_calibration and external_calibration. Fix padding. Pad
1991         also by GstClockTime so we don't run into problems.
1992
1993         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
1994         (gst_clock_get_rate_offset): Remove.
1995         (gst_clock_set_time_adjust): Remove. Fixes #321712.
1996
1997         * gst/gstutils.h:
1998         * gst/gstutils.c (g_static_rec_cond_wait)
1999         (g_static_rec_cond_timed_wait): Removed, no longer needed.
2000
2001         * gst/gstbin.c: Remove terrible continue_state prototype.
2002
2003         * gst/gstelement.h (gst_element_continue_state): Make public.
2004
2005         * gst/gstelement.h:
2006         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
2007         by continue_state. Fixes #319389.
2008
2009         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
2010         Really fixes #168438. However I don't see anywhere where the
2011         filter function is called... stupid GStreamer...
2012         
2013         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
2014         don't have a dispose function, so it won't get called when the
2015         object is unreffed, but oh well!
2016
2017         * gst/gstindex.c (gst_index_set_filter_full): New API function,
2018         allows a destroy function to be set so user_data can be freed.
2019         Fixes #168438.
2020         (gst_index_set_filter): Call gst_index_set_filter_full.
2021
2022         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
2023
2024         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
2025         string should produce an error, given the lack of a way to
2026         represent NULL strings. Fixes #165650.
2027         
2028         * gst/gstvalue.h: 
2029         * gst/gstvalue.c (gst_value_array_append_value) 
2030         (gst_value_array_prepend_value, gst_value_array_get_size) 
2031         (gst_value_array_get_value): New API, copied from
2032         gst_value_list_*, only operates on arrays.
2033         (gst_value_list_append_value, gst_value_list_prepend_value) 
2034         (gst_value_list_concat, gst_value_list_get_size) 
2035         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
2036
2037         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
2038         init_list, because it works on both.
2039         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
2040         (gst_value_copy_list_or_array): Renamed from copy_list.
2041         (gst_value_free_list_or_array): Renamed from free_list.
2042         (gst_value_collect_list_or_array): Renamed from collect_list.
2043         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
2044         (gst_value_list_or_array_peek_pointer): Renamed from
2045         list_peek_pointer.
2046         (_gst_value_array_value_table, _gst_value_list_value_table):
2047         Update value table functions.
2048         (gst_value_compare_list_or_array): Renamed from compare_list.
2049
2050         * gsttaglist.h: Whoops, foreach function returns void. Also fix
2051         some constness.
2052
2053         * gst/gsttaglist.c:
2054         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
2055         GstTagList*. Fixes #143472.
2056
2057         * gst/gststructure.h: Clarify what the foreach/map functions can
2058         or can't do to their arguments.
2059
2060 2005-11-18  Wim Taymans  <wim@fluendo.com>
2061
2062         * gst/gstclock.c: (gst_clock_set_calibration),
2063         (gst_clock_get_calibration):
2064         Doc and API fixes.
2065         Calibration can be set with internal time equal to current
2066         internal time too.
2067
2068 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2069
2070         * gst/gsterror.c:
2071         * gst/gsterror.h:
2072           document
2073
2074 2005-11-18  Andy Wingo  <wingo@pobox.com>
2075
2076         * configure.ac: 
2077         * pkgconfig/gstreamer-net.pc.in:
2078         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2079         * pkgconfig/Makefile.am: Add net pkgconfig files.
2080
2081 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
2082
2083         * gst/gstcaps.c:
2084         * gst/gstghostpad.c:
2085         * gst/gsttrace.c:
2086         * gst/gstvalue.c:
2087         * gst/gstvalue.h:
2088           docs fixes
2089
2090 2005-11-18  Andy Wingo  <wingo@pobox.com>
2091
2092         * gst/net/gstnetclientclock.c: Turn off debugging.
2093
2094         * check/net/gstnetclientclock.c (test_functioning): Assert that the
2095         times connverge somewhat. Can't make a real test.
2096
2097         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
2098         integer arithmetic. Return the minimum of the domain, which can be
2099         set as "internal" for gst_clock_set_calibration.
2100         (gst_net_client_clock_observe_times): Call _set_calibration.
2101         (gst_net_client_clock_new): Call _set_calibration instead of
2102         rate_offset.
2103
2104         * check/net/gstnetclientclock.c (test_functioning): Use the right
2105         adjustment api.
2106
2107         * gst/gstclock.h:
2108         * gst/gstclock.c (gst_clock_get_calibration) 
2109         (gst_clock_set_calibration): New functions, obsolete the ones I
2110         added yesterday. Doh. Precision issues mean we have to extrapolate
2111         from a point in the more recent past than 1970.
2112         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
2113         obsolete.
2114         (gst_clock_adjust_unlocked): Use the right calibration data.
2115
2116 2005-11-18  Edward Hervey  <edward@fluendo.com>
2117
2118         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
2119         Also reset the ->current_* values in READY->PAUSED
2120
2121 2005-11-18  Andy Wingo  <wingo@pobox.com>
2122
2123         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
2124         Whoops, check the right fd. Also add some debugging.
2125         (gst_net_client_clock_observe_times): Adjust for int64 offset.
2126         (do_linear_regression): Add a crapload of debugging. Subtract off
2127         the minimum values from the input series to discard unneeded bits.
2128         Use only int arithmetic. There is still double arithmetic when
2129         calculating the intercept that needs fixing. Return boolean to
2130         indicate success; FALSE would mean the domain or range is too
2131         great. Still needs fixes.
2132
2133 2005-11-18  Wim Taymans  <wim@fluendo.com>
2134
2135         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2136         For the current position in stream time, we need to subtract
2137         accumulated time.
2138         
2139         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2140         Release lock before calling the callback function of async
2141         entries.
2142
2143 2005-11-18  Andy Wingo  <wingo@pobox.com>
2144
2145         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
2146         Port goes all the way to MAXUINT16.
2147
2148         * gst/net/gstnettimeprovider.c: Make the port range the same as
2149         for the kernel: 0 assigns, otherwise ports are less than
2150         MAXUINT16.
2151
2152         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
2153         port change.
2154
2155         * check/net/gstnetclientclock.c (test_functioning): Add the start
2156         of another test. 
2157
2158 2005-11-18  Wim Taymans  <wim@fluendo.com>
2159
2160         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2161         (gst_bin_remove_func), (bin_bus_handler):
2162         * gst/gstbin.h:
2163         Removing a clock provider from a bin, triggers a clock lost message
2164         so that a new clock will be selected.
2165         Adding a clock to a bin triggers a clock provider message.
2166         Make sure we reselect a clock when we received a clock lost message.
2167         Keep a reference to the element that provided the clock.
2168
2169 2005-11-18  Andy Wingo  <wingo@pobox.com>
2170
2171         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2172         the clock initially so it produces values around the base time.
2173         (gst_net_client_clock_class_init): Typo fix.
2174         (gst_net_client_clock_thread): Add note on when the socket gets
2175         closed.
2176
2177 2005-11-17  Wim Taymans  <wim@fluendo.com>
2178
2179         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2180         Free remote and local time arrays.
2181
2182 2005-11-17  Wim Taymans  <wim@fluendo.com>
2183
2184         * gst/net/gstnetclientclock.c: (do_linear_regression),
2185         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2186         Fix compilation, uninitialized vars and a forgotten continue.
2187
2188 2005-11-17  Andy Wingo  <wingo@pobox.com>
2189
2190         * check/Makefile.am (check_PROGRAMS): 
2191         * check/net/gstnetclientclock.c: Add a most minimal test for the
2192         net client clock. More to come later.
2193
2194         * gst/net/gstnet.h: 
2195         * gst/net/Makefile.am: Add netclientclock.
2196
2197         * gst/net/gstnetclientclock.h:
2198         * gst/net/gstnetclientclock.c: New files, implement an untested
2199         GstClock that takes its time from a network time provider.
2200         Implements the algorithm in network-clock.scm.
2201
2202         * tests/network-clock.scm (*window-size*): Rename from
2203         *queue-length*.
2204         * tests/network-clock.scm (network-time): 
2205         * tests/network-clock-utils.scm (q-push): Update callers.
2206
2207 2005-11-17  Wim Taymans  <wim@fluendo.com>
2208
2209         * gst/gstbin.c: (gst_bin_provide_clock_func),
2210         (gst_bin_sort_iterator_new):
2211         And unref the child too..
2212
2213 2005-11-17  Wim Taymans  <wim@fluendo.com>
2214
2215         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2216         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2217         Refactor the sort iterator so it can be used while holding the
2218         LOCK too.
2219         Make clock selection select a clock closest to the source.
2220
2221 2005-11-17  Michael Smith <msmith@fluendo.com>
2222
2223         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2224         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2225         * gst/gstclock.h:
2226           Anonymous structs are a gcc (and some other compilers) extension, so
2227           don't use them. Since this is only for ABI-compatibility, and our
2228           API/ABI freeze is over in a few days, this whole thing will only
2229           last a few days, so don't bother trying to think up a meaningful
2230           name for the struct.
2231
2232 2005-11-17  Andy Wingo  <wingo@pobox.com>
2233
2234         * gst/gstclock.h (GstClock): Add rate and offset properties,
2235         preserving ABI stability. Add rate/offset accessors. Will file bug
2236         for the freeze break.
2237
2238         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2239         and offset, trying to keep precision and avoiding
2240         underflow/overflow.
2241         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2242         functions. Make gst_clock_set_time_adjust obsolete.
2243         (gst_clock_set_time_adjust): Note that this function is obsolete.
2244         Will file bug soon.
2245
2246         * gst/base/gstbasetransform.h: Make the ABI-stability hack
2247         greppable by using GST_PADDING-1+1.
2248
2249 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
2250
2251         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2252
2253         * gst/gstmessage.c: (gst_message_parse_clock_lost):
2254           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2255
2256         * gst/gstpadtemplate.h:
2257         * gst/gstpluginfeature.h:
2258           Don't use c++ style comments in headers (#321638).
2259
2260 2005-11-16  Andy Wingo  <wingo@pobox.com>
2261
2262         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2263         buffer.
2264
2265         * check/net/gstnettimeprovider.c: Check to see that the time
2266         provider actually provides times. Works, yo!
2267
2268 2005-11-16  Wim Taymans  <wim@fluendo.com>
2269
2270         * check/Makefile.am:
2271         Enable more tests.
2272
2273         * check/elements/fakesrc.c: (GST_START_TEST):
2274         Set element to NULL before disposing it.
2275
2276 2005-11-16  Andy Wingo  <wingo@pobox.com>
2277
2278         * gst/net/Makefile.am:
2279         * gst/net/gstnet.h:
2280         * gst/net/gstnettimeprovider.c: 
2281         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2282         provider, include it from gstnet.h, and add it to the build.
2283
2284         * gst/net/gstnettimepacket.h: 
2285         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2286         sending and receiving.
2287
2288 2005-11-16  Wim Taymans  <wim@fluendo.com>
2289
2290         * check/Makefile.am:
2291         Enable valgrind check.
2292
2293         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2294         (gst_fake_src_alloc_buffer):
2295         Fix memleak.
2296
2297 2005-11-16  Wim Taymans  <wim@fluendo.com>
2298
2299         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2300         Call parent finalize too.
2301
2302 2005-11-16  Wim Taymans  <wim@fluendo.com>
2303
2304         * check/Makefile.am:
2305         Enable valgrind check that should work fine now.
2306
2307         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2308         * gst/gstqueue.c: (gst_queue_init):
2309         Fix memleaks in pad allocation.
2310
2311 2005-11-16  Andy Wingo  <wingo@pobox.com>
2312
2313         * gst/net/Makefile.am:
2314         * gst/net/gstnet.h: New part of core to hold network elements and
2315         objects. Put in core because it exposes API that applications want
2316         to use. The library is named libgstnet-tempname right now because
2317         of the existing libgstnet in gst-plugins-base. Solution is
2318         probably to rename the one in plugins-base; will file a bug for
2319         the freeze break.
2320
2321         * gst/net/gstnettimeprovider.c: 
2322         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2323         get_time call over the network.
2324
2325         * configure.ac: 
2326         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2327
2328         * check/Makefile.am:
2329         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2330         get additions shortly.
2331
2332 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2333
2334         * gst/gstpad.c: (gst_pad_new_from_static_template):
2335         * gst/gstpad.h:
2336           add gst_pad_new_from_static_template functions
2337         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2338         (gst_check_setup_sink_pad):
2339         * gst/elements/gsttee.c: (gst_tee_init):
2340           and use them
2341
2342 2005-11-16  Wim Taymans  <wim@fluendo.com>
2343
2344         * gst/gstpad.c: (gst_pad_pause_task):
2345         Removed warning, it's not really an error either.
2346
2347 2005-11-16  Wim Taymans  <wim@fluendo.com>
2348
2349         * gst/base/gstbasetransform.c:
2350         (gst_base_transform_prepare_output_buf),
2351         (gst_base_transform_event):
2352         Check if the caps are NULL, this can happen if the element
2353         is shutting down and the pad caps are set to NULL.
2354
2355 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2356
2357         * gst/elements/gsttee.c: (gst_tee_init):
2358           fix pad template leak in tee
2359
2360 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2361
2362         * gst/glib-compat.c: (g_value_dup_gst_object):
2363         * gst/glib-compat.h:
2364         * gst/gstpad.c: (gst_pad_set_property):
2365           use gst_object_ref when setting the pad template; this will
2366           trigger the pad template leaks on GLib 2.6 and the slaves
2367
2368 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2369
2370         * gst/glib-compat.c: (gst_flags_get_first_value):
2371         * gst/glib-compat.h:
2372         * gst/gstregistryxml.c:
2373           remove functions copied from GLib 2.6
2374
2375 2005-11-16  Michael Smith <msmith@fluendo.com>
2376
2377         * gst/Makefile.am:
2378           Don't link against VALGRIND_LIBS. That was always the wrong thing to
2379           do, but only breaks with newer valgrind versions. We're not a
2380           valgrind tool, we have no link-time dependencies on libcoregrind.
2381
2382 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2383
2384         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2385           some debug changes
2386         * gst/gstmessage.h:
2387           typo fixes
2388
2389 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2390
2391         * gst/base/gstbasesrc.c: (gst_base_src_init):
2392         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2393         * gst/gstqueue.c: (gst_queue_init):
2394         * gst/gstregistryxml.c: (load_feature):
2395           Revert all these unrefs, they don't even pass make check !
2396
2397 2005-11-15  Johan Dahlin  <johan@gnome.org>
2398
2399         * gst/base/gstbasesrc.c: (gst_base_src_init):
2400         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2401         * gst/gstqueue.c: (gst_queue_init): 
2402         Free pad templates, fixes a couple of leaks.
2403
2404 2005-11-15  Daniel Fischer  <dan at f3c dot com>
2405
2406         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2407
2408         * gst/gstpad.c: (gst_pad_get_property):
2409           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
2410           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
2411           (#321452)
2412
2413 2005-11-15  Wim Taymans  <wim@fluendo.com>
2414
2415         * gst/gstevent.c:
2416         Small doc update.
2417
2418 2005-11-15  Andy Wingo  <wingo@pobox.com>
2419
2420         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
2421
2422         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
2423         using GST_CLOCK_TIME_NONE to disable base time management.
2424         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
2425         time if it was NONE before.
2426         (gst_pipeline_change_state): Only munge the base time if
2427         stream_time != GST_CLOCK_TIME_NONE.
2428
2429         * check/gst/gstpipeline.c (test_base_time): Punt around the
2430         problem of the probe not being called, because that's not the
2431         issue I'm looking at. Add a check that setting stream_time to NONE
2432         disables base time management.
2433         
2434 2005-11-15  Wim Taymans  <wim@fluendo.com>
2435
2436         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2437         segment_stop == -1 at startup.
2438
2439         * gst/base/gstbasetransform.c: (gst_base_transform_event),
2440         (gst_base_transform_change_state):
2441         Init segment values at start.
2442
2443 2005-11-15  Wim Taymans  <wim@fluendo.com>
2444
2445         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2446         0 segment values are 0 in any format.
2447
2448         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2449         * gst/base/gstbasetransform.h:
2450         Parse newsegment correctly in basetransform
2451
2452         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2453         Sync to clock using updated segment values.
2454
2455 2005-11-15  Andy Wingo  <wingo@pobox.com>
2456
2457         * check/gst/gstpipeline.c (test_base_time): Add check that the
2458         base time and stream time are reset correctly.
2459
2460 2005-11-15  Wim Taymans  <wim@fluendo.com>
2461
2462         * docs/design/part-TODO.txt:
2463         Some more TODO items.
2464
2465 2005-11-15  Andy Wingo  <wingo@pobox.com>
2466
2467         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
2468         error if the user selected "no clock" as the clocking method.
2469
2470         * check/gst/gstpipeline.c (test_base_time): New test for buffer
2471         timestamps with live capture.
2472
2473         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
2474         is 0 but we are a live source, timestamp the buffers using the
2475         element's clock.
2476
2477 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
2478
2479         * docs/gst/gstreamer-sections.txt:
2480         * gst/gsterror.c:
2481         * gst/gstghostpad.c:
2482         * gst/gstobject.h:
2483         * gst/gstxml.c:
2484           more section docs
2485
2486 2005-11-14  Wim Taymans  <wim@fluendo.com>
2487
2488         * common/gst.supp:
2489           add suppressions from Wim's Debian machine
2490
2491 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2492
2493         * common/gst.supp:
2494           add suppressions from Andy's AMD64 Ubuntu machine
2495
2496 2005-11-14  Andy Wingo  <wingo@pobox.com>
2497
2498         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
2499         STATE_LOCK not necessary. Fixes #311489.
2500
2501         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
2502         #305291.
2503
2504         * gst/gstindex.c (gst_index_add_object): Note in the docs that
2505         this function is not implemented.
2506
2507 2005-11-14  Julien MOUTTE  <julien@moutte.net>
2508
2509         * gst/base/gstbasetransform.c:
2510         (gst_base_transform_prepare_output_buf):
2511         Ref the source pad caps while we need them.
2512         Fixes (#321386)
2513
2514 2005-11-11  Wim Taymans  <wim@fluendo.com>
2515
2516         * docs/gst/gstreamer-sections.txt:
2517         Added some docs for GstCollectData.
2518
2519         * gst/base/gstadapter.c:
2520         Some small code example fix.
2521
2522         * gst/base/gstcollectpads.c:
2523         * gst/base/gstcollectpads.h:
2524         Document some more.
2525
2526 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2527
2528         * configure.ac: back to HEAD
2529
2530 === release 0.9.5 ===
2531
2532 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
2533
2534         * configure.ac:
2535           releasing 0.9.5, "Bike Lunch Day"
2536
2537 2005-11-11  Wim Taymans  <wim@fluendo.com>
2538
2539         * gst/gstbuffer.c: (_gst_buffer_copy):
2540         Copy more flags.
2541
2542         * gst/gstcaps.c: (gst_caps_is_equal):
2543         Fix some docs.
2544         Make _is_equal fast in the trivial cases.
2545
2546         * gst/gstminiobject.c:
2547         * gst/gstminiobject.h:
2548         More docs. Spifify .h file.
2549
2550         * gst/gstutils.c:
2551         Small doc update.
2552
2553 2005-11-11  Wim Taymans  <wim@fluendo.com>
2554
2555         * gst/base/gstbasetransform.c:
2556         (gst_base_transform_prepare_output_buf),
2557         (gst_base_transform_handle_buffer):
2558         Small cleanups.
2559         If we're processing a buffer and need to allocate an output
2560         buffer, we cannot accept a format change. If we did get a 
2561         format change, we have to alloc a buffer ourselves of the 
2562         right size.
2563
2564 2005-11-11  Wim Taymans  <wim@fluendo.com>
2565
2566         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
2567         While checking the flag for reentrancy in the gstcaps function
2568         is nice to detect recursive invocations, it also makes it 
2569         impossible to call getcaps from multiple threads, which must be
2570         possible. So, checking for recursive calls has to go.
2571
2572 2005-11-11  Michael Smith <msmith@fluendo.com>
2573
2574         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2575           Don't sync on buffers that fall partially outside our current
2576           segment. Prevents an assertion failure/abort playing some files.
2577
2578 2005-11-10  Andy Wingo  <wingo@pobox.com>
2579
2580         * check/gst/gstbin.c (test_message_state_changed_children): Style
2581         fix..
2582
2583         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
2584         gst_bus_poll with the signal watch. Ensures that poll and a signal
2585         watch see the same messages.
2586
2587         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
2588         a poll and a watch at the same time get the same messages.
2589
2590 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2591
2592         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
2593         * gst/gstcaps.c: (gst_caps_intersect):
2594           Don't call gst_caps_do_simplify - it doesn't respect order of caps
2595           and it's not needed.
2596
2597 2005-11-10  Wim Taymans  <wim@fluendo.com>
2598
2599         * docs/design/part-TODO.txt:
2600         Updated todo.
2601
2602 2005-11-10  Wim Taymans  <wim@fluendo.com>
2603
2604         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2605         * gst/base/gstbasesrc.c: (gst_base_src_wait),
2606         (gst_base_src_do_sync), (gst_base_src_get_range):
2607         Implement clock sync in base class.
2608
2609 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2610
2611         patch by: Tim-Philipp Müller <tim at centricular dot net>
2612
2613         * gst/gststructure.c: (gst_structure_parse_field),
2614         (gst_structure_from_string):
2615           Forward-port a 0.8 patch to handle escaped spaces in structure string,
2616           so that gst_parse_launch() can deal with spaces in filtered link
2617           caps (fixes #164479)
2618         * check/gst/capslist.h:
2619         * check/gst/gststructure.c: (GST_START_TEST):
2620           add unit tests for this change
2621
2622 2005-11-10  Wim Taymans  <wim@fluendo.com>
2623
2624         * docs/gst/gstreamer-sections.txt:
2625         * gst/gstelement.c:
2626         * gst/gstelement.h:
2627         Fix docs, move some STATE macros to private.
2628
2629 2005-11-10  Wim Taymans  <wim@fluendo.com>
2630
2631         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
2632         Added check for bug #317341
2633
2634         * gst/gstbuffer.c:
2635         * gst/gstbuffer.h:
2636         Some more spiffifying.
2637
2638         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
2639         Call peer linkfunction if we are a source pad. Totally fixes
2640         #317341
2641
2642         * gst/gstpad.c:
2643         Update docs, source pads should call the peer linkfunction
2644         so they can atomically perform the pad link.
2645
2646 2005-11-09  Wim Taymans  <wim@fluendo.com>
2647
2648         * gst/gstbuffer.c:
2649         * gst/gstbuffer.h:
2650         Uber-spiffy-spiffify some more.
2651
2652 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
2653
2654         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
2655         * gst/elements/gstfilesink.c: (gst_file_sink_init):
2656         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2657         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
2658         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
2659         * gst/gstpad.c: (gst_pad_init):
2660           Use GST_DEBUG_FUNCPTR() more extensively.
2661
2662 2005-11-09  Wim Taymans  <wim@fluendo.com>
2663
2664         * gst/gstobject.c: (gst_object_class_init):
2665         * gst/gstobject.h:
2666         Documentation fixes.
2667
2668 2005-11-09  Edward Hervey  <edward@fluendo.com>
2669
2670         * gst/gsttypefindfactory.c:
2671         Fix docs.
2672         
2673 2005-11-09  Edward Hervey  <edward@fluendo.com>
2674
2675         * gst/base/gsttypefindhelper.c:
2676         * gst/gsttypefind.c:
2677         * gst/gsttypefind.h:
2678         Fix docs.
2679
2680 2005-11-09  Wim Taymans  <wim@fluendo.com>
2681
2682         * gst/gstiterator.c:
2683         Fix revision data.
2684
2685         * gst/gsttask.c:
2686         * gst/gsttask.h:
2687         Fix docs.
2688
2689 2005-11-09  Wim Taymans  <wim@fluendo.com>
2690
2691         * gst/gstevent.h:
2692         * gst/gsturi.h:
2693         Fix docs.
2694
2695 2005-11-09  Wim Taymans  <wim@fluendo.com>
2696
2697         * docs/gst/gstreamer-sections.txt:
2698         Moved the message async delivery private lock and cond
2699         to the private section.
2700
2701         * gst/gstmessage.c:
2702         * gst/gstmessage.h:
2703         Fixed docs.
2704
2705 2005-11-09  Edward Hervey  <edward@fluendo.com>
2706
2707         * docs/gst/gstreamer-sections.txt:
2708         * gst/gsturi.c:
2709         * gst/gsturi.h:
2710         Document GstURIHandler
2711
2712 2005-11-09  Wim Taymans  <wim@fluendo.com>
2713
2714         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
2715         (gst_iterator_find_custom):
2716         * gst/gstiterator.h:
2717         Fix iterator docs.
2718
2719 2005-11-09  Wim Taymans  <wim@fluendo.com>
2720
2721         * gst/gstbin.h:
2722         Document another field.
2723
2724         * gst/gststructure.c:
2725         * gst/gststructure.h:
2726         Document.
2727
2728 2005-11-09  Wim Taymans  <wim@fluendo.com>
2729
2730         * gst/gstbin.h:
2731         Documented structs.
2732
2733 2005-11-09  Wim Taymans  <wim@fluendo.com>
2734
2735         * docs/gst/gstreamer-sections.txt:
2736         Added some new macros.
2737
2738         * gst/gstclock.c:
2739         * gst/gstclock.h:
2740         * gst/gstobject.h:
2741         Docs updates.
2742
2743 2005-11-09  Wim Taymans  <wim@fluendo.com>
2744
2745         * docs/design/part-TODO.txt:
2746         Some more items for the TODO
2747
2748         * gst/gstcaps.c:
2749         * gst/gstcaps.h:
2750         Document GstCaps.
2751
2752 2005-11-09  Andy Wingo  <wingo@pobox.com>
2753
2754         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
2755         to work on something else now tho...
2756
2757         * gst/base/gstadapter.c: More adapter docs.
2758
2759         * gst/elements/gstfilesink.c (gst_file_sink_start) 
2760         (gst_file_sink_stop): New functions, replace the state change
2761         handler.
2762         (gst_file_sink_class_init): Hook up the start and stop functions.
2763         (gst_file_sink_base_init): Don't set the state change handler any
2764         more. It was a bit ugly too, being set from here...
2765         (gst_file_sink_get_property, gst_file_sink_set_property):
2766         Cleanups...
2767         (gst_file_sink_set_location): More robust check that doesn't call
2768         GST_STATE. Ugggggg.
2769
2770 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
2771
2772         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2773           Hold STREAM_LOCK while pushing newsegment or tag events as well.
2774
2775 2005-11-08  Wim Taymans  <wim@fluendo.com>
2776
2777         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2778         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
2779         (gst_base_sink_chain), (gst_base_sink_change_state):
2780         * gst/base/gstbasesink.h:
2781         * gst/base/gstbasesrc.h:
2782         * gst/gstelement.h:
2783         * gst/gstevent.h:
2784         Avoid excessive typechecking in macros.
2785
2786         * gst/gstminiobject.c: (gst_mini_object_get_type),
2787         (gst_mini_object_init), (gst_mini_object_new),
2788         (gst_mini_object_free):
2789         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
2790         (gst_object_finalize):
2791         Remove cruft code, optimize alloc_trace.
2792
2793 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2794
2795         * docs/faq/gst-uninstalled:
2796           fix up PS1 for systems that try to reset it
2797
2798 2005-11-07  Wim Taymans  <wim@fluendo.com>
2799
2800         * gst/base/gstbasesrc.c: (gst_base_src_init),
2801         (gst_base_src_get_range):
2802         Set the segment_end to -1 initially. Fixed typefind.
2803
2804 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2805
2806         * gst/base/gstadapter.c:
2807           Debug category should be 'adapter', not 'GstAdapter'.
2808           
2809         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
2810         (gst_collectpads_class_init), (gst_collectpads_init),
2811         (gst_collectpads_peek), (gst_collectpads_pop),
2812         (gst_collectpads_event), (gst_collectpads_chain):
2813           Add debug category and some debugging output. Use boilerplate
2814           macros. Remove some extraneous words from docs.
2815
2816 2005-11-05  Andy Wingo  <wingo@pobox.com>
2817
2818         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
2819         macro.
2820
2821 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2822
2823         * docs/gst/gstreamer-sections.txt:
2824         * gst/gstcaps.h:
2825         * gst/gstinfo.c:
2826         * gst/gstminiobject.h:
2827         * gst/gstobject.h:
2828         * gst/gstutils.h:
2829           more docs added
2830
2831 2005-11-04  Wim Taymans  <wim@fluendo.com>
2832
2833         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2834         Small update to stop at the configured segment_end
2835         position.
2836
2837 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2838
2839         * gst/gstregistry.c:
2840         * gst/gstregistry.h:
2841           added missing docs
2842
2843 2005-11-04  Edward Hervey  <edward@fluendo.com>
2844
2845         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2846         Check if we are doing a segment seek and have arrived at the
2847         end of that segment.
2848
2849 2005-11-04  Wim Taymans  <wim@fluendo.com>
2850
2851         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
2852         Don't leak a mutex unlock in case of an error.
2853
2854         * gst/gstbus.h:
2855         Doc fixes.
2856
2857 2005-11-04  Wim Taymans  <wim@fluendo.com>
2858
2859         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
2860         (gst_bus_post):
2861         Get the context to wake up only once.
2862
2863 2005-11-03  Wim Taymans  <wim@fluendo.com>
2864
2865         * check/states/sinks.c: (GST_START_TEST):
2866         Uncomment fixed check.
2867
2868         * docs/design/part-TODO.txt:
2869         Updated TODO.
2870
2871         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2872         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2873         (gst_base_sink_get_position):
2874         If we are going to PLAYING, post the right pending state
2875         when we post the intermediate paused message.
2876
2877         * gst/gstelement.c: (gst_element_continue_state),
2878         (gst_element_set_state_func), (gst_element_change_state):
2879         Don't post state changes that were between the same state
2880         and were not ASYNC.
2881
2882 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2883
2884         * docs/gst/gstreamer-sections.txt:
2885         * gst/gstcaps.h:
2886         * gst/gstinfo.c:
2887         * gst/gstminiobject.h:
2888         * gst/gstobject.h:
2889         * gst/gstutils.h:
2890           more docs and doc style fixes
2891
2892 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2893
2894         * docs/gst/gstreamer-sections.txt:
2895         * gst/gstelement.c:
2896         * gst/gstminiobject.c:
2897         doc fixes
2898
2899 2005-11-03  Andy Wingo  <wingo@pobox.com>
2900
2901         * check/states/sinks.c (test_livesrc_sink): Add checks that the
2902         state-changed messages actually have the right order and the right
2903         values.
2904
2905 2005-11-03  Wim Taymans  <wim@fluendo.com>
2906
2907         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
2908         Added some more checks. Specifically the case where NO_PREROLL
2909         elements are in the pipeline.
2910
2911         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2912         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2913         (gst_base_sink_get_position):
2914         Post READY->PAUSED state change messages too.
2915         Fix bug where VOID was posted as pending state...
2916
2917         * gst/gstbin.c: (gst_bin_recalc_state):
2918         use _element_continue_state() to continue the state change.
2919
2920         * gst/gstelement.c: (gst_element_continue_state),
2921         (gst_element_commit_state), (gst_element_set_state_func),
2922         (gst_element_change_state), (gst_element_change_state_func):
2923         Lots of state change cleanups, assign the STATE_RETURN in
2924         a new continue_state() function that also propagates the
2925         last return value from a state change to the app.
2926         Update some debug statements with proper category.
2927
2928 2005-11-03  Wim Taymans  <wim@fluendo.com>
2929
2930         * docs/design/part-events.txt:
2931         * docs/design/part-gstpipeline.txt:
2932         * docs/design/part-messages.txt:
2933         * docs/design/part-overview.txt:
2934         * docs/design/part-seeking.txt:
2935         * docs/design/part-states.txt:
2936         * docs/design/part-trickmodes.txt:
2937         * docs/manual/advanced-position.xml:
2938         Small docs updates.
2939
2940         * gst/gstobject.h:
2941         People think !! is ugly, this looks better.
2942
2943         * gst/gstpad.c: (gst_pad_set_blocked_async):
2944         Remove !! since it's fixed elsewhere now.
2945
2946 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2947
2948         * gst/gstminiobject.h:
2949         * gst/gstobject.h:
2950           Add !! to _FLAG_IS_SET macros to make the result boolean.
2951
2952 2005-11-03  Edward Hervey  <edward@fluendo.com>
2953
2954         * gst/gstpad.c: (gst_pad_set_blocked_async):
2955         comparing a flag and a gboolean rarely returns coherent results...
2956         Added two characters (!!) to make that work correctly.
2957         
2958 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2959
2960         * gst/gstbus.c: (gst_bus_class_init):
2961           Fix some typos.
2962           
2963         * gst/gstqueue.c: (gst_queue_loop):
2964           Don't assume a miniobject that isn't a buffer is an
2965           event (it could be that there is a refcounting
2966           problem somewhere and the pointer is stale and
2967           refers to an already destroyed miniobject).
2968
2969 2005-11-03  Julien MOUTTE  <julien@moutte.net>
2970
2971         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
2972
2973 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2974
2975         * docs/manual/advanced-position.xml:
2976           Update seek example and explanations to current 0.9 API.
2977
2978         * gst/elements/gsttypefindelement.c:
2979         (gst_type_find_element_activate):
2980           Remove FIXME comment now that the found caps
2981           are unreffed.
2982
2983 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2984
2985         * gst/gstregistryxml.c: (load_feature):
2986           Add another GST_STR_NULL instance
2987
2988 2005-11-02  Edward Hervey  <edward@fluendo.com>
2989
2990         * gst/gstpad.c: (handle_pad_block):
2991         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
2992         
2993 2005-11-02  Wim Taymans  <wim@fluendo.com>
2994
2995         * gst/gstbin.c:
2996         Fix typo in docs.
2997
2998         * gst/gstelement.c: (gst_element_commit_state):
2999         Remove unused value.
3000
3001         * gst/gstiterator.c:
3002         Mention that the returned element is reffed in the docs.
3003
3004 2005-11-02  Wim Taymans  <wim@fluendo.com>
3005
3006         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
3007         (gst_pad_push), (gst_pad_push_event):
3008         Unlock blocked pads when they are flushed.
3009
3010 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3011
3012         * docs/README:
3013         * docs/gst/gstreamer-sections.txt:
3014         * gst/gstbin.c:
3015           doc updates
3016         * gst/gstregistry.c: (gst_registry_scan_path_level):
3017           fix for a nasty little missed situation where an installed plug-in
3018           which was in the cache did not get overridden by an uninstalled one
3019           which was earlier in the plugin path because the newly created plugin
3020           for the uninstalled one (not in the registry) didn't get its
3021           ->registered set to TRUE
3022
3023 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3024
3025         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
3026         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
3027         (gst_collectpads_is_active), (gst_collectpads_collect),
3028         (gst_collectpads_collect_range), (gst_collectpads_start),
3029         (gst_collectpads_stop), (gst_collectpads_peek),
3030         (gst_collectpads_pop), (gst_collectpads_available),
3031         (gst_collectpads_read), (gst_collectpads_flush):
3032           Guard public API with assertions.
3033         
3034         * gst/gstpad.c:
3035           Fix docs for gst_pad_set_link_function().
3036
3037 2005-11-02  Johan Dahlin  <johan@gnome.org>
3038
3039         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
3040         Unref found_caps after we used it.
3041
3042 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3043
3044         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
3045           Don't try to ref NULL.
3046
3047 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3048
3049         * win32/common/config.h.in:
3050           provide a GST_FUNCTION that just gives a string for now
3051
3052 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3053
3054         * win32/common/gstenumtypes.c: (register_gst_object_flags),
3055         (gst_object_flags_get_type), (register_gst_bin_flags),
3056         (gst_bin_flags_get_type), (register_gst_buffer_flag),
3057         (gst_buffer_flag_get_type), (register_gst_bus_flags),
3058         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3059         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
3060         (gst_clock_return_get_type), (register_gst_clock_entry_type),
3061         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3062         (gst_clock_flags_get_type), (register_gst_state),
3063         (gst_state_get_type), (register_gst_state_change_return),
3064         (gst_state_change_return_get_type), (register_gst_state_change),
3065         (gst_state_change_get_type), (register_gst_element_flags),
3066         (gst_element_flags_get_type), (register_gst_core_error),
3067         (gst_core_error_get_type), (register_gst_library_error),
3068         (gst_library_error_get_type), (register_gst_resource_error),
3069         (gst_resource_error_get_type), (register_gst_stream_error),
3070         (gst_stream_error_get_type), (register_gst_event_type),
3071         (gst_event_type_get_type), (register_gst_seek_type),
3072         (gst_seek_type_get_type), (register_gst_seek_flags),
3073         (gst_seek_flags_get_type), (register_gst_format),
3074         (gst_format_get_type), (register_gst_index_certainty),
3075         (gst_index_certainty_get_type), (register_gst_index_entry_type),
3076         (gst_index_entry_type_get_type),
3077         (register_gst_index_lookup_method),
3078         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3079         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3080         (gst_index_resolver_method_get_type), (register_gst_index_flags),
3081         (gst_index_flags_get_type), (register_gst_debug_level),
3082         (gst_debug_level_get_type), (register_gst_debug_color_flags),
3083         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3084         (gst_iterator_result_get_type), (register_gst_iterator_item),
3085         (gst_iterator_item_get_type), (register_gst_message_type),
3086         (gst_message_type_get_type), (register_gst_mini_object_flags),
3087         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3088         (gst_pad_link_return_get_type), (register_gst_flow_return),
3089         (gst_flow_return_get_type), (register_gst_activate_mode),
3090         (gst_activate_mode_get_type), (register_gst_pad_direction),
3091         (gst_pad_direction_get_type), (register_gst_pad_flags),
3092         (gst_pad_flags_get_type), (register_gst_pad_presence),
3093         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3094         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3095         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3096         (gst_plugin_error_get_type), (register_gst_plugin_flags),
3097         (gst_plugin_flags_get_type), (register_gst_rank),
3098         (gst_rank_get_type), (register_gst_query_type),
3099         (gst_query_type_get_type), (register_gst_tag_merge_mode),
3100         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3101         (gst_tag_flag_get_type), (register_gst_task_state),
3102         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3103         (gst_alloc_trace_flags_get_type),
3104         (register_gst_type_find_probability),
3105         (gst_type_find_probability_get_type), (register_gst_uri_type),
3106         (gst_uri_type_get_type), (register_gst_parse_error),
3107         (gst_parse_error_get_type):
3108         * win32/common/gstversion.h:
3109           update win32 copies
3110
3111 2005-11-01  Luca Ognibene  <luogni@tin.it>
3112
3113         * gst/gst.c:
3114           fix docs. popt is dead, long live GOption.
3115
3116 2005-10-31  Wim Taymans  <wim@fluendo.com>
3117
3118         * gst/gstbuffer.h:
3119         Small doc fix.
3120
3121 2005-10-31  Andy Wingo  <wingo@pobox.com>
3122
3123         * Boo!
3124
3125         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
3126
3127         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
3128         need to serialize property notifications on GLib 2.8. GLib 2.6 has
3129         the possibility of deadlocks here if code calling notify() or
3130         set() has a lock that can be taken in another notify handler (ABBA
3131         with class lock and e.g. python GIL state lock).
3132
3133 2005-10-28  Julien MOUTTE  <julien@moutte.net>
3134
3135         * gst/gstbus.c: Doc updates.
3136
3137 2005-10-28  Wim Taymans  <wim@fluendo.com>
3138
3139         * docs/design/part-TODO.txt:
3140         * gst/gstiterator.c:
3141         * gst/gstsystemclock.c:
3142         * gst/gstsystemclock.h:
3143         Doc updates.
3144
3145 2005-10-28  Edward Hervey  <edward@fluendo.com>
3146
3147         * docs/gst/gstreamer-docs.sgml:
3148         * docs/gst/gstreamer-sections.txt:
3149         the GstURIType documentation page is private, it only defines GstURIType
3150         which should be defined in the GstURIHandler page
3151         
3152 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3153
3154         * gst/gstbin.c: (gst_bin_class_init):
3155         * gst/gstbin.h:
3156         * gst/gstutils.c:
3157         Documentation updates.
3158
3159 2005-10-28  Wim Taymans  <wim@fluendo.com>
3160
3161         * docs/gst/gstreamer-sections.txt:
3162         * gst/gstclock.c:
3163         * gst/gstclock.h:
3164         Documented the clocks.
3165
3166 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
3167
3168         * docs/gst/gstreamer-sections.txt:
3169           move some macros to private sections
3170         * gst/gstminiobject.c:
3171         * gst/gstminiobject.h:
3172           add descriptions provided by ds and some more
3173         * gst/gstpad.h:
3174           mark macro as to be removed
3175
3176 2005-10-28  Wim Taymans  <wim@fluendo.com>
3177
3178         * docs/design/part-TODO.txt:
3179         Add an item to TODO.
3180
3181         * gst/gstiterator.c: (gst_iterator_fold),
3182         (gst_iterator_find_custom):
3183         * gst/gstiterator.h:
3184         Add iterator docs.
3185
3186 2005-10-28  Wim Taymans  <wim@fluendo.com>
3187
3188         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3189         (gst_base_transform_init):
3190         Don't leak class.
3191
3192         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3193         An EOS event marks the queue as completely filled.
3194
3195 2005-10-27  Wim Taymans  <wim@fluendo.com>
3196
3197         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3198         (gst_base_sink_do_sync), (gst_base_sink_get_position):
3199         Some more debugging.
3200
3201         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3202         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3203         (gst_base_transform_event), (gst_base_transform_getrange),
3204         (gst_base_transform_chain):
3205         * gst/base/gstbasetransform.h:
3206         Fix debugging,
3207         Protect transform and concurrent buffer alloc with a new lock.
3208         Try not to break ABI/API.
3209
3210 2005-10-27  Wim Taymans  <wim@fluendo.com>
3211
3212         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3213         (gst_base_src_init), (gst_base_src_query),
3214         (gst_base_src_default_newsegment),
3215         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3216         (gst_base_src_send_event), (gst_base_src_event_handler),
3217         (gst_base_src_pad_get_range), (gst_base_src_loop),
3218         (gst_base_src_unlock), (gst_base_src_default_negotiate),
3219         (gst_base_src_start), (gst_base_src_deactivate),
3220         (gst_base_src_activate_push), (gst_base_src_change_state):
3221         Move some stuff around and cleanup things.
3222
3223 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
3224
3225         * gst/base/gstbasesrc.c: (gst_base_src_query):
3226           Add missing break statements.
3227
3228 2005-10-27  Wim Taymans  <wim@fluendo.com>
3229
3230         * check/gst/gstbin.c: (GST_START_TEST):
3231         An extra refcount is taken in basesrc.
3232
3233         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3234         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3235         (gst_base_src_loop):
3236         Small cleanups, check for flushing after being unlocked from the 
3237         LIVE_LOCK. take refcounts correctly (not yet everywhere).
3238         Don't send out EOS when going to READY.
3239
3240 2005-10-27  Wim Taymans  <wim@fluendo.com>
3241
3242         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3243         (gst_base_sink_get_position):
3244         Some more debug.
3245
3246         * gst/gstbin.c: (message_check), (bin_replace_message),
3247         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3248         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3249         (bin_query_duration_init), (bin_query_duration_fold),
3250         (bin_query_duration_done), (bin_query_generic_fold),
3251         (gst_bin_query):
3252         * tools/gst-launch.c: (main):
3253         Remove old option.
3254
3255 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
3256
3257         * examples/controller/audio-example.c: (main):
3258         * examples/queue/queue.c: (event_loop):
3259         * gst/base/gstbasetransform.h:
3260         * gst/gstelement.c: (gst_element_send_event):
3261         * gst/gstevent.h:
3262         * gst/gstpad.c: (gst_pad_send_event):
3263           fixing examples
3264           fixing docs typos
3265           changing log priority in error situations
3266
3267 2005-10-25  Wim Taymans  <wim@fluendo.com>
3268
3269         * gst/gstbin.c: (message_check), (bin_replace_message),
3270         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3271         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3272         (bin_query_duration_init), (bin_query_duration_fold),
3273         (bin_query_duration_done), (bin_query_generic_fold),
3274         (gst_bin_query):
3275         Some doc and debug updates.
3276         Cache previously requested query DURATION for speed. invalidate
3277         cached duration if element posts a DURATION message.
3278
3279 2005-10-25  Wim Taymans  <wim@fluendo.com>
3280
3281         * docs/design/part-TODO.txt:
3282         Update TODO.
3283
3284         * gst/gstbin.c: (message_check), (bin_replace_message),
3285         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3286         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3287         (bin_query_duration_init), (bin_query_duration_fold),
3288         (bin_query_duration_done), (bin_query_generic_fold),
3289         (gst_bin_query):
3290         Handle SEGMENT_START/DONE messages correctly.
3291         More evolved query algorithm that handles duration queries
3292         correctly.
3293
3294         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3295         (gst_element_get_state_func), (gst_element_abort_state),
3296         (gst_element_commit_state), (gst_element_lost_state):
3297         Some more debugging.
3298
3299         * gst/gstmessage.h:
3300         Added doc.
3301
3302 2005-10-25  Wim Taymans  <wim@fluendo.com>
3303
3304         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3305         Don't use invalid stream_time.
3306
3307         * gst/gstevent.c: (gst_event_new_newsegment):
3308         stream_time in newsegment cannot be undefined.
3309
3310 2005-10-24  Wim Taymans  <wim@fluendo.com>
3311
3312         * gst/gstbus.c:
3313         Doc fix.
3314
3315         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3316         (gst_queue_loop):
3317         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3318
3319 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
3320
3321         * docs/libs/tmpl/gstdparam.sgml:
3322         * docs/libs/tmpl/gstdplinint.sgml:
3323         * docs/libs/tmpl/gstdpman.sgml:
3324         * docs/libs/tmpl/gstdpsmooth.sgml:
3325         * docs/libs/tmpl/gstunitconvert.sgml:
3326           these are obsolete
3327
3328 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3329
3330         * configure.ac:
3331           back to HEAD
3332
3333 === release 0.9.4 ===
3334
3335 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3336
3337         * configure.ac:
3338           releasing 0.9.4, "Tyrannosaurus Rex"
3339
3340 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
3341
3342         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3343         (gst_file_sink_get_current_offset):
3344           Use fseeko() and ftello() if available. When falling back on
3345           lseek() to get the current offset, fflush() first to make sure
3346           everything is up-to-date and we get the right offset.
3347
3348 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3349
3350         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3351         * gst/base/gstbasesrc.c: (gst_base_src_loop):
3352         * gst/gsterror.c: (_gst_stream_errors_init):
3353         * gst/gsterror.h:
3354         * gst/gstqueue.c: (gst_queue_loop):
3355         * po/POTFILES.in:
3356           remove prematurely added error category and clean up the instances
3357
3358 2005-10-21  Wim Taymans  <wim@fluendo.com>
3359
3360         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3361         (gst_base_sink_get_position), (gst_base_sink_query),
3362         (gst_base_sink_change_state):
3363         Simply set the right flag when going to playing, that's all
3364         we need to do instead of calling a function inside the object
3365         lock (that could take the lock as well and deadlock)
3366
3367 2005-10-21  Wim Taymans  <wim@fluendo.com>
3368
3369         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
3370         (gst_base_src_loop):
3371         Don't warn, the peer element knows what to do best when
3372         the seek failed, it might try something else.
3373
3374 2005-10-21  Wim Taymans  <wim@fluendo.com>
3375
3376         * gst/base/gstbasesrc.c: (gst_base_src_init),
3377         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3378         Fix seeking.
3379
3380 2005-10-21  Wim Taymans  <wim@fluendo.com>
3381
3382         * docs/design/part-segments.txt:
3383         More docs.
3384
3385         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3386         Correctly set caps, even on the subbufer.
3387
3388 2005-10-21  Wim Taymans  <wim@fluendo.com>
3389
3390         * docs/gst/gstreamer-docs.sgml:
3391         * docs/gst/gstreamer-sections.txt:
3392         * gst/gstelement.h:
3393         * gst/gstevent.c:
3394         * gst/gstevent.h:
3395         * gst/gstmessage.h:
3396         * gst/gstpad.h:
3397         * gst/gstparse.h:
3398         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
3399         * gst/gsttask.h:
3400         * gst/gstutils.c:
3401         * gst/gstutils.h:
3402         And 2% more doc coverage.
3403
3404 2005-10-21  Andy Wingo  <wingo@pobox.com>
3405
3406         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
3407         position reporting.
3408
3409 2005-10-20  Wim Taymans  <wim@fluendo.com>
3410
3411         * gst/gsterror.c: (gst_error_get_message):
3412         * gst/gstparse.h:
3413         * gst/gstquery.h:
3414         * gst/gststructure.c:
3415         * gst/gsttrace.c:
3416         * gst/gstutils.c:
3417         More docs.
3418
3419 2005-10-20  Wim Taymans  <wim@fluendo.com>
3420
3421         * gst/gstbuffer.h:
3422         * gst/gstpad.c:
3423         * gst/gstparse.c:
3424         Another 1% more coverage.
3425
3426 2005-10-20  Wim Taymans  <wim@fluendo.com>
3427
3428         * docs/gst/gstreamer-sections.txt:
3429         * gst/gstelement.c: (gst_element_get_state_func),
3430         (gst_element_abort_state), (gst_element_commit_state),
3431         (gst_element_lost_state):
3432         * gst/gstevent.h:
3433         * gst/gstquery.c: (gst_query_set_position),
3434         (gst_query_parse_position), (gst_query_set_duration),
3435         (gst_query_parse_duration), (gst_query_new_convert):
3436         * gst/gstutils.c:
3437         Yay! 1% more docs coverage.
3438
3439 2005-10-20  Wim Taymans  <wim@fluendo.com>
3440
3441         * gst/gstpad.h:
3442         * gst/gstquery.c: (gst_query_set_position),
3443         (gst_query_parse_position), (gst_query_set_duration),
3444         (gst_query_parse_duration), (gst_query_new_convert):
3445         * gst/gstquery.h:
3446         * gst/gstutils.c: (gst_element_query_convert):
3447         * gst/gstutils.h:
3448         Docs and consistency fixes.
3449
3450 2005-10-20  Wim Taymans  <wim@fluendo.com>
3451
3452         * gst/gsttask.c:
3453         * gst/gsttask.h:
3454         More docs.
3455
3456 2005-10-20  Wim Taymans  <wim@fluendo.com>
3457
3458         * gst/gstbin.c: (message_check), (bin_replace_message),
3459         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3460         (update_degree), (gst_bin_sort_iterator_next),
3461         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
3462         Reworked the message handling a bit, cache the messages instead of
3463         only the senders. alows us to do more in the future.
3464
3465 2005-10-20  Wim Taymans  <wim@fluendo.com>
3466
3467         * docs/design/part-TODO.txt:
3468         Update TODO
3469
3470         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3471         (gst_base_sink_query):
3472         Don't use clock time to report position when in EOS.
3473
3474 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
3475
3476         * tools/gst-inspect.c: (print_interfaces),
3477         (print_element_properties_info), (print_element_info):
3478           Fix interface output with gst-inspect -a; don't print
3479           newlines after double/float properties.
3480
3481 2005-10-20  Wim Taymans  <wim@fluendo.com>
3482
3483         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3484         (gst_base_sink_query):
3485         Speed up current position calculation.
3486
3487         * gst/base/gstbasesrc.c: (gst_base_src_query),
3488         (gst_base_src_default_newsegment):
3489         Correctly set stream position in newsegment.
3490
3491         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
3492         (update_degree), (gst_bin_sort_iterator_next),
3493         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
3494         * gst/gstmessage.c: (gst_message_new_custom):
3495         Clean up debugging info
3496
3497         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
3498         (gst_queue_loop), (gst_queue_handle_src_query):
3499         Pause task faster.
3500
3501 2005-10-19  Wim Taymans  <wim@fluendo.com>
3502
3503         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3504         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3505         Fix query handling again.
3506
3507 2005-10-19  Wim Taymans  <wim@fluendo.com>
3508
3509         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3510         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3511         * gst/base/gstbasesrc.c: (gst_base_src_query):
3512         * gst/elements/gstfilesink.c: (gst_file_sink_query):
3513         * gst/elements/gsttypefindelement.c:
3514         (gst_type_find_handle_src_query), (find_element_get_length),
3515         (gst_type_find_element_activate):
3516         API change fix.
3517
3518         * gst/gstquery.c: (gst_query_new_position),
3519         (gst_query_set_position), (gst_query_parse_position),
3520         (gst_query_new_duration), (gst_query_set_duration),
3521         (gst_query_parse_duration), (gst_query_set_segment),
3522         (gst_query_parse_segment):
3523         * gst/gstquery.h:
3524         Bundling query position/duration is not a good idea since duration
3525         does not change much and we don't want to recalculate it for every
3526         position query, so they are separated again..
3527         Base value in segment query is not needed.
3528
3529         * gst/gstqueue.c: (gst_queue_handle_src_query):
3530         * gst/gstutils.c: (gst_element_query_position),
3531         (gst_element_query_duration), (gst_pad_query_position),
3532         (gst_pad_query_duration):
3533         * gst/gstutils.h:
3534         Updates for query API change.
3535         Added some docs here and there.
3536
3537 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3538
3539         * check/gst/gstbin.c: (GST_START_TEST):
3540         * check/gst/gstghostpad.c: (GST_START_TEST):
3541         * check/pipelines/cleanup.c: (GST_START_TEST):
3542           wait on thread to die so we can check refcount correctly
3543
3544 2005-10-18  Wim Taymans  <wim@fluendo.com>
3545
3546         * check/pipelines/stress.c: (GST_START_TEST):
3547         Make check a little more time consuming.
3548
3549 2005-10-18  Wim Taymans  <wim@fluendo.com>
3550
3551         * check/Makefile.am:
3552         * check/pipelines/stress.c: (GST_START_TEST),
3553         (simple_launch_lines_suite), (main):
3554         Small state change torture test.
3555
3556         * docs/design/part-states.txt:
3557         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3558         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
3559         (gst_base_sink_change_state):
3560         Never take state lock from streaming thread, clean up ugly
3561         hacks. Unfortunatly core does not yet support nice ways to
3562         async commit state.
3563         
3564         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
3565         (bin_bus_handler):
3566         Start state recalc if a STATE_DIRTY message is posted, but only
3567         on the toplevel bin.
3568
3569         * gst/gstelement.c: (gst_element_sync_state_with_parent),
3570         (gst_element_get_state_func), (gst_element_abort_state),
3571         (gst_element_commit_state), (gst_element_lost_state),
3572         (gst_element_set_state_func), (gst_element_change_state):
3573         * gst/gstelement.h:
3574         State variables are now protected with the LOCK, the state
3575         lock is only used to serialize _set_state().
3576
3577 2005-10-18  Wim Taymans  <wim@fluendo.com>
3578
3579         * check/gst/gstbin.c: (GST_START_TEST):
3580         * check/gst/gstmessage.c: (GST_START_TEST):
3581         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3582         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
3583         (bin_bus_handler):
3584         * gst/gstelement.c: (gst_element_abort_state),
3585         (gst_element_commit_state), (gst_element_lost_state):
3586         * gst/gstmessage.c: (gst_message_new_state_changed),
3587         (gst_message_new_state_dirty), (gst_message_new_segment_start),
3588         (gst_message_new_segment_done), (gst_message_new_duration),
3589         (gst_message_parse_state_changed),
3590         (gst_message_parse_segment_start),
3591         (gst_message_parse_segment_done), (gst_message_parse_duration):
3592         * gst/gstmessage.h:
3593         * tools/gst-launch.c: (event_loop):
3594         Seriously, this is better than a previous commit as we only need
3595         to notify the fact that an element changed state in a streaming
3596         thread, marking the state of the parents dirty, hence the 
3597         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
3598         message.
3599
3600 2005-10-18  Wim Taymans  <wim@fluendo.com>
3601
3602         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
3603         (gst_bin_recalc_func):
3604         * gst/gstelement.c: (gst_element_set_clock),
3605         (gst_element_abort_state), (gst_element_lost_state):
3606         Cleanups, prepare for state change fixes.
3607
3608 2005-10-18  Wim Taymans  <wim@fluendo.com>
3609
3610         * gst/gstbin.h:
3611         * gst/gstelement.c: (gst_element_class_init),
3612         (gst_element_set_state), (gst_element_set_state_func):
3613         * gst/gstelement.h:
3614         Pending ABI changes.
3615         GThreadPool in GstBinClass to monitor async state changes.
3616         state_cookie in GstElement to detect concurrent gst/set state.
3617         set_state is now virtual too in case a very complicated element
3618         has to be constructed.
3619
3620 2005-10-18  Wim Taymans  <wim@fluendo.com>
3621
3622         * check/gst/gstbin.c: (GST_START_TEST):
3623         * check/gst/gstmessage.c: (GST_START_TEST):
3624         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3625         * gst/gstbin.c: (bin_bus_handler):
3626         * gst/gstelement.c: (gst_element_commit_state),
3627         (gst_element_lost_state):
3628         * gst/gstmessage.c: (gst_message_new_state_changed),
3629         (gst_message_new_segment_start), (gst_message_new_segment_done),
3630         (gst_message_new_duration), (gst_message_parse_state_changed),
3631         (gst_message_parse_segment_start),
3632         (gst_message_parse_segment_done), (gst_message_parse_duration):
3633         * gst/gstmessage.h:
3634         * tools/gst-launch.c: (event_loop):
3635         Make messages future proof.
3636         state-change gets a flag if it was a message comming from the
3637         streaming thread.
3638         segment-start/stop can also be specified in other formats.
3639         A message to notify an app that a pipeline changed playback 
3640         duration.
3641         Also fix a GstMessage leak in -launch
3642
3643 2005-10-18  Andy Wingo  <wingo@pobox.com>
3644
3645         * gst/gstelement.c (gst_element_dispose): More helpful message.
3646
3647 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3648
3649         reviewed by: <delete if not using a buddy>
3650
3651         * common/gtk-doc.mak:
3652
3653 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3654
3655         * gst/gstregistry.c: (gst_registry_scan_path_level):
3656           unref a plug-in we get that was already initialized
3657
3658 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
3659
3660         * docs/gst/gstreamer-sections.txt:
3661         * docs/libs/gstreamer-libs-sections.txt:
3662         * gst/gstelement.h:
3663           add new api entries
3664           hide internal macro
3665
3666 2005-10-17  Andy Wingo  <wingo@pobox.com>
3667
3668         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
3669         cleanup.
3670
3671         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
3672
3673         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
3674
3675         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
3676         (gst_element_get_state_func): Better debug message.
3677         (gst_element_commit_state): s/INFO/DEBUG/.
3678         (gst_element_lost_state, gst_element_change_state): 
3679
3680         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
3681         (gst_message_new_custom): s/INFO/LOG/.
3682
3683 2005-10-17  Michael Smith <msmith@fluendo.com>
3684
3685         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3686           Check if end time is valid using end time, not start time.
3687
3688 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
3689
3690         * check/gst-libs/controller.c: (GST_START_TEST),
3691         (gst_controller_suite):
3692         * libs/gst/controller/gstcontroller.c:
3693         (gst_controlled_property_set_interpolation_mode):
3694         * libs/gst/controller/gstcontroller.h:
3695         * libs/gst/controller/gstinterpolation.c:
3696         * testsuite/controller/.cvsignore:
3697         * testsuite/controller/Makefile.am:
3698         * testsuite/controller/interpolator.c:
3699           merge controller testsuites
3700           fix broken tests
3701           remove mem-chunk from docs
3702
3703 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3704
3705         * gst/gstmemchunk.c:
3706         * gst/gstmemchunk.h:
3707         * gst/gsttrashstack.c:
3708         * gst/gsttrashstack.h:
3709           out.  get out.  you're fired.  to the Attic !
3710
3711 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3712
3713         * gst/gstcaps.c: (gst_caps_intersect):
3714           fix signedness issues in a (hopefully) correct way
3715         * gst/gstelement.c: (gst_element_pads_activate):
3716           some debugging
3717         * gst/gstobject.c: (gst_object_set_parent):
3718           some debugging
3719
3720 2005-10-17  Julien MOUTTE  <julien@moutte.net>
3721
3722         * gst/gstvalue.h: Fix prototypes.
3723
3724 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3725
3726         * docs/gst/gstreamer-sections.txt:
3727         * gst/gst.c: (gst_version_string):
3728         * gst/gst.h:
3729         * gst/gstversion.h.in:
3730         * win32/common/libgstreamer.def:
3731           add gst_version_string ()
3732
3733 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3734
3735         * configure.ac:
3736           clean up further
3737         * gst/gst.c: (init_post):
3738         * win32/common/config.h.in:
3739           it's PLUGINDIR now
3740         * gst/gstcaps.c: (gst_caps_intersect):
3741           use gint64, the range could be bigger than a guint
3742
3743 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3744
3745         * gst/gstclock.h:
3746           document potential problem in 2038
3747
3748 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3749
3750         * gst/gstcaps.c: (gst_caps_intersect):
3751           Fix guint j diving under 0
3752
3753 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3754
3755         * configure.ac:
3756         * win32/common/config.h:
3757         * win32/common/config.h.in:
3758           check for process.h, declares getpid() on Windows
3759         * gst/gstinfo.c:
3760           include process.h if we have it
3761         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
3762         * gst/gstmemchunk.h:
3763           fix signedness issues
3764         * win32/common/libgstreamer.def:
3765           fix get_type's
3766
3767 2005-10-16  Julien MOUTTE  <julien@moutte.net>
3768
3769         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
3770         fix. Because of unsigned ints, caps intersection was going nuts and
3771         trying to access structures with G_MAXUINT index. That fixes
3772         videotestsrc ! ffmpegcolorspace ! fakesink
3773         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
3774         consistency.
3775
3776 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3777
3778         * configure.ac:
3779           use the gettext macro
3780         * gst/elements/gstelements.c:
3781         * gst/gst.c:
3782         * gst/indexers/gstindexers.c:
3783           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
3784         * win32/common/config.h:
3785           updated config.h
3786         * win32/common/config.h.in:
3787           add the template to generate config.h
3788         * win32/common/gstenumtypes.c:
3789         * win32/common/gstversion.h:
3790           updated copies
3791
3792 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3793
3794         * gst/gst.c: (gst_version):
3795         * gst/gstversion.h.in:
3796           add the nano
3797
3798 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3799
3800         * gst/gstevent.h:
3801           Oops, add missing closing bracket.
3802
3803 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3804
3805         * configure.ac:
3806           use common m4's for argument checking
3807
3808 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3809
3810         * docs/gst/gstreamer-sections.txt:
3811         * gst/gstevent.h:
3812           Add GST_EVENT_TYPE_NAME() macro.
3813
3814 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3815
3816         * gst/gstinfo.c:
3817         * gst/gstpluginfeature.c:
3818         * gst/gsttask.c:
3819           privatize more symbols
3820
3821 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3822
3823         * configure.ac:
3824           add srcdir, builddir includes to GST_ALL_CFLAGS, since
3825           everything that uses GStreamer API should have the includes
3826
3827 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3828
3829         * docs/gst/gstreamer-sections.txt:
3830         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
3831         * gst/gstvalue.h:
3832           give each value a _get_type, removes the DATA exports
3833
3834 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3835
3836         * gst/gst.c:
3837         * gst/gst.h:
3838           remove _gst_registry_auto_load, not used anymore
3839         * gst/gstbin.c: (gst_bin_get_type):
3840         * gst/gstbin.h:
3841         * gst/gstelement.c: (gst_element_get_type):
3842         * gst/gstelement.h:
3843         * gst/gstobject.c: (gst_object_get_type):
3844         * gst/gstobject.h:
3845         * gst/gstpad.c: (gst_pad_get_type):
3846         * gst/gstpad.h:
3847           make _get_type functions similar, fixes data export from library
3848
3849 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3850
3851         * configure.ac:
3852           correctly make conditionals
3853         * gst/elements/Makefile.am:
3854         * gst/elements/gstelements.c:
3855           fix typo causing fdsrc not to build
3856
3857 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3858
3859         * testsuite/Makefile.am:
3860         * testsuite/bytestream/.cvsignore:
3861         * testsuite/bytestream/Makefile.am:
3862         * testsuite/bytestream/filepadsink.c:
3863         * testsuite/bytestream/gstbstest.c:
3864         * testsuite/bytestream/test1.c:
3865         * testsuite/bytestream/testfile1:
3866         * testsuite/caps/normalisation.c:
3867         * testsuite/caps/random.c: (main):
3868         * testsuite/cleanup/.cvsignore:
3869         * testsuite/cleanup/Makefile.am:
3870         * testsuite/cleanup/cleanup1.c:
3871         * testsuite/cleanup/cleanup2.c:
3872         * testsuite/cleanup/cleanup3.c:
3873         * testsuite/cleanup/cleanup4.c:
3874         * testsuite/cleanup/cleanup5.c:
3875         * testsuite/controller/interpolator.c:
3876         * testsuite/debug/printf_extension.c: (main):
3877         * testsuite/elements/tee.c:
3878         * testsuite/negotiation/.cvsignore:
3879         * testsuite/negotiation/Makefile.am:
3880         * testsuite/negotiation/pad_link.c:
3881         * testsuite/pad/Makefile.am:
3882         * testsuite/pad/chainnopull.c:
3883         * testsuite/pad/getnopush.c:
3884         * testsuite/pad/link.c:
3885         * testsuite/refcounting/sched.c: (create_pipeline):
3886         * testsuite/registry/Makefile.am:
3887         * testsuite/registry/gst-print-formats.c:
3888         * testsuite/schedulers/.cvsignore:
3889         * testsuite/schedulers/142183-2.c:
3890         * testsuite/schedulers/142183.c:
3891         * testsuite/schedulers/143777-2.c:
3892         * testsuite/schedulers/143777.c:
3893         * testsuite/schedulers/147713.c:
3894         * testsuite/schedulers/147819.c:
3895         * testsuite/schedulers/147894-2.c:
3896         * testsuite/schedulers/147894.c:
3897         * testsuite/schedulers/Makefile.am:
3898         * testsuite/schedulers/group_link.c:
3899         * testsuite/schedulers/queue_link.c:
3900         * testsuite/schedulers/relink.c:
3901         * testsuite/schedulers/unlink.c:
3902         * testsuite/schedulers/unref.c:
3903         * testsuite/schedulers/useless_iteration.c:
3904         * testsuite/states/bin.c:
3905           clean out/remove some stuff from the testsuite directories
3906
3907 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3908
3909         * configure.ac:
3910           check for some headers
3911         * gst/elements/Makefile.am:
3912         * gst/elements/gstelements.c:
3913           don't compile fdsrc without sys/socket.h
3914         * gst/indexers/Makefile.am:
3915         * gst/indexers/gstindexers.c: (plugin_init):
3916           don't compile fileindex without mmap
3917
3918 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3919
3920         * configure.ac:
3921           reorganize
3922           clean up
3923           document more
3924           remove cruft
3925         * check/Makefile.am:
3926         * docs/gst/Makefile.am:
3927         * examples/helloworld/Makefile.am:
3928         * gst/Makefile.am:
3929         * gst/base/Makefile.am:
3930         * gst/check/Makefile.am:
3931         * gst/elements/Makefile.am:
3932         * gst/indexers/Makefile.am:
3933         * gst/parse/Makefile.am:
3934         * libs/gst/controller/Makefile.am:
3935         * libs/gst/dataprotocol/Makefile.am:
3936         * examples/helloworld/helloworld.c: (event_loop):
3937           compile fixes, though it's not being compiled currently
3938
3939 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3940
3941         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
3942           Add some simple tests for the new taglist date API.
3943
3944 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3945
3946         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
3947         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
3948           Beautify 'last-message' output: print 'none' for buffer timestamps
3949           and durations if none is set; improve alignment with next messages.
3950
3951 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3952
3953         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
3954         * gst/gstpluginfeature.h:
3955         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
3956         * gst/gstregistry.h:
3957         * docs/gst/gstreamer-sections.txt:
3958           Add new API to check plugin feature version requirements.
3959
3960         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
3961           Some basic tests for the above.         
3962
3963 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3964
3965         * gst/gststructure.c: (gst_structure_to_string):
3966           guard against NULL printf - happens when for example
3967           a message structure with GstClock gets serialized
3968
3969 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3970
3971         * gst/base/gstcollectpads.c: (gst_collectpads_event):
3972           Fix presumable copy'n'pasto.
3973
3974 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3975
3976         * gst/elements/gstfakesrc.h:
3977         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
3978         * gst/elements/gsttypefindelement.c:
3979           fix some signedness
3980         * gst/elements/gstfilesink.c: (gst_file_sink_render):
3981           I wonder if this could actually write +2GB files before
3982
3983 2005-10-13  Andy Wingo  <wingo@pobox.com>
3984
3985         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
3986         Fix Timmeke Waymans bug.
3987         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
3988         string of the proper length to gst_caps_from_string. There's a
3989         potential for, before this fix, that this could cause someone
3990         connecting over the network to cause a segfault if the payload is
3991         not NUL-terminated.
3992
3993 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
3994
3995         * docs/design/draft-push-pull.txt:
3996         * docs/design/part-overview.txt:
3997         * docs/random/TODO-pre-0.9:
3998         * docs/random/old/ChangeLog.gstreamer:
3999         * gst/base/gstpushsrc.c:
4000         * gst/gstclock.c:
4001           fixed typos
4002
4003 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4004
4005         * gst/glib-compat.c: (gst_flags_get_first_value):
4006         * gst/glib-compat.h:
4007         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
4008         (gst_value_compare_double), (gst_value_serialize_flags):
4009           GLib 2.6 g_flags_get_first_value has a bug that triggers an
4010           infinite loop
4011
4012 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4013
4014         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4015         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4016           fix up debugging
4017         * tools/gst-launch.c: (event_loop):
4018           print out clock nicely
4019
4020 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4021
4022         * docs/gst/gstreamer-sections.txt:
4023         * gst/gsttaglist.h:
4024         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
4025         (gst_tag_list_get_date_index):
4026           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
4027           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
4028
4029 2005-10-13  Julien MOUTTE  <julien@moutte.net>
4030
4031         * gst/base/gstcollectpads.c: (gst_collectpads_event),
4032         (gst_collectpads_chain):
4033         * gst/base/gstcollectpads.h: Handle newsegment and store informations
4034         in CollectData.
4035
4036 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4037
4038         * docs/gst/gstreamer-sections.txt:
4039         * gst/gst.c:
4040         * gst/gsterror.h:
4041         * tools/gst-inspect.c: (main):
4042         * tools/gst-launch.c: (main):
4043         * tools/gst-run.c: (main):
4044         * tools/gst-xmlinspect.c: (main):
4045           fix GOption context leaks
4046           doc fixes
4047
4048 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4049
4050         * gst/gstbus.c:
4051           use HAVE_UNISTD_H
4052         * win32/common/config.h:
4053           update config
4054         * win32/vs6/grammar.dsp:
4055         * win32/vs6/libgstelements.dsp:
4056         * win32/vs6/libgstreamer.dsp:
4057           update vs6 files
4058
4059 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4060
4061         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4062         * gst/base/gstbasesrc.c: (gst_base_src_query):
4063           fix more guint64<->gdouble conversions
4064
4065 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4066
4067         * Makefile.am:
4068           add win32-update target
4069         * win32/common/gstconfig.h:
4070         * win32/common/gstenumtypes.c:
4071         * win32/common/gstenumtypes.h:
4072         * win32/common/gstversion.h:
4073           add files that visual studio can't generate
4074
4075 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4076
4077         * Makefile.am:
4078           add a win32-update target
4079         * configure.ac:
4080
4081 2005-10-12  Wim Taymans  <wim@fluendo.com>
4082
4083         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4084         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
4085         * gst/gstelement.c: (gst_element_commit_state),
4086         (gst_element_set_state):
4087         Protect flags with proper lock.
4088         unref provided cached clock in dispose.
4089
4090 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4091
4092         * gst/gst.c:
4093         * gst/gstminiobject.h:
4094         * gst/gstpad.h:
4095         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
4096           removed unused flags from miniobject
4097           doc fixes
4098
4099 2005-10-12  Wim Taymans  <wim@fluendo.com>
4100
4101         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4102         (gst_file_sink_event), (gst_file_sink_render):
4103         Flush before seeking.
4104
4105 2005-10-12  Andy Wingo  <wingo@pobox.com>
4106
4107         * gst/gst.c (gst_init_check): Ignore unknown options, as has
4108         always been the case.
4109
4110 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4111
4112         * check/gst/gstbin.c: (GST_START_TEST):
4113         * docs/gst/gstreamer-sections.txt:
4114         * gst/base/gstbasesink.c: (gst_base_sink_init):
4115         * gst/base/gstbasesrc.c: (gst_base_src_init),
4116         (gst_base_src_get_range), (gst_base_src_check_get_range),
4117         (gst_base_src_start), (gst_base_src_stop):
4118         * gst/base/gstbasesrc.h:
4119         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
4120         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4121         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
4122         (bin_bus_handler):
4123         * gst/gstbin.h:
4124         * gst/gstbuffer.h:
4125         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
4126         * gst/gstbus.h:
4127         * gst/gstelement.c: (gst_element_is_locked_state),
4128         (gst_element_set_locked_state), (gst_element_commit_state),
4129         (gst_element_set_state):
4130         * gst/gstelement.h:
4131         * gst/gstindex.c: (gst_index_init):
4132         * gst/gstindex.h:
4133         * gst/gstminiobject.h:
4134         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
4135         (gst_object_set_parent):
4136         * gst/gstobject.h:
4137         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4138         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4139         * gst/gstpad.h:
4140         * gst/gstpadtemplate.h:
4141         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4142         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4143         * gst/gstpipeline.h:
4144         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4145         (gst_file_index_commit):
4146         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4147         * testsuite/pad/link.c: (gst_test_src_init),
4148         (gst_test_filter_init), (gst_test_sink_init):
4149         * testsuite/states/locked.c: (main):
4150           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
4151           moved bitshift from macro to enum definition
4152
4153 2005-10-12  Wim Taymans  <wim@fluendo.com>
4154
4155         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
4156         * gst/elements/gstfilesink.c: (gst_file_sink_event),
4157         (gst_file_sink_render):
4158         Some more debugging info.
4159
4160 2005-10-12  Wim Taymans  <wim@fluendo.com>
4161
4162         * docs/design/part-states.txt:
4163         * tools/gst-launch.c: (main):
4164         Some doc updates.
4165         Revert non-intentional change.
4166
4167 2005-10-12  Wim Taymans  <wim@fluendo.com>
4168
4169         * check/gst/gstbin.c: (GST_START_TEST):
4170         * check/gst/gstelement.c: (GST_START_TEST):
4171         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4172         * check/gst/gstghostpad.c: (GST_START_TEST):
4173         * check/gst/gstpipeline.c: (GST_START_TEST):
4174         * check/pipelines/simple_launch_lines.c: (run_pipeline):
4175         * check/states/sinks.c: (GST_START_TEST):
4176         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4177         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4178         (gst_bin_remove_func), (gst_bin_get_state_func),
4179         (gst_bin_recalc_state), (gst_bin_change_state_func),
4180         (bin_bus_handler):
4181         * gst/gstelement.c: (gst_element_get_state_func),
4182         (gst_element_get_state), (gst_element_abort_state),
4183         (gst_element_commit_state), (gst_element_set_state),
4184         (gst_element_change_state), (gst_element_change_state_func):
4185         * gst/gstelement.h:
4186         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4187         (gst_pipeline_provide_clock_func):
4188         * gst/gstutils.c: (gst_element_link_pads_filtered):
4189         * tools/gst-launch.c: (main):
4190         * tools/gst-typefind.c: (main):
4191         Use GstClockTime in _get_state() instead of GTimeVal.
4192         Remove old code in gstutils.c
4193
4194 2005-10-12  Andy Wingo  <wingo@pobox.com>
4195
4196         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4197         removed.
4198
4199         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4200         there is no task. Shouldn't affect any code, as nothing in our
4201         plugins checks this return value.
4202         (gst_pad_stop_task): Also take the stream lock if the pad has no
4203         task. Docs updated.
4204
4205 2005-10-12  Wim Taymans  <wim@fluendo.com>
4206
4207         * gst/gstpad.c: (pre_activate), (post_activate),
4208         (gst_pad_activate_pull), (gst_pad_activate_push):
4209         Cleanup activation code. Reset old state if
4210         activation failed.
4211
4212 2005-10-12  Wim Taymans  <wim@fluendo.com>
4213
4214         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4215         (gst_base_sink_change_state):
4216         No need to prerol after receiving EOS.
4217
4218         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4219         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4220         * gst/elements/gstidentity.c: (gst_identity_event):
4221         Print events more verbosely.
4222
4223 2005-10-12  Wim Taymans  <wim@fluendo.com>
4224
4225         * check/Makefile.am:
4226         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4227         * check/states/sinks2.c:
4228         Moved sinks2 testcode in sinks check.
4229
4230         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4231         (gst_bin_remove_func), (gst_bin_recalc_state),
4232         (gst_bin_change_state_func), (bin_bus_handler):
4233         Fix potential race condition when _get_state() iterated over an
4234         ASYNC element right before it posted a state completion.
4235
4236         * gst/gstclock.h:
4237         Do proper cast here.
4238
4239         * gst/gstevent.c: (gst_event_new_newsegment),
4240         (gst_event_parse_newsegment):
4241         A playback rate of 0.0 is not allowed.
4242
4243 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4244
4245         * win32/common/config.h:
4246         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4247         (_trewinddir), (_ttelldir), (_tseekdir):
4248         * win32/common/dirent.h:
4249         * win32/common/gtchar.h:
4250         * win32/common/libgstbase.def:
4251         * win32/common/libgstreamer.def:
4252         * win32/vs6/grammar.dsp:
4253         * win32/vs6/gst_inspect.dsp:
4254         * win32/vs6/gst_launch.dsp:
4255         * win32/vs6/gstreamer.dsw:
4256         * win32/vs6/libgstbase.dsp:
4257         * win32/vs6/libgstelements.dsp:
4258         * win32/vs6/libgstreamer.dsp:
4259           Visual Studio 6 project files, and a new common directory.
4260           Phear.
4261
4262 2005-10-11  Wim Taymans  <wim@fluendo.com>
4263
4264         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4265         (gst_base_sink_do_sync), (gst_base_sink_query),
4266         (gst_base_sink_change_state):
4267         * gst/base/gstbasesink.h:
4268         Correctly parse newsegment info.
4269
4270 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4271
4272         * gst/gst.c: (init_post):
4273           split plugin paths correctly
4274
4275 2005-10-11  Wim Taymans  <wim@fluendo.com>
4276
4277         * check/gst/gstevent.c: (GST_START_TEST):
4278         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4279         (gst_base_sink_change_state):
4280         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4281         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4282         * gst/elements/gstfilesink.c: (gst_file_sink_event):
4283         * gst/gstevent.c: (gst_event_new_newsegment),
4284         (gst_event_parse_newsegment):
4285         * gst/gstevent.h:
4286         Added extra flag to newsegment for future API freeze.
4287         Updated check and base elements.
4288
4289 2005-10-11  Julien MOUTTE  <julien@moutte.net>
4290
4291         * gst/base/gstcollectpads.c: (gst_collectpads_init),
4292         (gst_collectpads_add_pad), (gst_collectpads_pop),
4293         (gst_collectpads_event), (gst_collectpads_chain):
4294         * gst/base/gstcollectpads.h: Handle EOS correctly.
4295
4296 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4297
4298         * tools/gst-launch.c: (main):
4299           more null protecting
4300
4301 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4302
4303         * gst/gst-i18n-lib.h:
4304           check for ENABLE_NLS, not GETTEXT_PACKAGE
4305         * gst/gstregistry.c: (gst_registry_add_plugin),
4306         (gst_registry_scan_path_level),
4307         (_gst_registry_remove_cache_plugins):
4308           protect possibly NULL strings
4309         * gst/parse/types.h:
4310           config.h already included before
4311         * tools/gst-inspect.c: (main):
4312           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4313           check for ENABLE_NLS, not GETTEXT_PACKAGE
4314         * tools/gst-launch.c: (main):
4315           check for ENABLE_NLS, not GETTEXT_PACKAGE
4316
4317 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4318
4319         * configure.ac:
4320           if we don't have glib, fail before testing 2.8
4321         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4322           fix a leak, should fix plugins-base testsuite
4323
4324 2005-10-11  Andy Wingo  <wingo@pobox.com>
4325
4326         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4327         take the mode we're going to as an arg. Go head and set the mode
4328         and flushing flags now, so that if the activate function starts a
4329         thread all the flags will be in the right state.
4330         (post_activate): Renamed also. Just handle making sure streaming
4331         finishes for the deactivation case, and setting the deactivated
4332         mode.
4333         (gst_pad_set_active): Complain loudly if deactivation fails.
4334         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4335         (gst_pad_activate_push): Adapt to pre/post_activate changes,
4336         remove the terrible hack.
4337
4338 2005-10-11  Wim Taymans  <wim@fluendo.com>
4339
4340         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4341         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4342         (gst_bin_recalc_state), (gst_bin_change_state_func),
4343         (gst_bin_dispose), (bin_bus_handler):
4344         * gst/gstbin.h:
4345         Prepare to make current EOS message queue more generic.
4346         Fix some typos.
4347
4348         * gst/gstevent.c: (gst_event_new_newsegment),
4349         (gst_event_parse_newsegment):
4350         * gst/gstevent.h:
4351         Rename base to stream_time.
4352
4353         * gst/gstmessage.h:
4354         Fix typo in docs.
4355
4356 2005-10-11  Wim Taymans  <wim@fluendo.com>
4357
4358         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4359         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
4360         (gst_bin_change_state_func), (bin_bus_handler):
4361         * gst/gstbin.h:
4362         Work on proper clock selection.
4363
4364 2005-10-11  Edward Hervey  <edward@fluendo.com>
4365
4366         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
4367         * libs/gst/controller/gstcontroller.h:
4368         Added GList* version of _remove_properties() in order to be able to wrap
4369         it in bindings.
4370
4371 2005-10-11  Wim Taymans  <wim@fluendo.com>
4372
4373         * docs/design/part-states.txt:
4374         Some more docs.
4375
4376         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
4377         (gst_bin_change_state_func), (bin_bus_handler):
4378         Doc updates. Don't distribute the same clock over and over again.
4379
4380         * gst/gstclock.c:
4381         * gst/gstclock.h:
4382         Doc updates.
4383
4384         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
4385         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
4386         (gst_pad_send_event):
4387         * gst/gstpad.h:
4388         Make probe emission threadsafe again.
4389         Register quarks and move _get_name() from utils.
4390         Doc updates.
4391
4392         * gst/gstpipeline.c: (gst_pipeline_class_init),
4393         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4394         Only redistribute the clock of it changed.
4395
4396         * gst/gstsystemclock.h:
4397         Doc updates. 
4398
4399         * gst/gstutils.c:
4400         * gst/gstutils.h:
4401         Moved the _flow_get_name() to GstPad.
4402
4403 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4404
4405         * check/gst-libs/gdp.c: (GST_START_TEST):
4406         * check/gst/gstcaps.c: (GST_START_TEST):
4407         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
4408         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
4409         (gst_dp_packet_from_caps):
4410           fix more valgrind warnings before turning up the heat
4411
4412 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4413
4414         * gst/parse/grammar.y:
4415           some cleanup before the hacking
4416
4417 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4418
4419         * gst/base/gstbasesrc.c: (gst_base_src_query):
4420           use conversions
4421         * gst/gstutils.c: (gst_guint64_to_gdouble),
4422         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
4423         * gst/gstutils.h:
4424           externalize, basesrc uses it
4425           obviously the implementation needs testing
4426
4427 2005-10-10  Wim Taymans  <wim@fluendo.com>
4428
4429         * tests/sched/Makefile.am:
4430         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
4431         (make_pipeline3), (make_pipeline4), (print_elem), (main):
4432
4433 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4434
4435         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
4436           apparently converting from guint64 to double is not implemented
4437           on MSVC
4438
4439 2005-10-10  Wim Taymans  <wim@fluendo.com>
4440
4441         * check/Makefile.am:
4442         * check/generic/states.c: (GST_START_TEST):
4443         * check/gst/gstbin.c: (GST_START_TEST):
4444         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4445         * check/states/sinks.c: (GST_START_TEST):
4446         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
4447         (main):
4448         Check fixes, use API as stated in design docs, remove hacks.
4449
4450         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4451         (gst_base_sink_change_state):
4452         Catch stopping our task while we're shutting down.
4453
4454         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
4455         (gst_bin_remove_func), (gst_bin_get_state_func),
4456         (gst_bin_recalc_state), (gst_bin_change_state_func),
4457         (bin_bus_handler):
4458         * gst/gstbin.h:
4459         * gst/gstelement.c: (gst_element_init),
4460         (gst_element_get_state_func), (gst_element_abort_state),
4461         (gst_element_commit_state), (gst_element_lost_state),
4462         (gst_element_set_state), (gst_element_change_state),
4463         (gst_element_change_state_func):
4464         * gst/gstelement.h:
4465         New state change algorithm (see #318116)
4466
4467         * gst/gstpipeline.c: (gst_pipeline_class_init),
4468         (gst_pipeline_init), (gst_pipeline_set_property),
4469         (gst_pipeline_get_property), (do_pipeline_seek),
4470         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4471         * gst/gstpipeline.h:
4472         Remove crude state change hacks.
4473
4474         * gst/gstutils.h:
4475         Remove crude hacks.
4476
4477         * tools/gst-launch.c: (main):
4478         Fixes for state change. Needs some more work to fully use the
4479         new stuff.
4480
4481 2005-10-10  Andy Wingo  <wingo@pobox.com>
4482
4483         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
4484
4485         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
4486         this flag, but it's not even in GLib 2.6. Odd. Hack around the
4487         issue.
4488
4489 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4490
4491         * gst/gstiterator.c: (gst_iterator_new):
4492           Fix my previous commit: GTypes passed to gst_iterator_new()
4493           can be fundamental types.
4494
4495 2005-10-10  Wim Taymans  <wim@fluendo.com>
4496
4497         * gst/gstelement.c: (gst_element_iterate_pad_list),
4498         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
4499         (gst_element_iterate_sink_pads):
4500         Use src/sink pads lists for the respective iterators instead
4501         of filtering.
4502
4503 2005-10-10  Andy Wingo  <wingo@pobox.com>
4504
4505         Merged in popt removal + GOption addition patch from Ronald, bug
4506         #169772.
4507
4508         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
4509         GstElement macros around, remove popt-related symbols, add goption
4510         stuff.
4511
4512         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
4513         
4514         * docs/gst/Makefile.am:
4515         * docs/libs/Makefile.am: No POPT_CFLAGS.
4516         
4517         * examples/manual/Makefile.am:
4518         * docs/manual/basics-init.xml: Doc updates with an example.
4519         
4520         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4521         (gst_init), (parse_one_option), (parse_goption_arg):
4522         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
4523         bit of hand merging and debugging to get the GOption stuff working
4524         tho.
4525         
4526         * tests/Makefile.am:
4527         * tools/Makefile.am:
4528         * tools/gst-inspect.c: (main):
4529         * tools/gst-launch.c: (main):
4530         * tools/gst-run.c: (main):
4531         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
4532
4533 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4534
4535         * gst/gstiterator.c: (gst_iterator_new):
4536           Add assertions to make sure passed GType is likely to really
4537           be a GType (as the compiler won't catch it if the size and
4538           GType arguments get mixed up, see #318447).
4539
4540 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
4541
4542         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4543
4544         * gst/gstbin.c: (gst_bin_iterate_sorted):
4545           Pass GType and size arguments to gst_iterator_new() in the right
4546           order (maybe we should make _new() take the GType as first argument
4547           just like _new_list()?) (#318447).
4548           
4549
4550 2005-10-10  Wim Taymans  <wim@fluendo.com>
4551
4552         * gst/gstelement.c: (gst_element_finalize):
4553         And free the GStaticRecMutex too
4554
4555 2005-10-10  Andy Wingo  <wingo@pobox.com>
4556
4557         * gst/gstelement.c (gst_element_init, gst_element_finalize):
4558         Allocate and free the mutex properly.
4559
4560         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
4561         New macros.
4562         (GstElement): The state_lock is now recursive. Rebuild your
4563         plugins, suckers. Old macros adapted.
4564
4565         * docs/gst/gstreamer-sections.txt: Doc updates.
4566
4567         * gst/gstutils.h:
4568         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
4569         (g_static_rec_cond_wait): Ported from state changes patch, while
4570         we wait on bug #317802 to be solved in a well-distributed GLib.
4571
4572         * gst/gstelement.c (gst_element_change_state_func): Renamed from
4573         gst_element_change_state, variable name changes.
4574         (gst_element_change_state): Split out of gst_element_set_state in
4575         preparation for the state change merge. Doesn't pay attention to
4576         the 'transition' argument.
4577         (gst_element_set_state): Updates, hopefully purely cosmetic.
4578         (gst_element_sync_state_with_parent): MT-safety. Ported from the
4579         state change patch.
4580         (gst_element_get_state_func): Renamed from get_state, cosmetic
4581         changes.
4582
4583 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4584
4585         * gst/elements/gstelements.c:
4586         * win32/GStreamer.vcproj:
4587         * win32/config.h:
4588         * win32/dirent.c: (_tseekdir):
4589         * win32/gst-inspect.vcproj:
4590         * win32/gst-launch.vcproj:
4591         * win32/gstconfig.h:
4592         * win32/gstelements.vcproj:
4593         * win32/gstenumtypes.c: (gst_object_flags_get_type):
4594         * win32/gstreamer.def:
4595         * win32/msvc71.sln:
4596           updates for the win32 build (patch from Sebastien Moutte)
4597
4598 2005-10-10  Andy Wingo  <wingo@pobox.com>
4599
4600         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
4601         gst_bin_get_state, cleaned up (but no logic changes).
4602         (bin_element_is_sink): Comment updates.
4603         (sink_iterator_filter): Remove needless cast.
4604         (gst_bin_iterate_sinks): Doc update.
4605         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
4606         cleaned up (but no logic changes).
4607
4608         * check/states/sinks.c (test_src_sink): Cleanups from the state
4609         change patch.
4610         (test_livesrc_sink): Sync on the state.
4611
4612         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
4613         the state change patch.
4614
4615         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
4616         change patch.
4617
4618         * check/gst/gstbin.c: Merge in some style fixes and additional
4619         checks from Wim's state change patch.
4620
4621 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4622
4623         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4624         (gst_type_find_helper):
4625           Check whether we have the requested data already in our list of
4626           cached buffers before pulling a new buffer; also make the buffer
4627           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
4628
4629 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4630
4631         * gst/gstcaps.c:
4632         * gst/gstevent.c:
4633           doc updates
4634         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
4635           don't use long long, it's not portable.  Replacing with
4636           gint64 seems to work; let's hope no skeletons fall out of the closet.
4637
4638 2005-10-10  Andy Wingo  <wingo@pobox.com>
4639
4640         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
4641
4642 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
4643
4644         * docs/gst/gstreamer-sections.txt:
4645         * gst/gstevent.c:
4646         * gst/gstevent.h:
4647         * gst/gstinfo.c:
4648         * gst/gstinfo.h:
4649         * gst/gstmessage.c: (gst_message_parse_state_changed):
4650         * gst/gstpad.c:
4651         * gst/gstpad.h:
4652           more docs, fix compilation
4653
4654 2005-10-09  Philippe Khalaf <burger@speedy.org>
4655         * gst/gstmessage.c:
4656           Fixed a few forgotten variables on previous commit
4657
4658 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4659
4660         * gst/base/gsttypefindhelper.c: (helper_find_peek):
4661           Fix evil typefind crasher: getrange() might return a short
4662           buffer at the end of a file, but gst_type_find_peek() must
4663           either return the full data as requested or NULL, but
4664           never a short buffer.
4665
4666 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4667
4668         * gst/gstmessage.c: (gst_message_new_state_changed),
4669         (gst_message_parse_state_changed):
4670         * gst/gstmessage.h:
4671           don't use "new", it's a C++ keyword
4672
4673 2005-10-08  Wim Taymans  <wim@fluendo.com>
4674
4675         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
4676         * gst/gstelement.c: (gst_element_post_message):
4677         * gst/gstpipeline.c: (gst_pipeline_change_state):
4678         Small docs and debug updates.
4679
4680 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4681
4682         * docs/gst/gstreamer-sections.txt:
4683         * gst/gstelementfactory.c:
4684         * gst/gstevent.c:
4685         * gst/gsttaglist.c:
4686           more docs
4687
4688 2005-10-08  Wim Taymans  <wim@fluendo.com>
4689
4690         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
4691         (gst_bin_dispose), (bin_bus_handler):
4692         Fix typos, add comments.
4693         Clear EOS list when going to PAUSED from any direction and do it
4694         in a threadsafe way.
4695         Get base time in a threadsafe way too.
4696         Fix confusing debug in the change_state function.
4697         Various other small cleanups.
4698         
4699         * gst/gstelement.c: (gst_element_post_message):
4700         Fix very verbose bus posting code.
4701
4702         * gst/gstpipeline.c: (gst_pipeline_class_init),
4703         (gst_pipeline_set_property), (gst_pipeline_get_property),
4704         (gst_pipeline_change_state):
4705         Small ARG_ -> PROP_ cleanup
4706
4707 2005-10-08  Wim Taymans  <wim@fluendo.com>
4708
4709         * gst/gstbin.c: (is_eos), (bin_bus_handler):
4710         Do a less CPU demanding EOS check because we can.
4711
4712 2005-10-08  Wim Taymans  <wim@fluendo.com>
4713
4714         * libs/gst/dataprotocol/dataprotocol.c:
4715         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
4716         (gst_dp_packet_from_event):
4717         * libs/gst/dataprotocol/dataprotocol.h:
4718         * libs/gst/dataprotocol/dp-private.h:
4719         It's about time we bump the version number.
4720         Since event types don't fit in the guint8 anymore describing
4721         the payload type, make payload type 16 bits wide.
4722
4723 2005-10-08  Wim Taymans  <wim@fluendo.com>
4724
4725         * docs/design/part-TODO.txt:
4726         * docs/design/part-clocks.txt:
4727         * docs/design/part-events.txt:
4728         * docs/design/part-gstbin.txt:
4729         * docs/design/part-gstelement.txt:
4730         * docs/design/part-gstpipeline.txt:
4731         * docs/design/part-live-source.txt:
4732         * docs/design/part-messages.txt:
4733         * docs/design/part-overview.txt:
4734         * docs/design/part-states.txt:
4735         Many doc updates.
4736
4737 2005-10-08  Wim Taymans  <wim@fluendo.com>
4738
4739         * gst/gstevent.c:
4740         * gst/gstevent.h:
4741         Fix event quark registration.
4742         Add some space between events so we can insert them in the
4743         right groups.
4744
4745 2005-10-08  Wim Taymans  <wim@fluendo.com>
4746
4747         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4748         (gst_base_sink_handle_buffer):
4749         Better log message.
4750
4751         * gst/gstbus.h:
4752         * gst/gstelement.h:
4753         More docs.
4754
4755         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4756         (gst_queue_set_property), (gst_queue_get_property):
4757         * gst/gstqueue.h:
4758         Remove old unused properties.
4759
4760 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4761         * docs/gst/gstreamer-sections.txt:
4762         * gst/gstmessage.c:
4763         * gst/gstmessage.h:
4764         * gst/gstminiobject.c:
4765         * gst/gstminiobject.h:
4766         * gst/gstobject.h:
4767         * gst/gstpad.h:
4768         * gst/gstutils.h:
4769           lots of new docs and doc fixes
4770
4771 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4772
4773         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
4774         * gst/gstplugin.h:
4775         * gst/gstregistry.c: (gst_registry_lookup_locked),
4776         (gst_registry_scan_path_level):
4777         * gst/gstregistryxml.c: (load_plugin):
4778           Only ever load one plugin for a given plugin basename.
4779           This ensures correct overriding of GST_PLUGIN_PATH over
4780           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
4781           system installed plugins.
4782
4783 2005-10-08  Wim Taymans  <wim@fluendo.com>
4784
4785         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4786         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
4787         Prepare for doing QOS.
4788
4789 2005-10-08  Wim Taymans  <wim@fluendo.com>
4790
4791         * check/gst/gstbin.c: (GST_START_TEST):
4792         * check/pipelines/cleanup.c: (GST_START_TEST):
4793         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
4794         Allow new clock message too.
4795
4796 2005-10-08  Wim Taymans  <wim@fluendo.com>
4797
4798         * gst/gstmessage.c: (gst_message_new_error),
4799         (gst_message_new_warning), (gst_message_new_tag),
4800         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4801         (gst_message_new_clock_lost), (gst_message_new_new_clock),
4802         (gst_message_new_segment_start), (gst_message_new_segment_done),
4803         (gst_message_parse_state_changed),
4804         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
4805         (gst_message_parse_new_clock):
4806         * gst/gstmessage.h:
4807         Also carry the clock in question.
4808
4809 2005-10-08  Wim Taymans  <wim@fluendo.com>
4810
4811         * gst/gstmessage.c: (gst_message_new_custom),
4812         (gst_message_new_eos), (gst_message_new_error),
4813         (gst_message_new_warning), (gst_message_new_tag),
4814         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4815         (gst_message_new_new_clock), (gst_message_new_segment_start),
4816         (gst_message_new_segment_done), (gst_message_parse_state_changed),
4817         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
4818         * gst/gstmessage.h:
4819         Clean up.
4820         Added clock related messages.
4821
4822         * gst/gstpipeline.c: (gst_pipeline_change_state):
4823         Post message when the clock changed.
4824
4825         * tools/gst-launch.c: (event_loop):
4826         Print new clock.
4827
4828 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
4829
4830         * tools/gst-inspect.c: (print_element_properties_info):
4831           Can't pass NULL strings to g_print() on windows.
4832
4833 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4834
4835         * docs/Makefile.am:
4836         * docs/gst/Makefile.am:
4837         * docs/gst/gstreamer-docs.sgml:
4838         * docs/gst/running.xml:
4839         * docs/version.entities.in:
4840           add a chapter on running GStreamer.
4841           document GST_DEBUG and GST_PLUGIN* env vars
4842
4843 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4844
4845         * Makefile.am:
4846           remove include dir
4847         * configure.ac:
4848           remove PLUGINS_BUILDDIR stuff
4849         * gst/gst.c: (init_post):
4850           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
4851         * idiottest.mak:
4852           remove, it was condescending and not needed
4853
4854 2005-10-08  Wim Taymans  <wim@fluendo.com>
4855
4856         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
4857         (gst_base_sink_handle_object), (gst_base_sink_event),
4858         (gst_base_sink_wait), (gst_base_sink_handle_event),
4859         (gst_base_sink_change_state):
4860         * gst/base/gstbasesink.h:
4861         Repost EOS message while going to PLAYING if still EOS.
4862         Make sure that when receiving a FLUSH_START we don't attempt
4863         to sync on the clock anymore.
4864
4865 2005-10-08  Wim Taymans  <wim@fluendo.com>
4866
4867         * tools/gst-launch.c: (event_loop):
4868         Better message printout.
4869
4870 2005-10-08  Wim Taymans  <wim@fluendo.com>
4871
4872         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
4873         (gst_bin_child_proxy_get_children_count):
4874         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
4875         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
4876         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
4877         (gst_child_proxy_set_valist):
4878         * gst/parse/grammar.y:
4879         Make ChildProxy threadsafe and fix mem leaks.
4880
4881 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4882
4883         * gst/gst.c: (init_post):
4884           debug the GST_PLUGIN_ env vars
4885
4886 2005-10-08  Wim Taymans  <wim@fluendo.com>
4887
4888         * check/gst/gstbin.c: (GST_START_TEST):
4889         * check/gst/gstmessage.c: (GST_START_TEST):
4890         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4891         * gst/gstelement.c: (gst_element_commit_state),
4892         (gst_element_lost_state):
4893         * gst/gstmessage.c: (gst_message_new_state_changed),
4894         (gst_message_parse_state_changed):
4895         * gst/gstmessage.h:
4896         * tools/gst-launch.c: (event_loop):
4897         Added extra field to STATE_CHANGE message with the pending
4898         state, which will be different from the new state soon.
4899
4900 2005-10-08  Wim Taymans  <wim@fluendo.com>
4901
4902         * gst/gstbus.c: (gst_bus_pop):
4903         * gst/gstclock.c:
4904         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
4905         Small cleanups and doc updates.
4906
4907 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4908
4909         * gst/gst.c: (init_pre):
4910         * gst/gstbin.c: (gst_bin_add_func):
4911           log distributing clocks and base time
4912         * gst/gstregistry.c: (gst_registry_add_plugin),
4913         (gst_registry_scan_path_level), (gst_registry_scan_path):
4914           clean up the debugging output a little
4915         * gst/gstutils.c: (gst_element_state_get_name):
4916           warn about a memleak (I've actually seen this be used, though
4917           it was probably a bug)
4918
4919 2005-10-07  Wim Taymans  <wim@fluendo.com>
4920
4921         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4922         (gst_base_src_init), (gst_base_src_default_newsegment),
4923         (gst_base_src_newsegment), (gst_base_src_do_seek),
4924         (gst_base_src_loop), (gst_base_src_start):
4925         * gst/base/gstbasesrc.h:
4926         Make the newsegment event customizable by subclasses.
4927
4928 2005-10-07  Wim Taymans  <wim@fluendo.com>
4929
4930         * gst/gstevent.c: (gst_event_new_buffersize),
4931         (gst_event_parse_buffersize):
4932         * gst/gstevent.h:
4933         New event for future idea.
4934
4935 2005-10-07  Andy Wingo  <wingo@pobox.com>
4936
4937         * gst/gstelement.c (gst_element_post_message): Doc update.
4938
4939         * docs/gst/gstreamer-sections.txt: Update.
4940
4941         * gst/gstmessage.c (gst_message_new_application): Made into a
4942         function like honest API calls.
4943         (gst_message_new_element): New message type.
4944
4945         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
4946
4947         * check/elements/fakesrc.c (test_no_preroll): New check, checks
4948         that setting a live fakesrc to PAUSED returns NO_PREROLL both
4949         times.
4950
4951         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
4952         NO_PREROLL from gst_element_change_state to fall through.
4953
4954 2005-10-07  Wim Taymans  <wim@fluendo.com>
4955
4956         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
4957         (gst_ghost_pad_do_activate_push):
4958         Activating a ghostpad with no internal pad in push mode
4959         is ok.
4960
4961 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4962
4963         * gst/gstobject.h:
4964           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
4965           Fixes compilation on Windows.
4966
4967 2005-10-07  Michael Smith <msmith@fluendo.com>
4968
4969         * tools/gst-inspect.c:
4970           Print out feature and plugin count at the end when printing out
4971           all features.
4972
4973 2005-10-04  Michael Smith <msmith@fluendo.com>
4974
4975         * gst/gsterror.c: (_gst_stream_errors_init):
4976           Add another error string used in a few existing plugins.
4977
4978         * gst/gstplugin.c:
4979         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4980         * tools/gst-inspect.c: (print_element_info):
4981           When a feature disappears from a plugin (and the feature exists in
4982           the cached registry file), things went horribly wrong. This isn't a
4983           complete fix, we should actually be removing the 'missing' features
4984           from the features list when we load the actual plugin. That's not
4985           yet implemented. 
4986
4987 2005-10-04  Johan Dahlin  <johan@gnome.org>
4988
4989         * check/gst/gstiterator.c: (GST_START_TEST):
4990         * gst/gstbin.c: (gst_bin_iterate_elements),
4991         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
4992         * gst/gstelement.c: (gst_element_iterate_pads):
4993         * gst/gstformat.c: (gst_format_iterate_definitions):
4994         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4995         (gst_iterator_new_list), (gst_iterator_filter):
4996         * gst/gstiterator.h:
4997         * gst/gstquery.c: (gst_query_type_iterate_definitions):
4998         Add a GType to GstIterator, update callsites and tests.
4999
5000 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5001
5002         * gst/gstpad.c: (gst_pad_event_default_dispatch):
5003           give events a chance to be handled by event probes when the pad
5004           is not linked
5005
5006 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5007
5008         * gst/gstevent.c: (gst_event_type_get_name),
5009         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
5010         * gst/gstevent.h:
5011           add string representations for event types
5012
5013 2005-10-06  Wim Taymans  <wim@fluendo.com>
5014
5015         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
5016         Don't use NULL pointers.
5017
5018 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5019
5020         * gst/gst_private.h:
5021         * gst/gstbus.c:
5022         * gst/gstelement.c:
5023         * gst/gstinfo.c:
5024         * gst/gstpluginfeature.c:
5025           widen the debug category in output to fit the biggest one we have
5026           add a bus category and use it
5027           play with the colors
5028           fix up some categories
5029
5030 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5031
5032         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
5033           add push activation of sink ghost pads.
5034           Andye, please verify
5035
5036 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5037
5038         * gst/gstutils.c: (gst_element_link_pads):
5039           fix a bug in the case where neither element has a pad
5040         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5041           add a test for that case
5042
5043 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5044
5045         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
5046           emit have-data before checking for peers.  This allows
5047           for probe handlers to connect elements.  This helps autopluggers.
5048         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
5049         (gst_pad_suite):
5050           add six checks, linked/unlinked with no/true/false probe
5051
5052 2005-10-04  Wim Taymans  <wim@fluendo.com>
5053
5054         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
5055         (gst_fake_sink_event), (gst_fake_sink_preroll),
5056         (gst_fake_sink_render), (gst_fake_sink_change_state):
5057         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
5058         (gst_fake_src_get_property), (gst_fake_src_create),
5059         (gst_fake_src_stop):
5060         * gst/elements/gstidentity.c: (gst_identity_stop):
5061         Protect last_message with lock.
5062
5063 2005-10-04  Edward Hervey  <edward@fluendo.com>
5064
5065         * gst/gstformat.h: 
5066         Added precision in the comments for GST_FORMAT_DEFAULT
5067
5068 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
5069
5070         * tools/gst-launch.c: (main):
5071           Don't try to run erroneous pipelines.
5072
5073 2005-10-04  Julien MOUTTE  <julien@moutte.net>
5074
5075         * gst/gstbus.c: We don't need this header.
5076
5077 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5078
5079         * configure.ac:
5080           back to development
5081
5082 === release 0.9.3 ===
5083
5084 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5085
5086         * README:
5087         * configure.ac:
5088           Releasing 0.9.3, "Unregistered"
5089
5090 2005-10-03  Andy Wingo  <wingo@pobox.com>
5091
5092         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
5093         whereby calling a pad's activatepush() function can start a thread
5094         that starts to push or pull before the pad gets the FLUSHING flag
5095         unset. Hack around it by holding the stream lock until the flag is
5096         set. Need to replace this with a proper solution. Together with
5097         the ghost pad fixes, this fixes mp3 playing/tagreading.
5098
5099         * docs/design/part-gstghostpad.txt: Add a note about activation of
5100         proxy pads outside of ghost pads.
5101
5102         * gst/gstghostpad.c: Implement the ghost pad activation design.
5103
5104 2005-10-02  Andy Wingo  <wingo@pobox.com>
5105
5106         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
5107         It is volatile, after all.
5108
5109         * docs/design/part-gstghostpad.txt: Flesh out activation with
5110         ghost pads.
5111
5112         * gst/base/gstbasesrc.c (gst_base_src_init): Use
5113         GST_DEBUG_FUNCPTR.
5114
5115 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5116
5117         * configure.ac:
5118           Fix (unused) AM_CONDITIONAL tests.
5119
5120 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
5121
5122         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5123
5124         * gst/gstutils.c: (gst_pad_query_convert):
5125           Add assertion that makes sure src_val is >=0, just like
5126           gst_query_new_convert() has. (#315895)
5127
5128 2005-09-30  Edward Hervey  <edward@fluendo.com>
5129
5130         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
5131         Let's not iterate pads we're not interested in, it avoids getting 
5132         sky-high refcounts on sinkpad.
5133
5134 2005-09-30  Wim Taymans  <wim@fluendo.com>
5135
5136         * gst/gstelement.c: (gst_element_set_state),
5137         (gst_element_change_state):
5138         Small tweak, element in ASYNC remains ASYNC.
5139
5140 2005-09-30  Wim Taymans  <wim@fluendo.com>
5141
5142         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5143         Only error is an error.
5144
5145         * gst/gstbin.c: (gst_bin_change_state):
5146         Better debugging.
5147
5148         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
5149         Also call pad_block in pad alloc.
5150
5151         * gst/gstutils.c: (gst_flow_get_name):
5152         Better debugging.
5153
5154 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5155
5156         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5157         (gst_base_src_get_range):
5158           Fix documentation typos. Add some more debug info.
5159
5160 2005-09-29  David Schleef  <ds@schleef.org>
5161
5162         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5163           more end-user friendly.
5164         * tools/gst-inspect.c: (main): Check if command-line argument is
5165           a file and attempt to load that file as a plugin.
5166
5167 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5168
5169         * check/gst/gstbin.c:
5170         * check/states/sinks.c:
5171           fix tests for the new warning
5172         * check/gst/gstpipeline.c:
5173           add a test for pipeline and bus interaction
5174         * gst/gstelement.c:
5175           elements should be NULL if they get disposed; add a warning if not
5176
5177 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5178
5179         * gst/gstobject.c:
5180           for 2.6 refcounting, make debug log more correct by printing
5181           the actual refcounts at the time of swap (Wim)
5182
5183 2005-09-29  Andy Wingo  <wingo@pobox.com>
5184
5185         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5186         removes signal watches previously added via
5187         gst_bus_add_signal_watch.
5188         (gst_bus_add_signal_watch): Don't return the source id, just store
5189         it on the bus if there wasn't an id already.
5190
5191         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5192         add_signal_watch and remove_signal_watch.
5193
5194 2005-09-29  Edward Hervey  <edward@fluendo.com>
5195
5196         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
5197         Better if we actually iterate the list :)
5198
5199 2005-09-29  Wim Taymans  <wim@fluendo.com>
5200
5201         * check/gst/gstbin.c: (GST_START_TEST):
5202         Change for new bus API.
5203
5204         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5205         (send_messages), (GST_START_TEST), (gstbus_suite):
5206         Change for new bus signal API.
5207
5208         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5209         (gst_bus_source_prepare), (gst_bus_source_check),
5210         (gst_bus_create_watch), (gst_bus_add_watch_full),
5211         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5212         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5213         * gst/gstbus.h:
5214         Remove support for multiple GSources operating on different
5215         message types as it is too complex and unneeded when using
5216         signals.
5217         Added support for receiving signals from the bus.
5218
5219 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5220
5221         * docs/libs/tmpl/gstdataprotocol.sgml:
5222         * docs/manual/advanced-dataaccess.xml:
5223         * gst/elements/gstcapsfilter.c:
5224         * gst/gstutils.c:
5225           rename filter-caps to caps property
5226
5227 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5228
5229         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5230           More robust fraction string parsing.
5231
5232         * docs/pwg/appendix-porting.xml:
5233           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5234
5235 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5236
5237         * gst/gstcaps.c: (gst_caps_do_simplify):
5238           Thou shalt not free a structure and then continue using it
5239           in the next loop iteration.
5240
5241         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5242         (gst_caps_suite):
5243           Add test case for caps simplification.
5244
5245 2005-09-29  Wim Taymans  <wim@fluendo.com>
5246
5247         * check/gst/gstbin.c: (GST_START_TEST):
5248         Oops.
5249
5250 2005-09-29  Wim Taymans  <wim@fluendo.com>
5251
5252         * check/gst/gstbin.c: (GST_START_TEST):
5253         Add bus to bin.
5254
5255         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5256         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5257         (find_element), (gst_bin_sort_iterator_next),
5258         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5259         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5260         (gst_bin_change_state), (gst_bin_dispose):
5261         A bin does not have a bus, it gets the bus from the parent.
5262
5263         * gst/gstelement.c: (gst_element_requires_clock),
5264         (gst_element_provides_clock), (gst_element_is_indexable),
5265         (gst_element_is_locked_state), (gst_element_change_state),
5266         (gst_element_set_bus_func):
5267         Small cleanups.
5268
5269         * gst/gstpipeline.c: (gst_pipeline_class_init),
5270         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5271         The pipeline provides a bus.
5272
5273 2005-09-28  Johan Dahlin  <johan@gnome.org>
5274
5275         * gst/gstmessage.c (gst_message_parse_state_changed): Use
5276         gst_structure_get_enum instead of gst_structure_get_int
5277
5278         * gst/gststructure.c (gst_structure_get_enum): Impl.
5279
5280         * gst/gststructure.h (gst_structure_get_enum): Add
5281
5282         * docs/gst/gstreamer-sections.txt: Ditto
5283
5284         * gst/gstmessage.c (gst_message_new_state_changed): Use
5285         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5286         which does introspection.
5287         Reviewed by Christian Schaller
5288
5289 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5290
5291         * gst/gstinfo.c: (gst_debug_log_default):
5292           don't do dummy g_strdup()s
5293         * libs/gst/controller/gstcontroller.c:
5294         (on_object_controlled_property_changed),
5295         (gst_controlled_property_new), (gst_controller_new_valist),
5296         (gst_controller_new_list),
5297         (gst_controller_remove_properties_valist), (gst_controller_set),
5298         (gst_controller_get), (gst_controller_sync_values),
5299         (gst_controller_get_value_array), (_gst_controller_class_init),
5300         (gst_controller_get_type):
5301         * libs/gst/controller/gstcontroller.h:
5302         * libs/gst/controller/gstinterpolation.c:
5303         (gst_controlled_property_find_timed_value_node):
5304           convert // to /**/ comments
5305
5306 2005-09-28  Wim Taymans  <wim@fluendo.com>
5307
5308         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5309         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5310         (gst_bus_sync_signal_handler):
5311         * gst/gstbus.h:
5312         Added async-message and sync-message signals to the bus.
5313         Added helper BusFunc to emit signals for all posted messages.
5314
5315         * gst/gstmessage.c: (gst_message_type_get_name),
5316         (gst_message_type_to_quark), (gst_message_get_type):
5317         * gst/gstmessage.h:
5318         Register quarks for message names.
5319
5320 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5321
5322         * docs/libs/gstreamer-libs-sections.txt:
5323         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5324         (gst_controller_new_list):
5325         * libs/gst/controller/gstcontroller.h:
5326           added another constructor for language bindings
5327
5328 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5329
5330         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5331           add another check
5332         * gst/gstbus.c:
5333           add some doc
5334         * gst/gstinfo.c: (_gst_debug_init):
5335           slightly more readable color for refcount debugging
5336
5337 2005-09-28  Wim Taymans  <wim@fluendo.com>
5338
5339         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5340         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5341         (find_element), (gst_bin_sort_iterator_next),
5342         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5343         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5344         (gst_bin_change_state), (gst_bin_dispose):
5345         Small doc fixes. get_clock -> provide_clock.
5346
5347         * gst/gstelement.c: (gst_element_class_init),
5348         (gst_element_provides_clock), (gst_element_provide_clock),
5349         (gst_element_get_clock), (gst_element_commit_state),
5350         (gst_element_lost_state):
5351         * gst/gstelement.h:
5352         Make get/set_clock() symetric. Add provide_clock vmethod since
5353         that is actually what this function does.
5354
5355         * gst/gstpipeline.c: (gst_pipeline_class_init),
5356         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
5357         (gst_pipeline_get_clock):
5358         get_clock -> provide_clock.
5359
5360 2005-09-28  Andy Wingo  <wingo@pobox.com>
5361
5362         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
5363         lieu of real docs...
5364
5365         * gst/elements/gstfdsrc.c: Cleaned up a bit.
5366
5367 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
5368
5369         * gst/elements/gstcapsfilter.c:
5370         * gst/elements/gstfakesink.c:
5371         * gst/elements/gstfakesrc.c:
5372         * gst/elements/gstfdsink.c:
5373         * gst/elements/gstfdsrc.c:
5374         * gst/elements/gstfilesink.c:
5375         * gst/elements/gstfilesrc.c:
5376         * gst/elements/gstidentity.c:
5377         * gst/elements/gsttee.c:
5378         * gst/elements/gsttypefindelement.c:
5379           Make element details static.
5380
5381 2005-09-28  Wim Taymans  <wim@fluendo.com>
5382
5383         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5384         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5385         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5386         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5387         (gst_bin_change_state), (gst_bin_dispose):
5388         Some documentation updates.
5389         Clean up dispose handlers.
5390
5391         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
5392         * gst/gstpad.c: (gst_pad_dispose):
5393         Clean up dispose handler.
5394
5395         * gst/gstpipeline.c: (gst_pipeline_change_state):
5396         Removed spurious UNLOCK.
5397
5398 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
5399
5400         * docs/gst/gstreamer-sections.txt:
5401         * gst/base/gstbasesrc.h:
5402         * gst/gstelement.h:
5403         * gst/gstevent.h:
5404         * gst/gstobject.h:
5405         * gst/gstpad.h:
5406         * gst/gstpipeline.c:
5407         * gst/gstpipeline.h:
5408         * gst/gstutils.h:
5409         * gst/gstxml.h:
5410           added two new functions to the docs
5411                 documents all undocumented GstXXXFlags
5412                 completed some incomplete docs 
5413
5414 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5415
5416         * gst/gstbin.c: (gst_bin_dispose):
5417         * gst/gstelement.c: (gst_element_dispose):
5418           remove now useless and leaky resurrection code in dispose
5419         * gst/base/gstbasesrc.c: (gst_base_src_init):
5420         * gst/gstelementfactory.c: (gst_element_factory_create):
5421         * gst/gstobject.c: (gst_object_set_parent):
5422           add some debugging
5423
5424 2005-09-27  Wim Taymans  <wim@fluendo.com>
5425
5426         * docs/design/part-TODO.txt:
5427         Update TODO.
5428
5429         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5430         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5431         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5432         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5433         (gst_bin_change_state):
5434         * gst/gstelement.h:
5435         Remove element variable, we keep element info in the iterator now.
5436
5437 2005-09-27  Andy Wingo  <wingo@pobox.com>
5438
5439         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
5440         values.
5441
5442 2005-09-27  Wim Taymans  <wim@fluendo.com>
5443
5444         * check/gst/gstbin.c: (GST_START_TEST):
5445         Enable check that works now.
5446
5447         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5448         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5449         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5450         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5451         (gst_bin_change_state):
5452         * gst/gstbin.h:
5453         Redid the state change algorithm using a topological sort algo.
5454         Handles all cases correctly.
5455         Exposed iterator for state change order.
5456
5457         * gst/gstelement.h:
5458         Temp storage for state changes. Need to get rid of this soon.
5459
5460 2005-09-27  Wim Taymans  <wim@fluendo.com>
5461
5462         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
5463         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
5464         (link_fold_func), (gst_pad_proxy_setcaps):
5465         Leak fixes, the fold functions need to unref the passed object and
5466         _get_parent_*() returns ref to parent.
5467
5468 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5469
5470         * check/gst/gstbuffer.c: (test_make_writable):
5471           Plug leak in test case and fix 'make check-valgrind'
5472
5473 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5474
5475         * gst/gstbuffer.c: (gst_subbuffer_init):
5476           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
5477           works correctly in all circumstances (we could have just copied
5478           the parent buffer's readonly flag, but conceptually it seems
5479           cleaner to mark all subbuffers as read-only). (based on patch
5480           by Alessandro Decina, #314710).
5481         
5482         * check/gst/gstbuffer.c: (create_read_only_buffer),
5483         (test_make_writable), (test_subbuffer_make_writable),
5484         (gst_test_suite):
5485           Add some tests for gst_buffer_make_writable().
5486
5487 2005-09-27  Wim Taymans  <wim@fluendo.com>
5488
5489         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
5490         use gst_object_has_ancestor().
5491
5492         * gst/gstobject.c: (gst_object_has_ancestor):
5493         * gst/gstobject.h:
5494         gst_object_has_ancestor() copied from gstbin.c as it is a
5495         usefull function.
5496
5497         * tests/instantiate/create.c: (create_all_elements):
5498         * tests/lat.c: (handoff_src), (handoff_sink):
5499         * tests/sched/runxml.c: (main):
5500         * tests/seeking/seeking1.c: (main):
5501         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
5502         (main):
5503         Fix compilation of some tests.
5504
5505 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5506
5507         * gst/gsterror.h:
5508           Remove comment. GST_TYPE_G_ERROR is here to stay,
5509           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
5510           (#316961, #300610).
5511
5512 2005-09-26  Wim Taymans  <wim@fluendo.com>
5513
5514         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5515         Added check that shows error in state change order.
5516
5517 2005-09-26  Wim Taymans  <wim@fluendo.com>
5518
5519         * gst/gstbin.c: (gst_bin_change_state):
5520         Make state change function use 3 queues again, we were
5521         adding elements in the wrong order.
5522
5523         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
5524         Some debug info,
5525
5526         * gst/gstpad.c: (gst_pad_dispose):
5527         Added some debug info first.
5528
5529 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
5530
5531         * docs/design/draft-push-pull.txt:
5532         * docs/design/part-events.txt:
5533         * docs/design/part-overview.txt:
5534         * docs/design/part-scheduling.txt:
5535           Replace all _pull_region() with _pull_range()
5536           
5537 2005-09-26  Andy Wingo  <wingo@pobox.com>
5538
5539         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
5540
5541         * check/gst-libs/controller.c: Update for controller api change.
5542
5543         * configure.ac: 
5544         * tests/Makefile.am:
5545         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
5546         over by GLib bug 118439.
5547         
5548         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
5549         routines to a function.
5550
5551         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
5552
5553         * libs/gst/controller/gsthelper.c:
5554         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
5555         (gst_object_sync_values): Renamed from sink_values. Ugh.
5556
5557         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
5558
5559         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
5560         Renamed from controller_key, as it is exported.
5561
5562         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
5563
5564 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5565
5566         * gst/Makefile.am:
5567         * gst/gst.h:
5568         * gst/gstpad.h:
5569         * gst/gstpadtemplate.h:
5570         * gst/gstquery.c:
5571         * gst/gstquery.h:
5572         * gst/gstqueryutils.c:
5573         * gst/gstqueryutils.h:
5574           remove queryutils headers after moving the two used functions
5575           to gstquery.  also fixes build problem for gstsiddec
5576
5577 2005-09-26  Michael Smith <msmith@fluendo.com>
5578
5579         * tools/gst-launch.1.in:
5580         Correct documentation in manpage of debug syntax
5581
5582 2005-09-26  Wim Taymans  <wim@fluendo.com>
5583
5584         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
5585         (gst_base_src_is_seekable), (gst_base_src_change_state):
5586         Some more debugging info.
5587
5588 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5589
5590         * docs/gst/gstreamer-sections.txt:
5591         * gst/base/gstbasetransform.h:
5592         * gst/gstindex.h:
5593           added more docs
5594
5595 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5596
5597         * docs/gst/.cvsignore:
5598         * docs/gst/tmpl/.cvsignore:
5599         * docs/gst/tmpl/gstpipeline.sgml:
5600         * docs/gst/tmpl/gstplugin.sgml:
5601         * gst/gstpipeline.c:
5602         * gst/gstplugin.c:
5603         * gst/gstplugin.h:
5604           inlined the last two docs files
5605           removed the tmpl directory from cvs (no more conflicts here!)
5606
5607 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5608
5609         * docs/gst/gstreamer-sections.txt:
5610         * docs/gst/tmpl/.cvsignore:
5611         * docs/gst/tmpl/gstpad.sgml:
5612         * docs/gst/tmpl/gstpadtemplate.sgml:
5613         * gst/Makefile.am:
5614         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
5615         (gst_pad_finalize), (gst_pad_set_pad_template):
5616         * gst/gstpad.h:
5617         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5618         (gst_pad_template_class_init), (gst_pad_template_init),
5619         (gst_pad_template_dispose), (name_is_valid),
5620         (gst_static_pad_template_get), (gst_pad_template_new),
5621         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
5622         (gst_pad_template_pad_created):
5623         * gst/gstpadtemplate.h:
5624           inlined two more docs
5625           factored gstpadtemplate out of gstpad
5626
5627 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
5628
5629         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5630         (test_children_state_change_order_semi_sink):
5631           Fix test case: we can't rely on a fixed state change order when
5632           going from READY => PAUSED because the sink might commit its 
5633           new state first when the first buffer created by the source 
5634           reaches the sink before the source has finished its change state.
5635           (Test case still fails at times, see #316856, comment 5 onwards)
5636
5637 2005-09-24  Wim Taymans  <wim@fluendo.com>
5638
5639         * docs/design/part-events.txt:
5640         * docs/design/part-gstbus.txt:
5641         * docs/design/part-gstpipeline.txt:
5642         * docs/design/part-messages.txt:
5643         * docs/design/part-overview.txt:
5644         * docs/design/part-segments.txt:
5645         * gst/gstbin.c:
5646         * gst/gstbuffer.c:
5647         * gst/gstclock.c:
5648         * gst/gstelement.c:
5649         * gst/gstevent.c:
5650         * gst/gstfilter.c:
5651         * gst/gstiterator.c:
5652         Various documentation updates.
5653
5654 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5655
5656         * gst/gstclock.h:
5657           Well, that's embarassing.  Luckily we weren't using
5658           GST_CLOCK_DIFF anywhere.
5659
5660 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5661
5662         * common/gtk-doc.mak:
5663           don't fail on building XML, FC4 slave shows a bunch of doc
5664           missing bits that I don't get
5665         * gst/gstpad.c:
5666         * gst/gstpipeline.c:
5667         * gst/gststructure.c:
5668           some doc updates
5669
5670 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5671
5672         * docs/design/part-gstbin.txt:
5673         * docs/design/part-gstbus.txt:
5674         * gst/gstbus.c:
5675           Add blurb about how the bus goes into flushing mode and
5676           drops all messages when its bin goes from READY into NULL 
5677           state.
5678
5679 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5680
5681         * docs/gst/gstreamer-sections.txt:
5682         * gst/gststructure.c: (gst_structure_get_clock_time):
5683         * gst/gststructure.h:
5684           add a method to get a GstClockTime out of a structure
5685
5686 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5687
5688         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5689         (test_children_state_change_order_semi_sink), (gst_bin_suite):
5690           Added test to check state change order in bins (can still be made
5691           to fail here under heavy disk load; bails out with 'Push on pad
5692           fakesink:sink0, but it was not activated in push mode').
5693
5694         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
5695           Fix state change order when there is only a semi sink (#316856)
5696
5697         * gst/gstbus.c: (gst_bus_class_init):
5698           Use _class_peek_parent(), not _class_ref(); fix docs to say
5699           'default main context' instead of 'mainloop' where that is
5700           what's meant.
5701
5702         * gst/gstelement.c: (gst_element_commit_state),
5703         (gst_element_set_state):
5704           Fix typos in debug messages
5705
5706 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5707
5708         * docs/README:
5709         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
5710         * gst/gstpluginfeature.c:
5711         * gst/gstutils.c:
5712           various doc updates
5713         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5714           change an assert into an error until it gets fixed properly
5715
5716 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
5717
5718         * docs/gst/gstreamer-sections.txt:
5719         * docs/gst/tmpl/.cvsignore:
5720         * docs/gst/tmpl/gstelement.sgml:
5721         * docs/gst/tmpl/gstinfo.sgml:
5722         * docs/gst/tmpl/gstobject.sgml:
5723         * gst/gstelement.c:
5724         * gst/gstelement.h:
5725         * gst/gstinfo.c:
5726         * gst/gstinfo.h:
5727         * gst/gstobject.c: (gst_object_class_init):
5728         * gst/gstobject.h:
5729           inlined 3 more biiiig doc files and added some missing docs on the fly
5730
5731 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5732
5733         * check/gst/.cvsignore:
5734         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
5735         * gst/gstregistryxml.c: (load_plugin),
5736         (gst_registry_xml_save_plugin):
5737           put back source in registry.  add checks for find_plugin.
5738         * testsuite/states/bin.c: (assert_state), (empty_bin),
5739         (test_adding_one_element), (main):
5740         * testsuite/states/locked.c: (main):
5741           some compile/run fixes
5742
5743 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5744
5745         * check/gst/gstvalue.c: (GST_START_TEST):
5746           fix leaks in the test itself
5747
5748 2005-09-22  Wim Taymans  <wim@fluendo.com>
5749
5750         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5751         (gst_base_sink_send_event), (gst_base_sink_peer_query),
5752         (gst_base_sink_query):
5753         Prepare for more accurate position reporting and query
5754         handling.
5755
5756         * gst/gstelement.c: (gst_element_send_event),
5757         (gst_element_set_state):
5758         Add some comment.
5759
5760 2005-09-22  Wim Taymans  <wim@fluendo.com>
5761
5762         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
5763         (gst_query_parse_segment):
5764         * gst/gstquery.h:
5765         More documentation.
5766         Add segment query for future use.
5767
5768 2005-09-22  Wim Taymans  <wim@fluendo.com>
5769
5770         * gst/gstbin.c: (gst_bin_add_func):
5771         Some more debug info.
5772
5773         * gst/gstelement.c: (gst_element_send_event):
5774         Simplify send_event
5775
5776         * gst/gstelement.h:
5777         Don't know how flags got broken.
5778
5779         * gst/gstquery.h:
5780         Added new query.
5781
5782 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5783
5784         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
5785           Add simplistic test suite for GST_TYPE_DATE serialisation and
5786           deserialisation.
5787
5788 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5789
5790         * docs/gst/gstreamer-sections.txt:
5791         * gst/gststructure.c: (gst_structure_set_valist),
5792         (gst_structure_get_date):
5793         * gst/gststructure.h:
5794         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
5795         (gst_date_copy), (gst_value_compare_date),
5796         (gst_value_serialize_date), (gst_value_deserialize_date),
5797         (gst_value_transform_date_string),
5798         (gst_value_transform_string_date), (_gst_value_initialize):
5799         * gst/gstvalue.h:
5800           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
5801           bunch of utility functions along with a hack that checks that
5802           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
5803           is required. Part of the grand scheme in #170777.
5804
5805 2005-09-22  Andy Wingo  <wingo@pobox.com>
5806
5807         * gst/gstconfig.h.in: Psych out gtk-doc.
5808
5809         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
5810
5811         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
5812
5813         * tools/gst-inspect.c (print_element_list): Plug some
5814         inconsequential leaks.
5815
5816         * gst/gstregistry.c (gst_registry_get_default): Doc.
5817
5818         * check/gst/gstplugin.c: 
5819         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
5820         * gst/gstelementfactory.c (gst_element_factory_create): 
5821         * gst/gstindexfactory.c (gst_index_factory_create): Update for
5822         refcount changes.
5823
5824         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
5825         (gst_plugin_feature_load): Doc, don't eat refs.
5826
5827         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
5828         (gst_plugin_list_free): Doc.
5829         (gst_plugin_load_file): Doc updates.
5830
5831         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
5832         accessors returning refcounted objects, return a ref.
5833
5834         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
5835         accessor for caps. IDEMPOTENCE. Oh yes.
5836
5837 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
5838
5839         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5840
5841         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
5842         (_gst_debug_register_funcptr):
5843           Add mutex to serialise access to the hash table with
5844           the function pointer => function name string mapping;
5845           make that hash table static scope (#316809).
5846
5847         * gst/registries/.cvsignore:
5848           Remove left-over file.
5849
5850 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5851
5852         * docs/pwg/appendix-porting.xml:
5853           And something about newsegment events and caps-on-buffers to
5854           the porting guide (feel free to improve).
5855
5856 2005-09-21  Andy Wingo  <wingo@pobox.com>
5857
5858         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
5859         data and event probes on the same pad.
5860         (test_buffer_probe_once): Test that removing probes from within
5861         the probe functions works.
5862
5863 2005-09-21  Andy Wingo  <wingo@pobox.com>
5864
5865         * check/gst/gstutils.c: New file.
5866         (test_buffer_probe_n_times): A simple buffer probe test. More to
5867         come, foolios.
5868
5869         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
5870         have-data::buffer, not have-data.
5871         (gst_pad_add_event_probe): Likewise for have-data::event.
5872         (gst_pad_add_data_probe): More docs. The part about 'resolving the
5873         peer' isn't quite right yet though.
5874         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
5875         (gst_pad_remove_data_probe): Change to take the guint handler_id
5876         as their arg, not the function+data, which is more glib-like.
5877
5878         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
5879         the signal emission to indicate if the data is a buffer or an
5880         event.
5881         (gst_pad_get_type): Initialize buffer and event quarks.
5882         (gst_pad_class_init): have-data is now a detailed signal, yes it
5883         is.
5884
5885 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5886
5887         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
5888         * gst/gstutils.c: (gst_util_set_value_from_string),
5889         (gst_util_set_object_arg):
5890           Don't put functional code in g_return_if_fail() or
5891           g_return_val_if_fail() statements, otherwise things will 
5892           break when G_DISABLE_CHECKS is defined during compilation.
5893
5894 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5895
5896         * docs/gst/tmpl/.cvsignore:
5897         * docs/gst/tmpl/gstvalue.sgml:
5898         * gst/gstvalue.c:
5899         * gst/gstvalue.h:
5900           inlied another one and added  some obvious docs
5901
5902 2005-09-21  Wim Taymans  <wim@fluendo.com>
5903
5904         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5905         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
5906         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
5907         (gst_fdsrc_get_property), (gst_fdsrc_create):
5908         * gst/elements/gstfdsrc.h:
5909         Properly implement fdsrc. Removed signal and timeout,
5910         better implemented somewhere else.
5911
5912 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5913
5914         * docs/gst/tmpl/.cvsignore:
5915         * docs/gst/tmpl/gstimplementsinterface.sgml:
5916         * gst/gstinterface.c:
5917           inlined more docs
5918
5919 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5920
5921         * docs/gst/gstreamer-sections.txt:
5922         * docs/gst/tmpl/.cvsignore:
5923         * docs/gst/tmpl/gstenumtypes.sgml:
5924           remove obsolete doc file
5925
5926 2005-09-21  David Schleef  <ds@schleef.org>
5927
5928         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
5929         little beer, fix a little leak.
5930
5931 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5932
5933         * docs/gst/gstreamer-docs.sgml:
5934         * docs/gst/gstreamer-sections.txt:
5935         * docs/gst/tmpl/.cvsignore:
5936         * gst/Makefile.am:
5937         * gst/gst.h:
5938         * gst/gstbin.c:
5939         * gst/gstelement.h:
5940         * gst/gstindex.c: (gst_index_class_init):
5941         * gst/gstindex.h:
5942         * gst/gstindexfactory.c: (gst_index_factory_get_type),
5943         (gst_index_factory_class_init), (gst_index_factory_init),
5944         (gst_index_factory_finalize), (gst_index_factory_new),
5945         (gst_index_factory_destroy), (gst_index_factory_find),
5946         (gst_index_factory_create), (gst_index_factory_make):
5947         * gst/gstindexfactory.h:
5948         * gst/gstpluginfeature.c:
5949         * gst/gstpluginfeature.h:
5950         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5951           more docs inlined, splitted gstindex.{c,h}
5952
5953 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5954
5955         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5956           fix a leak
5957
5958 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5959
5960         * gst/elements/gstfilesink.c: (gst_file_sink_init):
5961           Set sync to FALSE by default.
5962
5963 2005-09-20  Wim Taymans  <wim@fluendo.com>
5964
5965         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5966         (gst_base_sink_init):
5967         Make sync property settable from subclass.
5968
5969         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5970         (gst_fake_sink_change_state):
5971         Set sync to FALSE by default.
5972
5973 2005-09-20  Wim Taymans  <wim@fluendo.com>
5974
5975         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
5976         * tools/gst-launch.c: (main):
5977         The timeout handler should have lower priority than the source
5978         so we don't timeout before popping a message with 0 timeout.
5979         Dump error messages after failed state change.
5980
5981 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5982
5983         * tools/gst-inspect.c: (print_element_properties_info):
5984           Fix two typos.
5985
5986 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5987
5988         * check/gst/gstevent.c:
5989         * gst/elements/gstfakesink.c:
5990         * gst/elements/gstfakesink.h:
5991           remove the sync property from fakesink.
5992           has the side effect of setting sync TRUE
5993           for fakesink, which is a change.  Anyone who knows how
5994           to fix this nicely in a GObject-y way, feel free.
5995
5996 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
5997
5998         * docs/gst/gstreamer-docs.sgml:
5999           remove probe refsection
6000
6001 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6002
6003         * check/Makefile.am:
6004           disable valgrinding the controller test again
6005         * docs/gst/gstreamer-sections.txt:
6006           update for api-changes
6007
6008 2005-09-20  Wim Taymans  <wim@fluendo.com>
6009
6010         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6011         (gst_base_sink_set_property), (gst_base_sink_get_property),
6012         (gst_base_sink_do_sync):
6013         * gst/base/gstbasesink.h:
6014         Added sync property to basesink to disable clock sync.
6015
6016 2005-09-20  Andy Wingo  <wingo@pobox.com>
6017
6018         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
6019         eating the caller's refcount.
6020
6021         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
6022         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
6023         refcount.
6024
6025         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
6026         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
6027         of GLib 2.8 public, so we can know which refcount to check in
6028         tests.
6029
6030         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
6031         (gst_object_init): Only set the gst refcount if we're going ahead
6032         with the refcount hack.
6033
6034 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6035
6036         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6037         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6038           more leaks plumbed, added more debug-logging
6039         * gst/gstmacros.h:
6040           whitespace fix
6041
6042 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6043
6044         * gst/gstmessage.c:
6045           remove include of gstmemchunk.h
6046
6047 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6048
6049         * gst/gstclock.c: (_gst_clock_id_free):
6050           Commit from the Political Party For More Atomic CVS Commits,
6051           so that people don't waste too much of their day fishing
6052           out obvious leaks out of massive commits.
6053           Oh, and fix a pretty damn obvious leak in the memchunk
6054           removal code.
6055
6056 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6057
6058         * check/Makefile.am:
6059         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6060           plug mem-leak, re-add to valgrindable tests
6061
6062 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6063
6064         * gst/gstplugin.h:
6065           unbreak the build for those who have chronic arthritis
6066           and typing "make check" is just too taxing on the hands
6067
6068 2005-09-20  Andy Wingo  <wingo@pobox.com>
6069
6070         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
6071         really want it out, you should fix plugins at the same time.
6072
6073 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
6074
6075         * configure.ac:
6076         * docs/gst/gstreamer-sections.txt:
6077         * gst/gstobject.c:
6078           added missing symbols to api docs
6079           disable ref-count hack if we have glib >= 2.8
6080
6081 2005-09-19  David Schleef  <ds@schleef.org>
6082
6083         * docs/gst/Makefile.am: Ignore a few more internal headers
6084         * docs/gst/gstreamer-docs.sgml: Remove old sections
6085         * docs/gst/gstreamer-sections.txt: Remove old sections
6086         * docs/gst/tmpl/gstobject.sgml: update
6087         * docs/gst/tmpl/gstplugin.sgml: update
6088         * docs/gst/tmpl/gstpluginfeature.sgml: update
6089         * docs/random/ds/0.9-suggested-changes: update.
6090         * gst/Makefile.am: remove memchunk and trashstack, since they're
6091           not used.
6092         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
6093         * gst/gst.h: don't include some headers
6094         * gst/gstchildproxy.c: add gstmarshal.h
6095         * gst/gstclock.c: Don't use memchunks
6096         * gst/gstminiobject.c: Add some docs
6097         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
6098         * gst/gstobject.h: same
6099         * gst/gstplugin.c: include gstmacros.h
6100         * gst/gstplugin.h: don't include gstmacros.h, since it's private
6101         * gst/gstquery.c: don't use memchunks
6102         * gst/gstregistry.c: rename gst_registry_deinit()
6103         * gst/gstregistry.h: same
6104
6105 2005-09-19  David Schleef  <ds@schleef.org>
6106
6107         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
6108         * docs/libs/gstreamer-libs-sections.txt:
6109         * docs/libs/tmpl/gstgetbits.sgml:
6110         * docs/libs/tmpl/gstputbits.sgml:
6111
6112 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6113
6114         * win32/gstenumtypes.c:
6115         * win32/gstenumtypes.h:
6116           Update.
6117
6118 2005-09-19  Wim Taymans  <wim@fluendo.com>
6119
6120         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
6121         Automatically PAUSE and RESUME a pipeline when a flushing seek
6122         is performed.
6123
6124 2005-09-19  Andy Wingo  <wingo@pobox.com>
6125
6126         * gst/gstregistry.h: Spacing fixen.
6127
6128 2005-09-19  Wim Taymans  <wim@fluendo.com>
6129
6130         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
6131         Handle state change failure more correctly.
6132
6133 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6134
6135         * check/Makefile.am:
6136         * check/pipelines/cleanup.c: (run_pipeline):
6137         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6138         (GST_START_TEST):
6139           enable cleanup again after fixing the leak
6140         * docs/README:
6141           some more info on docs
6142
6143 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6144
6145         * check/Makefile.am:
6146           re-enable tests now that leaks are plugged
6147         * check/gst/gst.c:
6148         * check/gst/gstbin.c:
6149         * check/gst/gstpipeline.c:
6150           add some more tests while fixing leaks
6151         * common/check.mak:
6152           make sure binaries are uptodate when valgrinding/gdbing
6153         * gst/gst.c:
6154         * gst/gstelementfactory.c:
6155           remove a ref too many, and add a FIXME for when we get
6156           round to disposing of classes
6157         * gst/gstplugin.c:
6158           fix the refcounting when loading a plugin from a file and
6159           the code pretends that the pointer is the same even though
6160           of course it can change
6161         * gst/gstpluginfeature.c:
6162           unref plugins marked cached (a bit confusing as a name)
6163           as the docs state should be done
6164           various doc additions to explain refcounting
6165         * gst/gstregistry.c:
6166         * gst/gstregistryxml.c:
6167           debugging
6168
6169 2005-09-19  Wim Taymans  <wim@fluendo.com>
6170
6171         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6172         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6173         (send_messages), (GST_START_TEST), (gstbus_suite):
6174         * check/gst/gstpipeline.c: (GST_START_TEST):
6175         * check/pipelines/cleanup.c: (run_pipeline):
6176         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6177         (GST_START_TEST):
6178         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6179         (gst_bus_source_check), (gst_bus_source_dispatch),
6180         (gst_bus_create_watch), (gst_bus_add_watch_full),
6181         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6182         * gst/gstbus.h:
6183         * tools/gst-launch.c: (event_loop):
6184         * tools/gst-md5sum.c: (event_loop):
6185         GstBusHandler -> GstBusFunc, return value has the same meaning as
6186         any other GSource (FALSE == remove source).
6187         _add_watch() and _add_watch_full() now take a MessageType mask to
6188         only handle specific types of messages.
6189         _poll() returns the GstMessage instead of the message type to avoid
6190         race conditions.
6191         _have_pending() takes a MessageType mask now too.
6192         Added testsuite for multiple bus watches.
6193         Fix testsuites and applications for new bus API.
6194
6195 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6196
6197         * check/Makefile.am:
6198           mark a bunch of the tests as to fix until we fix them
6199
6200 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6201
6202         * common/check.mak:
6203           use GST_PLUGIN settings for valgrind tests as well, so we're
6204           valgrinding the correct thing
6205         * gst/gst.c: (init_post):
6206           plug another leak
6207
6208 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6209
6210         * gst/gst.c: (init_post), (gst_deinit):
6211         * gst/gstelementfactory.c: (gst_element_factory_class_init),
6212         (gst_element_factory_finalize), (gst_element_factory_cleanup):
6213         * gst/gstindex.c: (gst_index_factory_class_init),
6214         (gst_index_factory_finalize):
6215         * gst/gstobject.c: (gst_object_dispose):
6216         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6217         (gst_plugin_load_file), (gst_plugin_desc_free):
6218         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6219         (gst_plugin_feature_finalize):
6220         * gst/gstregistry.c: (gst_registry_class_init),
6221         (gst_registry_init), (gst_registry_finalize),
6222         (gst_registry_get_default), (gst_registry_deinit):
6223         * gst/gstregistry.h:
6224         * gst/gstregistryxml.c: (load_feature), (load_plugin):
6225           various cleanups and memleak plugging.  make valgrind is happy now.
6226
6227 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6228
6229         * common/check.mak:
6230           add a check-valgrind target
6231
6232 2005-09-18  David Schleef  <ds@schleef.org>
6233
6234         * tools/gst-inspect.c: Revert the GOption code.
6235
6236 2005-09-17  David Schleef  <ds@schleef.org>
6237
6238         * check/Makefile.am: Fix environment variables.
6239         * check/gst/gstplugin.c: Fix for API changes.
6240         * tools/gst-inspect.c: Fix for API changes.
6241         * tools/gst-xmlinspect.c: Fix for API changes.
6242         * gst/gstelementfactory.c:
6243         * gst/gstplugin.c:
6244         * gst/gstplugin.h:
6245         * gst/gstpluginfeature.c:
6246         * gst/gstpluginfeature.h:
6247         * gst/gstregistry.c:
6248         * gst/gstregistry.h:
6249         * gst/gstregistryxml.c:
6250         * gst/gsttypefind.c:
6251         * gst/gsttypefindfactory.c:
6252         * gst/indexers/gstfileindex.c:
6253         * gst/indexers/gstmemindex.c:
6254         * gst/schedulers/Makefile.am:
6255           Change registry to keep track of both plugins and features,
6256           removing the feature tracking from plugins themselves.
6257
6258 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6259
6260         * check/Makefile.am:
6261         * tools/gst-register.1.in:
6262           remove gst-register
6263
6264 2005-09-15  David Schleef  <ds@schleef.org>
6265
6266         * check/gst/gstplugin.c:
6267         * gst/gstelementfactory.c:
6268         * gst/gstplugin.c:
6269         * gst/gstpluginfeature.c:
6270         * gst/gstregistry.c:
6271           Getting tired of debugging.  Disabled all the unreffing of
6272           plugins and features, which fixes the segfaults, but of
6273           course leaks like crazy.  At least playbin works.
6274
6275 2005-09-15  David Schleef  <ds@schleef.org>
6276
6277         * check/gst/gstplugin.c: (register_check_elements),
6278         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6279         More testing
6280         * gst/elements/gsttypefindelement.c: Fix refcounting.
6281         * gst/gsttypefind.c:
6282         * gst/gsttypefindfactory.c:
6283         * gst/gsttypefindfactory.h:
6284
6285 2005-09-15  David Schleef  <ds@schleef.org>
6286
6287         * gst/gstindex.c: get refcounting correct.
6288         * gst/gstregistry.c: Handle the case where a feature/plugin is
6289           not found.
6290
6291 2005-09-15  David Schleef  <ds@schleef.org>
6292
6293         * check/Makefile.am:
6294         * check/gst/gstplugin.c: Add test
6295         * gst/gstplugin.c: Fix problems noticed by testsuite
6296         * gst/gstplugin.h:
6297         * gst/gstregistry.c: 
6298         * gst/gstregistry.h:
6299
6300 2005-09-15  David Schleef  <ds@schleef.org>
6301
6302         * gst/gstplugin.c: Implement semi-decent recounting and locking
6303           in plugins and plugin features.
6304         * gst/gstplugin.h:
6305         * gst/gstpluginfeature.c:
6306         * gst/gstpluginfeature.h:
6307         * gst/gstregistry.c:
6308
6309 2005-09-15  Michael Smith <msmith@fluendo.com>
6310
6311         * gst/gstregistry.c: (gst_registry_get_feature_list):
6312           Implement this. Makes oggdemux work; decodebin still broken.
6313
6314 2005-09-14  David Schleef  <ds@schleef.org>
6315
6316         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6317           #316076)
6318         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6319         * gst/check/Makefile.am:
6320         * libs/gst/controller/Makefile.am:
6321         * libs/gst/dataprotocol/Makefile.am:
6322
6323 2005-09-14  David Schleef  <ds@schleef.org>
6324
6325         * configure.ac: Remove getbits library.  Nothing uses it, and
6326           it should be in something like liboil if someone did want
6327           to use it.
6328         * libs/gst/Makefile.am:
6329         * libs/gst/getbits/Makefile.am:
6330         * libs/gst/getbits/gbtest.c:
6331         * libs/gst/getbits/getbits.c:
6332         * libs/gst/getbits/getbits.h:
6333         * libs/gst/getbits/gstgetbits_generic.c:
6334         * libs/gst/getbits/gstgetbits_i386.s:
6335         * libs/gst/getbits/gstgetbits_inl.h:
6336
6337 2005-09-14  David Schleef  <ds@schleef.org>
6338
6339         * gst/Makefile.am: Dist glib-compat.h
6340
6341 2005-09-14  David Schleef  <ds@schleef.org>
6342
6343         * configure.ac: Remove gst/registries, since it's no longer used.
6344         * gst/registries/Makefile.am:
6345         * gst/registries/gstlibxmlregistry.c:
6346         * gst/registries/gstlibxmlregistry.h:
6347         * gst/registries/gstxmlregistry.c:
6348         * gst/registries/gstxmlregistry.h:
6349         * gst/registries/registrytest.c:
6350
6351 2005-09-14  David Schleef  <ds@schleef.org>
6352
6353         * gst/glib-compat.h:
6354         * gst/gstregistryxml.c:
6355           Convergence is near.  Seriously.
6356
6357 2005-09-14  David Schleef  <ds@schleef.org>
6358
6359         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6360         * gst/glib-compat.h:
6361           Attempt #4 to appease the buildbots.
6362
6363 2005-09-14  David Schleef  <ds@schleef.org>
6364
6365         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6366           Attempt #3.
6367
6368 2005-09-14  David Schleef  <ds@schleef.org>
6369
6370         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6371         Attempt #2.
6372
6373 2005-09-14  David Schleef  <ds@schleef.org>
6374
6375         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
6376           the new functions.
6377
6378 2005-09-14  David Schleef  <ds@schleef.org>
6379
6380         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6381         * gst/glib-compat.h: Add some functions that are in newer versions
6382           of glib than we care to require.
6383         * gst/gstregistryxml.c: Use them.
6384
6385 2005-09-14  David Schleef  <ds@schleef.org>
6386
6387         * po/POTFILES.in: remove gst-register.c
6388
6389 2005-09-14  David Schleef  <ds@schleef.org>
6390
6391         * docs/gst/gstreamer-docs.sgml:
6392         * docs/gst/gstreamer-sections.txt:
6393         * docs/gst/gstreamer.types:
6394         * docs/gst/tmpl/gstelement.sgml:
6395         * docs/gst/tmpl/gstplugin.sgml:
6396         * docs/gst/tmpl/gstpluginfeature.sgml:
6397           Documentation updates for registry changes.
6398
6399 2005-09-14  David Schleef  <ds@schleef.org>
6400
6401         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
6402           because we don't require glib-2.8.
6403
6404 2005-09-14  David Schleef  <ds@schleef.org>
6405
6406         * gst/gstregistryxml.c: Added.  Essentially moved out of the
6407           registries directory.
6408
6409 2005-09-14  David Schleef  <ds@schleef.org>
6410
6411         * check/Makefile.am:
6412         * check/generic/states.c:
6413         * gst/Makefile.am:
6414         * gst/gst.c:
6415         * gst/gst.h:
6416         * gst/gst_private.h:
6417         * gst/gstelementfactory.c:
6418         * gst/gstindex.c:
6419         * gst/gstinfo.c:
6420         * gst/gstplugin.c:
6421         * gst/gstplugin.h:
6422         * gst/gstpluginfeature.c:
6423         * gst/gstpluginfeature.h:
6424         * gst/gstregistry.c:
6425         * gst/gstregistry.h:
6426         * gst/gstregistrypool.c: remove
6427         * gst/gstregistrypool.h: remove
6428         * gst/gsttypefind.c:
6429         * gst/gsttypefindfactory.c:
6430         * gst/gsturi.c:
6431         * tools/Makefile.am:
6432         * tools/gst-compprep.c:
6433         * tools/gst-inspect.c:
6434         * tools/gst-register.c: remove
6435         * tools/gst-xmlinspect.c:
6436           Registry rewrite.  Changes registry from being a file created
6437           by a tool into a simple cache file created automatically by 
6438           libgstreamer.  Removed gst-register (because it's no longer
6439           needed).  Remove registry pools, because we only have one
6440           registry implementation (XML).  Fix up other subsystems as
6441           necessary.
6442
6443 2005-09-13  Michael Smith <msmith@fluendo.com>
6444
6445         * gst/gstconfig.h.in:
6446           Don't Use windows linking attributes for MinGW. Fixes #316157
6447
6448 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6449
6450         * gst/gstutils.c: (set_state_async_thread_func),
6451         (gst_element_set_state_async):
6452           Apparently people think it's better if this function doesn't
6453           try to set the state to whatever state was asked for on the first
6454           call to this function for any object.  Seriously.
6455
6456 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6457
6458         * check/gst/gstpipeline.c: (GST_START_TEST):
6459         * docs/gst/gstreamer-sections.txt:
6460         * gst/gstutils.c: (set_state_async_thread_func),
6461         (gst_element_set_state_async):
6462         * gst/gstutils.h:
6463           add a "gst_element_set_state_async" method that
6464           sets the state and starts a thread to make sure the state
6465           change completes as best as it can
6466
6467 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6468
6469         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6470           codify design+behaviour in testsuite after discussion
6471
6472 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6473
6474         * docs/gst/tmpl/gstelement.sgml:
6475         * docs/manual/appendix-quotes.xml:
6476           add a quote
6477         * gst/gstelement.c: (gst_element_set_state):
6478           add some debug
6479
6480 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
6481
6482         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6483         (gst_base_transform_prepare_output_buf),
6484         (gst_base_transform_handle_buffer):
6485         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
6486         (gst_capsfilter_prepare_buf):
6487           Remove the requirement for sub-classes to call the parent
6488           implementation of prepare_output_buffer with a wrapper function.
6489           
6490         * gst/gsttaglist.h:
6491         * gst/gsttagsetter.h:
6492           Fix #define wrapper
6493
6494 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
6495
6496         * docs/gst/gstreamer-sections.txt:
6497           more doc cleanups
6498
6499 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6500
6501         * docs/gst/gstreamer-sections.txt:
6502         * docs/gst/tmpl/gstelement.sgml:
6503         * docs/gst/tmpl/gstplugin.sgml:
6504         * gst/gstminiobject.c:
6505         * gst/gstvalue.h:
6506           docs now stop throwing warnings
6507
6508 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6509
6510         * docs/gst/gstreamer-sections.txt:
6511         * docs/gst/gstreamer.types:
6512         * docs/gst/tmpl/gstpad.sgml:
6513         * docs/gst/tmpl/gsttypes.sgml:
6514         * gst/base/gstadapter.h:
6515         * gst/base/gstbasesink.h:
6516         * gst/base/gstbasesrc.h:
6517         * gst/gstbin.h:
6518         * gst/gstbuffer.h:
6519         * gst/gstbus.h:
6520         * gst/gstcaps.h:
6521         * gst/gstclock.h:
6522         * gst/gstelement.h:
6523         * gst/gstevent.h:
6524         * gst/gstmessage.h:
6525         * gst/gstpad.h:
6526         * gst/gststructure.c:
6527         * gst/registries/gstlibxmlregistry.h:
6528           various documentation fixes
6529
6530 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6531
6532         * docs/gst/gstreamer-sections.txt:
6533         * docs/gst/tmpl/gstvalue.sgml:
6534           rearrange gstvalue section
6535         * gst/gstutils.c: (gst_element_state_get_name):
6536           NONE -> VOID
6537         * gst/gstvalue.c: (_gst_value_initialize):
6538         * gst/gstvalue.h:
6539           doc updates
6540
6541 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
6542
6543         * check/gst-libs/controller.c:
6544           Header include fix.
6545         * gst/base/gstbasetransform.c:
6546         (gst_base_transform_default_prepare_buf),
6547         (gst_base_transform_handle_buffer):
6548         * gst/base/gstbasetransform.h:
6549           Some more basetransform changes and fixes to enable sub-classes
6550           that modify buffer metadata only.
6551         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6552         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
6553         (gst_capsfilter_prepare_buf):
6554           If the output pad has fixed allowed caps and input buffers 
6555           don't have any, set the fixed caps on outgoing buffers.
6556
6557 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
6558         * check/elements/identity.c: (GST_START_TEST):
6559           Make the error a little clearer when the test fails because
6560           identity made a copy of the buffer.
6561         * docs/gst/gstreamer-sections.txt:
6562           New symbols in gstbasetransform.h
6563         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6564         (gst_base_transform_init), (gst_base_transform_transform_size),
6565         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6566         (gst_base_transform_default_prepare_buf),
6567         (gst_base_transform_get_unit_size),
6568         (gst_base_transform_buffer_alloc),
6569         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
6570         (gst_base_transform_change_state),
6571         (gst_base_transform_set_passthrough),
6572         (gst_base_transform_set_in_place),
6573         (gst_base_transform_is_in_place):
6574         * gst/base/gstbasetransform.h:
6575           Change BaseTransform to separate in_place operate from same_caps
6576           output. in_place implies that the element can perform the transform
6577           on incoming buffers in-place, even if the caps on the output are
6578           different.
6579           Sub-class elements can now implement special buffer allocation
6580           methods for outgoing buffers if they wish to.
6581           Big documentation addition.
6582         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
6583         * gst/elements/gstelements.c:
6584           Changes for basetransform modifications.
6585         * gst/elements/Makefile.am:
6586         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
6587           Compile fix. Extra debug output.
6588
6589 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6590
6591         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
6592         (gst_pad_suite):
6593           add tests for valid pad naming
6594         * gst/check/gstcheck.c: (gst_check_log_message_func),
6595         (gst_check_log_critical_func):
6596           add ASSERT_WARNING
6597           remove printing of code, it is fragile when the code contains
6598           % and the line number is enough info
6599         * gst/check/gstcheck.h:
6600         * gst/gstpad.c: (gst_pad_template_new):
6601           fix memleaks
6602
6603 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6604
6605         * configure.ac:
6606           say what CHECK flags we use
6607         * docs/libs/gstreamer-libs.types:
6608         * libs/gst/controller/Makefile.am:
6609         * libs/gst/controller/gst-controller.c:
6610         * libs/gst/controller/gst-controller.h:
6611         * libs/gst/controller/gst-helper.c:
6612         * libs/gst/controller/gst-interpolation.c:
6613         * libs/gst/controller/gstcontroller.c:
6614         * libs/gst/controller/gsthelper.c:
6615         * libs/gst/controller/gstinterpolation.c:
6616         * tools/gst-inspect.c: (print_plugin_info):
6617           we don't use dashes in header names
6618
6619 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6620
6621         * check/Makefile.am:
6622         * check/gst/.cvsignore:
6623         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
6624         (gst_pipeline_suite), (main):
6625           adding a test for pipelines and state changes
6626         * gst/gstutils.c: (get_state_func):
6627           add some debugging
6628         * gstreamer.spec.in:
6629           fix up spec file
6630
6631 2005-09-08  Michael Smith <msmith@fluendo.com>
6632
6633         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
6634         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
6635         (gst_file_src_is_seekable), (gst_file_src_get_size),
6636         (gst_file_src_start):
6637         * gst/elements/gstfilesrc.h:
6638           Various fixes for unseekable, unmmapable, and non-normal files, so
6639           that fallback to read() rather than mmap() works.
6640         * gst/gstevent.c: (gst_event_new_newsegment):
6641           Allow newsegment events with segment_start == segment_end, as will
6642           correctly happen if you use filesrc on a zero-size file, for
6643           example.
6644
6645 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6646
6647         * gst/gstplugin.c: (gst_plugin_load_file):
6648           Call g_module_close when we don't load the module
6649
6650         * gst/registries/gstlibxmlregistry.c:
6651         (gst_xml_registry_get_property):
6652           Port leak fix from 0.8
6653
6654 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6655
6656         * docs/gst/gstreamer-docs.sgml:
6657         * docs/gst/tmpl/.cvsignore:
6658         * docs/gst/tmpl/gsttrace.sgml:
6659         * docs/gst/tmpl/gsttrashstack.sgml:
6660         * gst/Makefile.am:
6661         * gst/gst.h:
6662         * gst/gstelement.h:
6663         * gst/gstevent.h:
6664         * gst/gstmessage.c:
6665         * gst/gstmessage.h:
6666         * gst/gsttag.c:
6667         * gst/gsttag.h:
6668         * gst/gsttaginterface.c:
6669         * gst/gsttaginterface.h:
6670         * gst/gsttaglist.c:
6671         * gst/gsttaglist.h:
6672         * gst/gsttagsetter.c:
6673         * gst/gsttagsetter.h:
6674         * gst/gsttrace.c:
6675         * gst/gsttrace.h:
6676         * gst/gsttrashstack.c:
6677           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
6678           inlined docs for gsttrace, gsttrashstack
6679
6680 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6681
6682         * gst/Makefile.am:
6683         * gst/elements/gstbufferstore.h:
6684         * gst/elements/gsttypefindelement.c:
6685         * gst/elements/gsttypefindelement.h:
6686         * gst/gst.h:
6687         * gst/gsttypefind.c:
6688         * gst/gsttypefind.h:
6689         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
6690         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
6691         (gst_type_find_factory_dispose),
6692         (gst_type_find_factory_unload_thyself),
6693         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
6694         (gst_type_find_factory_get_caps),
6695         (gst_type_find_factory_get_extensions),
6696         (gst_type_find_factory_call_function):
6697         * gst/gsttypefindfactory.h:
6698         * gst/registries/gstlibxmlregistry.c:
6699         * gst/registries/gstxmlregistry.c:
6700           splitted gsttypefind into gsttypefind, gsttypefindfactory
6701
6702 2005-09-07  Andy Wingo  <wingo@pobox.com>
6703
6704         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
6705         condition whereby the pad's task function is entered before the
6706         pad_mode variable was set.
6707
6708 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6709
6710         * gst/gstpad.c: (gst_pad_alloc_buffer):
6711           Catch misbehaving pad_alloc functions that don't
6712           set up caps and do it for them.
6713
6714 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6715
6716         * check/pipelines/simple_launch_lines.c: (run_pipeline):
6717           test for pipe!=NULL
6718         * docs/gst/tmpl/.cvsignore:
6719         * docs/gst/tmpl/gstmemchunk.sgml:
6720         * docs/gst/tmpl/gstparse.sgml:
6721         * docs/gst/tmpl/gsttaglist.sgml:
6722         * docs/gst/tmpl/gsttagsetter.sgml:
6723         * docs/gst/tmpl/gsttypefind.sgml:
6724         * docs/gst/tmpl/gsttypefindfactory.sgml:
6725         * gst/gstmemchunk.c:
6726         * gst/gstparse.c:
6727         * gst/gsttag.c:
6728         * gst/gsttaginterface.c:
6729         * gst/gsttypefind.c:
6730         * gst/gsttypefind.h:
6731           inlined more docs
6732
6733 === release 0.9.2 ===
6734
6735 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6736
6737         * NEWS:
6738         * RELEASE:
6739         * configure.ac:
6740           releasing 0.9.2, "South"
6741
6742 2005-09-05  Andy Wingo  <wingo@pobox.com>
6743
6744         * gst/registries/gstxmlregistry.h:
6745         * gst/registries/gstxmlregistry.c: Um... resurrect...
6746         
6747         * gst/registries/gstxmlregistry.h:
6748         * gst/registries/gstxmlregistry.c: and update to newer API.
6749         Incidentally they should be a bit faster now that they don't have
6750         to parse the caps.
6751         
6752 2005-09-05  Andy Wingo  <wingo@pobox.com>
6753
6754         * gst/registries/gstxmlregistry.h:
6755         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
6756         replaced by the libxml registry a while back
6757
6758 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6759
6760         * docs/gst/tmpl/gstplugin.sgml:
6761         * gst/elements/gstelements.c:
6762         * gst/gst.c:
6763         * gst/gstplugin.c: (gst_plugin_register_func),
6764         (gst_plugin_desc_copy), (gst_plugin_desc_free),
6765         (gst_plugin_get_source):
6766         * gst/gstplugin.h:
6767         * gst/registries/gstlibxmlregistry.c: (load_plugin),
6768         (gst_xml_registry_save_plugin):
6769         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
6770         (gst_xml_registry_save_plugin):
6771         * tools/gst-inspect.c: (print_plugin_info):
6772           add a "source" plugin description field, to represent the source
6773           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
6774           will set it to PACKAGE, which is automake's idea of the name of
6775           the source project.
6776
6777 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6778
6779         * Makefile.am:
6780         * autogen.sh:
6781         * configure.ac:
6782         * docs/Makefile.am:
6783         * docs/faq/Makefile.am:
6784         * docs/gst/tmpl/gstelement.sgml:
6785         * docs/gst/tmpl/gsttypes.sgml:
6786         * docs/htmlinstall.mak:
6787         * docs/manual/Makefile.am:
6788         * docs/pwg/Makefile.am:
6789           reorganize doc build a little
6790           split out docbook and gtk-doc stuff
6791           have two separate --enable's and enable them through autogen
6792           but disable by default in configure (to be similar to other
6793           projects)
6794         * gstreamer.spec.in:
6795           clean up docs install
6796         * po/af.po:
6797         * po/az.po:
6798         * po/ca.po:
6799         * po/cs.po:
6800         * po/de.po:
6801         * po/en_GB.po:
6802         * po/fr.po:
6803         * po/it.po:
6804         * po/nb.po:
6805         * po/nl.po:
6806         * po/ru.po:
6807         * po/sq.po:
6808         * po/sr.po:
6809         * po/sv.po:
6810         * po/tr.po:
6811         * po/uk.po:
6812         * po/vi.po:
6813           translation updates
6814
6815 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
6816
6817         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
6818           Add comment.
6819           
6820         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6821         (gst_fake_sink_change_state):
6822           Make state change function thread-safe.
6823           
6824         * gst/gstpad.c: (gst_pad_alloc_buffer):
6825           Set offset on generic buffer allocated by fallback.
6826
6827 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
6828
6829         * docs/gst/gstreamer-sections.txt:
6830         * docs/gst/tmpl/gstelement.sgml:
6831         * gst/gstpad.c:
6832         * libs/gst/controller/gst-controller.c:
6833         (gst_controlled_property_set_interpolation_mode),
6834         (gst_controlled_property_new),
6835         (gst_controller_find_controlled_property):
6836          run the wingo-magic script against the docs
6837
6838 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6839
6840         * docs/gst/gstreamer-docs.sgml:
6841         * docs/gst/gstreamer-sections.txt:
6842         * docs/gst/tmpl/.cvsignore:
6843         * docs/gst/tmpl/gstelementdetails.sgml:
6844         * docs/gst/tmpl/gstelementfactory.sgml:
6845         * gst/gst.c:
6846         * gst/gstbus.c:
6847         * gst/gstelementfactory.c:
6848         * gst/gstelementfactory.h:
6849           merged elementdetails docs into elementfactory docs
6850           inlined both
6851
6852 2005-09-02  Andy Wingo  <wingo@pobox.com>
6853
6854         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
6855         consider this enum an enum and not a flags.
6856
6857 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6858
6859         * docs/gst/gstreamer-docs.sgml:
6860         * docs/gst/tmpl/.cvsignore:
6861         * docs/gst/tmpl/gstghostpad.sgml:
6862         * docs/gst/tmpl/gstiterator.sgml:
6863         * docs/gst/tmpl/gstmacros.sgml:
6864         * docs/gst/tmpl/gstrealpad.sgml:
6865         * docs/gst/tmpl/gstregistry.sgml:
6866         * docs/gst/tmpl/gstregistrypool.sgml:
6867         * docs/gst/tmpl/gststructure.sgml:
6868         * docs/gst/tmpl/gstsystemclock.sgml:
6869         * docs/gst/tmpl/gsttrace.sgml:
6870         * gst/gstghostpad.c:
6871         * gst/gstmacros.h:
6872         * gst/gstmemchunk.c:
6873         * gst/gstmemchunk.h:
6874         * gst/gstqueue.c:
6875         * gst/gstregistry.c:
6876         * gst/gstregistrypool.c:
6877         * gst/gststructure.c:
6878         * gst/gstsystemclock.c:
6879           more docs inlined
6880
6881 2005-09-02  Andy Wingo  <wingo@pobox.com>
6882
6883         * gst/gstelement.h (GstState): Renamed from GstElementState,
6884         changed to be a normal enum instead of flags.
6885         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
6886         munged to be GST_STATE_CHANGE_*.
6887         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
6888         work with the new state representation.
6889         (GstStateChange): New enumeration of possible state transitions.
6890         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
6891         (GstElementClass::change_state): Pass the GstStateChange along as
6892         an argument. Helps language bindings, so they don't have to use
6893         tricky lock-needing macros like GST_STATE_CHANGE ().
6894
6895         * scripts/update-states (file): New script. Run it on a file to
6896         update it for state naming and API changes. Updates files in
6897         place.
6898
6899         * All files updated for the new API.
6900
6901 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6902
6903         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
6904         * gst/gstutils.c: (gst_util_set_value_from_string),
6905         (gst_util_set_object_arg):
6906           fix a bunch of unchecked return values
6907         * tools/gst-complete.c: (main):
6908         * gstreamer.spec.in:
6909           clean up a little
6910
6911 2005-09-01  Wim Taymans  <wim@fluendo.com>
6912
6913         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6914         (gst_base_sink_event), (gst_base_sink_do_sync),
6915         (gst_base_sink_handle_event):
6916         * gst/base/gstbasesink.h:
6917         Handle newsegments more correctly.
6918
6919         * gst/gstbus.c:
6920         Fix docs.
6921
6922         * gst/gstevent.c: (gst_event_new_newsegment):
6923         A newsegment cannot have a start_time of -1
6924
6925 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
6926
6927         * win32/gstenumtypes.c:
6928         * win32/gstenumtypes.h:
6929           Update
6930
6931 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6932
6933         * libs/gst/controller/gst-controller.c:
6934         (gst_controlled_property_set_interpolation_mode),
6935         (gst_controlled_property_new):
6936          fixed boolean again
6937
6938 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
6939
6940         * docs/faq/gst-uninstalled:
6941           add -good
6942         * gst/gstevent.c:
6943         * gst/gstevent.h:
6944           remove wrong docs
6945         * gst/gstutils.c: (gst_element_link_filtered):
6946         * gst/gstutils.h:
6947           add gst_element_link_filtered
6948
6949 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6950
6951         * docs/gst/gstreamer-docs.sgml:
6952         * docs/gst/gstreamer-sections.txt:
6953         * docs/gst/tmpl/.cvsignore:
6954         * docs/gst/tmpl/gsterror.sgml:
6955         * docs/gst/tmpl/gstfilter.sgml:
6956         * docs/gst/tmpl/gsturihandler.sgml:
6957         * docs/gst/tmpl/gsturitype.sgml:
6958         * docs/gst/tmpl/gstutils.sgml:
6959         * docs/gst/tmpl/gstxml.sgml:
6960         * gst/gsterror.c:
6961         * gst/gsterror.h:
6962         * gst/gstfilter.c:
6963         * gst/gsturi.c:
6964         * gst/gsturitype.c:
6965         * gst/gstutils.c:
6966         * gst/gstxml.c:
6967           inlined more docs, fixed double id-ref
6968
6969 2005-08-31  Wim Taymans  <wim@fluendo.com>
6970
6971         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6972         (gst_base_transform_handle_buffer):
6973         Passthrough elements don't need the caps as they don't care.
6974
6975 2005-08-31  Wim Taymans  <wim@fluendo.com>
6976
6977         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6978         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
6979         Don't leak refcounts on buffers.
6980
6981 2005-08-31  Wim Taymans  <wim@fluendo.com>
6982
6983         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
6984         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
6985         (gst_base_transform_chain), (gst_base_transform_change_state):
6986         * gst/base/gstbasetransform.h:
6987         Handle the case where we are not negotiated more gracefully.
6988
6989 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
6990
6991         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
6992         (gst_file_src_map_region):
6993           Set READONLY flag on mmap'ed buffers, otherwise
6994           gst_buffer_make_writable() won't work properly (#314708).
6995
6996 2005-08-31  Wim Taymans  <wim@fluendo.com>
6997
6998         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
6999         passthrough elements can even do inplace on non writable
7000         buffers (as they don't touch them).
7001
7002 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7003
7004         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7005         (gst_test_mono_source_set_property),
7006         (gst_test_mono_source_class_init), (GST_START_TEST),
7007         (gst_controller_suite):
7008           more tests (hehe I have the most)
7009         * gst/gstbus.c:
7010           describe popping messages whenusing mulltiple sources
7011         * libs/gst/controller/gst-controller.c:
7012         (gst_controlled_property_set_interpolation_mode),
7013         (gst_controlled_property_new):
7014         * libs/gst/controller/gst-controller.h:
7015         * libs/gst/controller/gst-interpolation.c:
7016           implement boolean properties
7017
7018 2005-08-31  Wim Taymans  <wim@fluendo.com>
7019
7020         * gst/gstminiobject.c: (gst_mini_object_ref):
7021         Cannot assert that the refcount has to be positive
7022         since a disposed object can be resurrected.
7023
7024 2005-08-31  Wim Taymans  <wim@fluendo.com>
7025
7026         * gst/gstpad.c: (gst_pad_init):
7027         Revert change, need to first fix badly behaving 
7028         apps.
7029
7030 2005-08-30  Wim Taymans  <wim@fluendo.com>
7031
7032         * check/elements/fakesrc.c: (setup_fakesrc):
7033         * check/elements/identity.c: (setup_identity):
7034         Activate pads before using them.
7035
7036 2005-08-30  Wim Taymans  <wim@fluendo.com>
7037
7038         * gst/base/gstadapter.c: (gst_adapter_flush):
7039         Flushing out 0 bytes is ok for this function.
7040
7041         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7042         no newsegment gives a warning and sets the start/stop to 
7043         invalid.
7044
7045         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
7046         (gst_base_transform_set_passthrough):
7047         Some debug info.
7048
7049         * gst/gstminiobject.c: (gst_mini_object_ref):
7050         Check refcount here too.
7051
7052         * gst/gstpad.c: (gst_pad_init):
7053         Pads are initially flushing and refusing data.
7054
7055         * gst/gstutils.c: (gst_element_link_pads_filtered):
7056         When adding a capsfilter element make sure it has the
7057         same state as the parent bin.
7058
7059 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7060
7061         * docs/gst/tmpl/.cvsignore:
7062         * docs/gst/tmpl/gstformat.sgml:
7063         * docs/gst/tmpl/gstversion.sgml:
7064         * gst/gstbus.h:
7065         * gst/gstformat.c:
7066         * gst/gstformat.h:
7067         * gst/gstversion.h.in:
7068           more docs and two more inlined
7069
7070 2005-08-30  Wim Taymans  <wim@fluendo.com>
7071
7072         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
7073         Don't sync to clock.
7074
7075 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7076
7077         * docs/gst/gstreamer-sections.txt:
7078           ultral33t func10ns deserve to appear in the docs actually
7079         * docs/gst/tmpl/.cvsignore:
7080         * docs/gst/tmpl/gstcompat.sgml:
7081         * docs/gst/tmpl/gstconfig.sgml:
7082         * gst/check/gstcheck.c:
7083         * gst/gstcompat.h:
7084         * gst/gstconfig.h.in:
7085           inlined more docs
7086
7087 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7088
7089         * docs/gst/tmpl/.cvsignore:
7090         * docs/gst/tmpl/gstquery.sgml:
7091         * docs/gst/tmpl/gstutils.sgml:
7092         * gst/gstquery.c:
7093         * gst/gstquery.h:
7094           inlined and extended docs
7095
7096 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7097
7098         * check/gst-libs/controller.c: (GST_START_TEST),
7099         (gst_controller_suite):
7100           more tests
7101         * docs/gst/tmpl/gstutils.sgml:
7102         * docs/libs/gstreamer-libs-sections.txt:
7103         * docs/libs/tmpl/gstdataprotocol.sgml:
7104           include path fixes
7105         * examples/controller/audio-example.c: (main):
7106           controller example works now
7107         * gst/gstclock.h:
7108           doc fixes
7109         * tools/gst-inspect.c: (print_element_properties_info):
7110           show param spec flags
7111
7112 2005-08-29  Andy Wingo  <wingo@pobox.com>
7113
7114         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
7115
7116 2005-08-28  Andy Wingo  <wingo@pobox.com>
7117
7118         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
7119         as having two arguments instead of just one. Allows superclasses
7120         to access information on subclasses -- see the terrible for() loop
7121         in gtype.c:g_type_create_instance for the reason why. All callers
7122         changed.
7123
7124 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7125
7126         * docs/design/part-messages.txt:
7127           update info
7128         * docs/gst/tmpl/.cvsignore:
7129         * docs/gst/tmpl/gstcaps.sgml:
7130         * docs/gst/tmpl/gstclock.sgml:
7131         * gst/gstbus.c:
7132         * gst/gstcaps.c:
7133         * gst/gstcaps.h:
7134         * gst/gstclock.c:
7135         * gst/gstclock.h:
7136         * gst/gstmessage.c:
7137           added descriptions for bus and message
7138           inline caps and clock docs
7139
7140 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7141
7142         * gst/gstmessage.c:
7143         * gst/gstmessage.h:
7144           doc fixes
7145
7146 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7147
7148         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7149           fix div-by-zero
7150
7151 2005-08-26  Andy Wingo  <wingo@pobox.com>
7152
7153         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
7154         element_set_state's return val.
7155         (test_2_elements): Add test that's been disabled for months.
7156
7157         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
7158         can-activate-pull properties.
7159
7160         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
7161         can-activate-pull properties. Implement is_seekable so fakesrc can
7162         operate in pull mode.
7163
7164         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7165         properties.
7166         (gst_base_sink_activate, gst_base_sink_activate_pull)
7167         (gst_base_sink_activate_push): Make activation mode choosing work.
7168         Cleanups.
7169         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7170         is right. Make pull mode work. Post an eos before pausing in pull
7171         mode.
7172         (gst_base_sink_change_state): Pay attention to the core's
7173         change_state() return val.
7174         
7175         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7176         has-getrange properties. Cleanups.
7177         
7178         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7179         has_getrange and replace with can_activate_pull and
7180         can_activate_push.
7181
7182         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7183         locking comments. Remove has_loop, has_chain and replace with
7184         can_activate_pull and can_activate_push.
7185
7186 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
7187
7188         * configure.ac:
7189         * examples/Makefile.am:
7190         * examples/metadata/Makefile.am:
7191         * examples/metadata/read-metadata.c: (message_loop),
7192         (have_pad_handler), (make_pipeline), (print_tag), (main):
7193           Add metadata reading example that loops over a list of filenames,
7194           dumping any tags found.
7195
7196         * gst/gstbus.c: (gst_bus_dispose):
7197         * gst/gstelement.c: (gst_element_dispose):
7198           Release a few potentially-held references in dispose.
7199
7200 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7201
7202         * docs/gst/tmpl/gstminiobject.sgml:
7203           do *not* add tmpl/*.sgml files to CVS!
7204
7205 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7206
7207         * libs/gst/bytestream/.cvsignore:
7208         * libs/gst/bytestream/Makefile.am:
7209         * libs/gst/bytestream/adapter.c:
7210         * libs/gst/bytestream/adapter.h:
7211         * libs/gst/bytestream/bytestream.c:
7212         * libs/gst/bytestream/bytestream.h:
7213         * libs/gst/bytestream/filepad.c:
7214         * libs/gst/bytestream/filepad.h:
7215           removing obsolete files
7216
7217 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7218
7219         * docs/gst/gstreamer-docs.sgml:
7220         * docs/libs/gstreamer-libs-docs.sgml:
7221           disabed additional index entries again, as this makes docs-gen just
7222           slow and they aren't useful yet
7223         * docs/libs/gstreamer-libs-sections.txt:
7224           little -section.txt cleanup for libs
7225
7226 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7227
7228         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7229         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7230           fix up some debugging
7231         (gst_base_transform_get_unit_size),
7232         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7233         (gst_base_transform_handle_buffer):
7234         * gst/base/gstbasetransform.h:
7235           handle and store timed NEWSEGMENT events so that subclasses that
7236           calculate time by counting samples have a segment_start time they
7237           need to add to their timestamps - see audioresample
7238
7239 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7240
7241         * gst/gstbin.h:
7242           removed ';' from the end of macro defs
7243         * docs/gst/gstreamer-docs.sgml:
7244         * docs/gst/gstreamer-sections.txt:
7245         * docs/gst/tmpl/.cvsignore:
7246         * gst/gstbus.h:
7247         * gst/gstelement.c: (gst_element_class_init),
7248         (gst_element_set_state), (activate_pads),
7249         (gst_element_save_thyself):
7250         * gst/gstevent.c: (gst_event_new_newsegment):
7251         * gst/gstevent.h:
7252         * gst/gstiterator.c:
7253         * gst/gstiterator.h:
7254         * gst/gstpad.c:
7255         * gst/gstprobe.h:
7256         * gst/gstutils.c: (gst_pad_query_convert):
7257         * gst/gstutils.h:
7258           fixed parameter name mismatches between source, header and docs
7259           added some more docs, resolved the last batch of unused elements in
7260           docs (now someone needs to doc them)
7261
7262 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7263
7264         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7265         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7266           don't walk through the plugins backwards.  Where is all this
7267           reversed logic coming from ?
7268
7269 2005-08-25  Wim Taymans  <wim@fluendo.com>
7270
7271         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7272         (gst_base_transform_transform_size),
7273         (gst_base_transform_configure_caps),
7274         (gst_base_transform_get_unit_size),
7275         (gst_base_transform_buffer_alloc),
7276         (gst_base_transform_change_state):
7277         * gst/base/gstbasetransform.h:
7278         Cache caps unit_size.
7279         Make sure we cannot negotiate up and downstream at the
7280         same time.
7281
7282 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7283
7284         * gst/gst.c: (init_pre), (init_post):
7285           register the installed plugin path after the env var
7286         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7287         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7288           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7289           directories, so the tests can prefer uninstalled over installed
7290
7291 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7292
7293         * gst/base/gstbasetransform.h:
7294           comment
7295         * gst/gstpad.c:
7296           add to docs
7297
7298 2005-08-25  Wim Taymans  <wim@fluendo.com>
7299
7300         * gst/gstbin.c: (bin_bus_handler):
7301         Be a bit more conservative about the posted message.
7302         
7303         * gst/gstbus.c: (gst_bus_post):
7304         Some cleanups, warn wrong return values.
7305
7306 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
7307
7308         * check/gst/gstbin.c: (GST_START_TEST):
7309         * gst/gstbin.c: (bin_bus_handler):
7310         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7311         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7312         (gst_message_new_warning), (gst_message_new_tag),
7313         (gst_message_new_state_changed), (gst_message_new_segment_start),
7314         (gst_message_new_segment_done), (gst_message_new_custom):
7315         * gst/gstmessage.h:
7316         * tools/gst-launch.c: (event_loop):
7317         * tools/gst-md5sum.c: (event_loop):
7318           Revert unpopular change for GST_MESSAGE_SRC to GObject.
7319
7320 2005-08-25  Wim Taymans  <wim@fluendo.com>
7321
7322         * check/generic/states.c: (GST_START_TEST):
7323         Cleanup can be done at the end.
7324
7325         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7326         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7327         (gst_task_get_state), (gst_task_start), (gst_task_pause):
7328         Oh boy.. Thanks for finding this, Thomas. 
7329
7330 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7331
7332         * docs/gst/gstreamer.types:
7333           added missing types
7334
7335 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7336
7337         * docs/gst/gstreamer-docs.sgml:
7338         * docs/gst/gstreamer-sections.txt:
7339         * docs/gst/tmpl/.cvsignore:
7340         * gst/gstbin.c:
7341         * gst/gstiterator.c:
7342         * gst/gstutils.c:
7343         * gst/registries/gstxmlregistry.h:
7344           added missing classes and symbols (123 more to go)
7345           removed removed symbols from section file
7346           fixed many doc-comments
7347
7348 2005-08-24  Wim Taymans  <wim@fluendo.com>
7349
7350         * check/generic/states.c: (GST_START_TEST):
7351         Make sure all tasks are stopped.
7352
7353         * check/gst/gstbin.c: (GST_START_TEST):
7354         Unref after usage for proper valgrinding.
7355
7356         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
7357         Really wait for the task to stop before destroying the
7358         mutex.
7359
7360         * gst/gstqueue.c: (gst_queue_sink_activate_push),
7361         (gst_queue_src_activate_push):
7362         Small cleanups. Don't stop the task when we did not start
7363         it.
7364
7365         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
7366         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7367         (gst_task_get_state), (gst_task_start), (gst_task_pause),
7368         (gst_task_join):
7369         * gst/gsttask.h:
7370         Protect the stream lock with the object lock.
7371         Disallow setting the stream lock when running.
7372         Add cleanup_all to wait for the threadpool to finish.
7373         Remove code to autoallocate a mutex if none was provided.
7374         Add _join() to wait for a task to stop.
7375         Protect the thread pool with a global lock.
7376
7377 2005-08-24  Wim Taymans  <wim@fluendo.com>
7378
7379         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7380         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7381         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
7382         * gst/base/gstbasesink.h:
7383         Handle newsegment events correctly.
7384         Drop buffers out of the segment range.
7385
7386 2005-08-22  Andy Wingo  <wingo@pobox.com>
7387
7388         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
7389         macro, implements an interface and gstimplementsinterface for a
7390         new type.
7391
7392 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7393
7394         * check/Makefile.am:
7395         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
7396           add a test that does a bunch of state changes on elements
7397           needs some fixing for valgrind
7398         * check/states/sinks.c: (gst_object_suite):
7399           whitespace
7400         * gst/gstcaps.h:
7401           add prototype for gst_caps_is_equal_fixed
7402         * gst/gstplugin.c:
7403         * gst/gstregistrypool.c:
7404           doc fixes
7405
7406 2005-08-24  Andy Wingo  <wingo@pobox.com>
7407
7408         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
7409         convert a negative value. Doesn't make much sense. Mostly this is
7410         here to force callers to ensure -1 maps to -1.
7411
7412 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7413
7414         * docs/pwg/advanced-types.xml:
7415           Well done to Michael for catching my deliberate introduction
7416           of this spelling mistake. 
7417         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
7418         * gst/gstelement.h:
7419           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
7420           unlink pads before removing the element from the bin.
7421
7422 2005-08-24  Andy Wingo  <wingo@pobox.com>
7423
7424         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
7425         the same thing as GST_DEBUG=*:4.
7426         (parse_debug_level, parse_debug_category): New helper parsers.
7427
7428 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7429
7430         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7431         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
7432         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
7433         (gst_base_transform_buffer_alloc),
7434         (gst_base_transform_handle_buffer):
7435           use gboolean return values and pointers to size so we can use the
7436           full GST_BUFFER_SIZE range (guint) for buffer sizes
7437           use GstPadDirection for transform_caps
7438         * gst/base/gstbasetransform.h:
7439           rename get_size to get_unit_size since that's what it is
7440         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
7441           use GstPadDirection for transform_caps
7442         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7443         * gst/gstutils.h:
7444           cleanup and debugging
7445
7446 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7447
7448         * gst/gstelement.c: (gst_element_class_init),
7449         (gst_element_set_state), (activate_pads),
7450         (gst_element_save_thyself):
7451         * tools/gst-compprep.c: (main):
7452         * tools/gst-inspect.c: (print_element_properties_info):
7453         * tools/gst-xmlinspect.c: (print_element_properties):
7454           Fixed long standing mem-leak
7455
7456 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7457
7458         * check/gst/gstbin.c: (GST_START_TEST):
7459         * gst/gstbin.c: (bin_bus_handler):
7460         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7461         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7462         (gst_message_new_warning), (gst_message_new_tag),
7463         (gst_message_new_state_changed), (gst_message_new_segment_start),
7464         (gst_message_new_segment_done), (gst_message_new_custom):
7465         * gst/gstmessage.h:
7466         * tools/gst-launch.c: (event_loop):
7467         * tools/gst-md5sum.c: (event_loop):
7468           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
7469           that applications can sensibly post custom messages with references
7470           to their own objects.
7471
7472 2005-08-24  Andy Wingo  <wingo@pobox.com>
7473
7474         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
7475         already.
7476
7477 2005-08-24  Wim Taymans  <wim@fluendo.com>
7478
7479         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7480         (gst_base_transform_transform_caps),
7481         (gst_base_transform_transform_size),
7482         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7483         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7484         (gst_base_transform_handle_buffer):
7485         * gst/base/gstbasetransform.h:
7486         Many fixes and new features added by Thomas. Can now also do
7487         transforms with variable sizes and a custom fixate_caps function.
7488
7489 2005-08-24  Wim Taymans  <wim@fluendo.com>
7490
7491         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7492         Some debugging.
7493
7494         * gst/gstclock.h:
7495         Cast to ClockTime before formatting to time.
7496
7497         * gst/gstutils.h:
7498         Cleanups.
7499
7500 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7501
7502         * check/gst-libs/controller.c: (GST_START_TEST),
7503         (gst_controller_suite):
7504         * docs/gst/tmpl/gstcaps.sgml:
7505         * docs/gst/tmpl/gstghostpad.sgml:
7506         * docs/gst/tmpl/gstquery.sgml:
7507         * docs/gst/tmpl/gstutils.sgml:
7508         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
7509         (gst_object_sink_values), (gst_object_get_value_arrays),
7510         (gst_object_get_value_array):
7511           gracefully handle helper method calls to objects that are not beeing
7512           controlled, added test case for that          
7513
7514 2005-08-23  Wim Taymans  <wim@fluendo.com>
7515
7516         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
7517         (gst_event_new_newsegment), (gst_event_parse_newsegment),
7518         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
7519         (gst_event_parse_qos), (gst_event_new_seek),
7520         (gst_event_parse_seek):
7521         * gst/gstevent.h:
7522         Some more debugging output and doc cleanups.
7523
7524         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7525         Fix possible deadlock.
7526
7527 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7528
7529         * docs/gst/gstreamer-docs.sgml:
7530         * docs/gst/gstreamer-sections.txt:
7531         * docs/gst/gstreamer.types:
7532         * docs/gst/tmpl/.cvsignore:
7533         * gst/gstbin.h:
7534         * gst/gstbus.c:
7535         * gst/gstelement.c:
7536         * gst/gstevent.h:
7537           added 100 symbols from gstreamer-unused.txt to the right sections
7538           fixed more broken comments
7539           added GstBus to docs
7540
7541 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7542
7543         * docs/gst/gstreamer-sections.txt:
7544         * docs/gst/tmpl/.cvsignore:
7545         * docs/gst/tmpl/gstbin.sgml:
7546         * docs/gst/tmpl/gstbuffer.sgml:
7547         * gst/base/gstbasesrc.c:
7548         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
7549         * gst/gstbuffer.c:
7550         * gst/gstbuffer.h:
7551         * tools/gst-launch.1.in:
7552           inlined more doc comments, added missing comments and fixed comments
7553           fixed typos
7554
7555 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7556
7557         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7558           some debugging
7559         * gst/gstcaps.h:
7560           whitespace fixes
7561         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
7562           more debugging
7563         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
7564         * gst/gststructure.h:
7565           add a fixate function for booleans; add a FIXME that these func
7566           names should probably be gst_structure_fixate_*
7567
7568 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7569
7570         * docs/gst/gstreamer-docs.sgml:
7571         * docs/gst/gstreamer-sections.txt:
7572         * gst/Makefile.am:
7573         * gst/gstbin.c: (gst_bin_get_type),
7574         (gst_bin_child_proxy_get_child_by_index),
7575         (gst_bin_child_proxy_get_children_count),
7576         (gst_bin_child_proxy_init):
7577         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
7578         (gst_child_proxy_get_child_by_index),
7579         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
7580         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
7581         (gst_child_proxy_get), (gst_child_proxy_set_property),
7582         (gst_child_proxy_set_valist), (gst_child_proxy_set),
7583         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
7584         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
7585         * gst/gstchildproxy.h:
7586         * gst/parse/grammar.y:
7587         * tools/gst-inspect.c: (print_interfaces),
7588         (print_element_properties_info), (print_element_info):
7589           ported gstchildproxy over from 0.8
7590           ported gst-inspect fixes and enhancements over from 0.8
7591
7592 2005-08-22  Wim Taymans  <wim@fluendo.com>
7593
7594         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7595         (gst_base_transform_handle_buffer):
7596         Also call the transform function if we have ANY caps.
7597
7598         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
7599         Fix debug info.
7600
7601 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7602
7603         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
7604           Don't pretend to handle seek events if the source is not seekable
7605
7606 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7607
7608         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7609           Remove extra parameter to debug output
7610
7611         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7612         (gst_base_src_do_seek), (gst_base_src_activate_push):
7613           Fix seek event handling.
7614
7615         * gst/gstpipeline.c: (gst_pipeline_change_state):
7616         * gst/gstqueue.c: (gst_queue_handle_sink_event),
7617         (gst_queue_src_activate_push):
7618           Don't start the src pad task on FLUSH_STOP if the pad
7619           isn't linked.
7620           Debug changes.
7621
7622 2005-08-22  Wim Taymans  <wim@fluendo.com>
7623
7624         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
7625         Added check for gst_static_caps_get() refcounting.
7626
7627 2005-08-22  Wim Taymans  <wim@fluendo.com>
7628
7629         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
7630         Make _static_caps_get() refcounting sane.
7631         
7632         * gst/gstelement.c: (gst_element_set_state):
7633         Add g_return_val_if_fail() to protect against segfaults.
7634
7635 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
7636
7637         * docs/gst/tmpl/gstevent.sgml:
7638         * gst/gstevent.c:
7639         * gst/gstevent.h:
7640           inlined remaining docs, added missing doc comments
7641
7642 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7643
7644         * check/gst/gstbin.c: (GST_START_TEST):
7645           since we don't know when preroll is done, use refcount range
7646           check for the sink
7647         * gst/check/gstcheck.h:
7648           add macro for checking refcount range
7649
7650 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7651
7652         * check/Makefile.am:
7653           clean up environment for when registry gets built versus
7654           when actual tests are run; valgrind seems to not report
7655           leaks if GST_PLUGIN_PATH is set to some specific values
7656         * check/gst/gstbin.c: (GST_START_TEST):
7657           add more refcounting checks; maybe this exposes a
7658           preroll lock bug ?
7659         * common/check.mak:
7660         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7661         * gst/check/gstcheck.h:
7662         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
7663         (gst_bin_change_state):
7664         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
7665           add/fix debugging/whitespace
7666
7667 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7668
7669         * check/gst/gstevent.c: (event_probe), (test_event),
7670         (GST_START_TEST):
7671          Er, don't call gst_bin_watch_for_state_change you idiot.
7672
7673 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7674
7675         * check/Makefile.am:
7676           Use CHECK_CFLAGS and CHECK_LIBS
7677         * check/gst/gstevent.c: (event_probe), (test_event),
7678         (GST_START_TEST):
7679           Don't leak events.
7680         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7681         (gst_base_src_start), (gst_base_src_stop),
7682         (gst_base_src_activate_push), (gst_base_src_activate_pull),
7683         (gst_base_src_change_state):
7684           Sprinkle gst_base_src_stop liberally around error paths to fix
7685           problems reusing a source after failed state changes.
7686         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7687         (helper_find_suggest), (gst_type_find_helper):
7688           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
7689         * gst/gstevent.h:
7690         * docs/gst/tmpl/gstevent.sgml:
7691           Migrate part of the docs from the SGML file. Wait for ensonic to
7692           tell me how I did it wrong ;)
7693         * tools/gst-typefind.c: (main):
7694           Extra robustness to state changes between files.
7695
7696 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7697
7698         * check/Makefile.am:
7699           don't valgrind the controller test - it's leaking - Stefan, HELP
7700         * gst/check/gstcheck.c: (gst_check_message_error),
7701         (gst_check_chain_func), (gst_check_setup_element),
7702         (gst_check_teardown_element), (gst_check_setup_src_pad),
7703         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
7704         (gst_check_teardown_sink_pad):
7705         * gst/check/gstcheck.h:
7706           add a bunch of methods to set up elements, and src and sink pads
7707         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
7708         * check/elements/identity.c: (setup_identity), (cleanup_identity),
7709         (GST_START_TEST):
7710           use them
7711         * gst/gstmessage.c:
7712         * gst/gsttag.h:
7713           whitespace/doc fixes
7714
7715 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7716
7717         * gst/gstelement.h:
7718           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
7719           be handled by the application and not always printed as well
7720
7721 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7722
7723         * check/Makefile.am:
7724           set GST_TOOLS_DIR
7725         * gst/check/gstcheck.c: (gst_check_message_error):
7726         * gst/check/gstcheck.h:
7727           add a fail_unless_equals_int
7728           add fail_unless for error messages
7729
7730 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7731
7732         * check/Makefile.am:
7733         * check/gst.supp:
7734         * common/Makefile.am:
7735         * common/check.mak:
7736         * common/gst.supp:
7737           factor out some of the common stuff so we can use it
7738
7739 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7740
7741         * check/Makefile.am:
7742         * check/gst/gstiterator.c: (GST_START_TEST):
7743         * check/gst/gstsystemclock.c: (GST_START_TEST),
7744         (gst_systemclock_suite):
7745         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7746         * gst/gstclock.c:
7747           valgrind more tests
7748
7749 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7750
7751         * check/elements/.cvsignore:
7752         * check/elements/gstfakesrc.c:
7753           rename to name of element
7754         * check/elements/identity.c: (chain_func), (event_func),
7755         (setup_identity), (cleanup_identity), (GST_START_TEST),
7756         (identity_suite), (main):
7757           add a test for identity
7758         * check/Makefile.am:
7759         * pkgconfig/Makefile.am:
7760         * pkgconfig/gstreamer-check.pc.in:
7761         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7762         * gst/check:
7763         * gst/Makefile.am:
7764         * configure.ac:
7765           move the check stuff to a library that gets installed
7766         * check/gst-libs/controller.c: (GST_START_TEST):
7767         * check/gst-libs/gdp.c:
7768         * check/gst/gst.c: (GST_START_TEST):
7769         * check/gst/gstbin.c:
7770         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7771         * check/gst/gstbus.c:
7772         * check/gst/gstcaps.c: (GST_START_TEST):
7773         * check/gst/gstelement.c:
7774         * check/gst/gstghostpad.c:
7775         * check/gst/gstiterator.c:
7776         * check/gst/gstmessage.c:
7777         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
7778         * check/gst/gstobject.c:
7779         * check/gst/gstpad.c: (GST_START_TEST):
7780         * check/gst/gststructure.c: (GST_START_TEST):
7781         * check/gst/gstsystemclock.c: (GST_START_TEST),
7782         (gst_systemclock_suite):
7783         * check/gst/gsttag.c: (gst_tag_suite):
7784         * check/gst/gstvalue.c:
7785         * check/pipelines/cleanup.c:
7786         * check/pipelines/simple_launch_lines.c:
7787         * check/states/sinks.c:
7788           change include statement
7789
7790         * docs/gst/gstreamer-sections.txt:
7791         * docs/gst/tmpl/gstpad.sgml:
7792           document more pad stuff
7793         * gst/gstminiobject.c: (gst_mini_object_ref),
7794         (gst_mini_object_unref):
7795           debug refcounting
7796
7797 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
7798
7799         * docs/gst/tmpl/gst.sgml:
7800         * gst/gst.c:
7801           eliminate another tmpl file, fix spelling in the long-description
7802
7803 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7804
7805         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7806         (test_event), (timediff), (gstevents_suite):
7807           Should fix build on 64-bit arch's
7808
7809 2005-08-18  Andy Wingo  <wingo@pobox.com>
7810
7811         Make sure that when a pipeline goes to PLAYING, that data has
7812         actually hit the sink.
7813
7814         * check/states/sinks.c (test_sink): A sink that doesn't get any
7815         data shouldn't return SUCCESS for going to either PLAYING or
7816         PAUSED. Test also the return values on the way back down.
7817
7818         * gst/gstelement.c (gst_element_set_state): When changing the
7819         state of an element currently changing state asynchronously, go to
7820         lost-state after commiting the pending state. Makes future calls
7821         to get_state continue to return ASYNC.
7822
7823         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
7824         ASYNC when going to PLAYING if we still don't have preroll, as can
7825         happen with live sources.
7826
7827 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7828
7829         * docs/pwg/advanced-types.xml:
7830           Hack long paragraph into 2 chunks as a workaround for buggy
7831           jadetex version in sid and breezy that loops infinitely and
7832           eats all RAM.
7833
7834 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7835
7836         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7837         (test_event), (timediff), (gstevents_suite):
7838           Provide more error margin in clock measurements to allow for 
7839           g_get_current_time inaccuracies.
7840
7841 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7842
7843         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7844         (test_event), (timediff), (gstevents_suite):
7845            Fix error message output so I might be able to tell why the
7846            test works here but fails on the build farm.
7847
7848 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7849
7850         * check/Makefile.am:
7851         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7852         (test_event), (timediff), (gstevents_suite), (main):
7853           I wrote a test!
7854
7855         * docs/design/part-seeking.txt:
7856           Spelling correction
7857
7858         * docs/gst/tmpl/gstevent.sgml:
7859         * docs/gst/tmpl/gstfakesrc.sgml:
7860           Docs updates.
7861
7862         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7863           Treat a buffer-without-newsegment the same as a receiving 
7864           a newsegment not in time format, and disable syncing to the clock
7865           with a warning.
7866
7867         * gst/gstbus.c: (gst_bus_set_sync_handler):
7868           Assert if anyone tries to replace the existing sync_handler for bus, 
7869           as only the owner should be setting it.
7870
7871         * gst/gstevent.h:
7872           Have a fixed set of custom event enums with events identified by
7873           their structure name (as in 0.8), rather than a free-for-all
7874           allowing collisions between enum values from different plugins.
7875
7876         * gst/gstpad.c: (gst_pad_class_init):
7877           Docs change.
7878           
7879         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7880           Handle out-of-band downstream events from the sending thread.
7881
7882 2005-08-17  Andy Wingo  <wingo@pobox.com>
7883
7884         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
7885         play-timeout==0 to mean no timeout at all. In that case, don't
7886         bother with a get_state or a warning, just return directly, even
7887         if it's ASYNC.
7888
7889         * gst/base/gstbasetransform.c: Debug changes.
7890
7891         * gst/gstutils.h:
7892         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
7893         ensure bins post state change messages. A bit of a hack but I can't
7894         think of a way to avoid it.
7895
7896         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
7897
7898 2005-08-16  Andy Wingo  <wingo@pobox.com>
7899
7900         * gst/base/gstadapter.h:
7901         * gst/base/gstadapter.c (gst_adapter_take): New function, like
7902         peek() but you own the data. Not terribly efficient atm.
7903
7904 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7905
7906         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
7907         (gst_element_found_tags):
7908         * gst/gstutils.h:
7909           Add two utility functions for tag handling.
7910
7911 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7912
7913         * docs/manual/advanced-dataaccess.xml:
7914         * docs/manual/basics-helloworld.xml:
7915           Fix docs to use _bin_add() before _link(), which fixes the examples
7916           with recent core versions (reported by Madhan Raj M
7917           <raj_madan@rediffmail.com>, #313199).
7918
7919 2005-08-16  Wim Taymans  <wim@fluendo.com>
7920
7921         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7922         Added subtract checks.
7923
7924         * docs/design/part-events.txt:
7925         Some more docs about newsegment
7926
7927         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
7928         Fix FIXME
7929
7930         * gst/gstcaps.c: (gst_caps_to_string):
7931         Add comments, cleanups.
7932         
7933         * gst/gstelement.c: (gst_element_save_thyself):
7934         cleanups
7935         
7936         * gst/gstvalue.c: (gst_value_collect_int_range),
7937         (gst_string_unwrap), (gst_value_union_int_int_range),
7938         (gst_value_union_int_range_int_range),
7939         (gst_value_intersect_int_int_range),
7940         (gst_value_intersect_int_range_int_range),
7941         (gst_value_intersect_double_double_range),
7942         (gst_value_intersect_double_range_double_range),
7943         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
7944         (gst_value_subtract_int_range_int),
7945         (gst_value_subtract_double_range_double),
7946         (gst_value_subtract_double_range_double_range),
7947         (gst_value_subtract_from_list), (gst_value_subtract_list),
7948         (gst_value_can_compare), (gst_value_compare_fraction):
7949         Cleanups, add comments, remove unneeded asserts.
7950
7951 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7952
7953         * tools/gst-launch.c: (event_loop):
7954           don't convert NULL structures to strings
7955
7956 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
7957
7958         * docs/gst/gstreamer-sections.txt:
7959           made some defines private
7960         * docs/gst/tmpl/gstconfig.sgml:
7961         * docs/gst/tmpl/gstqueue.sgml:
7962         * docs/gst/tmpl/gsttaglist.sgml:
7963         * docs/gst/tmpl/gsttypes.sgml:
7964         * docs/gst/tmpl/gstutils.sgml:
7965         * docs/pwg/appendix-porting.xml:
7966         * gst/base/gstbasesink.h:
7967         * gst/base/gstbasesrc.c:
7968         * gst/base/gstbasesrc.h:
7969         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
7970         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
7971         * gst/gstelement.c: (gst_element_class_init):
7972         * gst/gstpad.c: (gst_pad_class_init):
7973         * gst/gstqueue.c: (gst_queue_class_init):
7974         * gst/gstxml.c: (gst_xml_class_init):
7975           documented all undocumented signal inline
7976         * libs/gst/controller/gst-controller.h:
7977           added padding
7978
7979 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7980
7981         * docs/pwg/appendix-porting.xml:
7982           Document _set_link_function -> _set_setcaps_function.
7983
7984 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7985
7986         * check/Makefile.am:
7987           add a .check target for running the check
7988         * check/gst-libs/controller.c: (GST_START_TEST):
7989           cosmetic fixups
7990         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7991           complete checks for gstbuffer; would be nice if I could get the
7992           gcov stuff to work so I can see if I actually completed gstbuffer.c
7993         * check/gstcheck.h:
7994           add ASSERT_BUFFER_REFCOUNT
7995
7996 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
7997
7998         * docs/gst/gstreamer-sections.txt:
7999         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
8000         * gst/gsttag.h:
8001           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
8002           spew out a warning if a tag that is already registered
8003           is re-registered, unless it is re-registered with a 
8004           different type (#308438).
8005
8006 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
8007
8008         * docs/pwg/appendix-porting.xml:
8009         * docs/pwg/building-state.xml:
8010           Add some paragraphs about state changes in 0.9 to the PWG
8011           and the porting guide, in particular about the new meaning
8012           of GST_STATE_PAUSED and how to write state change functions
8013           with concurrent access by multiple threads in mind.
8014
8015 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
8016
8017         * docs/gst/gstreamer-docs.sgml:
8018         * docs/libs/gstreamer-libs-docs.sgml:
8019           added deprecation and since indexes
8020         * libs/gst/controller/gst-controller.c:
8021         * libs/gst/controller/gst-helper.c:
8022           added since tags
8023
8024
8025 2005-08-11  Wim Taymans  <wim@fluendo.com>
8026
8027         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
8028         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
8029         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
8030         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
8031         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
8032         (gst_ghost_pad_set_target):
8033         Actually implement (re)setting the target on a ghostpad
8034         as described in the docs.
8035
8036 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8037
8038         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
8039           Check whether GST_DEBUG_NO_COLOR environment variable is
8040           set and disable coloured debug output if that is the case.
8041
8042 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8043
8044         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8045         (gst_type_find_helper):
8046           The memory returned by gst_type_find_peek() needs to
8047           stay valid until the end of a typefind function, and
8048           typefind functions may keep results from different 
8049           offsets around, so we can't just unref the buffer from
8050           the previous _peek(), but have to save all buffers 
8051           returned by _peek() until typefinding is done and only
8052           free them then.
8053
8054 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
8055
8056         * docs/gst/gstreamer-sections.txt:
8057         * gst/gstutils.h:
8058           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
8059
8060 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8061
8062         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8063           Fix a pretty good memleak.
8064
8065 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8066
8067         * gst/gstiterator.h:
8068           Fix wrong include and 'make distcheck'.
8069
8070 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8071
8072         * gst/gstbin.c: (bin_bus_handler):
8073           Use gst_element_post_message() instead.
8074
8075 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8076
8077         * gst/base/gstadapter.h:
8078         * gst/base/gstbasesink.h:
8079         * gst/base/gstbasesrc.h:
8080         * gst/base/gstbasetransform.h:
8081         * gst/base/gstcollectpads.h:
8082         * gst/base/gstpushsrc.h:
8083         * gst/gstiterator.h:
8084           Add padding to our base elements' class and instance structs and
8085           to GstIterator (you will need to rebuild all plugins and apps!)
8086
8087 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8088
8089         * gst/gstbin.c: (bin_bus_handler):
8090           Make default message forwarding from child->bus to bin->bus
8091           threadsafe and make it not emit warnings if the parent has no bus.
8092
8093 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8094
8095         * gst/gstelement.c: (activate_pads):
8096           On paused->ready, set pad->caps to NULL, as is the documented
8097           behaviour in this state change. Fixes playback of series of
8098           media files when visualization is enabled in Totem.
8099
8100 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8101
8102         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8103           Allow NULL as filter-caps (which means "any").
8104
8105 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8106
8107         * docs/libs/gstreamer-libs-sections.txt:
8108         * libs/gst/controller/gst-controller.c:
8109         * libs/gst/controller/gst-controller.h:
8110         * libs/gst/controller/gst-helper.c:
8111           adding more entries to the docs and fix small doc-bugs
8112
8113 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8114
8115         * docs/gst/gstreamer-docs.sgml:
8116         * docs/gst/gstreamer-sections.txt:
8117         * docs/gst/gstreamer.types:
8118         * docs/gst/tmpl/gstbasesink.sgml:
8119         * docs/gst/tmpl/gstbasesrc.sgml:
8120         * docs/gst/tmpl/gstbasetransform.sgml:
8121         * docs/gst/tmpl/gstfakesrc.sgml:
8122         * gst/base/gstcollectpads.c:
8123         * gst/base/gstcollectpads.h:
8124         * libs/gst/controller/gst-controller.c:
8125         * libs/gst/controller/gst-controller.h:
8126         * libs/gst/controller/gst-helper.c:
8127         * libs/gst/controller/gst-interpolation.c:
8128         * libs/gst/controller/lib.c:
8129           added long/short desc for controller docs
8130           added collectpads base class docs
8131           added correct includes to base-class docs
8132
8133 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8134
8135         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8136         (gst_test_mono_source_set_property),
8137         (gst_test_mono_source_class_init), (GST_START_TEST),
8138         (gst_controller_suite):
8139         * docs/gst/gstreamer-docs.sgml:
8140         * docs/gst/gstreamer-sections.txt:
8141         * docs/gst/gstreamer.types:
8142         * docs/libs/gstreamer-libs-docs.sgml:
8143         * docs/libs/gstreamer-libs-sections.txt:
8144         * gst/base/gstadapter.c:
8145         * libs/gst/controller/gst-controller.c:
8146         (gst_controlled_property_new), (gst_controlled_property_free),
8147         (gst_controller_new_valist),
8148         (gst_controller_remove_properties_valist),
8149         (gst_controller_sink_values), (_gst_controller_finalize):
8150         * libs/gst/controller/gst-controller.h:
8151         * libs/gst/controller/gst-helper.c:
8152         (gst_object_control_properties), (gst_object_uncontrol_properties),
8153         (gst_object_get_controller), (gst_object_set_controller),
8154         (gst_object_sink_values), (gst_object_get_value_arrays),
8155         (gst_object_get_value_array):
8156           more tests (and fixes) for the controller
8157           more docs for the controller
8158           integrated companies docs for the adapter 
8159
8160 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8161
8162         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8163         (GST_START_TEST), (fakesrc_suite):
8164           add tests for sizetype
8165
8166 2005-08-04  Andy Wingo  <wingo@pobox.com>
8167
8168         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8169         fixes buffer_alloc proxying among other things.
8170
8171         * gst/base/gstbasetransform.c:
8172         * gst/base/gstbasetransform.h:
8173         Revert patch to gstbasetransform from 7-28 removing
8174         delay_configure.
8175
8176         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8177         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8178         Semantics changed, should return not the size of the output buffer
8179         but the byte size of a buffer with a given caps.
8180
8181         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8182         debug object.
8183         (gst_base_transform_configure_caps): Don't set out_size here: (in,
8184         out) are not the pad caps until setcaps finishes.
8185         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8186         not-in-place case as well. Deal with changing from in-place to
8187         not-in-place within calling pad_alloc_buffer. Still a bit
8188         concerned about the overhead here...
8189
8190 2005-08-03  Andy Wingo  <wingo@pobox.com>
8191
8192         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8193         fixating is an error.
8194
8195 2005-08-04  Edward Hervey  <edward@fluendo.com>
8196
8197         * gst/base/gstadapter.h: 
8198         Added gst_adapter_get_type() to the header
8199
8200 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8201
8202         * check/Makefile.am:
8203         * check/gst-libs/controller.c:
8204         * libs/gst/controller/gst-controller.c:
8205         (gst_controller_new_valist):
8206           added check test suite for the controller
8207         * gst/base/gstpushsrc.c:
8208           fixed a doc typo
8209
8210 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8211
8212         * docs/gst/Makefile.am:
8213         * docs/gst/gstreamer-docs.sgml:
8214         * docs/gst/gstreamer-sections.txt:
8215         * docs/gst/gstreamer.types:
8216         * docs/gst/tmpl/gstfakesrc.sgml:
8217         * gst/base/README:
8218         * gst/base/gstbasesink.c:
8219         * gst/base/gstbasesink.h:
8220         * gst/base/gstbasesrc.c:
8221         * gst/base/gstbasesrc.h:
8222         * gst/base/gstbasetransform.c:
8223         * gst/base/gstpushsrc.c:
8224         * gst/base/gstpushsrc.h:
8225           add short/long description docs to base classes
8226           add pushsrc to the docs
8227           remove consolidated doc fragments
8228
8229 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8230
8231         * configure.ac:
8232         * docs/libs/Makefile.am:
8233         * docs/libs/gstreamer-libs-docs.sgml:
8234         * docs/libs/gstreamer-libs-sections.txt:
8235         * docs/libs/gstreamer-libs.types:
8236         * examples/Makefile.am:
8237         * examples/controller/.cvsignore:
8238         * examples/controller/Makefile.am:
8239         * examples/controller/audio-example.c: (main):
8240         * libs/gst/Makefile.am:
8241         * libs/gst/controller/.cvsignore:
8242         * libs/gst/controller/Makefile.am:
8243         * libs/gst/controller/gst-controller.c:
8244         (on_object_controlled_property_changed), (gst_timed_value_compare),
8245         (gst_timed_value_find),
8246         (gst_controlled_property_set_interpolation_mode),
8247         (gst_controlled_property_new), (gst_controlled_property_free),
8248         (gst_controller_find_controlled_property),
8249         (gst_controller_new_valist), (gst_controller_new),
8250         (gst_controller_remove_properties_valist),
8251         (gst_controller_remove_properties), (gst_controller_set),
8252         (gst_controller_set_from_list), (gst_controller_unset),
8253         (gst_controller_get), (gst_controller_get_all),
8254         (gst_controller_sink_values), (gst_controller_get_value_arrays),
8255         (gst_controller_get_value_array),
8256         (gst_controller_set_interpolation_mode),
8257         (_gst_controller_finalize), (_gst_controller_init),
8258         (_gst_controller_class_init), (gst_controller_get_type):
8259         * libs/gst/controller/gst-controller.h:
8260         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8261         (g_object_uncontrol_properties), (g_object_get_controller),
8262         (g_object_set_controller), (g_object_sink_values),
8263         (g_object_get_value_arrays), (g_object_get_value_array):
8264         * libs/gst/controller/gst-interpolation.c:
8265         (gst_controlled_property_find_timed_value_node),
8266         (interpolate_none_get), (interpolate_trigger_get),
8267         (interpolate_trigger_get_value_array):
8268         * libs/gst/controller/lib.c: (gst_controller_init):
8269         * pkgconfig/Makefile.am:
8270         * pkgconfig/gstreamer-control-uninstalled.pc.in:
8271         * pkgconfig/gstreamer-control.pc.in:
8272         * testsuite/Makefile.am:
8273         * testsuite/controller/.cvsignore:
8274         * testsuite/controller/Makefile.am:
8275         * testsuite/controller/interpolator.c: (main):
8276           added controller code
8277           removed dparam pc files
8278
8279 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8280         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8281         (gst_collectpads_stop):
8282           Broadcast the condition when shutting down, to make sure we wake all
8283           threads up. Shut down pads on finalize, for safety.
8284
8285 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8286         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8287         (gst_base_transform_handle_buffer),
8288         (gst_base_transform_change_state):
8289           Handle PAUSED->READY->PAUSED transition after negotiation
8290           occurred already.
8291         * gst/gstmessage.c: (gst_message_init):
8292           Extra piece of debug for new messages.
8293
8294 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
8295
8296         * configure.ac:
8297         * docs/gst/tmpl/gstbasesrc.sgml:
8298         * docs/gst/tmpl/gstelement.sgml:
8299         * docs/gst/tmpl/gstevent.sgml:
8300         * docs/gst/tmpl/gstfakesrc.sgml:
8301         * docs/gst/tmpl/gstformat.sgml:
8302         * docs/gst/tmpl/gstghostpad.sgml:
8303         * docs/gst/tmpl/gstpad.sgml:
8304         * docs/gst/tmpl/gstquery.sgml:
8305         * docs/gst/tmpl/gststructure.sgml:
8306         * docs/gst/tmpl/gsttaglist.sgml:
8307         * docs/gst/tmpl/gstvalue.sgml:
8308         * docs/libs/gstreamer-libs-docs.sgml:
8309         * docs/libs/gstreamer-libs-sections.txt:
8310         * docs/libs/gstreamer-libs.types:
8311         * libs/gst/Makefile.am:
8312         * libs/gst/control/.cvsignore:
8313         * libs/gst/control/Makefile.am:
8314         * libs/gst/control/control.c:
8315         * libs/gst/control/control.h:
8316         * libs/gst/control/dparam.c:
8317         * libs/gst/control/dparam.h:
8318         * libs/gst/control/dparam_smooth.c:
8319         * libs/gst/control/dparam_smooth.h:
8320         * libs/gst/control/dparamcommon.h:
8321         * libs/gst/control/dparammanager.c:
8322         * libs/gst/control/dparammanager.h:
8323         * libs/gst/control/dplinearinterp.c:
8324         * libs/gst/control/dplinearinterp.h:
8325         * libs/gst/control/unitconvert.c:
8326         * libs/gst/control/unitconvert.h:
8327         * testsuite/Makefile.am:
8328         * testsuite/dynparams/.cvsignore:
8329         * testsuite/dynparams/Makefile.am:
8330         * testsuite/dynparams/dparamstest.c:
8331         * tools/Makefile.am:
8332         * tools/gst-inspect.c: (print_element_info), (main):
8333         * tools/gst-xmlinspect.c: (print_element_info), (main):
8334           deactivate and remove dparams (libgstcontrol)
8335
8336 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8337
8338         * gst/elements/gsttypefindelement.c:
8339         (gst_type_find_element_have_type), (gst_type_find_element_init),
8340         (stop_typefinding), (gst_type_find_element_handle_event),
8341         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8342         * gst/elements/gsttypefindelement.h:
8343           Set caps on all outgoing buffers, not just the first one.
8344
8345 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8346
8347         * gst/elements/gsttypefindelement.c:
8348         (gst_type_find_element_have_type),
8349         (gst_type_find_element_check_set_buffer_caps),
8350         (gst_type_find_element_init), (stop_typefinding),
8351         (gst_type_find_element_handle_event),
8352         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8353         * gst/elements/gsttypefindelement.h:
8354           Set caps on first outgoing buffer when we've found the type.
8355
8356 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8357
8358         * docs/gst/gstreamer-docs.sgml:
8359         * docs/gst/gstreamer-sections.txt:
8360         * docs/gst/tmpl/gstscheduler.sgml:
8361         * docs/gst/tmpl/gstschedulerfactory.sgml:
8362           Remove some old cruft from docs.
8363
8364 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
8365
8366         * gst/gstpad.h:
8367           Fix inline docs for GstPadLinkReturn.
8368           
8369         * gst/gststructure.c: (gst_structure_has_name):
8370         * gst/gststructure.h:
8371         * docs/gst/gstreamer-sections.txt:
8372           New API: gst_structure_has_name().
8373
8374 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
8375
8376         * configure.ac:
8377           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
8378           and _LARGEFILE_SOURCE in config.h as required. Do not 
8379           export those flags in our .pc files any longer (#142209).
8380
8381           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
8382
8383         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
8384         (gst_file_sink_do_seek), (gst_file_sink_event),
8385         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8386           Redo seek/tell calls with large file support in mind; add some
8387           debugging messages; add log message that tells us when large
8388           file support is unavailable or not enabled for some reason.
8389
8390         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
8391           Add log message that tells us when large file support 
8392           is unavailable or not enabled for some reason.
8393
8394 2005-07-29  Wim Taymans  <wim@fluendo.com>
8395
8396         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8397         Added test for removing an element with ghostpad from a bin.
8398         Fixed test as current implementation does the right thing.
8399
8400         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
8401         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
8402         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
8403         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
8404         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
8405         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8406         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8407         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8408         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
8409         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
8410         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
8411         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
8412         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8413         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
8414         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
8415         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8416         * gst/gstghostpad.h:
8417         Clean up ghostpads, remove properties for internal stuff.
8418         Make threadsafe.
8419         Fix refcounting.
8420         Prepare for switching targets, not all use cases work yet.
8421
8422 2005-07-29  Wim Taymans  <wim@fluendo.com>
8423
8424         * docs/design/part-gstghostpad.txt:
8425         Small update.
8426
8427         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8428         (gst_bin_remove_func):
8429         Unlinking pads while holding the bin LOCK is not a good
8430         idea.
8431
8432         * gst/gstpad.c: (gst_pad_class_init),
8433         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
8434         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
8435         No prob setting template after creating the pad.
8436
8437 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
8438
8439         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
8440         (gst_bus_peek), (gst_bus_source_dispatch),
8441         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
8442         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
8443           gst_bus_poll may be called from other threads. Handle
8444           this nicely by not making poll_data disappear off the
8445           stack once gst_bus_poll returns.
8446           gst_bus_peek now increments the refcount on the returned
8447           message.
8448
8449 2005-07-29  Wim Taymans  <wim@fluendo.com>
8450
8451         * docs/design/part-gstghostpad.txt:
8452         Overview of current GhostPad datastructures and use
8453         cases for changing the target.
8454
8455 2005-07-28  Wim Taymans  <wim@fluendo.com>
8456
8457         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8458         Added checks for hierarchy consistency whan adding linked
8459         elements to bins.
8460
8461         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8462         Added check to test element scheduling without bin/pipeline.
8463
8464         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8465         First add elements to bin, then link.
8466         
8467         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8468         (gst_bin_remove_func):
8469         Unlink pads from elements added/removed from bin to maintain
8470         hierarchy consistency.
8471
8472 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8473
8474         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8475         (gst_base_transform_handle_buffer):
8476         * gst/base/gstbasetransform.h:
8477           Remove broken delay_configure (fixes renegotiation of software
8478           scaling pipelines); remove some leftover printf()s.
8479
8480 2005-07-28  Wim Taymans  <wim@fluendo.com>
8481
8482         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8483         Added some more tests for wrong hierarchy
8484
8485         * docs/design/part-overview.txt:
8486         Some updates.
8487
8488         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
8489         Cleanups.
8490
8491         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
8492         (gst_element_dispose):
8493         Some more cleanups.
8494
8495         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8496         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
8497         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8498         (gst_pad_set_caps), (gst_pad_send_event):
8499         Check for correct hierarchy when linking pads. Moving to
8500         strict requirement for ghostpads when linking elements in
8501         different bins.
8502
8503         * gst/gstpad.h:
8504         Clean ups. Added WRONG_HIERARCHY return value.
8505
8506 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8507
8508         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8509           Better debug if no transform is possible.
8510
8511 2005-07-27  Wim Taymans  <wim@fluendo.com>
8512
8513         * docs/random/wtay/network-transp:
8514         Some old doc I had.
8515
8516 2005-07-27  Wim Taymans  <wim@fluendo.com>
8517
8518         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8519         (gst_dp_event_from_packet):
8520         Fix serialization of seek events.
8521
8522 2005-07-27  Wim Taymans  <wim@fluendo.com>
8523
8524         * check/gst-libs/gdp.c: (GST_START_TEST):
8525         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8526         Fix compilation and fix event serialization.
8527
8528 2005-07-27  Wim Taymans  <wim@fluendo.com>
8529
8530         * CHANGES-0.9:
8531         * docs/design/part-TODO.txt:
8532         * docs/design/part-events.txt:
8533         Some docs updates
8534
8535         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8536         (gst_base_sink_event), (gst_base_sink_do_sync),
8537         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8538         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8539         (gst_base_src_do_seek), (gst_base_src_event_handler),
8540         (gst_base_src_loop):
8541         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8542         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8543         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8544         (gst_base_transform_event), (gst_base_transform_handle_buffer),
8545         (gst_base_transform_set_passthrough),
8546         (gst_base_transform_is_passthrough):
8547         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8548         * gst/elements/gstfilesink.c: (gst_file_sink_event):
8549         Event updates.
8550
8551         * gst/gstbuffer.h:
8552         Use faster casts.
8553
8554         * gst/gstelement.c: (gst_element_seek):
8555         * gst/gstelement.h:
8556         Update gst_element_seek.
8557
8558         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
8559         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
8560         (gst_event_new_flush_start), (gst_event_new_flush_stop),
8561         (gst_event_new_eos), (gst_event_new_newsegment),
8562         (gst_event_parse_newsegment), (gst_event_new_tag),
8563         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
8564         (gst_event_parse_qos), (gst_event_new_seek),
8565         (gst_event_parse_seek), (gst_event_new_navigation):
8566         * gst/gstevent.h:
8567         Make GstEvent use GstStructure. Add parsing code, make sure the
8568         API is sufficiently generic.
8569         Mark possible directions of events and serialization.
8570
8571         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
8572         (_gst_message_copy), (gst_message_new_segment_start),
8573         (gst_message_new_segment_done), (gst_message_new_custom),
8574         (gst_message_parse_segment_start),
8575         (gst_message_parse_segment_done):
8576         Small cleanups.
8577
8578         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8579         (gst_pad_set_caps), (gst_pad_send_event):
8580         Update for new events. 
8581         Catch events sent in wrong directions.
8582
8583         * gst/gstqueue.c: (gst_queue_link_src),
8584         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
8585         (gst_queue_handle_src_query):
8586         Event updates.
8587
8588         * gst/gsttag.c:
8589         * gst/gsttag.h:
8590         Remove event code from this file.
8591
8592         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8593         (gst_dp_event_from_packet):
8594         Event updates.
8595
8596 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8597
8598         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
8599         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8600         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
8601           Make debugging actually useful.
8602
8603 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8604
8605         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
8606         (gst_pad_fixate_caps):
8607           Implement default fixation once again, so that gst_pad_fixate()
8608           actually does anything at all. This probably needs to be some
8609           sort of a last resort, and use profile-based fixation first, but
8610           since that doesn't exist yet, this is the best we have. Fixes
8611           visualization in Totem.
8612
8613 2005-07-22  Wim Taymans  <wim@fluendo.com>
8614
8615         * docs/design/part-events.txt:
8616         Small update.
8617
8618         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8619         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
8620         (gst_base_sink_activate_pull):
8621         Some more comments.
8622
8623         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
8624         (gst_fake_src_create):
8625         Fix handoff marshall.
8626
8627         * gst/elements/gstidentity.c: (gst_identity_class_init),
8628         (gst_identity_transform_ip):
8629         We're a real inplace element.
8630
8631         * gst/gstbus.c: (gst_bus_post):
8632         Added some comments.
8633
8634         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
8635         * tests/muxing/case1.c: (main):
8636         * tests/sched/dynamic-pipeline.c: (main):
8637         * tests/sched/interrupt1.c: (main):
8638         * tests/sched/interrupt2.c: (main):
8639         * tests/sched/interrupt3.c: (main):
8640         * tests/sched/runxml.c: (main):
8641         * tests/sched/sched-stress.c: (main):
8642         * tests/seeking/seeking1.c: (event_received), (main):
8643         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
8644         (main):
8645         * tests/threadstate/threadstate3.c: (main):
8646         * tests/threadstate/threadstate4.c: (main):
8647         * tests/threadstate/threadstate5.c: (main):
8648         Fix the tests.
8649
8650 2005-07-21  Wim Taymans  <wim@fluendo.com>
8651
8652         * docs/design/part-seeking.txt:
8653         Some small additions.
8654
8655         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8656         (gst_base_sink_get_times), (gst_base_sink_do_sync),
8657         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8658         * gst/base/gstbasesink.h:
8659         discont values are gint64, handle the math correctly.
8660
8661         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8662         Make the basesrc report error if the source pad is not linked.
8663
8664         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8665         (gst_queue_loop), (gst_queue_handle_src_query),
8666         (gst_queue_src_activate_push):
8667         Make queue collect data even if the srcpad is not linked.
8668         Start pushing out data as soon as it is linked.
8669
8670         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
8671         * gst/gstutils.h:
8672         Added gst_flow_get_name() to ease error reporting.
8673
8674 2005-07-20  Wim Taymans  <wim@fluendo.com>
8675
8676         * gst/gstmessage.c: (gst_message_new_segment_start),
8677         (gst_message_new_segment_done), (gst_message_parse_segment_start),
8678         (gst_message_parse_segment_done):
8679         * gst/gstmessage.h:
8680         Added a bunch of messages for advanced seeking.
8681
8682         * gst/parse/grammar.y:
8683         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
8684         (gst_dpman_state_changed):
8685         Fix some new-pad -> pad-added signals
8686
8687 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8688
8689         * docs/manual/appendix-porting.xml:
8690         * docs/pwg/appendix-porting.xml:
8691           Document new-pad/state-change signal renames and the FixedList
8692           type rename.
8693
8694 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8695
8696         * docs/manual/advanced-autoplugging.xml:
8697         * docs/manual/basics-helloworld.xml:
8698         * docs/manual/basics-pads.xml:
8699         * docs/random/ds/0.9-suggested-changes:
8700         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
8701         * gst/gstelement.h:
8702         * gst/gstevent.h:
8703         * gst/gstformat.h:
8704         * gst/gstquery.h:
8705         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8706         (gst_structure_parse_array), (gst_structure_parse_value):
8707         * gst/gstvalue.c: (gst_type_is_fixed),
8708         (gst_value_list_prepend_value), (gst_value_list_append_value),
8709         (gst_value_list_get_size), (gst_value_list_get_value),
8710         (gst_value_transform_array_string), (gst_value_serialize_array),
8711         (gst_value_deserialize_array), (gst_value_intersect_array),
8712         (gst_value_is_fixed), (_gst_value_initialize):
8713         * gst/gstvalue.h:
8714           GstElement::new-pad -> pad-added, GstElement::state-change ->
8715           state-changed, GstValueFixedList -> GstValueArray, add format and
8716           flags as their own arguments in gst_element_seek() (should improve
8717           "bindeability"), remove function generators since they don't work
8718           under a whole bunch of compilers (they were deprecated already
8719           anyway).
8720
8721 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8722
8723         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
8724         (_gst_debug_register_funcptr):
8725         * gst/gstinfo.h:
8726           Fix illegal cast on some platforms (#309253).
8727
8728 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8729
8730         * gst/gstmessage.c: (gst_message_new_custom):
8731         * gst/gstmessage.h:
8732           Add _new_custom, make _new_application a macro to _new_custom.
8733
8734 2005-07-20  Wim Taymans  <wim@fluendo.com>
8735
8736         * gst/base/gstbasesrc.c: (gst_base_src_init),
8737         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8738         * gst/base/gstbasesrc.h:
8739         Add a gboolean to decide when to push out a discont.
8740
8741         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8742         (gst_queue_loop), (gst_queue_handle_src_query),
8743         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
8744         (gst_queue_set_property), (gst_queue_get_property):
8745         Some cleanups.
8746
8747         * tests/threadstate/threadstate1.c: (main):
8748         Make a thread test compile and run... very silly..
8749
8750
8751 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8752
8753         * docs/manual/appendix-porting.xml:
8754           Mention removal of libgstgconf-0.9.la and existence of gconf
8755           elements.
8756
8757 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8758
8759         * docs/pwg/advanced-clock.xml:
8760         * docs/pwg/appendix-porting.xml:
8761         * docs/pwg/intro-preface.xml:
8762         * docs/pwg/other-base.xml:
8763         * docs/pwg/other-manager.xml:
8764         * docs/pwg/other-nton.xml:
8765         * docs/pwg/other-ntoone.xml:
8766         * docs/pwg/other-oneton.xml:
8767         * docs/pwg/pwg.xml:
8768           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
8769           demuxer), remove n-to-n (was never written), fix some code examples
8770           and links and update the porting section to include all this.
8771
8772 2005-07-19  Wim Taymans  <wim@fluendo.com>
8773
8774         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
8775         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
8776         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
8777         (gst_queue_src_activate_push), (gst_queue_change_state),
8778         (gst_queue_get_property):
8779         * gst/gstqueue.h:
8780         Propagate GstFlowReturn more intelligently upstream and output
8781         an ERROR/EOS when streaming stopped due to fatal error.
8782
8783 2005-07-19  Wim Taymans  <wim@fluendo.com>
8784
8785         * tools/gst-launch.c: (check_intr), (event_loop), (main):
8786         Don't block forever for the state change to complete, the
8787         pipeline already did with a sensible timeout.
8788
8789 2005-07-19  Wim Taymans  <wim@fluendo.com>
8790
8791         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8792         Make sure we never call the create function is we
8793         got deactivated.
8794
8795 2005-07-19  Andy Wingo  <wingo@pobox.com>
8796
8797         * gst/parse/parse.l: Attempt to solve bug #172815.
8798
8799 2005-07-19  Wim Taymans  <wim@fluendo.com>
8800
8801         * docs/design/part-clocks.txt:
8802         * docs/design/part-events.txt:
8803         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
8804         Small docs updates.
8805         Only update the seeking values when we are not
8806         busy streaming.
8807
8808 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8809
8810         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8811           Oops, ignore the result of gst_pad_push_event here.
8812
8813 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8814
8815         * gst/base/gstbasesrc.c: (gst_base_src_loop),
8816         (gst_base_src_activate_push):
8817           Send discont event from the loop function, as pads
8818           aren't activated yet in the activate_push handler.
8819
8820         * gst/gstbin.c: (bin_bus_handler):
8821           Don't leak element name.
8822
8823 2005-07-18  Andy Wingo  <wingo@pobox.com>
8824
8825         * configure.ac: Use AS_LIBTOOL_TAGS.
8826
8827 2005-07-18  Wim Taymans  <wim@fluendo.com>
8828
8829         * docs/gst/gstreamer.types:
8830         Remove deleted types.
8831
8832 2005-07-18  Wim Taymans  <wim@fluendo.com>
8833
8834         * check/elements/gstfakesrc.c: (GST_START_TEST):
8835         * configure.ac:
8836         * gst/Makefile.am:
8837         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
8838         (init_popt_callback):
8839         * gst/gst.h:
8840         * gst/gst_private.h:
8841         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
8842         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
8843         * gst/gstbin.h:
8844         * gst/gstbus.h:
8845         * gst/gstconfig.h.in:
8846         * gst/gstelement.c: (gst_element_class_init),
8847         (gst_element_set_base_time), (gst_element_get_base_time),
8848         (iterator_fold_with_resync), (gst_element_change_state),
8849         (gst_element_dispose), (gst_element_get_bus):
8850         * gst/gstelement.h:
8851         * gst/gstelementfactory.h:
8852         * gst/gsterror.c: (_gst_core_errors_init):
8853         * gst/gsterror.h:
8854         * gst/gstevent.h:
8855         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8856         * gst/gstindex.c:
8857         * gst/gstinfo.c: (_gst_debug_init):
8858         * gst/gstmessage.c: (_gst_message_copy):
8859         * gst/gstmessage.h:
8860         * gst/gstminiobject.h:
8861         * gst/gstobject.c:
8862         * gst/gstobject.h:
8863         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8864         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
8865         * gst/gstpad.h:
8866         * gst/gstparse.h:
8867         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8868         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8869         (gst_pipeline_get_last_stream_time):
8870         * gst/gstpipeline.h:
8871         * gst/gstpluginfeature.h:
8872         * gst/gstquery.h:
8873         * gst/gstscheduler.c:
8874         * gst/gstscheduler.h:
8875         * gst/gststructure.h:
8876         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
8877         (gst_task_finalize), (gst_task_func), (gst_task_create),
8878         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
8879         (gst_task_stop), (gst_task_pause):
8880         * gst/gsttask.h:
8881         * gst/gsttypefind.h:
8882         * gst/gsttypes.h:
8883         * gst/registries/gstlibxmlregistry.c: (load_feature),
8884         (gst_xml_registry_load), (gst_xml_registry_save_feature):
8885         * gst/registries/gstxmlregistry.c:
8886         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
8887         * gst/schedulers/threadscheduler.c:
8888         * libs/gst/control/dparammanager.h:
8889         * tools/gst-inspect.c: (print_element_list),
8890         (print_plugin_features), (print_element_features):
8891         * tools/gst-xmlinspect.c: (print_element_list),
8892         (print_plugin_info), (main):
8893         Removed plugable schedulers.
8894         Removed Scheduler/Manager from elements.
8895         Removed gsttypes.h, rearranged includes.
8896         Removed dependency pad<->element, element<>pipeline, and
8897         various others,  fix includes.
8898         implement gst_pad_get_parent() with gst_object_get_parent()
8899         Make GstTask sefcontained.
8900         Fix _get_state() on GstBin, it did not return ASYNC with a 0
8901         timeout.
8902         Fix endless loop in iterator_fold_with_resync.
8903
8904
8905 2005-07-18  Wim Taymans  <wim@fluendo.com>
8906
8907         * gst/Makefile.am:
8908         * gst/gstarch.h:
8909         Remove old file.
8910
8911 2005-07-18  Wim Taymans  <wim@fluendo.com>
8912
8913         * gst/Makefile.am:
8914         No more cothreads.h
8915
8916 2005-07-18  Wim Taymans  <wim@fluendo.com>
8917
8918         * gst/cothreads.c:
8919         * gst/cothreads.h:
8920         Let's remove these.
8921
8922 2005-07-18  Wim Taymans  <wim@fluendo.com>
8923
8924         * docs/design/part-dynamic.txt:
8925         * docs/design/part-events.txt:
8926         * docs/design/part-seeking.txt:
8927         Some more docs in the works.
8928
8929         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8930         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
8931         (gst_base_transform_setcaps), (gst_base_transform_get_size),
8932         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8933         (gst_base_transform_handle_buffer),
8934         (gst_base_transform_sink_activate_push),
8935         (gst_base_transform_src_activate_pull),
8936         (gst_base_transform_set_passthrough),
8937         (gst_base_transform_is_passthrough):
8938         Refcounting fixes.
8939
8940         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
8941         Cleanups.
8942
8943         * gst/gstevent.c: (gst_event_finalize):
8944         Set SRC to NULL.
8945
8946         * gst/gstutils.c: (gst_element_unlink),
8947         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
8948         (gst_pad_proxy_setcaps):
8949         * gst/gstutils.h:
8950         Add _get_parent_element() to get a pads parent as an element.
8951
8952 2005-07-18  Wim Taymans  <wim@fluendo.com>
8953
8954         * check/gst/gstbin.c: (GST_START_TEST):
8955         Remove bogus test.
8956
8957 2005-07-18  Wim Taymans  <wim@fluendo.com>
8958
8959         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8960         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8961         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8962         (gst_base_sink_event), (gst_base_sink_do_sync),
8963         (gst_base_sink_chain), (gst_base_sink_loop),
8964         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
8965         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
8966         Refcounting fixes.
8967         Fix logic for returning ASYNC when not prerolled.
8968
8969 2005-07-18  Wim Taymans  <wim@fluendo.com>
8970
8971         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8972         Fix nasty refcount bug.
8973
8974 2005-07-16 Philippe Khalaf <burger@speedy.org>
8975
8976         * gst/elements/gstfdsrc.c:
8977         * gst/elements/gstfdsrc.h:
8978         * gst/elements/gstelements.c:
8979         * gst/elements/Makefile.am:
8980         Ported fdsrc to 0.9.
8981
8982 2005-07-16  Wim Taymans  <wim@fluendo.com>
8983
8984         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8985         (gst_base_sink_do_sync):
8986         Fix compile error.
8987
8988 2005-07-16  Wim Taymans  <wim@fluendo.com>
8989
8990         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8991         (gst_base_sink_event), (gst_base_sink_get_times),
8992         (gst_base_sink_do_sync), (gst_base_sink_change_state):
8993         * gst/base/gstbasesink.h:
8994         Store and use discont values when syncing buffers as described
8995         in design docs.
8996         
8997         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8998         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
8999         (gst_base_src_activate_push):
9000         Push discont event when starting.
9001
9002         * gst/elements/gstidentity.c: (gst_identity_transform):
9003         Small cleanups.
9004
9005         * gst/gstbin.c: (gst_bin_change_state):
9006         Small cleanups in base_time  distribution.
9007
9008         * gst/gstelement.c: (gst_element_set_base_time),
9009         (gst_element_get_base_time), (gst_element_change_state):
9010         * gst/gstelement.h:
9011         Added methods for the base_time of the element.
9012         Some MT fixes.
9013
9014         * gst/gstpipeline.c: (gst_pipeline_send_event),
9015         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9016         (gst_pipeline_get_last_stream_time):
9017         * gst/gstpipeline.h:
9018         MT fixes.
9019         Handle seeking as described in design doc, remove stream_time
9020         hack.
9021         Cleanups clock and stream_time selection code. Added accessors
9022         for the stream_time.
9023         
9024
9025 2005-07-16  Andy Wingo  <wingo@pobox.com>
9026
9027         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
9028         (#305291).
9029
9030 2005-07-16  Wim Taymans  <wim@fluendo.com>
9031
9032         * check/gst/gstbin.c: (GST_START_TEST):
9033         Make elements silent as the deep_notify refs the
9034         parent, which might make the test fail.
9035
9036         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9037         Don't hold the lock for too long.
9038
9039 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
9040
9041         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9042           Don't unref the caps we passed to gst_caps_make_writable() after
9043           passing them. gst_caps_make_writable() will do that for us.
9044
9045 2005-07-15  Andy Wingo  <wingo@pobox.com>
9046
9047         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
9048         (#157311).
9049
9050         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
9051         own marshalling function for the handoff signal. Properly type the
9052         buffer as a buffer. Fixes some warnings. Should do a more general
9053         solution.
9054         (gst_identity_class_init): Plug into the right marshaller.
9055
9056 2005-07-15  Wim Taymans  <wim@fluendo.com>
9057
9058         * docs/design/part-TODO.txt:
9059         * docs/design/part-clocks.txt:
9060         * docs/design/part-element-sink.txt:
9061         * docs/design/part-events.txt:
9062         * docs/design/part-gstpipeline.txt:
9063         Updated docs, mostly DISCONT related.
9064
9065 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
9066
9067         * docs/pwg/building-pads.xml:
9068           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
9069
9070 2005-07-15  Andy Wingo  <wingo@pobox.com>
9071
9072         * tools/gst-typefind.c: Update, add copyright block.
9073
9074         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
9075         Normalize and truncate caps before fixation.
9076
9077         * gst/gstcaps.h:
9078         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
9079         discards all but the first structure from its argument.
9080
9081 2005-07-15  Wim Taymans  <wim@fluendo.com>
9082
9083         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9084         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
9085         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9086         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9087         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
9088         (gst_base_transform_chain), (gst_base_transform_change_state),
9089         (gst_base_transform_set_passthrough),
9090         (gst_base_transform_is_passthrough):
9091         * gst/base/gstbasetransform.h:
9092         Make passthrough work using the bufferpools.
9093         Changed API a bit, subclasses have to write into a buffer
9094         provided by the base class.
9095         More debug info in nego functions.
9096         
9097         * gst/elements/gstidentity.c: (gst_identity_init),
9098         (gst_identity_transform):
9099         Port to new base class.
9100
9101 2005-07-15  Wim Taymans  <wim@fluendo.com>
9102
9103         * gst/gstmessage.c: (gst_message_new_state_changed):
9104         * tools/gst-launch.c: (event_loop), (main):
9105         Totally dump messages in -launch with the -m option.
9106         Fix message name for State messages,
9107
9108 2005-07-14  Wim Taymans  <wim@fluendo.com>
9109
9110         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9111         Post error messages on errors.
9112
9113 2005-07-14  Wim Taymans  <wim@fluendo.com>
9114
9115         * gst/gstcaps.c: (gst_caps_do_simplify):
9116         Remove debug info.
9117
9118         * gst/gsterror.h:
9119         Define error for stream stopped.
9120
9121         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9122         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
9123         Do proper return values.
9124
9125         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9126         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
9127         (gst_pad_get_range):
9128         Better return values.
9129
9130         * gst/gstpad.h:
9131         Reorganise return values, add macro to check for fatal errors.
9132
9133         * gst/gstqueue.c: (gst_queue_chain):
9134         Return proper GstFlowReturn values,
9135
9136 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9137
9138         * docs/gst/gstreamer-sections.txt:
9139         * docs/gst/gstreamer.types:
9140         * docs/gst/tmpl/gst.sgml:
9141         * docs/gst/tmpl/gstbasesink.sgml:
9142         * docs/gst/tmpl/gstbasesrc.sgml:
9143         * docs/gst/tmpl/gstbasetransform.sgml:
9144         * docs/gst/tmpl/gstbin.sgml:
9145         * docs/gst/tmpl/gstbuffer.sgml:
9146         * docs/gst/tmpl/gstcaps.sgml:
9147         * docs/gst/tmpl/gstclock.sgml:
9148         * docs/gst/tmpl/gstcompat.sgml:
9149         * docs/gst/tmpl/gstconfig.sgml:
9150         * docs/gst/tmpl/gstelement.sgml:
9151         * docs/gst/tmpl/gstelementdetails.sgml:
9152         * docs/gst/tmpl/gstelementfactory.sgml:
9153         * docs/gst/tmpl/gstenumtypes.sgml:
9154         * docs/gst/tmpl/gsterror.sgml:
9155         * docs/gst/tmpl/gstevent.sgml:
9156         * docs/gst/tmpl/gstfakesink.sgml:
9157         * docs/gst/tmpl/gstfakesrc.sgml:
9158         * docs/gst/tmpl/gstfilesink.sgml:
9159         * docs/gst/tmpl/gstfilesrc.sgml:
9160         * docs/gst/tmpl/gstfilter.sgml:
9161         * docs/gst/tmpl/gstformat.sgml:
9162         * docs/gst/tmpl/gstghostpad.sgml:
9163         * docs/gst/tmpl/gstimplementsinterface.sgml:
9164         * docs/gst/tmpl/gstindex.sgml:
9165         * docs/gst/tmpl/gstindexfactory.sgml:
9166         * docs/gst/tmpl/gstinfo.sgml:
9167         * docs/gst/tmpl/gstiterator.sgml:
9168         * docs/gst/tmpl/gstmacros.sgml:
9169         * docs/gst/tmpl/gstmemchunk.sgml:
9170         * docs/gst/tmpl/gstminiobject.sgml:
9171         * docs/gst/tmpl/gstobject.sgml:
9172         * docs/gst/tmpl/gstpad.sgml:
9173         * docs/gst/tmpl/gstpadtemplate.sgml:
9174         * docs/gst/tmpl/gstparse.sgml:
9175         * docs/gst/tmpl/gstpipeline.sgml:
9176         * docs/gst/tmpl/gstplugin.sgml:
9177         * docs/gst/tmpl/gstpluginfeature.sgml:
9178         * docs/gst/tmpl/gstquery.sgml:
9179         * docs/gst/tmpl/gstqueue.sgml:
9180         * docs/gst/tmpl/gstregistry.sgml:
9181         * docs/gst/tmpl/gstregistrypool.sgml:
9182         * docs/gst/tmpl/gstscheduler.sgml:
9183         * docs/gst/tmpl/gstschedulerfactory.sgml:
9184         * docs/gst/tmpl/gststructure.sgml:
9185         * docs/gst/tmpl/gstsystemclock.sgml:
9186         * docs/gst/tmpl/gsttaglist.sgml:
9187         * docs/gst/tmpl/gsttagsetter.sgml:
9188         * docs/gst/tmpl/gsttrace.sgml:
9189         * docs/gst/tmpl/gsttrashstack.sgml:
9190         * docs/gst/tmpl/gsttypefind.sgml:
9191         * docs/gst/tmpl/gsttypefindfactory.sgml:
9192         * docs/gst/tmpl/gsttypes.sgml:
9193         * docs/gst/tmpl/gsturihandler.sgml:
9194         * docs/gst/tmpl/gsturitype.sgml:
9195         * docs/gst/tmpl/gstutils.sgml:
9196         * docs/gst/tmpl/gstvalue.sgml:
9197         * docs/gst/tmpl/gstversion.sgml:
9198         * docs/gst/tmpl/gstxml.sgml:
9199         * docs/libs/tmpl/gstcontrol.sgml:
9200         * docs/libs/tmpl/gstdataprotocol.sgml:
9201         * docs/libs/tmpl/gstdparam.sgml:
9202         * docs/libs/tmpl/gstdplinint.sgml:
9203         * docs/libs/tmpl/gstdpman.sgml:
9204         * docs/libs/tmpl/gstdpsmooth.sgml:
9205         * docs/libs/tmpl/gstgetbits.sgml:
9206         * docs/libs/tmpl/gstunitconvert.sgml:
9207         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9208         (gst_push_src_base_init), (gst_push_src_class_init),
9209         (gst_push_src_init), (gst_push_src_create):
9210         * gst/base/gstpushsrc.h:
9211         * gst/elements/gstelements.c:
9212         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9213         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9214         (gst_fake_sink_init), (gst_fake_sink_set_property),
9215         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9216         (gst_fake_sink_event), (gst_fake_sink_preroll),
9217         (gst_fake_sink_render), (gst_fake_sink_change_state):
9218         * gst/elements/gstfakesink.h:
9219         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9220         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9221         (gst_fake_src_base_init), (gst_fake_src_class_init),
9222         (gst_fake_src_init), (gst_fake_src_event_handler),
9223         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9224         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9225         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9226         (gst_fake_src_create_buffer), (gst_fake_src_create),
9227         (gst_fake_src_start), (gst_fake_src_stop):
9228         * gst/elements/gstfakesrc.h:
9229         * gst/elements/gstfilesink.c: (_do_init),
9230         (gst_file_sink_base_init), (gst_file_sink_class_init),
9231         (gst_file_sink_init), (gst_file_sink_dispose),
9232         (gst_file_sink_set_location), (gst_file_sink_set_property),
9233         (gst_file_sink_get_property), (gst_file_sink_open_file),
9234         (gst_file_sink_close_file), (gst_file_sink_query),
9235         (gst_file_sink_event), (gst_file_sink_render),
9236         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9237         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9238         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9239         * gst/elements/gstfilesink.h:
9240         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9241         (gst_file_src_class_init), (gst_file_src_init),
9242         (gst_file_src_finalize), (gst_file_src_set_location),
9243         (gst_file_src_set_property), (gst_file_src_get_property),
9244         (gst_file_src_map_region), (gst_file_src_map_small_region),
9245         (gst_file_src_create_mmap), (gst_file_src_create_read),
9246         (gst_file_src_create), (gst_file_src_is_seekable),
9247         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9248         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9249         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9250         (gst_file_src_uri_handler_init):
9251         * gst/elements/gstfilesrc.h:
9252           more autistic cleanliness in functions/names/defines
9253
9254 2005-07-13  Andy Wingo  <wingo@pobox.com>
9255
9256         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9257         source couldn't negotiate.
9258
9259         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9260         connections again.
9261
9262         * gst/gstutils.h:
9263         * gst/gstutils.c (gst_element_link_pads_filtered): New old
9264         function. I am channeling Hades. Put your boots on suckers!!!
9265
9266 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9267
9268         * testsuite/caps/Makefile.am:
9269         * testsuite/caps/value_compare.c:
9270         * testsuite/caps/value_intersect.c:
9271         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9272           move two testsuite apps over to the check dir
9273
9274 2005-07-12  Wim Taymans  <wim@fluendo.com>
9275
9276         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9277         Added more debug info in the negotiate process.
9278
9279         * gst/gstmessage.h:
9280         Prepare for segment playback.
9281
9282         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9283         Better debugging.
9284
9285         * gst/gstutils.c:
9286         Some more docs.
9287
9288         * tools/gst-launch.c: (main):
9289         NULL pipeline on errors.
9290
9291 2005-07-12  Andy Wingo  <wingo@pobox.com>
9292
9293         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9294         not it comes from a malloc region. Make sure our copy gets freed.
9295
9296 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9297
9298         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9299         * check/gst/gstmessage.c: (GST_START_TEST):
9300         * check/gst/gststructure.c: (GST_START_TEST),
9301         (gst_structure_suite), (main):
9302           more testing
9303         * gst/gstelement.c: (gst_element_message_full):
9304           clean up GError and debug string now that they get copied
9305         * gst/gstmessage.c: (gst_message_new_error),
9306         (gst_message_new_warning), (gst_message_parse_error),
9307         (gst_message_parse_warning):
9308           use GST_TYPE_G_ERROR for structure_new, and take copies of
9309           arguments, so that we don't mess up refcounting
9310
9311 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9312
9313         * check/Makefile.am:
9314           add per-test valgrind targets
9315         * check/gst-libs/gdp.c: (GST_START_TEST),
9316         (gst_data_protocol_suite), (main):
9317           clean up
9318
9319 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9320
9321         * check/Makefile.am:
9322           instate more valgrindable tests
9323         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9324         (GST_START_TEST), (fakesrc_suite):
9325         * check/gst/gstpad.c: (GST_START_TEST):
9326         * check/gst/gststructure.c: (GST_START_TEST):
9327           fix test leaks
9328         * docs/gst/tmpl/gstminiobject.sgml:
9329         * gst/gstpad.c: (gst_pad_finalize):
9330           fix the static mutex leak
9331
9332 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9333
9334         * check/Makefile.am:
9335           add two more tests for valgrinding
9336         * check/gst/gstvalue.c: (GST_START_TEST):
9337           test refcount of deserialized buffer, found a leak
9338         * docs/gst/gstreamer-docs.sgml:
9339         * docs/gst/gstreamer-sections.txt:
9340         * docs/gst/gstreamer.types:
9341         * docs/gst/tmpl/gstminiobject.sgml:
9342           add miniobject to docs
9343         * gst/gstminiobject.c:
9344           add some docs
9345         * gst/gstvalue.c: (gst_value_deserialize_buffer),
9346         (gst_string_unwrap):
9347           fix a hard-to-find invalid write for one of the tests
9348           fix a leak for deserialized buffers
9349
9350 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9351
9352         * docs/pwg/advanced-events.xml:
9353         * docs/pwg/advanced-request.xml:
9354         * docs/pwg/advanced-scheduling.xml:
9355         * docs/pwg/appendix-porting.xml:
9356         * docs/pwg/building-boiler.xml:
9357         * docs/pwg/intro-preface.xml:
9358         * docs/pwg/other-ntoone.xml:
9359           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
9360           of example code and explanation for pad activation, loop() and
9361           getrange() functions and a bit more. Remove old comments pointing
9362           to loop-functions.
9363         * examples/pwg/Makefile.am:
9364           Add loop/getrange examples.
9365
9366 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9367
9368         * configure.ac:
9369           check for valgrind binary + some fixes
9370         * check/gst.supp:
9371           valgrind suppressions for the tests
9372         * check/Makefile.am:
9373           add a valgrind: target that valgrinds the unit tests
9374         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
9375         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9376         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9377         * check/gst/gstghostpad.c:
9378           added some cleanup
9379         * check/gst/gstdata.c:
9380           removed
9381         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
9382         (thread_unref), (gst_mini_object_suite), (main):
9383           added
9384         * gst/gst.c: (gst_deinit):
9385         * gst/gst.h:
9386           add a method to clean up.
9387         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9388         (gst_system_clock_obtain):
9389           allow for disposing the system clock.
9390         * tools/gst-launch.c: (main):
9391           deinit
9392
9393 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9394
9395         * docs/gst/tmpl/gstbasesrc.sgml:
9396         * docs/gst/tmpl/gstfakesrc.sgml:
9397         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9398         (gst_base_src_init), (gst_base_src_set_property),
9399         (gst_base_src_get_property), (gst_base_src_get_range),
9400         (gst_base_src_start):
9401         * gst/base/gstbasesrc.h:
9402           add num-buffers property
9403         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9404         (gst_fakesrc_init), (gst_fakesrc_set_property),
9405         (gst_fakesrc_get_property), (gst_fakesrc_create),
9406         (gst_fakesrc_start):
9407           remove num-buffers property
9408
9409 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9410
9411         * docs/gst/gstreamer-sections.txt:
9412         * docs/gst/tmpl/gstbasesink.sgml:
9413         * docs/gst/tmpl/gstbasesrc.sgml:
9414         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9415         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9416         (gst_base_sink_finalize), (gst_base_sink_set_clock),
9417         (gst_base_sink_set_property), (gst_base_sink_get_property),
9418         (gst_base_sink_handle_object), (gst_base_sink_event),
9419         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9420         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
9421         (gst_base_sink_loop), (gst_base_sink_deactivate),
9422         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
9423         (gst_base_sink_change_state):
9424         * gst/base/gstbasesink.h:
9425         * gst/base/gstbasesrc.h:
9426         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
9427         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9428         (gst_filesink_init):
9429           more macro splitting
9430
9431 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9432
9433         * gst/gstelement.c: (gst_element_get_bus):
9434           add debug
9435         * tools/gst-launch.c: (check_intr), (event_loop):
9436           fix bus leaks
9437
9438 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9439
9440         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9441           fix a caps leak
9442
9443 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9444
9445         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9446         (gst_base_src_finalize):
9447           add finalize method and clean up properly
9448         * gst/gstpipeline.c: (gst_pipeline_dispose):
9449           add debug
9450
9451 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9452
9453         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
9454         (gst_bin_suite):
9455           add more things to check
9456         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9457         * gst/gstelement.c:
9458           more debug
9459
9460 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9461
9462         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9463         (GST_START_TEST), (fakesrc_suite):
9464         * check/gst-libs/gdp.c: (GST_START_TEST):
9465         * check/gst/gst.c: (GST_START_TEST):
9466         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9467         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9468         * check/gst/gstbus.c: (GST_START_TEST):
9469         * check/gst/gstcaps.c: (GST_START_TEST):
9470         * check/gst/gstdata.c: (GST_START_TEST):
9471         * check/gst/gstelement.c: (GST_START_TEST):
9472         * check/gst/gstghostpad.c: (GST_START_TEST):
9473         * check/gst/gstiterator.c: (GST_START_TEST):
9474         * check/gst/gstmessage.c: (GST_START_TEST):
9475         * check/gst/gstobject.c: (GST_START_TEST):
9476         * check/gst/gstpad.c: (GST_START_TEST):
9477         * check/gst/gststructure.c: (GST_START_TEST):
9478         * check/gst/gstsystemclock.c: (GST_START_TEST),
9479         (gst_systemclock_suite):
9480         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9481         * check/gst/gstvalue.c: (GST_START_TEST):
9482         * check/pipelines/cleanup.c: (GST_START_TEST):
9483         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9484         * check/states/sinks.c: (GST_START_TEST):
9485         * check/gstcheck.c: (gst_check_init):
9486         * check/gstcheck.h:
9487           add debugging category
9488           use GST_START_TEST now, so we add a debug line
9489
9490 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9491
9492         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
9493           add test for state change message on a bin
9494         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
9495           add another test
9496         * gst/gstbin.c: (gst_bin_init):
9497         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
9498         * gst/gstelement.c: (gst_element_post_message),
9499         (gst_element_set_state):
9500         * gst/gstelementfactory.c: (gst_element_factory_create):
9501         * gst/gstmessage.c: (gst_message_new):
9502         * gst/gstscheduler.c:
9503           various debugging additions and cleanups
9504
9505 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9506
9507         * check/Makefile.am:
9508         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
9509         (main):
9510           adding tests for elements
9511         * gst/gstelement.c: (gst_element_dispose):
9512
9513 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9514
9515         * gst/registries/gstlibxmlregistry.c: (load_feature):
9516           plug more leaks.  A simple gst_init() now is leakfree, yay.
9517
9518 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9519
9520         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
9521         (gst_xml_registry_load):
9522           plug another memleak
9523
9524 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9525
9526         * configure.ac:
9527           use GST_SET_ERROR_CFLAGS
9528         * docs/faq/cvs.xml:
9529           change to ERROR_CFLAGS
9530
9531 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9532
9533         * configure.ac:
9534           make GST_ERROR_CFLAGS overridable and re-enable Werror
9535         * docs/faq/cvs.xml:
9536           add a note about error CFLAGS
9537         * docs/gst/tmpl/gstfakesrc.sgml:
9538         * gst/elements/gstfakesrc.c:
9539           comment out some unused code
9540         * gst/gst.c: (split_and_iterate):
9541         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
9542         (load_feature):
9543           plug some memleaks
9544
9545 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9546
9547         * common/Makefile.am:
9548         * common/gtk-doc.mak:
9549         * docs/gst/Makefile.am:
9550           factor out gtk-doc.mak
9551
9552 2005-07-07  Wim Taymans  <wim@fluendo.com>
9553
9554         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
9555         (gst_thread_scheduler_dispose):
9556         Unlock the STREAM_LOCK completely.
9557
9558 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9559
9560         * check/Makefile.am:
9561         * check/elements/.cvsignore:
9562         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9563         (START_TEST), (fakesrc_suite), (main):
9564         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9565         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
9566         (gst_fakesrc_create), (gst_fakesrc_start):
9567         * gst/elements/gstfakesrc.h:
9568           adding a first element test
9569
9570 2005-07-07  Andy Wingo  <wingo@pobox.com>
9571
9572         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
9573         debug message.
9574
9575 2005-07-07  Wim Taymans  <wim@fluendo.com>
9576
9577         * gst/gstquery.c:
9578         * gst/gstquery.h:
9579         Remove old types
9580
9581 2005-07-07  Wim Taymans  <wim@fluendo.com>
9582
9583         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
9584         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
9585         Allow subclasses to implement their own negotiation.
9586
9587 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9588
9589         * docs/design/part-gstbin.txt:
9590         * docs/design/part-gstpipeline.txt:
9591           Update design notes to reflect the movement of
9592           responsibility for bus handling from GstPipeline to
9593           GstBin
9594
9595 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9596
9597         * configure.ac:
9598           Remove unnecessary queue2/3/4 examples.
9599
9600 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9601
9602         * examples/Makefile.am:
9603         * examples/helloworld/helloworld.c: (event_loop), (main):
9604         * examples/queue/queue.c: (event_loop), (main):
9605         * examples/queue2/queue2.c: (main):
9606           Update a couple of the examples to work again.
9607
9608         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9609         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
9610          Spelling corrections and extra debug.
9611         
9612         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
9613         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
9614         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
9615         * gst/gstbin.h:
9616         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9617         (gst_pipeline_change_state):
9618         * gst/gstpipeline.h:
9619           Move the bus handler for children to the GstBin, and create a
9620           separate bus for receiving messages from children to the one the
9621           bus sends 'upwards' on.
9622
9623 2005-07-06  Wim Taymans  <wim@fluendo.com>
9624
9625         * gst/base/README:
9626         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9627         (gst_base_sink_handle_object), (gst_base_sink_loop),
9628         (gst_base_sink_change_state):
9629         * gst/base/gstbasesink.h:
9630         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9631         (gst_base_src_init), (gst_base_src_setcaps),
9632         (gst_base_src_getcaps), (gst_base_src_loop),
9633         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
9634         (gst_base_src_start), (gst_base_src_change_state):
9635         * gst/base/gstbasesrc.h:
9636         Make basesrc negotiate.
9637         Handle the case where preroll fails in basesink.
9638         Update README.
9639
9640 2005-07-06  Wim Taymans  <wim@fluendo.com>
9641
9642         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
9643         Implement the fixate function.
9644         Clean up acceptcaps.
9645
9646 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9647
9648         * docs/pwg/building-filterfactory.xml:
9649         * docs/pwg/pwg.xml:
9650           Remove never-written filter-factory chapter; I'll add the various
9651           base classes to part 4 ("other element types") later on.
9652
9653 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9654
9655         * docs/pwg/advanced-negotiation.xml:
9656         * docs/pwg/building-boiler.xml:
9657         * docs/pwg/building-pads.xml:
9658         * docs/pwg/pwg.xml:
9659         * examples/pwg/Makefile.am:
9660           Add a chapter on caps negotiation, simplify the original code
9661           samples a bit w.r.t. caps negotiation, add link to the advanced
9662           section. Add a bunch of examples showing different use cases of
9663           different types of caps negotiation. Upstream renegotiation isn't
9664           fully documented yet since nobody knows how that works.
9665
9666 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9667
9668         * check/gst/gstpad.c:
9669         * check/gstcheck.c:
9670         * gst/gstpad.c: (gst_pad_get_internal_links_default):
9671           if pad has no parent, return NULL as list of internal links
9672
9673 2005-07-05  Andy Wingo  <wingo@pobox.com>
9674
9675         * gst/elements/gstfilesrc.c:
9676         * gst/elements/gstfakesrc.c: 
9677         * gst/base/gstpushsrc.c:
9678         * gst/base/gstbasesrc.h: 
9679         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
9680         
9681 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
9682
9683         * Makefile.am:
9684           better report generation target (lcov needs a patch)
9685
9686 2005-07-05  Andy Wingo  <wingo@pobox.com>
9687
9688         * gst/elements, testsuite: Null if we got it...
9689
9690 2005-07-05  Wim Taymans  <wim@fluendo.com>
9691
9692         * configure.ac:
9693         * libs/gst/dataprotocol/Makefile.am:
9694         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
9695         * libs/gst/dataprotocol/dataprotocol.h:
9696         * pkgconfig/Makefile.am:
9697         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
9698         * pkgconfig/gstreamer-dataprotocol.pc.in:
9699         Ported dataprotol to 0.9. 
9700         Added pkgconfig files.
9701
9702 2005-07-05  Andy Wingo  <wingo@pobox.com>
9703
9704         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
9705         Default to returning TRUE for the case when tranform_caps returns
9706         a fixed caps, like for identity or volume.
9707
9708         * check/gst/gstbus.c (pound_bus_with_messages): 
9709         * check/gst/gstmessage.c (START_TEST): 
9710         * check/pipelines/simple_launch_lines.c (got_handoff): Application
9711         message API change.
9712
9713         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
9714         logic weaks here: always run transform_caps, trying passthrough
9715         operation only if the original caps intersects with the transform.
9716
9717         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
9718         source and sink caps.
9719
9720         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
9721         Intersect the peer caps with the pad template before going into
9722         transform_caps.
9723         (gst_base_transform_transform_caps): More debugging.
9724
9725         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
9726         src argument.
9727
9728 2005-07-04  Edward Hervey  <edward@fluendo.com>
9729
9730         * gst/gstutils.c:
9731         * gst/gstutils.h:
9732         (gst_pad_add_*_probe): now returns the signal id for better wrapping
9733         in bindings.
9734
9735 2005-07-04  Andy Wingo  <wingo@pobox.com>
9736
9737         * check/gst/gstpad.c: Only set explicit caps on pads.
9738
9739 2005-07-01  Andy Wingo  <wingo@pobox.com>
9740
9741         * tests/network-clock.scm: Commentary update.
9742
9743         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
9744         Didn't really make sense, not implementable with basetransform,
9745         etc.
9746         (gst_identity_transform): Unref inbuf via make_writable. Feeble
9747         attempt at implementing the sync property, needs an unlock method.
9748
9749         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
9750         New func, by default returns the same caps (the identity
9751         transformation).
9752         (gst_base_transform_getcaps): Uses transform_caps to return
9753         something sensible.
9754         (gst_base_transform_setcaps): Complicated logic to get caps on
9755         both pads, even if they are different, and to call set_caps once
9756         for every time both pads get their caps set.
9757         (gst_base_transform_handle_buffer): Give the ref to the transform
9758         function. Allows in-place modification of the buffer.
9759
9760         * gst/base/gstbasetransform.h (transform_caps): New class method.
9761         Given caps on one side, what can I do on the other.
9762         (set_caps): Take two caps, one for each side of the element.
9763
9764         * gst/gstpad.h:
9765         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
9766         caps in place. This is safe because we can check the mutability of
9767         the caps, and a good idea because fixate functions are just called
9768         as a matter of last resort. (Not actually implemented.)
9769         (gst_pad_set_caps): If the caps we're setting is actually the same
9770         as the existing pad caps, just update the pointer without calling
9771         setcaps. Assert that caps is either NULL or fixed, as per the
9772         docs.
9773
9774         * gst/gstghostpad.c: Update for fixate changes.
9775
9776 2005-07-02  Andy Wingo  <wingo@pobox.com>
9777
9778         * gst/gstcaps.c:
9779         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
9780         two refcounts makes it immutable, which is enough. Doc more.
9781
9782 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
9783
9784         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
9785           Put the mini_object into GValue as a mini_object,
9786           not a gpointer, since that's how we declared
9787           the signal.
9788
9789 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9790
9791         * examples/pwg/Makefile.am:
9792           Fix buildbot again.
9793
9794 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9795
9796         * docs/pwg/building-testapp.xml:
9797           Add extra check.
9798         * examples/pwg/Makefile.am:
9799           Fix buildbot.
9800
9801 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9802
9803         * configure.ac:
9804         * examples/Makefile.am:
9805         * examples/pwg/Makefile.am:
9806         * examples/pwg/extract.pl:
9807           Enable building the PWG examples.
9808         * docs/pwg/advanced-interfaces.xml:
9809           Add URI interface stub.
9810         * docs/pwg/advanced-types.xml:
9811         * docs/pwg/other-autoplugger.xml:
9812         * docs/pwg/appendix-porting.xml:
9813         * docs/pwg/pwg.xml:
9814           Add porting guide (mostly stubs), remove autoplugging (see ADM).
9815         * docs/pwg/building-boiler.xml:
9816         * docs/pwg/building-chainfn.xml:
9817         * docs/pwg/building-pads.xml:
9818         * docs/pwg/building-props.xml:
9819         * docs/pwg/building-state.xml:
9820         * docs/pwg/building-testapp.xml:
9821           Update the building-*.xml parts for 0.9 changes. All examples
9822           code blocks compile in examples/pwg/*.
9823
9824 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9825
9826         * docs/manual/advanced-autoplugging.xml:
9827         * docs/manual/appendix-checklist.xml:
9828         * docs/manual/appendix-integration.xml:
9829         * docs/manual/highlevel-components.xml:
9830           Fix playbin/decodebin examples, update docs a bit, mention bus
9831           instead of signals in various places, mention kmplayer and
9832           kaffeine since they have a working GStreamer backend in the KDE
9833           section.
9834
9835 2005-06-30  Wim Taymans  <wim@fluendo.com>
9836
9837         * CHANGES-0.9:
9838         * docs/design/draft-ghostpads.txt:
9839         * docs/design/draft-push-pull.txt:
9840         * docs/design/draft-query.txt:
9841         * docs/design/part-TODO.txt:
9842         * docs/design/part-query.txt:
9843         Added CHANGES-0.9 doc, updated status of other docs.
9844         
9845         * gst/gstquery.h:
9846         Remove "hmm" macro
9847
9848 2005-06-30  Wim Taymans  <wim@fluendo.com>
9849
9850         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9851         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9852         (gst_base_sink_change_state):
9853         * gst/base/gstbasesink.h:
9854         Some tweaks, only EOS and a buffer complete a preroll.
9855
9856 2005-06-30  Andy Wingo  <wingo@pobox.com>
9857
9858         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
9859         activate_push down to the internal pad as well.
9860
9861 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
9862
9863         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9864
9865         * gst/gsttaginterface.c:
9866           Some documentation fixes (#307394 and #307397).
9867
9868 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
9869
9870         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9871
9872         * gst/gstvalue.c: (gst_value_intersect_list):
9873           Fix memleak (#309125).
9874
9875 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9876
9877         * docs/manual/advanced-dataaccess.xml:
9878           Fix fakesrc example to compile; doesn't work, bug somewhere...?
9879         * docs/manual/basics-pads.xml:
9880           Add reference for filtered caps to above chapter.
9881
9882 2005-06-30  Wim Taymans  <wim@fluendo.com>
9883
9884         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
9885         (gst_bin_change_state):
9886         Probes are gone.
9887         Lame attempt at making the state change function a bit
9888         more readable.
9889
9890 2005-06-30  Wim Taymans  <wim@fluendo.com>
9891
9892         * docs/design/part-clocks.txt:
9893         * docs/design/part-element-sink.txt:
9894         * docs/design/part-events.txt:
9895         * docs/design/part-preroll.txt:
9896         * docs/design/part-states.txt:
9897         Some more tweeks and additions to the docs.
9898
9899 2005-06-30  Wim Taymans  <wim@fluendo.com>
9900
9901         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9902         (default_have_data), (gst_pad_class_init), (gst_pad_init),
9903         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9904         (gst_pad_check_pull_range), (gst_pad_get_range),
9905         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
9906         * gst/gstpad.h:
9907         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
9908         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9909         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9910         (gst_pad_remove_buffer_probe):
9911         Removed atomic operations, use existing LOCK.
9912         Move exception handling out of main code path.
9913
9914 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9915
9916         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9917         (silly_return_true_function), (gst_pad_class_init),
9918         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9919         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
9920         (gst_pad_send_event):
9921           Fix accumulator, add default value by using _emitv() instead
9922           of _emit() for signal emission.
9923
9924 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9925
9926         * docs/manual/advanced-dataaccess.xml:
9927         * examples/manual/Makefile.am:
9928           Add probe example.
9929         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
9930           Make work (??).
9931
9932 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
9933
9934         * gst/elements/gstfilesink.c: (gst_filesink_render):
9935           Simplify code so that we don't have to handle short
9936           writes and return GST_FLOW_ERROR if an error occured.
9937
9938 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9939
9940         * docs/gst/gstreamer-docs.sgml:
9941           Remove probes more.
9942
9943 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9944
9945         * docs/gst/gstreamer-sections.txt:
9946         * docs/gst/tmpl/gstpad.sgml:
9947         * docs/gst/tmpl/gstprobe.sgml:
9948         * gst/Makefile.am:
9949         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9950         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
9951         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
9952         (gst_pad_push_event), (gst_pad_send_event):
9953         * gst/gstpad.h:
9954         * gst/gstutils.c: (gst_pad_add_data_probe),
9955         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9956         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9957         (gst_pad_remove_buffer_probe):
9958         * gst/gstutils.h:
9959           Remove old probes, add new g-signal-based probes and some utility
9960           functions.
9961
9962 2005-06-29  Edward Hervey  <edward@fluendo.com>
9963
9964         * gst/gstelementfactory.c:
9965         * gst/gstutils.h:
9966         * gst/gstutils.c:
9967         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
9968         the definition to the header file.
9969
9970 2005-06-29  Andy Wingo  <wingo@pobox.com>
9971
9972         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
9973         plugins from the source directory.
9974
9975 2005-06-29  Wim Taymans  <wim@fluendo.com>
9976
9977         * docs/gst/tmpl/gstbuffer.sgml:
9978         * docs/gst/tmpl/gstclock.sgml:
9979         Some fixings for blantently wrong text.
9980
9981 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9982
9983         * check/Makefile.am:
9984         * gst/gst.c: (add_path_func), (init_pre):
9985         * gst/gstregistry.c: (gst_registry_add_path):
9986           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
9987           only scan the GST_PLUGIN_PATH locations, and not add
9988           system locations
9989
9990 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9991
9992         * docs/gst/gstreamer-sections.txt:
9993         * docs/gst/tmpl/gstbasesrc.sgml:
9994         * gst/gstelement.c:
9995         * gst/gstelement.h:
9996         * gst/gstevent.c:
9997         * gst/gstutils.c:
9998           doc fixes
9999
10000 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10001
10002         * docs/manual/advanced-autoplugging.xml:
10003           Fix autoplugging example.
10004
10005 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10006
10007         * docs/manual/advanced-autoplugging.xml:
10008         * docs/manual/mime-world.fig:
10009           Try to get autoplugging working, fix type detection. Fix text
10010           in hello-world image.
10011
10012 2005-06-29  Wim Taymans  <wim@fluendo.com>
10013
10014         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10015         (gst_base_sink_change_state):
10016         Small debug line.
10017
10018         * gst/gstclock.h:
10019         map SIGNAL and BROADCAST to the right function.
10020
10021         * gst/gstobject.h:
10022         Remove redundant braces.
10023
10024         * gst/gstpad.c: (gst_pad_set_caps):
10025         Don't call setcaps function when reseting caps to NULL.
10026
10027         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10028         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
10029         (gst_system_clock_id_unschedule):
10030         Use BROADCAST as this is what we do.
10031
10032 2005-06-29  Wim Taymans  <wim@fluendo.com>
10033
10034         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10035         We are actually prerolling before commiting the state
10036         change. 
10037
10038 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10039
10040         * docs/manual/advanced-clocks.xml:
10041         * docs/manual/advanced-interfaces.xml:
10042         * docs/manual/advanced-metadata.xml:
10043         * docs/manual/advanced-position.xml:
10044         * docs/manual/advanced-schedulers.xml:
10045         * docs/manual/advanced-threads.xml:
10046         * docs/manual/appendix-porting.xml:
10047         * docs/manual/basics-bins.xml:
10048         * docs/manual/basics-bus.xml:
10049         * docs/manual/basics-elements.xml:
10050         * docs/manual/basics-helloworld.xml:
10051         * docs/manual/basics-pads.xml:
10052         * docs/manual/highlevel-components.xml:
10053         * docs/manual/manual.xml:
10054         * docs/manual/thread.fig:
10055           Update (until threads/scheduling) Application Development Manual;
10056           remove GstThread, add GstBus, add simple porting checklist, add
10057           documentation for tag writing, clocks, make all examples until this
10058           part compile and run.
10059         * examples/manual/Makefile.am:
10060           Update from changes to Application Development Manual; add bus
10061           example, remove thread example.
10062
10063 2005-06-28  Wim Taymans  <wim@fluendo.com>
10064
10065         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
10066         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
10067         (gst_bus_source_dispatch):
10068         Add debugging messages.
10069         Make internal methods static.
10070         Handle the case where the bus is flushed in the handler.
10071         
10072         * gst/gstelement.c: (gst_element_get_bus):
10073         Fix refcount in _get_bus();
10074
10075         * gst/gstpipeline.c: (gst_pipeline_change_state),
10076         (gst_pipeline_get_clock_func):
10077         Clock refcounting fixes.
10078         Handle the case where preroll timed out more gracefully.
10079         
10080         * gst/gstsystemclock.c: (gst_system_clock_dispose):
10081         Clean up the internal thread in dispose. This is needed
10082         for subclasses that actually get disposed.
10083         
10084         * gst/schedulers/threadscheduler.c:
10085         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10086         (gst_thread_scheduler_dispose):
10087         Free thread pool in dispose.
10088
10089 2005-06-28  Andy Wingo  <wingo@pobox.com>
10090
10091         * tests/network-clock-utils.scm (debug, print-event): New utils.
10092
10093         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
10094         (*packet-loss*): Unified loss probability.
10095         (network-time): Report out-of-band events.
10096
10097         * tests/plot-data: Add support for out-of-band events. Hack it
10098         into this script instead of passing it down the pipe; should fix
10099         this later.
10100
10101 2005-06-28  Wim Taymans  <wim@fluendo.com>
10102
10103         * docs/gst/gstreamer.types:
10104         * docs/gst/tmpl/gstbasesrc.sgml:
10105         * docs/gst/tmpl/gstpad.sgml:
10106         Docs fixes.
10107
10108 2005-06-28  Wim Taymans  <wim@fluendo.com>
10109
10110         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10111         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
10112         (gst_proxy_pad_do_fixatecaps):
10113         Correctly proxy the check_pull_range function.
10114
10115 2005-06-28  Andy Wingo  <wingo@pobox.com>
10116
10117         * tests/network-clock.scm: Removed need for slib.
10118         
10119 2005-06-28  Wim Taymans  <wim@fluendo.com>
10120
10121         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
10122         (gst_basesink_preroll_queue_flush):
10123         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
10124         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
10125         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10126         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10127         (gst_proxy_pad_set_property):
10128         * gst/gstpad.c:
10129         * gst/gstpad.h:
10130         * gst/gstqueue.c: (gst_queue_init):
10131         The deprecated pad loop function is removed now.
10132
10133 2005-06-28  Andy Wingo  <wingo@pobox.com>
10134
10135         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
10136         New parameters, simulate network packet loss.
10137
10138         * tests/network-clock-utils.scm: Initialize the RNG.
10139
10140 2005-06-28  Wim Taymans  <wim@fluendo.com>
10141
10142         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
10143         (gst_basesink_event), (gst_basesink_deactivate):
10144         Flushing the preroll queue always needs to unlock the waiters.
10145
10146 2005-06-28  Edward Hervey  <edward@fluendo.com>
10147
10148         * gst/gstpipeline.c: (gst_pipeline_send_event): 
10149         Wheen a seek was successful on a pipeline, set the stream_time to the
10150         seek offset in order to have a synchronized stream_time.
10151
10152 2005-06-28  Wim Taymans  <wim@fluendo.com>
10153
10154         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10155         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10156         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
10157         (gst_proxy_pad_do_fixatecaps):
10158         Call wrapper function instead of just calling the function
10159         pointers. This takes care of any locking and whatmore.
10160
10161 2005-06-28  Wim Taymans  <wim@fluendo.com>
10162
10163         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10164         (gst_pad_pull_range):
10165         * gst/gstpad.h:
10166         CONNECTED -> LINKED.
10167
10168 2005-06-28  Andy Wingo  <wingo@pobox.com>
10169
10170         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10171         source-munging commit!!!
10172
10173         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
10174         (gst_object_sink): Take gpointer arguments, not GstObject --
10175         avoids casts. Like GLib.
10176
10177         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10178         activate.
10179
10180 2005-06-27  Andy Wingo  <wingo@pobox.com>
10181
10182         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10183         remaining buffer.
10184
10185         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10186         returns a sorted copy of the trace list.
10187         (gst_alloc_trace_print_live): New API, only prints traces with
10188         live objects. Sort the list.
10189         (gst_alloc_trace_print_all): Sort the list.
10190         (gst_alloc_trace_print): Align columns.
10191
10192         * gst/elements/gstttypefindelement.c:
10193         * gst/elements/gsttee.c:
10194         * gst/base/gstbasesrc.c:
10195         * gst/base/gstbasesink.c:
10196         * gst/base/gstbasetransform.c:
10197         * gst/gstqueue.c: Adapt for pad activation changes.
10198
10199         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10200         sched.
10201         (gst_pipeline_dispose): Drop ref on sched.
10202
10203         * gst/gstpad.c (gst_pad_init): Set the default activate func.
10204         (gst_pad_activate_default): Push mode by default.
10205         (pre_activate_switch, post_activate_switch): New stubs, things to
10206         do before and after switching activation modes on pads.
10207         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10208         the pad's activate function to choose which mode to activate.
10209         Shortcut on deactivation and call the right function directly.
10210         (gst_pad_activate_pull): New API, (de)activates a pad in pull
10211         mode.
10212         (gst_pad_activate_push): New API, same for push mode.
10213         (gst_pad_set_activate_function) 
10214         (gst_pad_set_activatepull_function) 
10215         (gst_pad_set_activatepush_function): Setters for new API.
10216
10217         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10218         Trace all miniobjects.
10219         (gst_mini_object_make_writable): Unref the arg if we copy, like
10220         gst_caps_make_writable.
10221
10222         * gst/gstmessage.c (_gst_message_initialize): No trace init.
10223
10224         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
10225         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10226         Adapt for new pad API.
10227
10228         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10229
10230         * gst/gstelement.h:
10231         * gst/gstelement.c (gst_element_iterate_src_pads) 
10232         (gst_element_iterate_sink_pads): New API functions.
10233         
10234         * gst/gstelement.c (iterator_fold_with_resync): New utility,
10235         should fold into gstiterator.c in some form.
10236         (gst_element_pads_activate): Simplified via use of fold and
10237         delegation of decisions to gstpad->activate.
10238
10239         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10240         help in debugging.
10241
10242         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10243         class once in init, like gstmessage. Didn't run into this issue
10244         but it seems correct. Don't initialize a trace, gstminiobject does
10245         that.
10246
10247         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10248         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10249         to the bus.
10250         (assert_live_count): New util function, uses alloc traces to check
10251         cleanup.
10252
10253         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10254         To be modified when unlink drops the internal pad.
10255
10256 2005-06-27  Wim Taymans  <wim@fluendo.com>
10257
10258         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10259         (gst_bin_change_state):
10260         Cleanup the get_state() function a little, make sure it
10261         iterates the same set of elements.
10262         Added stub iterate_state_order().
10263
10264 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10265
10266         * docs/gst/gstreamer-docs.sgml:
10267         * docs/gst/gstreamer-sections.txt:
10268         * docs/gst/gstreamer.types:
10269         * docs/gst/tmpl/gstbasesink.sgml:
10270         * docs/gst/tmpl/gstbasesrc.sgml:
10271         * docs/gst/tmpl/gstbasetransform.sgml:
10272         * docs/gst/tmpl/gstelement.sgml:
10273         * docs/gst/tmpl/gstiterator.sgml:
10274         * gst/base/gstbasesrc.c:
10275         * gst/base/gstbasesrc.h:
10276         * gst/base/gstbasetransform.h:
10277         * gst/gstelement.c:
10278         * gst/gstiterator.h:
10279           adding basetransform and iterator docs
10280
10281 2005-06-27  Andy Wingo  <wingo@pobox.com>
10282
10283         * docs/design/part-activation.txt: Notes on how activation should
10284         work -- not quite implemented yet.
10285
10286 2005-06-25  Wim Taymans  <wim@fluendo.com>
10287
10288         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10289         At least get the chain function correct, needs more
10290         fixing.
10291
10292 2005-06-25  Wim Taymans  <wim@fluendo.com>
10293
10294         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10295         (gst_basesink_handle_object), (gst_basesink_event),
10296         (gst_basesink_do_sync), (gst_basesink_handle_event),
10297         (gst_basesink_change_state):
10298         * gst/gsttask.h:
10299         Right, two problems here: ghostpads don't take locks and
10300         glib _rec_mutex_lock_full() with depth==0 still locks.
10301         Catch illegal locking and g_warn them.
10302
10303 2005-06-25  Wim Taymans  <wim@fluendo.com>
10304
10305         * check/states/sinks.c: (START_TEST), (gst_object_suite):
10306         Have to check for completion now...
10307
10308 2005-06-25  Wim Taymans  <wim@fluendo.com>
10309
10310         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10311         (gst_basesink_handle_object), (gst_basesink_event),
10312         (gst_basesink_do_sync), (gst_basesink_handle_event),
10313         (gst_basesink_change_state):
10314         * gst/gstpad.h:
10315         Unlock STREAM_LOCK whatever the recursion was.
10316
10317 2005-06-25  Wim Taymans  <wim@fluendo.com>
10318
10319         * gst/base/gstbasesink.c: (gst_basesink_set_property),
10320         (gst_basesink_preroll_queue_empty),
10321         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10322         (gst_basesink_event), (gst_basesink_do_sync),
10323         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10324         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10325         (gst_basesink_change_state):
10326         Reworked the base sink, handle event and buffer serialisation
10327         correctly and removed possible deadlock.
10328         Handle EOS correctly.
10329
10330 2005-06-25  Wim Taymans  <wim@fluendo.com>
10331
10332         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10333         (gst_pipeline_change_state):
10334         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10335         Allow elements to post EOS in the state change function.
10336         Fix up -launch, make it exit the poll loop when the
10337         pipeline actually changed state.
10338         Fix up warning parsing in -launch.
10339
10340 2005-06-25  Wim Taymans  <wim@fluendo.com>
10341
10342         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10343         (gst_tee_sink_activate):
10344         Core takes STREAM_LOCK for us now.
10345
10346 2005-06-25  Wim Taymans  <wim@fluendo.com>
10347
10348         * gst/gstelement.c: (gst_element_get_state_func),
10349         (gst_element_set_state):
10350         * gst/gstelement.h:
10351         * gst/gstmessage.c: (gst_message_parse_error),
10352         (gst_message_parse_warning):
10353         Keep track of current target state while performing a state
10354         change so that subclasses can do something interesting.
10355         Fix parsing of warning/error messages when GError is NULL.
10356
10357 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10358
10359         * docs/gst/Makefile.am:
10360         * docs/gst/gstreamer-docs.sgml:
10361         * docs/gst/gstreamer-sections.txt:
10362         * docs/gst/gstreamer.types:
10363         * docs/gst/tmpl/gstbasesink.sgml:
10364         * docs/gst/tmpl/gstbasesrc.sgml:
10365         * docs/gst/tmpl/gstbin.sgml:
10366         * docs/gst/tmpl/gstcompat.sgml:
10367         * docs/gst/tmpl/gstfakesink.sgml:
10368         * docs/gst/tmpl/gstfakesrc.sgml:
10369         * docs/gst/tmpl/gstfilesink.sgml:
10370         * docs/gst/tmpl/gstfilesrc.sgml:
10371         * docs/gst/tmpl/gstindex.sgml:
10372         * docs/manual/appendix-quotes.xml:
10373         * gst/base/gstbasesrc.h:
10374         * gst/elements/gstfakesrc.h:
10375         * gst/gstmessage.h:
10376           start pulling in base classes and elements in our docs
10377
10378 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
10379
10380         * docs/gst/Makefile.am:
10381         * docs/libs/Makefile.am:
10382           fixed make distcheck with gtk-doc 1.3
10383
10384 2005-06-23  Wim Taymans  <wim@fluendo.com>
10385
10386         * gst/gstelement.c: (gst_element_get_state_func),
10387         (gst_element_set_state), (gst_element_change_state):
10388         When the state did not change, also report NO_PREROLL
10389         when it matters.
10390
10391 2005-06-23  Wim Taymans  <wim@fluendo.com>
10392
10393         * gst/gstpad.c: (gst_pad_event_default):
10394         * gst/gstqueue.c: (gst_queue_loop):
10395         No unsafe task pausing please.
10396
10397 2005-06-23  Wim Taymans  <wim@fluendo.com>
10398
10399         * gst/schedulers/threadscheduler.c:
10400         (gst_thread_scheduler_task_start),
10401         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
10402         Ref the task before pushing it on the threadpool. This
10403         makes sure that we have a ref when the threadfunction is
10404         actually called.
10405
10406 2005-06-23  Andy Wingo  <wingo@pobox.com>
10407
10408         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
10409         offset is greater than the file's size.
10410
10411         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
10412         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
10413         * gst/gstobject.c (gst_object_class_init): Make the class lock
10414         recursive. Wim won't let me drop deep_notify. Decodebin works
10415         again, whoopdy doo.
10416
10417         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
10418         internal pad, and hacks accordingly. Doesn't do it on the target
10419         pad because we change its caps. Probably catches all cases of
10420         interest tho.
10421         (gst_ghost_pad_set_property): Connect to notify::caps as
10422         appropritate.
10423
10424         * tests/network-clock.scm (plot-simulation): Pipe data to the
10425         elite python skript.
10426
10427         * tests/network-clock-utils.scm (define-parameter): New macro,
10428         defines a parameter that can be set via the command line.
10429         (set-parameter!, parse-parameter-arguments): Command line args
10430         parser.
10431
10432         * tests/plot-data: Simple matplotlib-based plotter, takes input on
10433         stdin.
10434
10435 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
10436
10437         * gst/elements/gsttypefindelement.c:
10438         (gst_type_find_element_handle_event):
10439           Don't restart typefinding on a discont.
10440         * gst/gstelement.c: (gst_element_set_state):
10441           Debug spelling fix.
10442         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
10443           Allow changing mode of an active pad.
10444           Debug output fixes.
10445         * gst/registries/gstlibxmlregistry.c: (load_feature):
10446           Don't cast a static pad template to a normal pad template.
10447
10448 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10449
10450         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10451         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10452           remove gst_strtoll completely, since it didn't actually do
10453           anything more than what g_ascii_strtoull already does.
10454           check for range errors when deserializing
10455           do a cast for the unsigned cases; but further fixing needs
10456           a decision on what the interpretation of "(int)" and
10457           deserialization should be for values that fall outside the
10458           type's boundaries (ie, refuse, or interpret as casting)
10459
10460 2005-06-23  Wim Taymans  <wim@fluendo.com>
10461
10462         * check/Makefile.am:
10463         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
10464         * docs/design/part-live-source.txt:
10465         * docs/design/part-states.txt:
10466         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10467         (gst_basesrc_set_live), (gst_basesrc_is_live),
10468         (gst_basesrc_get_range), (gst_basesrc_activate),
10469         (gst_basesrc_change_state):
10470         * gst/base/gstbasesrc.h:
10471         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10472         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10473         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
10474         * gst/gstelement.c: (gst_element_get_state_func),
10475         (gst_element_set_state):
10476         * gst/gstelement.h:
10477         * gst/gsttypes.h:
10478         * tools/gst-launch.c: (event_loop), (main):
10479         Added support for live sources and other elements that
10480         cannot do preroll.
10481         Updated design docs, added live-source design doc.
10482         Implemented live source functionality in basesrc
10483         Fix error condition in _bin_get_state()
10484         Implement live source handling in -launch.
10485         Added check for live sources.
10486         Fixed case in GstBin where elements were changed state
10487         multiple times.
10488
10489
10490 2005-06-23  Andy Wingo  <wingo@pobox.com>
10491
10492         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
10493         borken refcounting.
10494
10495         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
10496         gst_caps_replace takes care of this for us.
10497
10498         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
10499         gst_pad_set_caps on the target, not just its setcaps() function.
10500
10501         * tests/network-clock.scm: 
10502         * tests/network-clock-utils.scm: A network clock simulator.
10503         Something of an algorithmic testbed before doing something in C.
10504
10505 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10506
10507         * check/Makefile.am:
10508         * check/gst/capslist.h:
10509           copy over from 0.8, and add two with bitmasks specified with
10510           (int) 0xFF...
10511         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10512           add test to parse everything from capslist.h
10513         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
10514         (main):
10515           add test for structure deserialization
10516         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10517           add tests for deserialization of strings to int types
10518         * gst/gststructure.c: (gst_structure_nth_field_name):
10519         * gst/gststructure.h:
10520           add a way to get the name of a field referenced by index
10521         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10522           instead of checking if the resulting long long lies between
10523           min and max, we check if the long long would fit into
10524           a number of bytes for the final type.
10525           This fixes cases where a string represents 2^32 - 1, which
10526           when cast to int would be the (valid) -1, but is bigger than
10527           G_MAXINT
10528
10529 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10530
10531         * gst/parse/grammar.y:
10532           add a log line for type deserialization
10533
10534 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10535
10536         * check/gst/gstvalue.c: (START_TEST):
10537         * gst/gstvalue.c: (gst_value_deserialize):
10538           return long long, not int, so gint64 deserialization actually
10539           works.  Is there any flag that makes the compiler check this ?
10540           Fixes #308559
10541
10542 2005-06-22  Wim Taymans  <wim@fluendo.com>
10543
10544         * gst/gstbuffer.h:
10545         Added convenience macros for setting buffers in GValue.
10546
10547 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10548
10549         * check/gst/.cvsignore:
10550         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10551           add a test deserializing int64, and comment part out because
10552           it fails, yay !
10553
10554 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10555
10556         * check/Makefile.am:
10557         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
10558         * testsuite/Makefile.am:
10559         * testsuite/caps/Makefile.am:
10560         * testsuite/caps/value_serialize.c:
10561         * testsuite/test_gst_init.c:
10562           move a value_serialize test over
10563
10564 2005-06-20  Wim Taymans  <wim@fluendo.com>
10565
10566         * gst/gstpad.c:
10567         Small doc updates.
10568         
10569         * gst/gstvalue.c: (gst_value_compare_buffer),
10570         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
10571         (gst_value_compare_flags), (gst_value_serialize_flags),
10572         (gst_value_deserialize_flags), (_gst_value_initialize):
10573         Fix serialisation of buffers, they are not boxed types anymore
10574
10575 2005-06-20  Wim Taymans  <wim@fluendo.com>
10576
10577         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10578         Testcase to show error in buffer-on-caps serialisation.
10579
10580 2005-06-20  Andy Wingo  <wingo@pobox.com>
10581
10582         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
10583         will be adding to later.
10584
10585         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
10586         if its socks fill with rocks.
10587         (gst_system_clock_obtain): Set the name on object construction.
10588         Avoid double-checked locking.
10589
10590 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
10591
10592         * gst/gsturi.c: (gst_element_make_from_uri):
10593           Fix potential endless loop.
10594
10595 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10596
10597         * check/Makefile.am:
10598           add gsttag
10599         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
10600         (main):
10601           move over from testsuite dir and clean up
10602         * configure.ac:
10603         * gst/gsttag.c:
10604         * testsuite/Makefile.am:
10605         * testsuite/tags/.cvsignore:
10606         * testsuite/tags/Makefile.am:
10607         * testsuite/tags/merge.c:
10608           remove testsuite/tags
10609
10610 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10611
10612         * docs/gst/gstreamer-sections.txt:
10613         * docs/gst/tmpl/gstenumtypes.sgml:
10614         * win32/gstenumtypes.c:
10615           clean up documentation build a little
10616
10617 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10618
10619         * check/gstcheck.h:
10620           add macros for checking refcounts on objects and caps
10621         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
10622           add some more unit tests
10623         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
10624         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
10625           fix leaked refcounts (I hope :)) so unittest works
10626         * gst/gstpad.h:
10627           whitespace removal
10628
10629 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10630
10631         * configure.ac: back to HEAD
10632
10633 === release 0.9.1 ===
10634
10635 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10636
10637         * NEWS:
10638         * RELEASE:
10639           updated
10640
10641 2005-06-17  Andy Wingo  <wingo@pobox.com>
10642
10643         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
10644         assert; it's always possible that the pad gets deactivated in
10645         between the checks in gstpad.c and the implementation. Rely on
10646         finish_preroll() to return a FLUSHING or similar instead of on the
10647         assert.
10648         
10649         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
10650         clock and post an EOS message if we come out of finish_preroll in
10651         the playing state.
10652
10653 2005-06-16  David Schleef  <ds@schleef.org>
10654
10655         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
10656         (gst_capsfilter_set_property): Allow NULL as possible value
10657         for filter_caps property, indicating GST_CAPS_ANY.
10658
10659 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10660
10661         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
10662           fix debug output
10663         * gst/schedulers/Makefile.am:
10664           use libgst prefix
10665         * gstreamer.spec.in:
10666           fix spec for it
10667
10668 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10669
10670         * gstreamer.spec.in:
10671           clean up
10672
10673 2005-06-08  Andy Wingo  <wingo@pobox.com>
10674
10675         * gst/gstutils.c: RPAD fixes all around.
10676         (gst_element_link_pads): Refcounting fixes.
10677
10678         * tools/gst-inspect.c:
10679         * tools/gst-xmlinspect.c:
10680         * parse/grammar.y:
10681         * gst/base/gsttypefindhelper.c:
10682         * gst/base/gstbasesink.c:
10683         * gst/gstqueue.c: RPAD fixes.
10684
10685         * gst/gstghostpad.h:
10686         * gst/gstghostpad.c: New ghost pad implementation as full proxy
10687         pads. The tricky thing is they provide both source and sink
10688         interfaces, since they proxy the internal pad for the external
10689         pad, and vice versa. Implement with lower-level ProxyPad objects,
10690         with the interior proxy pad as a child of the exterior ghost pad.
10691         Should write a doc on this.
10692         
10693         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
10694         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
10695         gst_object API.
10696         
10697         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
10698         pads are real pads. No ghost pads in this file. Not documenting
10699         the myriad s/RPAD/PAD/ and REALIZE fixes.
10700         (gst_pad_class_init): Add properties for "direction" and
10701         "template". Both are construct-only, so they can't change during
10702         the life of the pad. Fixes properly deriving from GstPad.
10703         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
10704         derived objects, just set properties when creating the objects via
10705         g_object_new.
10706         (gst_pad_get_parent): Implement as a function, return NULL if the
10707         parent is not an element.
10708         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
10709         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
10710         
10711         * gst/gstobject.c (gst_object_class_init): Make name a construct
10712         property. Don't set it in the object init.
10713
10714         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
10715         with UNKNOWN direction.
10716         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
10717         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
10718         (gst_element_remove_pad): Remove ghost-pad special cases.
10719         (gst_element_pads_activate): Remove rpad cruft.
10720
10721         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
10722         catch the pad's-parent-not-an-element case.
10723
10724         * gst/gst.h: Include gstghostpad.h.
10725
10726         * gst/gst.c (init_post): No more real, ghost pads.
10727
10728         * gst/Makefile.am: Add gstghostpad.[ch].
10729
10730         * check/Makefile.am:
10731         * check/gst/gstbin.c:
10732         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
10733         into a bin creates ghost pads, and that the refcounts are right.
10734         Partly moved from gstbin.c.
10735
10736 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10737
10738         * check/gst-libs/.cvsignore:
10739         * check/gst/.cvsignore:
10740         * check/pipelines/.cvsignore:
10741           ignore more
10742         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
10743         (START_TEST), (cleanup_suite), (main):
10744           add some tests related to cleanup after running pipelines
10745
10746 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10747
10748         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
10749           add a testsuite for GstBuffer
10750
10751 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10752
10753         * gst/gstminiobject.h:
10754           add defines for accessing the refcount
10755
10756 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
10757
10758         * Makefile.am: added support for html unit test coverage reports
10759
10760 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
10761
10762         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
10763           Free existing caps if the capsfilter changes. Add a FIXME about
10764           setting those caps on the pads.
10765
10766         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
10767           Before adding a ghost pad to a parent bin, check that there isn't
10768           already one for the element on the bin. Prevents infinite recursion
10769           when using decodebin in parse pipelines. Andy says he'll rewrite the
10770           way this works anyway, so ignore the hack.
10771
10772 2005-06-02  Andy Wingo  <wingo@pobox.com>
10773
10774         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
10775         file size, pass it on to the type find helper.
10776
10777         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
10778         segment_start and segment_end properly according to the seek
10779         method. Segment_end is still a bit flaky because offset can be
10780         negative for CUR and END cases, but it takes -1 as an "unset"
10781         value.
10782
10783 2005-06-02  Wim Taymans  <wim@fluendo.com>
10784
10785         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
10786         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
10787         (gst_basesink_activate):
10788         * gst/base/gstbasesink.h:
10789         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10790         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10791         (gst_pad_query), (gst_pad_start_task):
10792         * gst/gstpad.h:
10793         * gst/gstqueue.c: (gst_queue_bufferalloc),
10794         (gst_queue_handle_sink_event), (gst_queue_chain):
10795         Bufferalloc: return GstFlowReturn to more accuratly report
10796         why allocation failed.
10797
10798 2005-06-02  Wim Taymans  <wim@fluendo.com>
10799
10800         * gst/gstpipeline.c: (gst_pipeline_send_event):
10801         Take snapshot of state without blocking.
10802
10803 2005-06-02  Wim Taymans  <wim@fluendo.com>
10804
10805         * docs/design/part-TODO.txt:
10806         * docs/design/part-caps.txt:
10807         * docs/design/part-clocks.txt:
10808         * docs/design/part-negotiation.txt:
10809         * docs/design/part-preroll.txt:
10810         Small doc updates 
10811
10812 2005-05-30  Wim Taymans  <wim@fluendo.com>
10813
10814         * gst/elements/gstidentity.c: (gst_identity_event),
10815         (gst_identity_transform), (gst_identity_get_property):
10816         Protect last_message property as it is accessed from
10817         multiple threads.
10818
10819 2005-05-30  Wim Taymans  <wim@fluendo.com>
10820
10821         * gst/gstelement.c: (gst_element_init),
10822         (gst_element_pads_activate), (gst_element_change_state):
10823         Slicker pad activation code.
10824
10825 2005-05-30  Wim Taymans  <wim@fluendo.com>
10826
10827         * gst/Makefile.am:
10828         * gst/gstelement.h:
10829         * gst/gstelementfactory.h:
10830         * gst/gsttypes.h:
10831         Move elementfactory methods to separate .h file.
10832
10833 2005-05-30  Wim Taymans  <wim@fluendo.com>
10834
10835         * docs/design/part-overview.txt:
10836         * gst/gstsystemclock.h:
10837         Small typo fixes, doc updates.
10838
10839 2005-05-30  Wim Taymans  <wim@fluendo.com>
10840
10841         * gst/gst.c: (gst_init_get_popt_table), (init_post),
10842         (init_popt_callback):
10843         Remove cpu-opt flag.
10844
10845 2005-05-30  Wim Taymans  <wim@fluendo.com>
10846
10847         * gst/gstbuffer.c: (gst_subbuffer_finalize),
10848         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
10849         * gst/gstbuffer.h:
10850         Avoid typechecking in places where not needed.
10851         Added accessor for malloc_data.
10852
10853 2005-05-30  Wim Taymans  <wim@fluendo.com>
10854
10855         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
10856         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
10857         (gst_pad_configure_sink), (gst_pad_configure_src),
10858         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
10859         (gst_pad_start_task):
10860         Propagate errors from _set_caps() in configure_src/sink
10861         functions instead of returning TRUE.
10862         FLUSH events can travel up and downstream
10863
10864
10865 2005-05-30  Wim Taymans  <wim@fluendo.com>
10866
10867         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10868         (gst_basesink_activate):
10869         Handle EOS in preroll.
10870
10871 2005-05-30  Wim Taymans  <wim@fluendo.com>
10872
10873         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10874         (gst_queue_loop), (gst_queue_handle_src_event):
10875         Remove old pieces of code
10876         Flushing the queue in an upstream event is a very bad idea.
10877
10878 2005-05-26  Andy Wingo  <wingo@pobox.com>
10879
10880         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
10881         gst_value_set_mini_object so as to add a ref on the object (which
10882         will be removed when the value is unset).
10883
10884         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
10885         arg type in ::handoff.
10886
10887         * gst/gstelement.c (gst_element_change_state): Also deactivate
10888         pads in READY->NULL, just in case the element didn't make it to
10889         PAUSED. Wingo tested, Wim approved.
10890
10891 2005-05-26  Wim Taymans  <wim@fluendo.com>
10892
10893         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10894         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10895         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
10896         A flushing pad cannot be used to alloc_buffer from.
10897
10898 2005-05-26  Wim Taymans  <wim@fluendo.com>
10899
10900         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
10901         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
10902         (gst_bus_source_dispatch), (gst_bus_source_finalize),
10903         (gst_bus_create_watch), (gst_bus_add_watch_full):
10904         * gst/gstbus.h:
10905         Implement a real GSource and use g_main_context_wakeup() to
10906         signal new messages instead of the socketpair.
10907
10908 2005-05-25  Wim Taymans  <wim@fluendo.com>
10909
10910         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
10911         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
10912         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10913         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10914         (gst_pad_send_event), (gst_pad_start_task):
10915         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
10916         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
10917         (gst_queue_sink_activate), (gst_queue_src_activate),
10918         (gst_queue_change_state):
10919         * gst/gstqueue.h:
10920         Fix state changes for non sinks. We now change sinks, then elements
10921         with unconnected srcpads, then the rest.
10922         More efficient queue unlocking in flush and state changes.
10923         Set the pad activate mode even if it does not have an activate
10924         function.
10925
10926 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10927
10928         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
10929           Don't go in pull mode for non-seekable sources.
10930         * gst/elements/gsttypefindelement.h:
10931         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10932         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
10933         (free_entry), (stop_typefinding),
10934         (gst_type_find_element_handle_event), (find_peek),
10935         (gst_type_find_element_chain), (do_pull_typefind),
10936         (gst_type_find_element_change_state):
10937           Allow typefinding (w/o seeking) in push-mode, simplified version
10938           of what was in 0.8.
10939         * gst/gstutils.c: (gst_buffer_join):
10940         * gst/gstutils.h:
10941           gst_buffer_join() from 0.8.
10942
10943 2005-05-25  Wim Taymans  <wim@fluendo.com>
10944
10945         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10946         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10947         (gst_pad_send_event), (gst_pad_start_task):
10948         Disable attempt at mode switching until it is figured out.
10949
10950 2005-05-25  Wim Taymans  <wim@fluendo.com>
10951
10952         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
10953         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10954         (gst_basesink_finish_preroll), (gst_basesink_chain),
10955         (gst_basesink_loop), (gst_basesink_activate),
10956         (gst_basesink_change_state):
10957         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
10958         (gst_basesrc_get_range), (gst_basesrc_loop),
10959         (gst_basesrc_activate):
10960         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10961         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
10962         (gst_real_pad_init), (gst_real_pad_set_property),
10963         (gst_real_pad_get_property), (gst_pad_set_active),
10964         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
10965         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
10966         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
10967         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
10968         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10969         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
10970         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
10971         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10972         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
10973         (gst_pad_stop_task):
10974         * gst/gstpad.h:
10975         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10976         (gst_queue_loop), (gst_queue_src_activate):
10977         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
10978         (gst_task_get_state):
10979         * gst/gsttask.h:
10980         * gst/schedulers/threadscheduler.c:
10981         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
10982         Implement gst_pad_pause/start/stop_task(), take STREAM lock
10983         in task function.
10984         Remove ACTIVE pad flag, use FLUSHING everywhere
10985         Added _pad_chain(), _pad_get_range() to call chain/getrange 
10986         functions.
10987         Add locks around IS_FLUSHING when reading.
10988         Take STREAM lock in chain(), get_range() functions so plugins
10989         don't need to take it anymore.
10990         
10991
10992
10993 2005-05-25  Wim Taymans  <wim@fluendo.com>
10994
10995         * tools/gst-launch.c: (event_loop):
10996         Unref message after using its contents instead of
10997         before.
10998
10999 2005-05-24  Wim Taymans  <wim@fluendo.com>
11000
11001         * docs/design/draft-ghostpads.txt:
11002         * docs/design/draft-push-pull.txt:
11003         * docs/design/draft-query.txt:
11004         * docs/design/part-overview.txt:
11005         Docs updates, added general overview doc.
11006
11007 2005-05-21  David Schleef  <ds@schleef.org>
11008
11009         * docs/gst/tmpl/old/GstBin.sgml:
11010         * docs/gst/tmpl/old/GstBuffer.sgml:
11011         * docs/gst/tmpl/old/GstCaps.sgml:
11012         * docs/gst/tmpl/old/GstClock.sgml:
11013         * docs/gst/tmpl/old/GstCompat.sgml:
11014         * docs/gst/tmpl/old/GstData.sgml:
11015         * docs/gst/tmpl/old/GstElement.sgml:
11016         * docs/gst/tmpl/old/GstEvent.sgml:
11017         * docs/gst/tmpl/old/GstIndex.sgml:
11018         * docs/gst/tmpl/old/GstStructure.sgml:
11019         * docs/gst/tmpl/old/GstTag.sgml:
11020         * docs/gst/tmpl/old/cothreads.sgml:
11021         * docs/gst/tmpl/old/cothreads_compat.sgml:
11022         * docs/gst/tmpl/old/gettext.sgml:
11023         * docs/gst/tmpl/old/gobject2gtk.sgml:
11024         * docs/gst/tmpl/old/grammar.tab.sgml:
11025         * docs/gst/tmpl/old/gst-i18n-app.sgml:
11026         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
11027         * docs/gst/tmpl/old/gst_private.sgml:
11028         * docs/gst/tmpl/old/gstaggregator.sgml:
11029         * docs/gst/tmpl/old/gstarch.sgml:
11030         * docs/gst/tmpl/old/gstatomic_impl.sgml:
11031         * docs/gst/tmpl/old/gstbufferstore.sgml:
11032         * docs/gst/tmpl/old/gstdata_private.sgml:
11033         * docs/gst/tmpl/old/gstdisksink.sgml:
11034         * docs/gst/tmpl/old/gstdisksrc.sgml:
11035         * docs/gst/tmpl/old/gstelementfactory.sgml:
11036         * docs/gst/tmpl/old/gstextratypes.sgml:
11037         * docs/gst/tmpl/old/gstfakesink.sgml:
11038         * docs/gst/tmpl/old/gstfakesrc.sgml:
11039         * docs/gst/tmpl/old/gstfdsink.sgml:
11040         * docs/gst/tmpl/old/gstfdsrc.sgml:
11041         * docs/gst/tmpl/old/gstfilesink.sgml:
11042         * docs/gst/tmpl/old/gstfilesrc.sgml:
11043         * docs/gst/tmpl/old/gsthttpsrc.sgml:
11044         * docs/gst/tmpl/old/gstidentity.sgml:
11045         * docs/gst/tmpl/old/gstindexfactory.sgml:
11046         * docs/gst/tmpl/old/gstmarshal.sgml:
11047         * docs/gst/tmpl/old/gstmd5sink.sgml:
11048         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
11049         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
11050         * docs/gst/tmpl/old/gstpadtemplate.sgml:
11051         * docs/gst/tmpl/old/gstpipefilter.sgml:
11052         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
11053         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
11054         * docs/gst/tmpl/old/gstshaper.sgml:
11055         * docs/gst/tmpl/old/gstspider.sgml:
11056         * docs/gst/tmpl/old/gstspideridentity.sgml:
11057         * docs/gst/tmpl/old/gststatistics.sgml:
11058         * docs/gst/tmpl/old/gsttee.sgml:
11059         * docs/gst/tmpl/old/gsttimecache.sgml:
11060         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
11061         * docs/gst/tmpl/old/gstxmlregistry.sgml:
11062         * docs/gst/tmpl/old/gthread-cothreads.sgml:
11063         * docs/gst/tmpl/old/types.sgml:
11064           I didn't intend to add these or check them in.
11065
11066 2005-05-19  David Schleef  <ds@schleef.org>
11067
11068         * configure.ac: Use -no-common everywhere.  In a sane world, it
11069           would be the default in libtool, because without it, you can't
11070           build DLLs on Windows.
11071         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
11072         * docs/gst/gstreamer-sections.txt:
11073         * docs/gst/tmpl/gstcpu.sgml:
11074         * docs/gst/tmpl/gstdata.sgml:
11075         * docs/gst/tmpl/gstthread.sgml:
11076
11077 2005-05-19  David Schleef  <ds@schleef.org>
11078
11079         * gst/gstminiobject.c: (gst_value_set_mini_object),
11080         (gst_value_take_mini_object), (gst_value_get_mini_object):
11081         * gst/gstminiobject.h: Add GValue set/get functions.
11082
11083 2005-05-19  Wim Taymans  <wim@fluendo.com>
11084
11085         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
11086         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
11087         (gst_subbuffer_init), (gst_buffer_is_span_fast):
11088         * gst/gstbuffer.h:
11089         * gst/gstbus.c: (gst_bus_post):
11090         * gst/gstelement.c: (gst_element_get_random_pad):
11091         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
11092         Make subbufer unref the parent in finalize.
11093         some more debugging info.
11094
11095
11096 2005-05-19  Wim Taymans  <wim@fluendo.com>
11097
11098         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11099         (gst_basesink_init), (gst_basesink_finalize),
11100         (gst_basesink_activate), (gst_basesink_change_state):
11101         Don't free preroll queue too early.
11102
11103 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11104
11105         * gst/Makefile.am:
11106         * gst/ROADMAP:
11107           Hi, I'm outdated. Please shoot me.
11108
11109 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11110
11111         * gst/gstpipeline.c: (gst_pipeline_send_event):
11112           Do not access variables after they have been deleted.
11113
11114 2005-05-19  Wim Taymans  <wim@fluendo.com>
11115
11116         * tools/gst-inspect.c: (print_plugin_features):
11117         A plugin feature does unfortunatly not use the
11118         object name yet...
11119
11120 2005-05-18  Wim Taymans  <wim@fluendo.com>
11121
11122         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
11123         Port _span() functions to new subbuffers.
11124
11125 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11126
11127         * gst/gstbin.c: (gst_bin_add_func):
11128           Fix clock settery in bins when adding kids after the clock has
11129           been selected.
11130
11131 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11132
11133         * gst/elements/gstidentity.c: (gst_identity_class_init):
11134           Workaround until signals support GstMiniObject.
11135
11136 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
11137
11138         * gst/gstbuffer.c:
11139         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11140
11141 2005-05-18  Wim Taymans  <wim@fluendo.com>
11142
11143         * gst/base/Makefile.am:
11144         * gst/base/gstadapter.c: (gst_adapter_base_init),
11145         (gst_adapter_class_init), (gst_adapter_init),
11146         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
11147         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
11148         (gst_adapter_flush), (gst_adapter_available),
11149         (gst_adapter_available_fast):
11150         * gst/base/gstadapter.h:
11151         Ported and added adapter to the base classes.
11152
11153 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11154
11155         * gst/gst.c:
11156         * gst/gstmessage.c:
11157           Make sure the class is reffed/unreffed once before threads can be
11158           used.  Fixes #304551.
11159
11160 2005-05-17  Wim Taymans  <wim@fluendo.com>
11161
11162         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11163         (gst_basesink_chain_unlocked), (gst_basesink_activate):
11164         * gst/gstminiobject.c: (gst_mini_object_get_type),
11165         (gst_mini_object_free):
11166         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11167         (gst_pad_push), (gst_pad_push_event):
11168         * gst/gstqueue.c: (gst_queue_change_state):
11169         Don't queue buffers in basesink when we are flushing.
11170         Unref buffer when flushing in basesink.
11171         Flush queue when going to READY
11172         Unref buffer when _push() returns an error.
11173         Don't free MiniObject instance when refcount is incremented
11174         in _finalize() so that we can recover objects.
11175
11176 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11177
11178         * docs/manual/advanced-schedulers.xml:
11179         * docs/manual/appendix-checklist.xml:
11180         * docs/pwg/advanced-clock.xml:
11181         * docs/pwg/advanced-interfaces.xml:
11182         * docs/pwg/advanced-request.xml:
11183         * docs/pwg/advanced-types.xml:
11184         * docs/pwg/intro-preface.xml:
11185         * examples/plugins/example.c: (gst_example_get_type),
11186         (gst_example_class_init), (gst_example_chain),
11187         (gst_example_set_property), (gst_example_get_property),
11188         (gst_example_change_state), (plugin_init):
11189         * examples/plugins/example.h:
11190           small doc fixes
11191
11192 2005-05-17  Wim Taymans  <wim@fluendo.com>
11193
11194         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11195         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11196         * gst/gstqueue.c: (gst_queue_change_state):
11197         Clear queue when going to READY.
11198         Remove IN_SETCAPS flag too.
11199
11200 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
11201
11202         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11203           Remove implicit cast from gboolean to GstElementStateReturn;
11204           make sure we still return failure in paused => ready case if
11205           the parent class fails to change state and our own stop 
11206           vfunc succeeds.
11207
11208 2005-05-17  Wim Taymans  <wim@fluendo.com>
11209
11210         * tools/gst-launch.c: (event_loop):
11211         Message was unreffed too soon.
11212
11213 2005-05-16  Andy Wingo  <wingo@pobox.com>
11214
11215         * gst/gstbin.c (sink_iterator_filter): Err... um...
11216
11217         * check/gst/gstbin.c (test_ghost_pads): New test for the
11218         ghosting-if-elements-not-in-same-bin behavior.
11219
11220 2005-05-16  David Schleef  <ds@schleef.org>
11221
11222         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11223         accessing refcount directly.
11224
11225 2005-05-15  David Schleef  <ds@schleef.org>
11226
11227         * check/Makefile.am: remove GstData checks
11228         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11229         * gst/Makefile.am: add miniobject, remove data
11230         * gst/gst.h: add miniobject, remove data
11231         * gst/gstdata.c: remove
11232         * gst/gstdata.h: remove
11233         * gst/gstdata_private.h: remove
11234         * gst/gsttypes.h: remove GstEvent and GstMessage
11235         * gst/gstelement.c: (gst_element_post_message): fix for API changes
11236         * gst/gstmarshal.list: change BOXED -> OBJECT
11237
11238         Implement GstMiniObject.
11239         * gst/gstminiobject.c:
11240         * gst/gstminiobject.h:
11241
11242         Modify to be subclasses of GstMiniObject.
11243         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11244         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11245         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11246         (gst_subbuffer_get_type), (gst_subbuffer_init),
11247         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11248         (gst_buffer_span):
11249         * gst/gstbuffer.h:
11250         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11251         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11252         (_gst_event_copy), (gst_event_new):
11253         * gst/gstevent.h:
11254         * gst/gstmessage.c: (_gst_message_initialize),
11255         (gst_message_get_type), (gst_message_class_init),
11256         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11257         (gst_message_new), (gst_message_new_error),
11258         (gst_message_new_warning), (gst_message_new_tag),
11259         (gst_message_new_state_changed), (gst_message_new_application):
11260         * gst/gstmessage.h:
11261         * gst/gstprobe.c: (gst_probe_perform),
11262         (gst_probe_dispatcher_dispatch):
11263         * gst/gstprobe.h:
11264         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11265         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11266         (_gst_query_copy), (gst_query_new):
11267
11268         Update elements for GstData -> GstMiniObject changes
11269         * gst/gstquery.h:
11270         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11271         (gst_queue_chain), (gst_queue_loop):
11272         * gst/elements/gstbufferstore.c:
11273         (gst_buffer_store_add_buffer_func),
11274         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11275         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11276         (gst_fakesink_render):
11277         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11278         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11279         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11280         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11281         (gst_filesrc_create_read):
11282         * gst/elements/gstidentity.c: (gst_identity_class_init):
11283         * gst/elements/gsttypefindelement.c:
11284         (gst_type_find_element_src_event), (free_entry_buffers),
11285         (gst_type_find_element_handle_event):
11286         * libs/gst/dataprotocol/dataprotocol.c:
11287         (gst_dp_header_from_buffer):
11288         * libs/gst/dataprotocol/dataprotocol.h:
11289         * libs/gst/dataprotocol/dp-private.h:
11290
11291 2005-05-15  David Schleef  <ds@schleef.org>
11292
11293         * gst/elements/gstelements.c: Don't include headers that were
11294         just removed.
11295
11296 2005-05-15  David Schleef  <ds@schleef.org>
11297
11298         * gst/elements/Makefile.am: Remove some elements that don't
11299         need to be in the core (or even exist at all).
11300         * gst/elements/gstaggregator.c:
11301         * gst/elements/gstaggregator.h:
11302         * gst/elements/gstmd5sink.c:
11303         * gst/elements/gstmd5sink.h:
11304         * gst/elements/gstmultifilesrc.c:
11305         * gst/elements/gstmultifilesrc.h:
11306         * gst/elements/gstpipefilter.c:
11307         * gst/elements/gstpipefilter.h:
11308         * gst/elements/gstshaper.c:
11309         * gst/elements/gstshaper.h:
11310         * gst/elements/gststatistics.c:
11311         * gst/elements/gststatistics.h:
11312         * po/POTFILES.in: Remove above files.
11313
11314 2005-05-14  Andy Wingo  <wingo@pobox.com>
11315
11316         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11317         so as to get the refs right.
11318         (sink_iterator_filter): New function, wraps bin_element_is_sink,
11319         unreffing objects that don't pass the filter.
11320
11321         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11322         gst_element_set_bus.
11323         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11324         normal cases, this will destroy the bus.
11325
11326         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11327         object.
11328
11329         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11330         has no sinks.
11331
11332 2005-05-13  Andy Wingo  <wingo@pobox.com>
11333
11334         * gst/gstutils.c (gst_element_link_pads): Instead of calling
11335         gst_pad_link, call pad_link_maybe_ghosting,
11336         (pad_link_maybe_ghosting): Links pads, making sure that the
11337         elements being linked are in the same bin.
11338         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11339         Helpers for pad_link_maybe_ghosting.
11340
11341 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11342
11343         * configure.ac:
11344           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11345
11346 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11347
11348         * docs/design/part-element-source.txt:
11349           Mention GstPushSrc
11350
11351 2005-05-12  Wim Taymans  <wim@fluendo.com>
11352
11353         * gst/base/gstbasesink.c: (gst_basesink_init),
11354         (gst_basesink_activate):
11355         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11356         (gst_basesrc_is_seekable):
11357         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11358         (bin_element_is_sink), (gst_bin_change_state):
11359         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11360         * gst/gstelement.h:
11361         Identify sinks by their flag to avoid overly complicated
11362         checks (fow now).
11363         Do state changes even for elements not reachable from the
11364         sinks.
11365         BaseSink is a sink now :)
11366         Some more debugging info in the basesrc.
11367
11368
11369 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11370
11371         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
11372           Implement _query on a bin, similar to _send_event.
11373
11374 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
11375
11376         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
11377           Discont event offset format should be GST_FORMAT_BYTES,
11378           not GST_FORMAT_TIME.
11379
11380 2005-05-12  Wim Taymans  <wim@fluendo.com>
11381
11382         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
11383         Same fix as Ronald's but without the signal. 
11384
11385 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11386
11387         * gst/gstutils.c: (gst_element_query_position):
11388           No, an element is not a pad.
11389
11390 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11391
11392         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
11393         (gst_bin_get_state):
11394           If a child is removed from a bin while we remove the child from
11395           the bin and while we're retrieving its state, signal this to the
11396           get_state function so we abort the wait (instead of waiting for
11397           a timeout) and can immediately re-iterate over all other elements.
11398
11399 2005-05-12  Wim Taymans  <wim@fluendo.com>
11400
11401         * gst/base/Makefile.am:
11402         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
11403         (gst_basesrc_start):
11404         * gst/base/gstbasesrc.h:
11405         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
11406         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
11407         (gst_pushsrc_init), (gst_pushsrc_create):
11408         * gst/base/gstpushsrc.h:
11409         Added is_seekable to BaseSrc
11410         Added simple PushSrc.
11411
11412 2005-05-11  Wim Taymans  <wim@fluendo.com>
11413
11414         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11415         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11416         (gst_element_link_pads), (gst_element_query_position),
11417         (gst_element_query_convert), (intersect_caps_func),
11418         (gst_pad_query_position), (gst_pad_query_convert):
11419         Fix refcounting in utils function.
11420         No point in trying to activate a pad when it's added, it could
11421         be added from the state change function and then we deadlock, the
11422         element has to decide what to do.
11423
11424 2005-05-10  Andy Wingo  <wingo@pobox.com>
11425
11426         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
11427         *all* the arguments.
11428
11429         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
11430         stream lock if it's a FLUSH_DONE; normal flushes don't get the
11431         lock (according to the docs -- if this is wrong change the docs).
11432
11433         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
11434         flush messages in the NULL state.
11435
11436         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
11437         message immediately and return.
11438         (gst_bus_set_flushing): New function. If a bus is flushing, it
11439         flushes out any queued messages and immediately unrefs new
11440         messages. This is so when an element goes to NULL, all of the
11441         unhandled messages coming from it can be freed, and their
11442         references to the element dropped. In other words: message source
11443         ref considered harmful :P
11444
11445         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
11446         we're finished with it.
11447
11448         * gst/gstmessage.c (gst_message_new_state_changed): 
11449
11450 2005-05-10  Wim Taymans  <wim@fluendo.com>
11451
11452         * gst/gstvalue.c: (gst_value_compare_flags),
11453         (gst_value_serialize_flags), (gst_value_deserialize_flags),
11454         (_gst_value_initialize):
11455         Added flags serialize/deserialize/compare code.
11456
11457 2005-05-09  Andy Wingo  <wingo@pobox.com>
11458
11459         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
11460         Intersect the peer's caps with our caps.
11461
11462 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11463
11464         * gst/base/gsttypefindhelper.c: (helper_find_peek):
11465         * gst/elements/gsttypefindelement.c: (find_peek):
11466           Handle negative offsets better. Fixes decodebin.
11467
11468 2005-05-09  Wim Taymans  <wim@fluendo.com>
11469
11470         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
11471         (gst_base_transform_event):
11472         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
11473         Implement accept_caps.
11474         Fix silly lock/unlock mismatch in base class.
11475
11476 2005-05-09  Wim Taymans  <wim@fluendo.com>
11477
11478         * docs/design/draft-push-pull.txt:
11479         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
11480         * gst/elements/gstfilesink.c: (gst_filesink_init),
11481         (gst_filesink_query):
11482         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11483         (gst_type_find_handle_src_query), (find_element_get_length):
11484         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
11485         * gst/gstelement.h:
11486         * gst/gstmessage.c:
11487         * gst/gstmessage.h:
11488         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
11489         (gst_real_pad_get_caps_unlocked),
11490         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
11491         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11492         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
11493         (gst_real_pad_dispose), (gst_real_pad_finalize),
11494         (gst_pad_load_and_link), (gst_pad_save_thyself),
11495         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
11496         (gst_pad_check_pull_range), (gst_pad_pull_range),
11497         (gst_pad_template_get_type), (gst_pad_template_class_init),
11498         (gst_pad_template_init), (gst_pad_template_dispose),
11499         (name_is_valid), (gst_static_pad_template_get),
11500         (gst_pad_template_new), (gst_static_pad_template_get_caps),
11501         (gst_pad_template_get_caps), (gst_pad_set_element_private),
11502         (gst_pad_get_element_private), (gst_pad_start_task),
11503         (gst_pad_pause_task), (gst_pad_stop_task),
11504         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
11505         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
11506         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
11507         (gst_ghost_pad_new):
11508         * gst/gstpad.h:
11509         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
11510         (gst_query_new_position), (gst_query_set_position),
11511         (gst_query_parse_position), (gst_query_new_convert),
11512         (gst_query_set_convert), (gst_query_parse_convert):
11513         * gst/gstquery.h:
11514         * gst/gstqueryutils.c:
11515         * gst/gstqueryutils.h:
11516         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11517         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11518         (gst_queue_handle_src_query):
11519         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11520         (gst_element_query_position), (gst_element_query_convert),
11521         (intersect_caps_func), (gst_pad_query_position),
11522         (gst_pad_query_convert):
11523         * gst/gstutils.h:
11524         * tools/gst-inspect.c: (print_pad_info):
11525         * tools/gst-xmlinspect.c: (print_element_info):
11526         Remove old query functions. Ported old code.
11527         Added position/convert helper functions to gstutils.
11528         Reordered gstpad.c code, grouping relevant things.
11529         Remove gst_message_new(), always need to speficy a specific
11530         message.
11531
11532
11533 2005-05-09  Andy Wingo  <wingo@pobox.com>
11534
11535         * gst/gstiterator.h: Add some includes.
11536
11537         * gst/gstqueryutils.h: Include more headers.
11538
11539         * gst/gstpad.h:
11540         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
11541         some uses of gst_pad_query.
11542
11543         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
11544         NULL out parameters.
11545         (gst_query_new_position): New proc, allocates a new position
11546         query.
11547
11548         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
11549         gstqueryutils.c to the build.
11550
11551         * gst/gststructure.c (gst_structure_set_valist): Implement with
11552         the generic G_VALUE_COLLECT.
11553         
11554 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
11555
11556         * gst/Makefile.am: (gst_headers):
11557         Added gstqueryutils.h to the list of headers to install, that was
11558         a 'nachty' move wingo :)
11559
11560 2005-05-06  Andy Wingo  <wingo@pobox.com>
11561
11562         * gst/gstquery.h
11563         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
11564         GstData, init a memchunk.
11565         (standard_definitions): Add a few query types, deprecate a few.
11566         (gst_query_get_type): New proc.
11567         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
11568         implementation.
11569         (gst_query_new_application, gst_query_get_structure): New public
11570         procs.
11571
11572         * docs/design/draft-query.txt: Removed LINKS from the query types,
11573         because all the rest can be dispatched to other pads -- seemed
11574         ugly to have a query that couldn't be dispatched. internal_links
11575         is fine as a pad method.
11576
11577         * gst/gstpad.h: Add query2 as a pad method, add the new functions
11578         in gstpad.c, but maintain binary compatibility for the moment.
11579         Will fix before 0.9 is out.
11580
11581         * gst/gstqueryutils.c: 
11582         * gst/gstqueryutils.h: New files, implement 3 methods for each
11583         query type: parse_query, parse_response, and set. Probably need an
11584         allocator as well.
11585
11586         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
11587
11588         * gst/elements/gstfilesink.c (gst_filesink_query2):
11589         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
11590         query_types, and formats methods.
11591
11592         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
11593         (gst_pad_set_query2_function): New functions.
11594         (gst_real_pad_init): Set query2_default as the default query2
11595         function. Basically just dispatches to internally linked pads.
11596
11597         Needs review!
11598         
11599         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
11600         without using the atomic operations. Only one thread can possibly
11601         be accessing the data at this point. Changed so as to avoid
11602         gst_atomic operations.
11603
11604 2005-05-06  Wim Taymans  <wim@fluendo.com>
11605
11606         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
11607         Also set caps if we use the fallback buffer alloc.
11608
11609 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
11610
11611         * docs/gst/Makefile.am:
11612         * docs/gst/gstreamer-docs.sgml:
11613         * docs/gst/gstreamer-sections.txt:
11614         * docs/gst/tmpl/gstatomic.sgml:
11615         * docs/gst/tmpl/gstmemchunk.sgml:
11616         * testsuite/elements/struct_i386.h:
11617         * win32/GStreamer.vcproj:
11618         * win32/Makefile:
11619           Purge GstAtomic stuff from docs and win32 makefiles as well
11620
11621 2005-05-06  Wim Taymans  <wim@fluendo.com>
11622
11623         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
11624         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
11625         * gst/gstpad.c: (gst_pad_peer_get_caps):
11626         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11627         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11628         (gst_queue_src_activate), (gst_queue_change_state):
11629         * gst/gstqueue.h:
11630         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11631         (intersect_caps_func):
11632         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
11633         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
11634         Some fixes for the peer_get_caps() change.
11635
11636 2005-05-06  Wim Taymans  <wim@fluendo.com>
11637
11638         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11639         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
11640         (gst_basesink_activate):
11641         Actually do something with error codes returned from the push
11642         functions.
11643
11644 2005-05-06  Wim Taymans  <wim@fluendo.com>
11645
11646         * docs/design/part-element-sink.txt:
11647         * docs/design/part-element-source.txt:
11648         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11649         (gst_basesink_event), (gst_basesink_activate):
11650         * gst/base/gstbasesink.h:
11651         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
11652         (gst_basesrc_activate):
11653         * gst/base/gstbasesrc.h:
11654         * gst/gstelement.c: (gst_element_pads_activate):
11655         Some more documentation.
11656         Fixed scheduling decision in _pads_activate().
11657
11658 2005-05-05  Andy Wingo  <wingo@pobox.com>
11659
11660         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
11661         the test suite.
11662
11663 2005-05-05  Wim Taymans  <wim@fluendo.com>
11664
11665         * gst/base/Makefile.am:
11666         * gst/base/gstbasesink.h:
11667         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11668         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
11669         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
11670         (gst_collectpads_class_init), (gst_collectpads_init),
11671         (gst_collectpads_finalize), (gst_collectpads_new),
11672         (gst_collectpads_set_function), (gst_collectpads_add_pad),
11673         (find_pad), (gst_collectpads_remove_pad),
11674         (gst_collectpads_is_active), (gst_collectpads_collect),
11675         (gst_collectpads_collect_range), (gst_collectpads_start),
11676         (gst_collectpads_stop), (gst_collectpads_peek),
11677         (gst_collectpads_pop), (gst_collectpads_available),
11678         (gst_collectpads_read), (gst_collectpads_flush),
11679         (gst_collectpads_chain):
11680         * gst/base/gstcollectpads.h:
11681         * gst/elements/Makefile.am:
11682         * gst/elements/gstelements.c:
11683         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11684         (gst_fakesink_get_times), (gst_fakesink_event),
11685         (gst_fakesink_preroll), (gst_fakesink_render):
11686         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
11687         (gst_filesink_init), (gst_filesink_set_location),
11688         (gst_filesink_open_file), (gst_filesink_close_file),
11689         (gst_filesink_pad_query), (gst_filesink_event),
11690         (gst_filesink_render), (gst_filesink_change_state):
11691         * gst/elements/gstfilesink.h:
11692         Added object to help in making collect pad based elements.
11693         Ported filesink.
11694         Make event function in sink baseclass return gboolean.
11695
11696 2005-05-05  Wim Taymans  <wim@fluendo.com>
11697
11698         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
11699         (gst_bin_get_by_name):
11700         * gst/gstbuffer.h:
11701         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
11702         (gst_clock_finalize):
11703         * gst/gstdata.c: (gst_data_replace):
11704         * gst/gstdata.h:
11705         * gst/gstelement.c: (gst_element_request_pad),
11706         (gst_element_pads_activate):
11707         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
11708         (gst_object_unref):
11709         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11710         (gst_pad_set_checkgetrange_function),
11711         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
11712         (gst_pad_check_pull_range), (gst_pad_pull_range),
11713         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11714         (gst_pad_pause_task), (gst_pad_stop_task):
11715         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11716         (gst_element_request_pad), (gst_pad_proxy_getcaps):
11717         Fix name lookup in GstBin.
11718         Added _data_replace() function and _buffer_replace()
11719         Use finalize method to clean up clock.
11720         Fix refcounting on request pads.
11721         Fix pad schedule mode error.
11722         Some more object refcounting debug info,
11723
11724
11725 2005-05-04  Andy Wingo <wingo@pobox.com>
11726
11727         * check/Makefile.am:
11728         * docs/gst/tmpl/gstatomic.sgml:
11729         * docs/gst/tmpl/gstplugin.sgml:
11730         * gst/base/gstbasesink.c: (gst_basesink_activate):
11731         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
11732         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
11733         (gst_basesrc_query), (gst_basesrc_set_property),
11734         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
11735         (gst_basesrc_activate):
11736         * gst/base/gstbasesrc.h:
11737         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
11738         (gst_base_transform_src_activate):
11739         * gst/elements/gstelements.c:
11740         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11741         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11742         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11743         * gst/elements/gsttypefindelement.c: (find_element_get_length),
11744         (gst_type_find_element_checkgetrange),
11745         (gst_type_find_element_activate):
11746         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
11747         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
11748         (gst_caps_load_thyself):
11749         * gst/gstelement.c: (gst_element_pads_activate),
11750         (gst_element_save_thyself), (gst_element_restore_thyself):
11751         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
11752         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
11753         * gst/gstpad.h:
11754         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
11755         (gst_xml_parse_file), (gst_xml_parse_memory),
11756         (gst_xml_get_element), (gst_xml_make_element):
11757         * gst/indexers/gstfileindex.c: (gst_file_index_load),
11758         (_file_index_id_save_xml), (gst_file_index_commit):
11759         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
11760         (read_enum), (load_pad_template), (load_feature), (load_plugin),
11761         (load_paths):
11762         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
11763         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
11764         * tools/gst-complete.c: (main):
11765         * tools/gst-compprep.c: (main):
11766         * tools/gst-inspect.c: (print_element_properties_info):
11767         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
11768         * tools/gst-xmlinspect.c: (print_element_properties):
11769         GCC 4 fixen.
11770         
11771 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11772
11773         * gst/gstplugin.c: (gst_plugin_check_module),
11774         (gst_plugin_check_file), (gst_plugin_load_file):
11775             apply patch from #172526 to make register work on MacOSX
11776
11777 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11778
11779         * docs/gst/tmpl/gstconfig.sgml:
11780         * gst/gstconfig.h.in:
11781           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
11782         * testsuite/debug/printf_extension.c: (main):
11783           Do not use GST_PTR_FORMAT on pointers to types with
11784           sizeof < sizeof(gpointer).  Fixes test on 64-bit
11785         * testsuite/elements/property.h:
11786           use correct printf format
11787
11788 2005-05-02  Wim Taymans  <wim@fluendo.com>
11789
11790         * docs/design/draft-push-pull.txt:
11791         * docs/design/draft-query.txt:
11792         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
11793         (gst_basesrc_start):
11794         Added draft for new query API.
11795         Added draft for better selecting scheduling methods.
11796         Make basesrc ignore length if the subclass does not support
11797         it.
11798
11799 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11800
11801         * gst/Makefile.am:
11802           possible fixes for automake-1.5 - _LIBADD is reserved
11803
11804 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11805
11806         * docs/faq/Makefile.am:
11807         * docs/manual/Makefile.am:
11808         * docs/manuals.mak:
11809         * docs/pwg/Makefile.am:
11810         * gst/Makefile.am:
11811           possible fixes for automake-1.5
11812
11813 2005-04-28  Wim Taymans  <wim@fluendo.com>
11814
11815         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11816         (gst_basesink_pad_getcaps), (gst_basesink_init),
11817         (gst_basesink_do_sync):
11818         * gst/gstclock.c: (gst_clock_entry_new):
11819         * gst/gstevent.c: (gst_event_discont_get_value):
11820         * gst/gstpipeline.c: (pipeline_bus_handler),
11821         (gst_pipeline_change_state):
11822         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
11823         Better debugging of clocking info.
11824         Allow NULL values when getting discont values.
11825
11826 2005-04-27  Wim Taymans  <wim@fluendo.com>
11827
11828         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11829         * check/gst/gstpad.c: (gst_pad_suite):
11830         Increase timeout for checks.
11831
11832 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11833
11834         * check/Makefile.am:
11835           fix the broken rule for cleanup.  Apparently this rule is
11836           only needed on FC2, so maybe this warrants further autotool
11837           inspection.
11838
11839 2005-04-26  Wim Taymans  <wim@fluendo.com>
11840
11841         * gst/gsttrashstack.h:
11842         Ooohh. a nasty one! After having a failed pop() from the stack,
11843         it's possible that the stack is empty. In that case, don't
11844         follow the NULL pointer.
11845
11846 2005-04-25  Wim Taymans  <wim@fluendo.com>
11847
11848         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11849         (gst_pad_set_checkgetrange_function),
11850         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
11851         (gst_pad_check_pull_range), (gst_pad_pull_range),
11852         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11853         (gst_pad_pause_task), (gst_pad_stop_task):
11854         * gst/gstplugin.c: (gst_plugin_load):
11855         * gst/gstplugin.h:
11856         Remove gst_library_load as it does more harm than good with
11857         the new g_module flags.
11858         Revert bogus caps template check in pad linking, pad caps
11859         are important when linking not the template, which is more
11860         general than the current caps.
11861
11862 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11863
11864         * gst/autoplug/.cvsignore:
11865         * gst/autoplug/Makefile.am:
11866         * gst/autoplug/gstsearchfuncs.c:
11867         * gst/autoplug/gstsearchfuncs.h:
11868         * gst/autoplug/gstspider.c:
11869         * gst/autoplug/gstspider.h:
11870         * gst/autoplug/gstspideridentity.c:
11871         * gst/autoplug/gstspideridentity.h:
11872         * gst/autoplug/spidertest.c:
11873           Die, spider, die.
11874
11875 2005-04-25  Wim Taymans  <wim@fluendo.com>
11876
11877         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11878         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11879         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
11880         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
11881         * gst/gstpad.h:
11882         Added stubs for unimplemented functions. 
11883
11884 2005-04-24  David Schleef  <ds@schleef.org>
11885
11886         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
11887         please fix.
11888
11889 2005-04-24  David Schleef  <ds@schleef.org>
11890
11891         Convert everything from GstAtomicInt to g_atomic_int_*, and
11892         remove gstatomic.
11893         * gst/Makefile.am:
11894         * gst/gstatomic.c:
11895         * gst/gstatomic.h:
11896         * gst/gstatomic_impl.h:
11897         * gst/gstbuffer.c:
11898         * gst/gstcaps.c:
11899         * gst/gstcaps.h:
11900         * gst/gstclock.c:
11901         * gst/gstclock.h:
11902         * gst/gstdata.c:
11903         * gst/gstdata.h:
11904         * gst/gstdata_private.h:
11905         * gst/gstevent.c:
11906         * gst/gstinfo.c:
11907         * gst/gstinfo.h:
11908         * gst/gstmessage.c:
11909         * gst/gstobject.c:
11910         * gst/gstobject.h:
11911         * gst/gststructure.c:
11912         * gst/gststructure.h:
11913         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
11914         * gst/gstutils.h:
11915
11916 2005-04-24  David Schleef  <ds@schleef.org>
11917
11918         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
11919         make the regressions tests work.  Remove some code that is no
11920         longer true.
11921         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
11922         Disable warning for pads without templates.
11923
11924 2005-04-24  David Schleef  <ds@schleef.org>
11925
11926         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
11927         functions that handle filtered links.
11928         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
11929         removed functions.
11930         * gst/gstutils.c: Fix/remove utility functions that handle
11931         filtered caps.
11932         * gst/gstutils.h:
11933         * gst/gstvalue.c: Add serialization/deserialization of caps
11934         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
11935         requires fixing so that the filter caps notation creates
11936         a capsfilter element and sets the filter_caps property.  I
11937         think everyone probably wants to keep the shorthand notation.
11938         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
11939         * docs/gst/tmpl/gstpad.sgml:
11940
11941         * gst/elements/gstelements.c: Register capsfilter element.
11942         * gst/Makefile.am: fix spacing
11943         * docs/random/ds/0.9-suggested-changes: random
11944
11945 2005-04-23  David Schleef  <ds@schleef.org>
11946
11947         * gst/elements/Makefile.am:
11948         * gst/elements/gstcapsfilter.c: New element that acts like an
11949         identity, but filters caps.  Will eventually replace filtered
11950         caps in pad linking.
11951         * gst/gstutils.c: (gst_element_create_all_pads): New function
11952         to create all the ALWAYS pads that are registered with an
11953         element class.  This functionality should eventually be
11954         merged in with GstElement initialization.
11955         * gst/gstutils.h:
11956         * testsuite/trigger/README: part of trigger test code that should
11957         have been checked in a long time ago.
11958
11959 2005-04-23  David Schleef  <ds@schleef.org>
11960
11961         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
11962         needed with new versions of libtool (nobody will confirm this),
11963         and hard to carry around.
11964         * gst/autoplug/Makefile.am:
11965         * gst/base/Makefile.am:
11966         * gst/elements/Makefile.am:
11967         * gst/indexers/Makefile.am:
11968         * gst/schedulers/Makefile.am:
11969         * libs/gst/bytestream/Makefile.am:
11970         * libs/gst/control/Makefile.am:
11971         * libs/gst/dataprotocol/Makefile.am:
11972         * libs/gst/getbits/Makefile.am:
11973
11974 2005-04-21  Wim Taymans  <wim@fluendo.com>
11975
11976         * docs/design/draft-push-pull.txt:
11977         * docs/design/part-MT-refcounting.txt:
11978         * docs/design/part-TODO.txt:
11979         * docs/design/part-caps.txt:
11980         * docs/design/part-events.txt:
11981         * docs/design/part-gstbus.txt:
11982         * docs/design/part-gstpipeline.txt:
11983         * docs/design/part-messages.txt:
11984         * docs/design/part-push-pull.txt:
11985         * docs/design/part-query.txt:
11986         Some more docs.
11987
11988 2005-04-21  Wim Taymans  <wim@fluendo.com>
11989
11990         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
11991         (gst_message_new), (gst_message_new_error),
11992         (gst_message_new_warning), (gst_message_new_tag),
11993         (gst_message_new_state_changed), (gst_message_new_application),
11994         (gst_message_get_structure):
11995         * gst/gstmessage.h:
11996         * gst/gststructure.c: (gst_structure_set_parent_refcount),
11997         (gst_structure_copy_conditional):
11998         Use parent refcount in GstMessage to ensure GstStructure
11999         consistency.
12000         Cleaned up headers a bit.
12001         
12002
12003 2005-04-20  Wim Taymans  <wim@fluendo.com>
12004
12005         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12006         (gst_basesink_pad_getcaps), (gst_basesink_init),
12007         (gst_basesink_chain_unlocked):
12008         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
12009         (gst_type_find_helper):
12010         * gst/elements/gsttypefindelement.c:
12011         (gst_type_find_element_have_type), (gst_type_find_element_init),
12012         (stop_typefinding), (gst_type_find_element_handle_event),
12013         (find_suggest), (gst_type_find_element_chain),
12014         (gst_type_find_element_checkgetrange),
12015         (gst_type_find_element_getrange), (do_typefind),
12016         (gst_type_find_element_activate):
12017         * gst/gstbuffer.c: (_gst_buffer_sub_free),
12018         (gst_buffer_default_free), (gst_buffer_default_copy),
12019         (gst_buffer_set_caps):
12020         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
12021         (gst_caps_replace):
12022         * gst/gstmessage.c: (gst_message_new),
12023         (gst_message_new_state_changed):
12024         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12025         (gst_pad_set_checkgetrange_function),
12026         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
12027         (gst_pad_set_caps), (gst_pad_check_pull_range),
12028         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
12029         * gst/gstpad.h:
12030         * gst/gsttypefind.c: (gst_type_find_register):
12031         Make gst_caps_replace() work like other _replace() functions.
12032         Use _caps_replace() where possible.
12033         Make sure _message_new() initialises its field.
12034         Add gst_static_pad_template_get_caps()
12035
12036
12037 2005-04-18  Andy Wingo  <wingo@pobox.com>
12038
12039         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
12040         on the peer, not the pad. I think that was a typo. Pass an extra
12041         arg to see if random access is possible. Activate the pads as
12042         PULL_RANGE if possible.
12043
12044         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
12045
12046         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
12047         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
12048         to PROP_....
12049
12050 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12051
12052         * docs/faq/using.xml:
12053           Add note on gstreamer-properties (#154996).
12054
12055 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12056
12057         * docs/random/bbb/optional-properties:
12058           Some analysis on optional properties.
12059
12060 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12061
12062         * docs/gst/tmpl/gstelementfactory.sgml:
12063         * gst/gstelement.h:
12064         * gst/gstelementfactory.c: (gst_element_factory_init),
12065         (gst_element_factory_cleanup), (gst_element_register),
12066         (__gst_element_factory_add_static_pad_template),
12067         (gst_element_factory_get_static_pad_templates),
12068         (gst_element_factory_can_src_caps),
12069         (gst_element_factory_can_sink_caps):
12070         * gst/registries/Makefile.am:
12071         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
12072         (gst_xml_registry_class_init), (gst_xml_registry_init),
12073         (gst_xml_registry_new), (gst_xml_registry_set_property),
12074         (gst_xml_registry_get_property), (get_time), (make_dir),
12075         (gst_xml_registry_get_perms_func),
12076         (plugin_times_older_than_recurse), (plugin_times_older_than),
12077         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
12078         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
12079         (add_to_char_array), (read_string), (read_uint), (read_enum),
12080         (load_pad_template), (load_feature), (load_plugin), (load_paths),
12081         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
12082         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
12083         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
12084         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
12085         (gst_xml_registry_rebuild):
12086         * gst/registries/gstlibxmlregistry.h:
12087         * tools/gst-compprep.c: (main):
12088         * tools/gst-inspect.c: (print_pad_templates_info):
12089         * tools/gst-xmlinspect.c: (print_element_info):
12090           Use libxml2 for registry parsing, use staticpadtemplates in
12091           elementfactories. Makes gst_init() +/- 10x faster.
12092
12093 2005-04-12  Wim Taymans  <wim@fluendo.com>
12094
12095         * gst/base/Makefile.am:
12096         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12097         (gst_basesink_pad_getcaps), (gst_basesink_init),
12098         (gst_basesink_event), (gst_basesink_change_state):
12099         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12100         (gst_basesrc_init), (gst_basesrc_query),
12101         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12102         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12103         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12104         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12105         (gst_basesrc_stop), (gst_basesrc_activate),
12106         (gst_basesrc_change_state):
12107         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12108         (helper_find_suggest), (gst_type_find_helper):
12109         * gst/base/gsttypefindhelper.h:
12110         * gst/elements/Makefile.am:
12111         * gst/elements/gstelements.c:
12112         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12113         (gst_fakesink_get_times), (gst_fakesink_event),
12114         (gst_fakesink_preroll), (gst_fakesink_render):
12115         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12116         (gst_fakesrc_init), (gst_fakesrc_event_handler),
12117         (gst_fakesrc_get_property), (gst_fakesrc_create),
12118         (gst_fakesrc_start), (gst_fakesrc_stop):
12119         * gst/elements/gstfakesrc.h:
12120         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
12121         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12122         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12123         (gst_filesrc_create_read), (gst_filesrc_create),
12124         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
12125         (gst_filesrc_start):
12126         * gst/elements/gsttypefindelement.c:
12127         (gst_type_find_element_have_type), (gst_type_find_element_init),
12128         (start_typefinding), (stop_typefinding), (push_buffer_store),
12129         (gst_type_find_element_handle_event),
12130         (gst_type_find_element_chain),
12131         (gst_type_find_element_checkgetrange),
12132         (gst_type_find_element_getrange), (do_typefind),
12133         (gst_type_find_element_activate),
12134         (gst_type_find_element_change_state):
12135         * gst/elements/gsttypefindelement.h:
12136         * gst/gstpipeline.c: (pipeline_bus_handler):
12137         Added typefind helper.
12138         Small preroll fix in the base sink.
12139         Disable typefind code in basesrc.
12140         Crude port of typefindelement.
12141         Fakesrc cleanups.
12142
12143
12144 2005-04-11  Wim Taymans  <wim@fluendo.com>
12145
12146         * check/gst/gstbus.c: (gstbus_suite):
12147         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
12148         * check/gstcheck.h:
12149           Fix up the timeout so that the test does not fail.
12150
12151 2005-04-06  Wim Taymans  <wim@fluendo.com>
12152
12153         * gst/base/README:
12154         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12155         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
12156         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12157         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12158         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12159         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12160         (gst_basesrc_stop), (gst_basesrc_activate),
12161         (gst_basesrc_change_state), (basesrc_find_peek),
12162         (basesrc_find_suggest), (gst_basesrc_type_find):
12163         * gst/base/gstbasesrc.h:
12164         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12165         (gst_filesrc_class_init), (gst_filesrc_init),
12166         (gst_filesrc_finalize), (gst_filesrc_set_location),
12167         (gst_filesrc_set_property), (gst_filesrc_get_property),
12168         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12169         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12170         (gst_filesrc_create_read), (gst_filesrc_create),
12171         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12172         * gst/elements/gstfilesrc.h:
12173         * gst/gstelement.c: (gst_element_get_state_func),
12174         (gst_element_lost_state), (gst_element_pads_activate):
12175         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12176         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12177         (gst_pad_pull_range):
12178         * gst/gstpad.h:
12179         More work on the generic source base class, implement seeking,
12180         query.
12181         Make filesrc extend the base source class.
12182         Added gst_pad_set_checkgetrange_function to GstPad.
12183
12184 2005-04-06  Andy Wingo  <wingo@pobox.com>
12185
12186         * pkgconfig/gstreamer-base.pc.in:
12187         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12188
12189         * pkgconfig/Makefile.am:
12190         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12191
12192 2005-04-04  Wim Taymans  <wim@fluendo.com>
12193
12194         * gst/base/Makefile.am:
12195         * gst/base/README:
12196         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12197         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12198         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12199         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12200         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12201         (gst_basesrc_base_init), (gst_basesrc_class_init),
12202         (gst_basesrc_init), (gst_basesrc_get_formats),
12203         (gst_basesrc_get_query_types), (gst_basesrc_query),
12204         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12205         (gst_basesrc_set_property), (gst_basesrc_get_property),
12206         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12207         (gst_basesrc_loop), (gst_basesrc_activate),
12208         (gst_basesrc_change_state):
12209         * gst/base/gstbasesrc.h:
12210         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12211         (gst_fakesrc_class_init), (gst_fakesrc_init),
12212         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12213         (gst_fakesrc_get_property), (gst_fakesrc_create):
12214         * gst/elements/gstfakesrc.h:
12215         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12216         (gst_filesrc_open_file), (gst_filesrc_loop),
12217         (gst_filesrc_activate), (filesrc_find_peek),
12218         (gst_filesrc_type_find):
12219         Made base source class, make fakesrc extend it.
12220         Add comments to basesink class.
12221         Some filesrc cleanup.
12222
12223 2005-03-31  David Schleef  <ds@schleef.org>
12224
12225         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12226         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12227         expected to link against libgstreamer.
12228         * gst/base/Makefile.am: link against libgstreamer
12229         * gst/elements/Makefile.am: same
12230
12231 2005-03-31  Andy Wingo  <wingo@pobox.com>
12232
12233         * tests/instantiate/Makefile.am:
12234         * tests/instantiate/caps.c: Add test to test speed of caps copy
12235         and free.
12236
12237         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12238         GMemChunk to be fair.
12239
12240         * gst/gsttrashstack.h: Remove warning about using the fallback
12241         trash stack implementation, it's still faster than malloc.
12242
12243 2005-03-30  Andy Wingo  <wingo@pobox.com>
12244
12245         * tests/complexity.c: Add a copyright.
12246
12247 2005-03-31  Wim Taymans  <wim@fluendo.com>
12248
12249         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12250         (gst_base_transform_class_init), (gst_base_transform_init),
12251         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12252         (gst_base_transform_get_property),
12253         (gst_base_transform_sink_activate),
12254         (gst_base_transform_src_activate),
12255         (gst_base_transform_change_state):
12256         * gst/base/gstbasetransform.h:
12257         * gst/elements/gstidentity.c: (gst_identity_class_init),
12258         (gst_identity_event), (gst_identity_check_perfect),
12259         (gst_identity_transform), (gst_identity_start),
12260         (gst_identity_stop):
12261         Added start/stop methods to transform base class so subclasses 
12262         don't need to deal with state changes even.
12263
12264 2005-03-31  Wim Taymans  <wim@fluendo.com>
12265
12266         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12267         (gst_event_new_discontinuous), (gst_event_discont_get_value):
12268         * gst/gstevent.h:
12269         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12270         (gst_pad_pull_range):
12271         Added rate to the discont event to prepare for variable speed
12272         and reverse playback.
12273
12274 2005-03-29  David Schleef  <ds@schleef.org>
12275
12276         * configure.ac:
12277         * testsuite/trigger/Makefile.am:
12278         * testsuite/trigger/trigger.c: A little example program to show
12279         how trigger-based elements can work.
12280
12281 2005-03-29  Wim Taymans  <wim@fluendo.com>
12282
12283         * gst/base/Makefile.am:
12284         * gst/base/README:
12285         * gst/base/gstbasesink.c: (gst_basesink_get_type),
12286         (gst_basesink_base_init), (gst_basesink_class_init),
12287         (gst_basesink_pad_getcaps), (gst_basesink_init),
12288         (gst_basesink_activate), (gst_basesink_change_state):
12289         * gst/base/gstbasesink.h:
12290         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12291         (gst_base_transform_base_init), (gst_base_transform_finalize),
12292         (gst_base_transform_class_init), (gst_base_transform_init),
12293         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12294         (gst_base_transform_event), (gst_base_transform_getrange),
12295         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12296         (gst_base_transform_set_property),
12297         (gst_base_transform_get_property),
12298         (gst_base_transform_sink_activate),
12299         (gst_base_transform_src_activate),
12300         (gst_base_transform_change_state):
12301         * gst/base/gstbasetransform.h:
12302         * gst/elements/gstidentity.c: (gst_identity_finalize),
12303         (gst_identity_class_init), (gst_identity_init),
12304         (gst_identity_event), (gst_identity_check_perfect),
12305         (gst_identity_transform), (gst_identity_set_property),
12306         (gst_identity_get_property), (gst_identity_change_state):
12307         * gst/elements/gstidentity.h:
12308         * gst/gstelement.c: (gst_element_get_state_func),
12309         (gst_element_lost_state), (gst_element_pads_activate):
12310         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12311         (gst_pad_check_pull_range), (gst_pad_pull_range):
12312         * gst/gstpad.h:
12313         Simplify pad activation.
12314         Added function to check if pull_range can be performed.
12315         Error out when pulling inactive or flushing pads.
12316         Removed const from refcounted types as it does not make sense.
12317         Simplify pad templates in basesink
12318         Added base class for simple 1-to-1 transforms.
12319         Make identity subclass the base transform.
12320
12321 2005-03-29  Andy Wingo  <wingo@pobox.com>
12322
12323         * docs/libs/gstreamer-libs-overrides.txt: 
12324         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12325         really don't understand what's going on, but like whatever. I want
12326         green buildbot!
12327
12328         * docs/gst/Makefile.am:
12329         * docs/libs/Makefile.am: Dist the overrides files.
12330
12331         * check/Makefile.am (clean-local): Remove .libs directories.
12332
12333         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12334         elements to EXTRA_DIST, so po/ files are happy.
12335
12336         * po/POTFILES.in: Er, remove it here.
12337
12338         * po/POTFILES: Remove gstspider.c.
12339
12340         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12341
12342         * docs/libs/gstreamer-libs-docs.sgml: 
12343         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12344         bytestream.
12345
12346         * tests/complexity.c (main): Set the length of the preroll queue
12347         on the sinks to prevent a lockup.
12348
12349         * libs/gst/dataprotocol/Makefile.am: 
12350         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12351         the same as the one in check/gst-libs/gdp.c.
12352
12353         * po/, docs/gst/: Commit automatic changes to docs and po files.
12354
12355         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12356         the versioned libgstbase.
12357
12358         * check/Makefile.am: Depend on an unversioned gst-register, seems
12359         to make autoconf happier.
12360
12361         * gst/base/Makefile.am: Make libgstbase a versioned lib.
12362
12363 2005-03-28  Wim Taymans  <wim@fluendo.com>
12364
12365         * configure.ac:
12366         * docs/design/part-gstelement.txt:
12367         * docs/design/part-negotiation.txt:
12368         * docs/design/part-preroll.txt:
12369         * docs/design/part-scheduling.txt:
12370         * docs/design/part-states.txt:
12371         * gst/Makefile.am:
12372         * gst/base/Makefile.am:
12373         * gst/base/README:
12374         * gst/base/gstbasesink.c: (gst_basesink_get_template),
12375         (gst_basesink_base_init), (gst_basesink_class_init),
12376         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12377         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12378         (gst_basesink_set_pad_functions),
12379         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
12380         (gst_basesink_set_property), (gst_basesink_get_property),
12381         (gst_base_sink_get_template), (gst_base_sink_get_caps),
12382         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
12383         (gst_basesink_preroll_queue_push),
12384         (gst_basesink_preroll_queue_empty),
12385         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
12386         (gst_basesink_event), (gst_basesink_get_times),
12387         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
12388         (gst_basesink_chain_unlocked), (gst_basesink_chain),
12389         (gst_basesink_loop), (gst_basesink_activate),
12390         (gst_basesink_change_state):
12391         * gst/base/gstbasesink.h:
12392         * gst/elements/Makefile.am:
12393         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
12394         (gst_fakesink_class_init), (gst_fakesink_init),
12395         (gst_fakesink_set_property), (gst_fakesink_get_property),
12396         (gst_fakesink_get_times), (gst_fakesink_event),
12397         (gst_fakesink_preroll), (gst_fakesink_render),
12398         (gst_fakesink_change_state):
12399         * gst/elements/gstfakesink.h:
12400         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12401         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
12402         * gst/gstelement.c: (gst_element_add_pad),
12403         (gst_element_get_state_func), (gst_element_abort_state),
12404         (gst_element_commit_state), (gst_element_lost_state),
12405         (gst_element_set_state), (gst_element_pads_activate):
12406         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
12407         * gst/gstpipeline.c: (gst_pipeline_send_event),
12408         (gst_pipeline_change_state):
12409         Added state change code.
12410         Added/updated docs.
12411         Added sink base class, make fakesink extend the base class.
12412         Small cleanups in GstPipeline.
12413
12414 2005-03-26  David Schleef  <ds@schleef.org>
12415
12416         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
12417         is broken and should be implemented in a different library.
12418         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
12419         * gst/gst.h: remove gstcpu.h
12420         * gst/gstcpu.c: remove
12421         * gst/gstcpu.h: remove
12422         * gst/Makefile.am.future: Remove this file.  It's ancient.
12423
12424 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12425
12426         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12427         (gst_bin_send_event):
12428           Add default event/set_manager handlers. The set_manager handler
12429           takes care that the manager is distributed over kids that were
12430           already in the bin before the manager was set. The event handler
12431           is a utility virtual function that sends the event over all sinks,
12432           so that gst_element_send_event (bin, event); has the expected
12433           behaviour.
12434         * gst/gstpad.c: (gst_pad_event_default):
12435           Re-install default event handling for discontinuities, so that
12436           seeking works without requiring hacks in applications or extra
12437           code in sinks.
12438         * gst/gstpipeline.c: (gst_pipeline_class_init),
12439         (gst_pipeline_send_event):
12440           Half hack, half utility: set a pipeline to PAUSED for seek events,
12441           since that is the only way we can guarantee a/v sync. Means that
12442           you can do gst_element_seek (pipeline, method, pos); on a pipeline
12443           and it "just works".
12444
12445 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12446
12447         * gst/gstpipeline.c: (gst_pipeline_use_clock):
12448           Lock/unlock mismatch.
12449
12450 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12451
12452         * docs/faq/gst-uninstalled:
12453           add gst-plugins-base
12454         * docs/gst/Makefile.am:
12455           don't error out until docs are fixed
12456         * docs/gst/gstreamer.types:
12457           remove thread
12458
12459 2005-03-22  Wim Taymans  <wim@fluendo.com>
12460
12461         * check/Makefile.am:
12462         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
12463         * gst/gststructure.c: (gst_structure_set_valist),
12464         (gst_structure_copy_conditional):
12465         Activated more tests.
12466         Added message test.
12467         Added G_TYPE_POINTER to GstStructure.
12468         
12469
12470 2005-03-22  Wim Taymans  <wim@fluendo.com>
12471
12472         * docs/design/part-TODO.txt:
12473         * docs/design/part-events.txt:
12474         * docs/design/part-gstbin.txt:
12475         * docs/design/part-gstbus.txt:
12476         * docs/design/part-gstpipeline.txt:
12477         * docs/design/part-messages.txt:
12478         * gst/gstbus.c:
12479         * gst/gstmessage.c:
12480         Docs updates
12481
12482 2005-03-21  Wim Taymans  <wim@fluendo.com>
12483
12484         * gst/gstbus.c: (gst_bus_post):
12485         Fix copy-and-paste error.
12486
12487 2005-03-21  Wim Taymans  <wim@fluendo.com>
12488
12489         * check/Makefile.am:
12490         * gst/Makefile.am:
12491         * gst/elements/Makefile.am:
12492         * gst/elements/gstelements.c:
12493         * gst/elements/gstfakesink.c: (gst_fakesink_init),
12494         (gst_fakesink_event), (gst_fakesink_chain):
12495         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12496         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
12497         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
12498         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
12499         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
12500         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
12501         (gst_fakesrc_loop), (gst_fakesrc_activate),
12502         (gst_fakesrc_change_state):
12503         * gst/elements/gstfakesrc.h:
12504         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12505         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
12506         (gst_filesrc_open_file), (gst_filesrc_loop),
12507         (gst_filesrc_activate), (gst_filesrc_change_state),
12508         (filesrc_find_peek), (filesrc_find_suggest),
12509         (gst_filesrc_type_find):
12510         * gst/elements/gstidentity.c: (gst_identity_finalize),
12511         (gst_identity_class_init), (gst_identity_init),
12512         (gst_identity_proxy_getcaps), (identity_queue_push),
12513         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
12514         (gst_identity_getrange), (gst_identity_chain),
12515         (gst_identity_sink_loop), (gst_identity_src_loop),
12516         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
12517         (gst_identity_set_property), (gst_identity_get_property),
12518         (gst_identity_change_state):
12519         * gst/elements/gstidentity.h:
12520         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
12521         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
12522         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
12523         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
12524         (gst_tee_sink_activate):
12525         * gst/elements/gsttee.h:
12526         * gst/gst.c: (gst_register_core_elements), (init_post):
12527         * gst/gst.h:
12528         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
12529         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
12530         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
12531         (gst_bin_change_state):
12532         * gst/gstbin.h:
12533         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
12534         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
12535         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
12536         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
12537         (gst_bus_set_sync_handler), (gst_bus_create_watch),
12538         (bus_watch_callback), (bus_watch_destroy),
12539         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
12540         (poll_timeout), (gst_bus_poll):
12541         * gst/gstbus.h:
12542         * gst/gstcaps.h:
12543         * gst/gstdata.h:
12544         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12545         (gst_element_post_message), (gst_element_message_full),
12546         (gst_element_get_state_func), (gst_element_get_state),
12547         (gst_element_abort_state), (gst_element_commit_state),
12548         (gst_element_lost_state), (gst_element_set_state),
12549         (gst_element_pads_activate), (gst_element_change_state),
12550         (gst_element_dispose), (gst_element_set_manager_func),
12551         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
12552         (gst_element_set_manager), (gst_element_get_manager),
12553         (gst_element_set_bus), (gst_element_get_bus),
12554         (gst_element_set_scheduler), (gst_element_get_scheduler):
12555         * gst/gstelement.h:
12556         * gst/gstevent.c: (gst_event_new_segment_seek),
12557         (gst_event_new_flush):
12558         * gst/gstevent.h:
12559         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
12560         (_gst_message_free), (gst_message_get_type), (gst_message_new),
12561         (gst_message_new_eos), (gst_message_new_error),
12562         (gst_message_new_warning), (gst_message_new_tag),
12563         (gst_message_new_state_changed), (gst_message_new_application),
12564         (gst_message_get_structure), (gst_message_parse_tag),
12565         (gst_message_parse_state_changed), (gst_message_parse_error),
12566         (gst_message_parse_warning):
12567         * gst/gstmessage.h:
12568         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
12569         (gst_real_pad_set_property), (gst_pad_set_active),
12570         (gst_pad_is_active), (gst_pad_set_blocked_async),
12571         (gst_pad_set_blocked), (gst_pad_is_blocked),
12572         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
12573         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
12574         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
12575         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
12576         (gst_pad_link_filtered), (gst_pad_relink_filtered),
12577         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
12578         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
12579         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
12580         (gst_pad_set_caps), (gst_pad_configure_sink),
12581         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
12582         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
12583         (gst_real_pad_dispose), (gst_real_pad_finalize),
12584         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
12585         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12586         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
12587         * gst/gstpad.h:
12588         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
12589         (pipeline_bus_handler), (gst_pipeline_change_state),
12590         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
12591         * gst/gstpipeline.h:
12592         * gst/gstprobe.h:
12593         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
12594         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
12595         (gst_queue_link_src), (gst_queue_bufferalloc),
12596         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
12597         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
12598         (gst_queue_loop), (gst_queue_handle_src_event),
12599         (gst_queue_handle_src_query), (gst_queue_src_activate),
12600         (gst_queue_change_state):
12601         * gst/gstqueue.h:
12602         * gst/gstscheduler.c: (gst_scheduler_init),
12603         (gst_scheduler_dispose), (gst_scheduler_create_task),
12604         (gst_scheduler_factory_create):
12605         * gst/gstscheduler.h:
12606         * gst/gststructure.c: (gst_structure_get_type),
12607         (gst_structure_copy_conditional):
12608         * gst/gststructure.h:
12609         * gst/gsttaginterface.h:
12610         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
12611         (gst_task_init), (gst_task_dispose), (gst_task_create),
12612         (gst_task_get_state), (gst_task_start), (gst_task_stop),
12613         (gst_task_pause):
12614         * gst/gsttask.h:
12615         * gst/gstthread.c:
12616         * gst/gstthread.h:
12617         * gst/gsttypes.h:
12618         * gst/schedulers/Makefile.am:
12619         * gst/schedulers/cothreads_compat.h:
12620         * gst/schedulers/entryscheduler.c:
12621         * gst/schedulers/faircothreads.c:
12622         * gst/schedulers/faircothreads.h:
12623         * gst/schedulers/fairscheduler.c:
12624         * gst/schedulers/gstbasicscheduler.c:
12625         * gst/schedulers/gstoptimalscheduler.c:
12626         * gst/schedulers/gthread-cothreads.h:
12627         * gst/schedulers/threadscheduler.c:
12628         (gst_thread_scheduler_task_get_type),
12629         (gst_thread_scheduler_task_class_init),
12630         (gst_thread_scheduler_task_init),
12631         (gst_thread_scheduler_task_start),
12632         (gst_thread_scheduler_task_stop),
12633         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
12634         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
12635         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
12636         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
12637         (plugin_init):
12638         * libs/gst/Makefile.am:
12639         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
12640         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
12641         (gst_file_pad_parent_set):
12642         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12643         (gst_dp_event_from_packet):
12644         * tests/complexity.c: (main):
12645         * tests/mass_elements.c: (main):
12646         * testsuite/states/locked.c: (message_received), (main):
12647         * testsuite/states/parent.c: (main):
12648         * tools/gst-inspect.c: (print_element_flag_info),
12649         (print_implementation_info), (print_pad_info):
12650         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
12651         (main):
12652         * tools/gst-md5sum.c: (event_loop), (main):
12653         * tools/gst-typefind.c: (main):
12654         * tools/gst-xmlinspect.c: (print_element_info):
12655         Next big merge.
12656         Added GstBus for mainloop integration.
12657         Added GstMessage for sending notifications on the bus.
12658         Added GstTask as an abstraction for pipeline entry points.
12659         Removed GstThread.
12660         Removed Schedulers.
12661         Simplified GstQueue for multithreaded core.
12662         Made _link threadsafe, removed old capsnego.
12663         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
12664         Added pad blocking functions.
12665         Reworked scheduling functions in GstPad to prepare for
12666         scheduling updates soon.
12667         Moved events out of data stream.
12668         Simplified GstEvent types.
12669         Added return values to push/pull.
12670         Removed clocking from GstElement.
12671         Added prototypes for state change function for next merge.
12672         Removed iterate from bins and state change management.
12673         Fixed some elements, disabled others for now.
12674         Fixed -inspect and -launch.
12675         Added check for GstBus.
12676
12677 2005-03-10  Wim Taymans  <wim@fluendo.com>
12678
12679         * docs/design/part-MT-refcounting.txt:
12680         * docs/design/part-clocks.txt:
12681         * docs/design/part-gstelement.txt:
12682         * docs/design/part-gstobject.txt:
12683         * docs/design/part-standards.txt:
12684         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12685         (gst_bin_remove_func), (gst_bin_remove):
12686         * gst/gstbin.h:
12687         * gst/gstbuffer.c:
12688         * gst/gstcaps.h:
12689         * testsuite/clock/clock1.c: (main):
12690         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
12691         (main):
12692         * testsuite/dlopen/loadgst.c: (do_test):
12693         * testsuite/refcounting/bin.c: (add_remove_test1),
12694         (add_remove_test2), (main):
12695         * testsuite/refcounting/element.c: (main):
12696         * testsuite/refcounting/element_pad.c: (main):
12697         * testsuite/refcounting/pad.c: (main):
12698         * tools/gst-launch.c: (sigint_handler_sighandler):
12699         * tools/gst-typefind.c: (main):
12700         Doc updates.
12701         Added doc about clock.
12702         removed gst_bin_iterate_recurse_up(), marked methods
12703         for removal.
12704         Fix more testsuites.
12705
12706 2005-03-09  Wim Taymans  <wim@fluendo.com>
12707
12708         * gst/gstpad.c: (gst_pad_get_direction),
12709         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
12710         (gst_pad_collect_valist):
12711         * testsuite/bins/interface.c: (main):
12712         * testsuite/caps/audioscale.c: (test_caps):
12713         * testsuite/caps/caps.c: (test1), (test2), (test3):
12714         * testsuite/caps/deserialize.c: (main):
12715         * testsuite/caps/enumcaps.c: (main):
12716         * testsuite/caps/filtercaps.c: (main):
12717         * testsuite/caps/intersect2.c: (main):
12718         * testsuite/caps/random.c: (main):
12719         * testsuite/caps/renegotiate.c: (my_fixate), (main):
12720         * testsuite/caps/sets.c: (check_caps):
12721         * testsuite/caps/simplify.c: (check_caps), (main):
12722         * testsuite/caps/subtract.c: (check_caps):
12723         Fix _pad_get_direction wrt ghostpads.
12724         Fix caps testsuite.
12725
12726 2005-03-09  Wim Taymans  <wim@fluendo.com>
12727
12728         * check/Makefile.am:
12729         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
12730         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
12731         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
12732         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
12733         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
12734         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
12735         (gst_bin_remove), (gst_bin_iterate_recurse_up),
12736         (bin_element_is_sink), (gst_bin_iterate_sinks),
12737         (gst_bin_iterate_all_by_interface):
12738         * gst/gstbin.h:
12739         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
12740         (gst_element_change_state), (gst_element_dispose),
12741         (gst_element_finalize), (gst_element_set_loop_function):
12742         * gst/gstelement.h:
12743         * gst/gstiterator.c: (find_custom_fold_func):
12744         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12745         (gst_pad_collectv), (gst_pad_collect_valist),
12746         (gst_pad_template_new):
12747         * gst/gstpipeline.c: (gst_pipeline_class_init),
12748         (gst_pipeline_dispose), (gst_pipeline_set_property),
12749         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
12750         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
12751         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
12752         * gst/gstutils.h:
12753         * gst/schedulers/entryscheduler.c:
12754         * gst/schedulers/gstbasicscheduler.c:
12755         (gst_basic_scheduler_cothreaded_chain),
12756         (gst_basic_scheduler_chain_add_element):
12757         * testsuite/bins/interface.c: (main):
12758         Added GstBin test.
12759         Added GstSystemClock test.
12760         Implemented clock distribution code in GstBin.
12761         Implemented iterate sinks method for future use.
12762         Rearranged gstelement.h
12763         Fix GstIterator comparison bug.
12764         Moved some code to GstPipeline, mostly clocking related.
12765
12766 2005-03-09  Wim Taymans  <wim@fluendo.com>
12767
12768         * configure.ac:
12769         * gst/gst_private.h:
12770         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12771         (gst_bin_remove_func), (gst_bin_remove),
12772         (gst_bin_get_by_name_recurse_up):
12773         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
12774         (gst_clock_id_compare_func), (gst_clock_id_wait),
12775         (gst_clock_id_wait_async), (gst_clock_init),
12776         (gst_clock_adjust_unlocked), (gst_clock_get_time):
12777         * gst/gstelement.h:
12778         * gst/gstinfo.c: (_gst_debug_init):
12779         * gst/gstobject.h:
12780         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12781         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
12782         * gst/gstpad.h:
12783         Bump version number, we're now 0.9.0
12784         Add future debugging category.
12785         Fix NULL _unref() in _get_by_name_recurse_up
12786         Rearrange gstpad.h.
12787         Update some docs.
12788
12789 2005-03-08  Wim Taymans  <wim@fluendo.com>
12790
12791         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
12792         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
12793         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
12794         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
12795         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
12796         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
12797         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
12798         * gst/elements/gstidentity.c: (gst_identity_class_init):
12799         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
12800         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12801         * gst/elements/gstshaper.c: (gst_shaper_class_init):
12802         * gst/elements/gststatistics.c: (gst_statistics_class_init):
12803         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
12804         (gst_tee_link):
12805         * gst/gstelement.c: (gst_element_class_init),
12806         (gst_element_base_class_init), (gst_element_init),
12807         (gst_element_get_random_pad), (gst_element_wait_state_change),
12808         (gst_element_change_state), (gst_element_dispose),
12809         (gst_element_finalize), (gst_element_set_loop_function):
12810         * gst/gstelement.h:
12811         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
12812         * gst/gstthread.c: (gst_thread_class_init),
12813         (gst_thread_release_children_locks), (gst_thread_change_state):
12814         * gst/schedulers/gstbasicscheduler.c:
12815         (gst_basic_scheduler_loopfunc_wrapper),
12816         (gst_basic_scheduler_chain_wrapper),
12817         (gst_basic_scheduler_src_wrapper),
12818         (gst_basic_scheduler_remove_element):
12819         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
12820         Remove threadsafe properties. Fix elements because GObject
12821         complains when installing a property before declaring a
12822         set/get_property handler.
12823         Rearrange gstelement.h file, use STATE macros for state locks.
12824         Free mutexes in the finalize method instead of dispose.
12825
12826 2005-03-08  Wim Taymans  <wim@fluendo.com>
12827
12828         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12829         * gst/gstthread.c: (gst_thread_release_children_locks):
12830         Added parentage check.
12831         Fix build og GstThread again.
12832
12833 2005-03-08  Wim Taymans  <wim@fluendo.com>
12834
12835         * docs/design/part-MT-refcounting.txt:
12836         * docs/design/part-conventions.txt:
12837         * docs/design/part-gstobject.txt:
12838         * docs/design/part-relations.txt:
12839         * docs/design/part-standards.txt:
12840         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12841         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
12842         (gst_bin_get_by_name), (gst_bin_get_by_interface),
12843         (gst_bin_iterate_all_by_interface):
12844         * gst/gstbuffer.h:
12845         * gst/gstclock.h:
12846         * gst/gstelement.c: (gst_element_class_init),
12847         (gst_element_change_state), (gst_element_set_loop_function):
12848         * gst/gstelement.h:
12849         * gst/gstiterator.c:
12850         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
12851         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
12852         (gst_object_dispatch_properties_changed), (gst_object_set_name),
12853         (gst_object_set_parent), (gst_object_unparent),
12854         (gst_object_check_uniqueness):
12855         * gst/gstobject.h:
12856         Docs updates, clean up some headers.
12857
12858 2005-03-07  Wim Taymans  <wim@fluendo.com>
12859
12860         * check/.cvsignore:
12861         * check/Makefile.am:
12862         * check/gst-libs/.cvsignore:
12863         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
12864         * check/gst/.cvsignore:
12865         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
12866         (START_TEST), (gstbus_suite), (main):
12867         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
12868         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
12869         (gst_data_suite), (main):
12870         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
12871         (add_fold_func), (gstiterator_suite), (main):
12872         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
12873         (thread_name_object), (thread_name_object_default),
12874         (gst_object_name_compare), (gst_object_suite), (main):
12875         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
12876         (gst_pad_suite), (main):
12877         * check/gstcheck.c: (gst_check_log_message_func),
12878         (gst_check_log_critical_func), (gst_check_init):
12879         * check/gstcheck.h:
12880         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
12881         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
12882         Added checks.
12883
12884 2005-03-07  Wim Taymans  <wim@fluendo.com>
12885
12886         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
12887         (gst_list_iterator_next), (gst_list_iterator_resync),
12888         (gst_list_iterator_free), (gst_iterator_new_list),
12889         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
12890         (gst_iterator_free), (gst_iterator_push), (filter_next),
12891         (filter_resync), (filter_uninit), (filter_free),
12892         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
12893         (gst_iterator_foreach), (find_custom_fold_func),
12894         (gst_iterator_find_custom):
12895         * gst/gstiterator.h:
12896         Added missing files.
12897
12898 2005-03-07  Wim Taymans  <wim@fluendo.com>
12899
12900         * Makefile.am:
12901         * configure.ac:
12902         * docs/design/part-MT-refcounting.txt:
12903         * docs/design/part-conventions.txt:
12904         * docs/design/part-gstobject.txt:
12905         * docs/design/part-relations.txt:
12906         * examples/mixer/mixer.c: (main):
12907         * examples/thread/thread.c: (eos), (main):
12908         * gst/Makefile.am:
12909         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
12910         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
12911         (gst_spider_plug_from_srcpad):
12912         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
12913         (gst_spider_identity_change_state),
12914         (gst_spider_identity_sink_loop_type_finding):
12915         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
12916         * gst/elements/gstidentity.c: (gst_identity_init):
12917         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
12918         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
12919         * gst/elements/gsttypefindelement.c: (free_entry):
12920         * gst/gst.c:
12921         * gst/gst.h:
12922         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
12923         (gst_bin_set_clock_func), (gst_bin_auto_clock),
12924         (gst_bin_set_index), (gst_bin_set_element_sched),
12925         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
12926         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
12927         (gst_bin_iterate_elements), (iterate_child_recurse),
12928         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
12929         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
12930         (compare_interface), (gst_bin_get_by_interface),
12931         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
12932         * gst/gstbin.h:
12933         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
12934         (gst_buffer_default_free), (gst_buffer_default_copy),
12935         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
12936         (gst_buffer_create_sub):
12937         * gst/gstbuffer.h:
12938         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
12939         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
12940         (gst_caps_unref), (gst_static_caps_get),
12941         (gst_caps_remove_and_get_structure), (gst_caps_append),
12942         (gst_caps_append_structure), (gst_caps_remove_structure),
12943         (gst_caps_copy_nth), (gst_caps_set_simple),
12944         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
12945         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
12946         (gst_caps_structure_intersect_field), (gst_caps_intersect),
12947         (gst_caps_structure_subtract_field), (gst_caps_subtract),
12948         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
12949         (gst_caps_structure_figure_out_union),
12950         (gst_caps_switch_structures), (gst_caps_do_simplify),
12951         (gst_caps_replace), (gst_caps_from_string),
12952         (gst_caps_copy_conditional):
12953         * gst/gstcaps.h:
12954         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
12955         (_gst_clock_id_free), (gst_clock_id_unref),
12956         (gst_clock_id_compare_func), (gst_clock_id_wait),
12957         (gst_clock_id_wait_async), (gst_clock_class_init),
12958         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
12959         (gst_clock_get_time), (gst_clock_set_time_adjust),
12960         (gst_clock_set_property), (gst_clock_get_property):
12961         * gst/gstclock.h:
12962         * gst/gstcompat.h:
12963         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
12964         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
12965         * gst/gstdata.h:
12966         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12967         (gst_element_requires_clock), (gst_element_provides_clock),
12968         (gst_element_set_clock), (gst_element_clock_wait),
12969         (gst_element_wait), (gst_element_set_time_delay),
12970         (gst_element_is_indexable), (gst_element_add_pad),
12971         (gst_element_add_ghost_pad), (gst_element_remove_pad),
12972         (pad_compare_name), (gst_element_get_static_pad),
12973         (gst_element_request_pad), (gst_element_get_request_pad),
12974         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
12975         (gst_element_class_get_pad_template_list),
12976         (gst_element_class_get_pad_template), (gst_element_error_func),
12977         (gst_element_get_random_pad), (gst_element_get_event_masks),
12978         (gst_element_send_event), (gst_element_seek),
12979         (gst_element_get_query_types), (gst_element_query),
12980         (gst_element_get_formats), (gst_element_convert),
12981         (gst_element_is_locked_state), (gst_element_set_locked_state),
12982         (gst_element_sync_state_with_parent), (gst_element_change_state),
12983         (gst_element_finalize), (gst_element_yield),
12984         (gst_element_interrupt), (gst_element_set_scheduler),
12985         (gst_element_get_scheduler), (gst_element_set_loop_function):
12986         * gst/gstelement.h:
12987         * gst/gstevent.h:
12988         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
12989         (gst_format_get_by_nick), (gst_format_get_details),
12990         (gst_format_iterate_definitions):
12991         * gst/gstformat.h:
12992         * gst/gstindex.c: (gst_index_gtype_resolver):
12993         * gst/gstinfo.c:
12994         * gst/gstinfo.h:
12995         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
12996         (gst_mem_chunk_free):
12997         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12998         (gst_object_ref), (gst_object_unref), (gst_object_sink),
12999         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
13000         (gst_object_dispatch_properties_changed),
13001         (gst_object_set_name_default), (gst_object_set_name),
13002         (gst_object_get_name), (gst_object_set_name_prefix),
13003         (gst_object_get_name_prefix), (gst_object_set_parent),
13004         (gst_object_get_parent), (gst_object_unparent),
13005         (gst_object_check_uniqueness), (gst_object_save_thyself),
13006         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
13007         (gst_object_set_property), (gst_object_get_property),
13008         (gst_object_get_path_string):
13009         * gst/gstobject.h:
13010         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13011         (gst_real_pad_init), (gst_real_pad_get_property),
13012         (gst_pad_custom_new), (gst_pad_get_direction),
13013         (gst_pad_set_active), (gst_pad_is_active),
13014         (gst_pad_set_event_function), (gst_pad_is_linked),
13015         (gst_pad_link_free), (gst_pad_link_intersect),
13016         (gst_pad_link_fixate), (gst_pad_set_caps),
13017         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
13018         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
13019         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
13020         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
13021         (gst_pad_get_caps), (gst_pad_peer_get_caps),
13022         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
13023         (gst_pad_realize), (gst_pad_get_allowed_caps),
13024         (gst_real_pad_dispose), (gst_real_pad_finalize),
13025         (gst_pad_collectv), (gst_pad_collect_valist),
13026         (gst_pad_template_dispose), (gst_pad_template_new),
13027         (gst_pad_get_internal_links):
13028         * gst/gstpad.h:
13029         * gst/gstpipeline.c: (gst_pipeline_dispose),
13030         (gst_pipeline_change_state):
13031         * gst/gstpipeline.h:
13032         * gst/gstplugin.c:
13033         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
13034         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
13035         * gst/gstpluginfeature.h:
13036         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
13037         * gst/gstquery.c: (_gst_query_type_initialize),
13038         (gst_query_type_register), (gst_query_type_get_by_nick),
13039         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
13040         * gst/gstquery.h:
13041         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
13042         * gst/gstscheduler.c: (gst_scheduler_add_element),
13043         (gst_scheduler_factory_create):
13044         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13045         (gst_structure_free), (gst_structure_set_name),
13046         (gst_structure_id_set_value), (gst_structure_set_value),
13047         (gst_structure_set_valist), (gst_structure_remove_field),
13048         (gst_structure_remove_fields),
13049         (gst_structure_remove_fields_valist),
13050         (gst_structure_remove_all_fields), (gst_structure_foreach),
13051         (gst_structure_map_in_place),
13052         (gst_caps_structure_fixate_field_nearest_int),
13053         (gst_caps_structure_fixate_field_nearest_double):
13054         * gst/gststructure.h:
13055         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13056         (gst_system_clock_init), (gst_system_clock_dispose),
13057         (gst_system_clock_async_thread),
13058         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
13059         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
13060         * gst/gstsystemclock.h:
13061         * gst/gsttag.c: (gst_tag_list_add_value_internal),
13062         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
13063         * gst/gsttaginterface.c:
13064         * gst/gstthread.c: (gst_thread_dispose),
13065         (gst_thread_release_children_locks), (gst_thread_change_state),
13066         (gst_thread_main_loop):
13067         * gst/gsttrashstack.h:
13068         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
13069         * gst/gsttypes.h:
13070         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13071         (gst_element_request_pad), (gst_element_get_pad_from_template),
13072         (gst_element_request_compatible_pad),
13073         (gst_element_get_compatible_pad_filtered),
13074         (gst_element_get_compatible_pad), (gst_element_state_get_name),
13075         (gst_element_link_pads_filtered), (gst_element_link_filtered),
13076         (gst_element_link_many), (gst_element_link),
13077         (gst_element_link_pads), (gst_element_unlink_pads),
13078         (gst_element_unlink_many), (gst_element_unlink),
13079         (gst_pad_can_link_filtered), (gst_pad_can_link),
13080         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
13081         (gst_object_default_error), (gst_bin_add_many),
13082         (gst_bin_remove_many), (gst_element_populate_std_props),
13083         (gst_element_class_install_std_props), (gst_buffer_merge),
13084         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
13085         (link_fold_func), (gst_pad_proxy_setcaps):
13086         * gst/gstutils.h:
13087         * gst/gstvalue.c: (gst_value_deserialize_string):
13088         * gst/parse/grammar.y:
13089         * gst/schedulers/gstbasicscheduler.c:
13090         (gst_basic_scheduler_cothreaded_chain),
13091         (gst_basic_scheduler_chain_recursive_add),
13092         (gst_basic_scheduler_pad_link):
13093         * gst/schedulers/gstoptimalscheduler.c:
13094         (get_group_schedule_function),
13095         (gst_opt_scheduler_state_transition),
13096         (gst_opt_scheduler_add_element), (element_get_reachables_func):
13097         * libs/gst/bytestream/bytestream.c:
13098         * libs/gst/dataprotocol/dataprotocol.c:
13099         (gst_dp_header_from_buffer):
13100         * po/nb.po:
13101         * po/ru.po:
13102         * tests/threadstate/threadstate2.c: (eos):
13103         * tools/gst-compprep.c: (main):
13104         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
13105         (print_pad_info), (print_children_info):
13106         * tools/gst-launch.c: (idle_func), (main):
13107         * tools/gst-md5sum.c: (idle_func), (main):
13108         * tools/gst-xmlinspect.c: (print_element_info):
13109         First THREADED backport attempt, focusing on adding locks and
13110         making sure the API is threadsafe. Needs more work. More docs
13111         follow this week.
13112
13113 2005-02-24  Andy Wingo  <wingo@pobox.com>
13114
13115         * tests/bench-complexity.scm:
13116         * tests/complexity.gnuplot: New files, good for running complexity
13117         benchmarks.
13118
13119         * tests/Makefile.am:
13120         * tests/complexity.c: New test, sets up N elements, at each level
13121         teeing into M streams per element. Eeeenteresting.
13122
13123         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
13124         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
13125         running bench-mass_elements.scm.
13126
13127         * tests/bench-mass_elements.scm: New script, runs mass_elements
13128         for various numbers of identities, outputting the results to a
13129         file. Requires guile 1.6. Just for testing.
13130
13131 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13132
13133         * gst/schedulers/fairscheduler.c:
13134           compile with debug disabled
13135
13136 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13137
13138         * configure.ac:
13139           hunting season on 0.9 is now OPEN