gst/gst.c (init_post): remove hard-coded 0.9 location for registries/plugins with...
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-12-05  Andy Wingo  <wingo@pobox.com>
2
3         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
4
5         * gst/gst.c (init_post): remove hard-coded 0.9 location for
6         registries/plugins with a MAJORMINOR one.
7         (plugin_desc): Rename library from gstcoreleements to
8         staticelements. Fixes #323222.
9
10 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
11
12         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
13           Change debug category to 'collectpads' from 'collect_pads'
14           (fixes #323250).
15
16 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
17
18         patch by: Sebastien Moutte
19
20         * libs/gst/controller/gstinterpolation.c:
21           use convert function for uint64/double
22         * win32/vs6/libgstcontroller.dsp:
23           link to GLib
24
25 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
26
27         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
28         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
29         * gst/gstutils.h:
30         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
31           add tests that seem to show that the guint64/gdouble conversions
32           are correct.
33
34 2005-12-02  Wim Taymans  <wim@fluendo.com>
35
36         * gst/gstregistry.c: (gst_registry_add_path):
37         * gst/gstregistry.h:
38         * gst/gstregistryxml.c:
39         Fix docs again.
40
41 2005-12-02  Wim Taymans  <wim@fluendo.com>
42
43         * gst/gstutils.c: (gst_util_uint64_scale_int64),
44         (gst_util_uint64_scale_int):
45         Small cleanup.
46
47         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
48         Add debug log line.
49
50         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
51         Add FIXME.
52
53 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
54
55         * win32/MANIFEST:
56         * win32/common/config.h:
57         * win32/vs6/gstreamer.dsw:
58         * win32/vs6/libgstcoreelements.dsp:
59         * win32/vs6/libgstelements.dsp:
60           renamed core elements plugin
61
62 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
63
64         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
65         (get_candidates):
66           do piece-wise major/minor comparison so 0.9 < 0.10
67           also allow .exe extensions for tools
68
69 2005-12-02  Michael Smith  <msmith@fluendo.com>
70
71         * gst/gst.c:
72           Escape a % to make gtkdoc happier; bug 322958.
73
74 === release 0.9.7 ===
75
76 2005-12-01   <thomas (at) apestaart (dot) org>
77
78         * configure.ac:
79           releasing 0.9.7, "My Dog Has No Nose"
80
81 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
82
83         * common/gst-xmlinspect.py:
84         * configure.ac:
85         * docs/libs/tmpl/gstdataprotocol.sgml:
86         * docs/random/release:
87         * po/af.po:
88         * po/az.po:
89         * po/bg.po:
90         * po/ca.po:
91         * po/cs.po:
92         * po/de.po:
93         * po/en_GB.po:
94         * po/fr.po:
95         * po/it.po:
96         * po/nb.po:
97         * po/nl.po:
98         * po/ru.po:
99         * po/sq.po:
100         * po/sr.po:
101         * po/sv.po:
102         * po/tr.po:
103         * po/uk.po:
104         * po/vi.po:
105         * win32/common/config.h:
106         * win32/common/config.h.in:
107         * win32/vs6/gst_inspect.dsp:
108         * win32/vs6/gst_launch.dsp:
109         * win32/vs6/libgstbase.dsp:
110         * win32/vs6/libgstelements.dsp:
111         * win32/vs6/libgstreamer.dsp:
112         * win32/vs7/GStreamer.vcproj:
113         * win32/vs7/gst-inspect.vcproj:
114         * win32/vs7/gst-launch.vcproj:
115         * win32/vs7/libgstbase.vcproj:
116           bump GST_MAJORMINOR to 0.10
117           reset libtool version
118
119 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
120
121         * po/LINGUAS:
122         * po/bg.po:
123           Added Bulgarian translation by (Alexander Shopov)
124
125 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
126
127         * tests/check/gst/gstplugin.c:
128           fix test
129
130 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
131
132         * common/gst-xmlinspect.py:
133         * common/gtk-doc-plugins.mak:
134         * configure.ac:
135         * docs/Makefile.am:
136         * docs/gst/Makefile.am:
137         * docs/gst/gstreamer-docs.sgml:
138         * docs/gst/gstreamer-sections.txt:
139         * docs/gst/gstreamer.types:
140         * docs/gst/gstreamer.types.in:
141         * docs/plugins/Makefile.am:
142         * docs/plugins/gstreamer-plugins-docs.sgml:
143         * docs/plugins/gstreamer-plugins-sections.txt:
144         * docs/plugins/gstreamer-plugins.types:
145         * docs/plugins/inspect.stamp:
146         * docs/plugins/inspect/plugin-coreelements.xml:
147         * docs/plugins/inspect/plugin-coreindexers.xml:
148         * docs/plugins/scanobj-build.stamp:
149         * gstreamer.spec.in:
150         * plugins/elements/Makefile.am:
151         * plugins/elements/gstelements.c:
152         * plugins/elements/gstfakesink.c:
153         * plugins/elements/gstfakesrc.c:
154         * plugins/elements/gstfilesink.c:
155         * plugins/elements/gstfilesrc.c:
156         * plugins/elements/gstqueue.c:
157         * plugins/indexers/Makefile.am:
158         * plugins/indexers/gstindexers.c:
159           document core plugins in a separate document just like all the
160           others
161           rename these plugins to something starting with core
162
163 2005-12-01  Andy Wingo  <wingo@pobox.com>
164
165         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
166         padding here before, but it missed the commit.
167
168 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
169
170         * libs/gst/controller/gstinterpolation.c:
171           whitespace prices have crashed, we should feel free to use some now
172           use gst_guint64_to_gdouble
173
174 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
175
176         * libs/gst/controller/gstcontroller.c:
177         * libs/gst/controller/gsthelper.c:
178         * libs/gst/controller/gstinterpolation.c:
179         * libs/gst/controller/lib.c:
180           wrap config.h include
181
182 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
183
184         * docs/gst/gstreamer-sections.txt:
185           update docs
186
187 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
188
189         * plugins/elements/gstelements.c:
190         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
191         (gst_fd_sink__class_init), (gst_fd_sink__init),
192         (gst_fd_sink__chain), (gst_fd_sink__set_property),
193         (gst_fd_sink__get_property):
194         * plugins/elements/gstfdsink.h:
195         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
196         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
197         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
198         (gst_fd_src_unlock), (gst_fd_src_set_property),
199         (gst_fd_src_get_property), (gst_fd_src_create),
200         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
201         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
202         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
203         (gst_fd_src_uri_handler_init):
204         * plugins/elements/gstfdsrc.h:
205         * plugins/elements/gstqueue.c: (gst_queue_get_type):
206           more anal cleanup
207
208 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
209
210         * docs/gst/Makefile.am:
211         * docs/gst/gstreamer.types.in:
212         * gst/Makefile.am:
213           fix the docs build
214
215 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
216
217         * configure.ac:
218         * gst/Makefile.am:
219         * gst/gst.c:
220         * gst/gstplugin.h:
221         * gst/gstregistry.h:
222         * tests/benchmarks/complexity.c:
223         * tests/benchmarks/mass-elements.c:
224         * tests/check/Makefile.am:
225         * tools/Makefile.am:
226         * tools/gst-inspect.c:
227         * tools/gst-xmlinspect.c:
228           various fixes to make
229           --disable-nls --disable-registry --disable-loadsave
230           --disable-parse --disable-gst-debug
231           work and get the core .so down to 360444 bytes after stripping
232
233 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
234
235         * Makefile.am:
236         * configure.ac:
237           descend into tests
238         * docs/random/thomasvs/TODO:
239         * tests/Makefile.am:
240         * tests/README:
241           add a README
242
243 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
244
245         * win32/GStreamer.vcproj:
246         * win32/MANIFEST:
247         * win32/Makefile:
248         * win32/Makefile.inspect:
249         * win32/Makefile.launch:
250         * win32/Makefile.register:
251         * win32/README.txt:
252         * win32/gst-inspect.vcproj:
253         * win32/gst-launch.vcproj:
254         * win32/gst-register.vcproj:
255         * win32/gstelements.vcproj:
256         * win32/gstgetbits.def:
257         * win32/gstgetbits.vcproj:
258         * win32/gstreamer-dbg.def:
259         * win32/gstreamer.def:
260         * win32/libgstbase.def:
261         * win32/libgstbase.vcproj:
262         * win32/link_oldruntime.c:
263         * win32/mman.c:
264         * win32/mman.h:
265         * win32/mman.inl:
266         * win32/msvc71.sln:
267           move even more stuff, win32/ is nice and clean now
268
269 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
270
271         * libs/gst/control/.cvsignore:
272         * win32/MANIFEST:
273         * win32/config.h:
274         * win32/dirent.c:
275         * win32/dirent.h:
276         * win32/gstbytestream.def:
277         * win32/gstbytestream.vcproj:
278         * win32/gstconfig.h:
279         * win32/gstenumtypes.c:
280         * win32/gstenumtypes.h:
281         * win32/gstoptimalscheduler.vcproj:
282         * win32/gstversion.h:
283         * win32/gtchar.h:
284         * win32/testsuite/bins.vcproj:
285         * win32/testsuite/bytestream.vcproj:
286         * win32/testsuite/caps.vcproj:
287         * win32/testsuite/cleanup.vcproj:
288         * win32/testsuite/clock.vcproj:
289         * win32/testsuite/debug.vcproj:
290         * win32/testsuite/dlopen.vcproj:
291         * win32/testsuite/dynparams.vcproj:
292         * win32/testsuite/elements.vcproj:
293         * win32/testsuite/ghostpads.vcproj:
294         * win32/testsuite/indexers.vcproj:
295         * win32/testsuite/negotiation.vcproj:
296         * win32/testsuite/parse.vcproj:
297         * win32/testsuite/plugin.vcproj:
298         * win32/testsuite/refcounting.vcproj:
299         * win32/testsuite/schedulers.vcproj:
300         * win32/testsuite/states.vcproj:
301         * win32/testsuite/tags.vcproj:
302         * win32/testsuite/threads.vcproj:
303           remove old win32 stuff that isn't maintained and should be
304           reorganized
305
306 2005-11-30  Andy Wingo  <wingo@pobox.com>
307
308         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
309         loading the gst.interfaces python module bork.
310
311         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
312         available since GLib 2.2. Fixes #318031.
313
314 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
315
316         * Makefile.am:
317         * check/.cvsignore:
318         * check/Makefile.am:
319         * check/elements/.cvsignore:
320         * check/elements/fakesrc.c:
321         * check/elements/fdsrc.c:
322         * check/elements/identity.c:
323         * check/generic/.cvsignore:
324         * check/generic/states.c:
325         * check/gst-libs/.cvsignore:
326         * check/gst-libs/controller.c:
327         * check/gst-libs/gdp.c:
328         * check/gst/.cvsignore:
329         * check/gst/capslist.h:
330         * check/gst/gst.c:
331         * check/gst/gstbin.c:
332         * check/gst/gstbuffer.c:
333         * check/gst/gstbus.c:
334         * check/gst/gstcaps.c:
335         * check/gst/gstelement.c:
336         * check/gst/gstevent.c:
337         * check/gst/gstghostpad.c:
338         * check/gst/gstiterator.c:
339         * check/gst/gstmessage.c:
340         * check/gst/gstminiobject.c:
341         * check/gst/gstobject.c:
342         * check/gst/gstpad.c:
343         * check/gst/gstpipeline.c:
344         * check/gst/gstplugin.c:
345         * check/gst/gstsegment.c:
346         * check/gst/gststructure.c:
347         * check/gst/gstsystemclock.c:
348         * check/gst/gsttag.c:
349         * check/gst/gstutils.c:
350         * check/gst/gstvalue.c:
351         * check/net/.cvsignore:
352         * check/net/gstnetclientclock.c:
353         * check/net/gstnettimeprovider.c:
354         * check/pipelines/.cvsignore:
355         * check/pipelines/cleanup.c:
356         * check/pipelines/simple_launch_lines.c:
357         * check/pipelines/stress.c:
358         * check/states/.cvsignore:
359         * check/states/sinks.c:
360         * configure.ac:
361         * examples/Makefile.am:
362         * examples/appreader/.cvsignore:
363         * examples/appreader/Makefile.am:
364         * examples/appreader/appreader.c:
365         * examples/controller/.cvsignore:
366         * examples/controller/Makefile.am:
367         * examples/controller/audio-example.c:
368         * examples/cutter/.cvsignore:
369         * examples/cutter/Makefile.am:
370         * examples/cutter/cutter.c:
371         * examples/cutter/cutter.h:
372         * examples/events/Makefile.am:
373         * examples/events/seek.c:
374         * examples/helloworld/.cvsignore:
375         * examples/helloworld/Makefile.am:
376         * examples/helloworld/helloworld.c:
377         * examples/helloworld2/.cvsignore:
378         * examples/helloworld2/Makefile.am:
379         * examples/helloworld2/helloworld2.c:
380         * examples/launch/.cvsignore:
381         * examples/launch/Makefile.am:
382         * examples/launch/mp3parselaunch.c:
383         * examples/launch/mp3play:
384         * examples/manual/.cvsignore:
385         * examples/manual/Makefile.am:
386         * examples/manual/extract.pl:
387         * examples/metadata/Makefile.am:
388         * examples/metadata/read-metadata.c:
389         * examples/mixer/.cvsignore:
390         * examples/mixer/Makefile.am:
391         * examples/mixer/mixer.c:
392         * examples/mixer/mixer.h:
393         * examples/pingpong/.cvsignore:
394         * examples/pingpong/Makefile.am:
395         * examples/pingpong/pingpong.c:
396         * examples/plugins/.cvsignore:
397         * examples/plugins/Makefile.am:
398         * examples/plugins/example.c:
399         * examples/plugins/example.h:
400         * examples/pwg/.cvsignore:
401         * examples/pwg/Makefile.am:
402         * examples/pwg/extract.pl:
403         * examples/queue/.cvsignore:
404         * examples/queue/Makefile.am:
405         * examples/queue/queue.c:
406         * examples/queue2/.cvsignore:
407         * examples/queue2/Makefile.am:
408         * examples/queue2/queue2.c:
409         * examples/queue3/.cvsignore:
410         * examples/queue3/Makefile.am:
411         * examples/queue3/queue3.c:
412         * examples/queue4/.cvsignore:
413         * examples/queue4/Makefile.am:
414         * examples/queue4/queue4.c:
415         * examples/retag/.cvsignore:
416         * examples/retag/Makefile.am:
417         * examples/retag/retag.c:
418         * examples/retag/transcode.c:
419         * examples/thread/.cvsignore:
420         * examples/thread/Makefile.am:
421         * examples/thread/thread.c:
422         * examples/typefind/.cvsignore:
423         * examples/typefind/Makefile.am:
424         * examples/typefind/typefind.c:
425         * examples/xml/.cvsignore:
426         * examples/xml/Makefile.am:
427         * examples/xml/createxml.c:
428         * examples/xml/runxml.c:
429         * tests/Makefile.am:
430         * tests/check/Makefile.am:
431         * testsuite/.cvsignore:
432         * testsuite/Makefile.am:
433         * testsuite/Rules:
434         * testsuite/caps/.cvsignore:
435         * testsuite/caps/Makefile.am:
436         * testsuite/caps/app_fixate.c:
437         * testsuite/caps/audioscale.c:
438         * testsuite/caps/caps.c:
439         * testsuite/caps/caps.h:
440         * testsuite/caps/caps_strings:
441         * testsuite/caps/compatibility.c:
442         * testsuite/caps/deserialize.c:
443         * testsuite/caps/enumcaps.c:
444         * testsuite/caps/eratosthenes.c:
445         * testsuite/caps/filtercaps.c:
446         * testsuite/caps/fixed.c:
447         * testsuite/caps/fraction-convert.c:
448         * testsuite/caps/fraction-multiply-and-zero.c:
449         * testsuite/caps/intersect2.c:
450         * testsuite/caps/intersection.c:
451         * testsuite/caps/normalisation.c:
452         * testsuite/caps/random.c:
453         * testsuite/caps/renegotiate.c:
454         * testsuite/caps/sets.c:
455         * testsuite/caps/simplify.c:
456         * testsuite/caps/string-conversions.c:
457         * testsuite/caps/structure.c:
458         * testsuite/caps/subtract.c:
459         * testsuite/caps/union.c:
460         * testsuite/debug/.cvsignore:
461         * testsuite/debug/Makefile.am:
462         * testsuite/debug/category.c:
463         * testsuite/debug/commandline.c:
464         * testsuite/debug/global.c:
465         * testsuite/debug/output.c:
466         * testsuite/debug/printf_extension.c:
467         * testsuite/dlopen/.cvsignore:
468         * testsuite/dlopen/Makefile.am:
469         * testsuite/dlopen/dlopen_gst.c:
470         * testsuite/dlopen/loadgst.c:
471         * testsuite/elements/.cvsignore:
472         * testsuite/elements/Makefile.am:
473         * testsuite/elements/gst-inspect-check.in:
474         * testsuite/elements/struct_i386.h:
475         * testsuite/elements/struct_size.c:
476         * testsuite/indexers/.cvsignore:
477         * testsuite/indexers/Makefile.am:
478         * testsuite/indexers/cache1.c:
479         * testsuite/indexers/indexdump.c:
480         * testsuite/parse/.cvsignore:
481         * testsuite/parse/Makefile.am:
482         * testsuite/parse/parse1.c:
483         * testsuite/parse/parse2.c:
484         * testsuite/plugin/.cvsignore:
485         * testsuite/plugin/Makefile.am:
486         * testsuite/plugin/README:
487         * testsuite/plugin/dynamic.c:
488         * testsuite/plugin/linked.c:
489         * testsuite/plugin/loading.c:
490         * testsuite/plugin/registry.c:
491         * testsuite/plugin/static.c:
492         * testsuite/plugin/static2.c:
493         * testsuite/plugin/testplugin.c:
494         * testsuite/plugin/testplugin2.c:
495         * testsuite/plugin/testplugin2_s.c:
496         * testsuite/plugin/testplugin_s.c:
497         * testsuite/refcounting/.cvsignore:
498         * testsuite/refcounting/Makefile.am:
499         * testsuite/refcounting/bin.c:
500         * testsuite/refcounting/element.c:
501         * testsuite/refcounting/element_pad.c:
502         * testsuite/refcounting/mainloop.c:
503         * testsuite/refcounting/mem.c:
504         * testsuite/refcounting/mem.h:
505         * testsuite/refcounting/object.c:
506         * testsuite/refcounting/pad.c:
507         * testsuite/refcounting/sched.c:
508         * testsuite/refcounting/thread.c:
509         * testsuite/states/.cvsignore:
510         * testsuite/states/Makefile.am:
511         * testsuite/states/bin.c:
512         * testsuite/states/locked.c:
513         * testsuite/states/parent.c:
514         * testsuite/threads/.cvsignore:
515         * testsuite/threads/159566.c:
516         * testsuite/threads/159852.c:
517         * testsuite/threads/Makefile.am:
518         * testsuite/threads/queue.c:
519         * testsuite/threads/signals.c:
520         * testsuite/threads/staticrec.c:
521         * testsuite/threads/thread.c:
522         * testsuite/threads/threadb.c:
523         * testsuite/threads/threadc.c:
524         * testsuite/threads/threadd.c:
525         * testsuite/threads/threade.c:
526         * testsuite/threads/threadf.c:
527         * testsuite/threads/threadg.c:
528         * testsuite/threads/threadh.c:
529         * testsuite/threads/threadi.c:
530           move all of these under tests
531
532 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
533
534         * configure.ac:
535         * tests/Makefile.am:
536           fix distcheck
537
538 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
539
540         * docs/gst/gstreamer-sections.txt:
541         * tests/sched/.cvsignore:
542         * tests/sched/Makefile.am:
543         * tests/sched/cases/(fs-fs).xml:
544         * tests/sched/cases/(fs-i-fs).xml:
545         * tests/sched/cases/(fs-i-i-fs).xml:
546         * tests/sched/cases/(fs-i-q[i-fs]).xml:
547         * tests/sched/dynamic-pipeline.c:
548         * tests/sched/interrupt1.c:
549         * tests/sched/interrupt2.c:
550         * tests/sched/interrupt3.c:
551         * tests/sched/runtestcases:
552         * tests/sched/runxml.c:
553         * tests/sched/sched-stress.c:
554         * tests/sched/sort.c:
555         * tests/sched/testcases:
556         * tests/sched/testcases1.tc:
557         * tests/seeking/.cvsignore:
558         * tests/seeking/Makefile.am:
559         * tests/seeking/seeking1.c:
560         * tests/threadstate/.cvsignore:
561         * tests/threadstate/Makefile.am:
562         * tests/threadstate/test1.c:
563         * tests/threadstate/test2.c:
564         * tests/threadstate/threadstate1.c:
565         * tests/threadstate/threadstate2.c:
566         * tests/threadstate/threadstate3.c:
567         * tests/threadstate/threadstate4.c:
568         * tests/threadstate/threadstate5.c:
569           remove obsolete tests
570         * configure.ac:
571         * tests/bench-complexity.scm:
572         * tests/bench-mass_elements.scm:
573         * tests/complexity.c:
574         * tests/complexity.gnuplot:
575         * tests/instantiate/.cvsignore:
576         * tests/instantiate/Makefile.am:
577         * tests/instantiate/caps.c:
578         * tests/mass_elements.c:
579         * tests/network-clock-utils.scm:
580         * tests/network-clock.scm:
581         * tests/plot-data:
582         First pass at cleaning up tests/ dir before moving the rest
583         Combined with CVS surgery
584
585 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
586
587         * po/POTFILES.in:
588           queue has moved, update
589
590 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
591
592         * docs/gst/gstreamer-sections.txt:
593           remove double entries from the docs
594         * gst/gst_private.h:
595         * gst/gstinfo.c: (_gst_debug_init):
596           remove the THREAD debug category
597         * gst/Makefile.am:
598         * gst/gstqueue.c:
599         * gst/gstqueue.h:
600         * docs/gst/gstreamer.types:
601         * plugins/elements/gstqueue.c: (gst_queue_get_type),
602         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
603           completely move queue and fix up debugging categories
604
605 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
606
607         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
608           make initialization portable, using LL is not
609
610 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
611
612         * win32/common/gstconfig.h:
613           add large padding
614
615 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
616
617         * win32/common/libgstreamer.def:
618           rename symbols; sort base section
619
620 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
621
622         * gst/gstclock.c: (do_linear_regression):
623           remove crack non-portable handrolled DEBUG macro
624
625 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
626
627         * docs/random/release:
628           update notes
629         * win32/common/gstenumtypes.c: (register_gst_object_flags),
630         (gst_object_flags_get_type), (register_gst_bin_flags),
631         (gst_bin_flags_get_type), (register_gst_buffer_flag),
632         (gst_buffer_flag_get_type), (register_gst_bus_flags),
633         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
634         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
635         (gst_caps_flags_get_type), (register_gst_clock_return),
636         (gst_clock_return_get_type), (register_gst_clock_entry_type),
637         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
638         (gst_clock_flags_get_type), (register_gst_state),
639         (gst_state_get_type), (register_gst_state_change_return),
640         (gst_state_change_return_get_type), (register_gst_state_change),
641         (gst_state_change_get_type), (register_gst_element_flags),
642         (gst_element_flags_get_type), (register_gst_core_error),
643         (gst_core_error_get_type), (register_gst_library_error),
644         (gst_library_error_get_type), (register_gst_resource_error),
645         (gst_resource_error_get_type), (register_gst_stream_error),
646         (gst_stream_error_get_type), (register_gst_event_type_flags),
647         (gst_event_type_flags_get_type), (register_gst_event_type),
648         (gst_event_type_get_type), (register_gst_seek_type),
649         (gst_seek_type_get_type), (register_gst_seek_flags),
650         (gst_seek_flags_get_type), (register_gst_format),
651         (gst_format_get_type), (register_gst_index_certainty),
652         (gst_index_certainty_get_type), (register_gst_index_entry_type),
653         (gst_index_entry_type_get_type),
654         (register_gst_index_lookup_method),
655         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
656         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
657         (gst_index_resolver_method_get_type), (register_gst_index_flags),
658         (gst_index_flags_get_type), (register_gst_debug_level),
659         (gst_debug_level_get_type), (register_gst_debug_color_flags),
660         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
661         (gst_iterator_result_get_type), (register_gst_iterator_item),
662         (gst_iterator_item_get_type), (register_gst_message_type),
663         (gst_message_type_get_type), (register_gst_mini_object_flags),
664         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
665         (gst_pad_link_return_get_type), (register_gst_flow_return),
666         (gst_flow_return_get_type), (register_gst_activate_mode),
667         (gst_activate_mode_get_type), (register_gst_pad_direction),
668         (gst_pad_direction_get_type), (register_gst_pad_flags),
669         (gst_pad_flags_get_type), (register_gst_pad_presence),
670         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
671         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
672         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
673         (gst_plugin_error_get_type), (register_gst_plugin_flags),
674         (gst_plugin_flags_get_type), (register_gst_rank),
675         (gst_rank_get_type), (register_gst_query_type),
676         (gst_query_type_get_type), (register_gst_tag_merge_mode),
677         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
678         (gst_tag_flag_get_type), (register_gst_task_state),
679         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
680         (gst_alloc_trace_flags_get_type),
681         (register_gst_type_find_probability),
682         (gst_type_find_probability_get_type), (register_gst_uri_type),
683         (gst_uri_type_get_type), (register_gst_parse_error),
684         (gst_parse_error_get_type):
685         * win32/common/gstenumtypes.h:
686         * win32/common/gstversion.h:
687           update visual studio generated files
688
689 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
690
691         * win32/vs6/libgstbase.dsp:
692         * win32/vs6/libgstelements.dsp:
693           update project files for new locations
694
695 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
696
697         * Makefile.am:
698           remove some files
699         * README:
700           reinstate and update
701         * DEVEL:
702         * REQUIREMENTS:
703           removed
704         * LICENSE:
705         * docs/random/LICENSE:
706           moved to random
707
708 2005-11-30  Edward Hervey  <edward@fluendo.com>
709
710         * gst/gsttypefind.c: (gst_type_find_register):
711         * gst/gsttypefind.h:
712         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
713         (gst_type_find_factory_dispose):
714         * gst/gsttypefindfactory.h:
715         Fix memory leak in GstTypeFindFactory.
716
717 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
718
719         * gst/gst.c:
720         * plugins/elements/Makefile.am:
721         * plugins/elements/gstelements.c:
722         * plugins/elements/gstqueue.c:
723           move queue from core to the elements plugin
724
725 2005-11-29  Andy Wingo  <wingo@pobox.com>
726
727         * libs/gst/base/gstbasetransform.h: 
728         * libs/gst/base/gstbasesrc.h: 
729         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
730
731         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
732         of pointers by which to pad very extensible base classes (like the
733         ones in libs/gst/base).
734
735 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
736
737         * docs/gst/gstreamer-docs.sgml:
738         * docs/gst/gstreamer-sections.txt:
739         * docs/libs/gstreamer-libs-docs.sgml:
740         * docs/libs/gstreamer-libs-sections.txt:
741           moving documentation from core to lib
742
743 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
744
745         * check/Makefile.am:
746         * configure.ac:
747         * docs/gst/Makefile.am:
748         * gst/Makefile.am:
749         * gst/base/.cvsignore:
750         * gst/base/Makefile.am:
751         * gst/base/README:
752         * gst/base/gstadapter.c:
753         * gst/base/gstadapter.h:
754         * gst/base/gstbasesink.c:
755         * gst/base/gstbasesink.h:
756         * gst/base/gstbasesrc.c:
757         * gst/base/gstbasesrc.h:
758         * gst/base/gstbasetransform.c:
759         * gst/base/gstbasetransform.h:
760         * gst/base/gstcollectpads.c:
761         * gst/base/gstcollectpads.h:
762         * gst/base/gstpushsrc.c:
763         * gst/base/gstpushsrc.h:
764         * gst/base/gsttypefindhelper.c:
765         * gst/base/gsttypefindhelper.h:
766         * gst/check/Makefile.am:
767         * gst/check/gstcheck.c:
768         * gst/check/gstcheck.h:
769         * gst/net/Makefile.am:
770         * gst/net/gstnet.h:
771         * gst/net/gstnetclientclock.c:
772         * gst/net/gstnetclientclock.h:
773         * gst/net/gstnettimepacket.c:
774         * gst/net/gstnettimepacket.h:
775         * gst/net/gstnettimeprovider.c:
776         * gst/net/gstnettimeprovider.h:
777         * libs/gst/Makefile.am:
778         * libs/gst/base/Makefile.am:
779         * libs/gst/base/gstbasetransform.c:
780         * libs/gst/check/Makefile.am:
781         * plugins/elements/Makefile.am:
782         * po/POTFILES.in:
783           CVS surgery + support to move base, check, and net out of gst
784           and into libs/gst
785
786 2005-11-29  Andy Wingo  <wingo@pobox.com>
787
788         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
789
790         * gst/gststructure.h (struct _GstStructure): Only one pointer of
791         padding.
792
793         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
794
795         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
796
797         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
798
799         * gst/gstobject.h: (struct _GstObject): Only one pointer of
800         padding; reduces object size by about 30%. We don't expect
801         anything else to go into gstobject.
802
803         * gst/gstminiobject.h (struct _GstMiniObject)
804         (struct _GstMiniObjectClass): Only one pointer of padding; the
805         payload is only a pointer and two ints anyway. For the class there
806         are only two methods as well.
807         
808         * gst/gstelement.h (struct _GstElementClass): Removed
809         the state_changed signal callback, it is not used.
810
811 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
812
813         * docs/gst/gstreamer.types:
814           fix includes, though they are a little dinky
815
816 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
817
818         * check/Makefile.am:
819           look in the right place for elements, a lot more chance of
820           success
821         * gst/Makefile.am:
822           remove indexers and elements subdirs
823         * plugins/Makefile.am:
824           make indexers conditional
825
826 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
827
828         * Makefile.am:
829         * configure.ac:
830         * plugins/elements/Makefile.am:
831         * plugins/elements/gstcapsfilter.c:
832         * plugins/elements/gstfilesink.c:
833         * plugins/elements/gstfilesrc.c:
834         * plugins/elements/gstidentity.c:
835         * plugins/indexers/Makefile.am:
836           do CVS surgery and related build fixery to move elements
837           and indexers in a new gstreamer/plugins directory, out of the
838           gst/ directory
839
840 2005-11-29  Andy Wingo  <wingo@pobox.com>
841
842         * check/Makefile.am:
843         * pkgconfig/gstreamer-net-uninstalled.pc.in:
844         * pkgconfig/gstreamer-net.pc.in:
845         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
846         #322257.
847
848 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
849
850         * tools/Makefile.am:
851         * tools/gst-complete.1.in:
852         * tools/gst-complete.c:
853         * tools/gst-compprep.1.in:
854         * tools/gst-compprep.c:
855           removing -compprep and -complete
856
857 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
858
859         * gst/gstevent.c: (gst_event_new_new_segment),
860         (gst_event_parse_new_segment):
861         * gst/gstevent.h:
862           fix #320529 - clean up new_segment API and structure.
863           Let's hope everyone was using the methods, and not the structure.
864
865 2005-11-29  Edward Hervey  <edward@fluendo.com>
866
867         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
868         (gst_base_sink_event), (gst_base_sink_do_sync),
869         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
870         Properly handle non GST_FORMAT_TIME segment
871         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
872         Properly handle non GST_FORMAT_TIME segment
873         * gst/gstsegment.c:
874         This function is valid if the accumulator is 0 and the format
875         is different from the requested format.
876         
877 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
878
879         * docs/gst/gstreamer-sections.txt:
880         Add gst_query_new_seeking and gst_query_parse_seeking to the
881         docs.
882
883 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
884
885         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
886           Treat a pad alloc with new caps the same as if we were not
887           negotiated, in order to allow a changing upstream output
888           to produce a new format of data.
889
890 2005-11-29  Edward Hervey  <edward@fluendo.com>
891
892         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
893         (gst_base_transform_event), (gst_base_transform_eventfunc):
894         The event virtual method is now properly implemented, with a default
895         handler
896         Sub classes should call the parent_class event method. They should
897         return FALSE if they had a problem handling the given event, or don't
898         want GstBaseTransform to send that even downstream
899         * gst/elements/gstidentity.c: (gst_identity_class_init),
900         (gst_identity_init), (gst_identity_event),
901         (gst_identity_transform_ip), (gst_identity_set_property),
902         (gst_identity_get_property):
903         * gst/elements/gstidentity.h:
904         Added the single-segment boolean property.
905         If set to TRUE, it will output a single segment of data, starting from
906         0, will eat up all incoming newsegment, and modify the timestamp of the
907         buffers accordingly
908
909 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
910
911         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
912           Don't ref NULL target pad (#322751). Improve docs.
913
914 2005-11-29  Michael Smith  <msmith@fluendo.com>
915
916         * gst/gstregistryxml.c: (load_plugin):
917           Don't crash if we failed to load a feature from a plugin. 
918
919 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
920
921         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
922         (GST_START_TEST):
923           use more check API and less GLib API
924
925 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
926
927         * Makefile.am:
928           don't run checks if we don't have check
929         * common/check.mak:
930           remove the registry when running make torture
931         * docs/gst/gstreamer-sections.txt:
932           remove second multiply
933         * gst/gstqueue.c: (gst_queue_loop):
934           fix a compile warning when disabling debug
935
936 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
937
938         * gst/gstinfo.h:
939         Hey! Let's print the pad name if the pointer != NULL instead
940         of when it == NULL :-)
941
942 2005-11-28  Wim Taymans  <wim@fluendo.com>
943
944         * check/gst/gstutils.c: (GST_START_TEST):
945         Updated check, add some scaling accuracy checking code.
946
947         * gst/gstutils.c: (gst_util_div128_64),
948         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
949         (gst_util_uint64_scale_int):
950         Fix 6 times faster division code. Optimize for common 
951         1/1 and less common X/1 cases.
952
953 2005-11-28  Wim Taymans  <wim@fluendo.com>
954
955         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
956         More checks.
957
958         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
959         (do_linear_regression), (gst_clock_add_observation):
960         Cleanups.
961         Release lock when the clock cannot be slaved.
962         Catch the case where the regression returned an invalid denominator.
963
964         * gst/gstutils.c: (gst_util_div128_64_iterate),
965         (gst_util_div128_64), (gst_util_uint64_scale_int64),
966         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
967         Add protentially more performant non-iterative 128/64 divide function
968         that unfortunatly does not work yet.
969         Shortcut the trivial 0/X = 0 case.
970         Remove the warnings on overflow.
971
972 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
973
974         * gst/gstplugin.c: (gst_plugin_register_func):
975           everything causing a plugin not to load should be at least a WARNING
976
977 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
978
979         * docs/random/ensonic/dparams.txt:
980           some TODOs for the next dev cycle
981         * libs/gst/controller/gstcontroller.c:
982         (gst_controlled_property_set_interpolation_mode),
983         (gst_controlled_property_new):
984         * libs/gst/controller/gstcontroller.h:
985           use base type to assign acccessor functions
986
987 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
988
989         * check/Makefile.am:
990         Oops, that should have been top_srcdir
991
992 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
993
994         * check/Makefile.am:
995         * check/elements/fdsrc.c: (GST_START_TEST):
996         Use a cmdline define to specify the location of a file to use for
997         testing, to avoid breaking distcheck.
998
999 2005-11-28  Andy Wingo  <wingo@pobox.com>
1000
1001         * gst/gstpad.c (fixate_value): Use array functions for arrays.
1002
1003 2005-11-28  Edward Hervey  <edward@fluendo.com>
1004
1005         * tools/gst-launch.c: (main):
1006         Clarify the output strings, makes it easier to translate.
1007         Fixes #322626
1008
1009 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1010
1011         * gst/Makefile.am:
1012           don't try and build net if we don't even have <sys/socket.h>
1013
1014 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
1015
1016         * check/Makefile.am:
1017         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
1018         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
1019           Add tests for fdsrc seekability
1020
1021         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
1022         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
1023         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
1024         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
1025         * gst/elements/gstfdsrc.h:
1026           fdsrc should not be a 'live' source.
1027           Implement seeking on seekable fd's.
1028
1029         * gst/gstquery.c: (gst_query_new_seeking),
1030         (gst_query_parse_seeking):
1031         * gst/gstquery.h:
1032           Implement SEEKING query functions: 
1033             *_new_seeking and *_parse_seeking
1034
1035 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
1036
1037         * gst/gstelement.c: (gst_element_dispose):
1038           don't loop forever
1039
1040         * gst/gstiterator.c:
1041         * gst/gststructure.c:
1042           doc fixes
1043
1044         * libs/gst/controller/gstcontroller.c:
1045         (gst_controlled_property_set_interpolation_mode):
1046         * libs/gst/controller/gstcontroller.h:
1047         * libs/gst/controller/gstinterpolation.c:
1048         (interpolate_none_get_enum_value_array):
1049           support controlling enums
1050
1051 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1052
1053         * gst/gstvalue.c:
1054           Improve documentation for gst_value_union().
1055
1056         * gst/gstvalue.h:
1057           Change return value for union, intersect and subtract functions
1058           from gint to gboolean.
1059
1060 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1061
1062         * gst/gstvalue.c: (gst_value_serialize_any_list),
1063         (gst_value_transform_any_list_string),
1064         (gst_value_deserialize_list), (gst_value_deserialize_array),
1065         (gst_value_set_int_range), (gst_value_deserialize_int_range),
1066         (gst_value_set_double_range), (gst_value_deserialize_double_range),
1067         (gst_value_set_fraction_range_full),
1068         (gst_value_deserialize_fraction_range),
1069         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
1070         (gst_value_deserialize_boolean),
1071         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
1072         (gst_value_serialize_float), (gst_value_deserialize_float),
1073         (gst_string_wrap), (gst_value_deserialize_string),
1074         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
1075         (gst_value_union_int_range_int_range),
1076         (gst_value_intersect_int_range_int_range),
1077         (gst_value_intersect_double_range_double_range),
1078         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
1079         (gst_value_subtract_int_range_int_range),
1080         (gst_value_subtract_double_double_range),
1081         (gst_value_subtract_double_range_double_range),
1082         (gst_value_deserialize_fraction):
1083         * gst/gstvalue.h:
1084           Use gint, gdouble and gchar in our API instead of int, double and
1085           char (and make usage in gstvalue.c more consistent).
1086
1087 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1088
1089         * check/Makefile.am:
1090         * libs/gst/controller/Makefile.am:
1091         * libs/gst/dataprotocol/Makefile.am:
1092           fix up Makefile.am and remove GST_ENABLE_NEW
1093
1094 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1095
1096         * configure.ac:
1097         * gst/Makefile.am:
1098         * gst/base/Makefile.am:
1099         * gst/check/Makefile.am:
1100         * gst/elements/Makefile.am:
1101         * gst/net/Makefile.am:
1102           update LDFLAGS use some more
1103
1104 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1105
1106         * common/m4/gst-doc.m4:
1107           Fixes #312589
1108
1109 2005-11-26  Edward Hervey  <edward@fluendo.com>
1110
1111         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1112         This shouldn't issue a g_warning since it returns NULL if it
1113         couldn't find the plugin, and all functions using this behave
1114         properly on a NULL return. Switching to a GST_WARNING.
1115
1116 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
1117
1118         * gst/gstbin.c: (gst_bin_handle_message_func):
1119         Don't leak clock messages.
1120
1121 2005-11-25  Wim Taymans  <wim@fluendo.com>
1122
1123         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1124         (gst_util_uint64_scale_int):
1125         Optimisations, remove unneeded vars.
1126
1127 2005-11-25  Wim Taymans  <wim@fluendo.com>
1128
1129         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1130         Added more checks for the high precision uint64 cases.
1131
1132         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1133         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1134         Implement high precision (guint64 * guint64) / guint64.
1135
1136 2005-11-24  Wim Taymans  <wim@fluendo.com>
1137
1138         * gst/base/gstbasesrc.c: (gst_base_src_query):
1139         Fix wrong percentage query.
1140
1141         * gst/gstutils.c: (gst_util_uint64_scale),
1142         (gst_util_uint64_scale_int):
1143         Add some more common cases that can be handled 
1144         efficiently to _scale.
1145
1146 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1147
1148         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
1149         (gst_mini_object_suite):
1150           don't use check calls from threads; check probably isn't
1151           threadsafe and using a lock to make it threadsafe would
1152           defeat the purpose of this check
1153         * gst/check/gstcheck.c:
1154         * gst/check/gstcheck.h:
1155           use GST_DEBUG some more
1156
1157 2005-11-24  Wim Taymans  <wim@fluendo.com>
1158
1159         * gst/gstutils.c: (gst_util_uint64_scale),
1160         (gst_util_uint64_scale_int):
1161         Chain trivial case to _scale_int.
1162
1163 2005-11-24  Wim Taymans  <wim@fluendo.com>
1164
1165         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1166         Added test for scaling.
1167
1168         * gst/gstclock.h:
1169         Small doc fix.
1170
1171         * gst/gstutils.c: (gst_util_uint64_scale_int):
1172         Implemented high precision scaling code.
1173
1174 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
1175
1176         * gst/gstinfo.h:
1177           do not crash on pad==NULL
1178
1179 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1180
1181         Patch by: Stefan Kost
1182
1183         * common/gtk-doc.mak:
1184         * docs/gst/Makefile.am:
1185         * docs/libs/Makefile.am:
1186           Fix distcheck issues for the libraries docs build
1187           Closes #319599.
1188
1189 2005-11-24  Michael Smith <msmith@fluendo.com>
1190
1191         * docs/manual/basics-helloworld.xml:
1192           Fix bug #315027: memory leak in example code in docs.
1193
1194 2005-11-24  Michael Smith <msmith@fluendo.com>
1195
1196         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1197           Unlock the PREROLL_LOCK in a failure case.
1198
1199 2005-11-24  Wim Taymans  <wim@fluendo.com>
1200
1201         * docs/gst/gstreamer-sections.txt:
1202         * gst/base/gstadapter.h:
1203         * gst/base/gstbasesink.h:
1204         * gst/base/gstbasesrc.h:
1205         * gst/base/gstbasetransform.h:
1206         * gst/base/gstpushsrc.h:
1207         * gst/elements/gstfakesink.h:
1208         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1209         * gst/elements/gstfakesrc.h:
1210         * gst/elements/gstfilesink.h:
1211         * gst/elements/gstfilesrc.h:
1212         * gst/gst.c:
1213         * gst/gstbin.c:
1214         * gst/gstbuffer.c: (_gst_buffer_copy):
1215         * gst/gstbus.h:
1216         * gst/gstcaps.c:
1217         * gst/gstchildproxy.c:
1218         * gst/gstclock.c:
1219         * gst/gstelement.c:
1220         * gst/gstelementfactory.c:
1221         * gst/gstelementfactory.h:
1222         * gst/gstevent.c:
1223         * gst/gstghostpad.h:
1224         * gst/gstindex.h:
1225         * gst/gstinterface.h:
1226         * gst/gstminiobject.c:
1227         * gst/gstminiobject.h:
1228         * gst/gstpad.c:
1229         * gst/gstpad.h:
1230         * gst/gstpadtemplate.h:
1231         * gst/gstpipeline.h:
1232         * gst/gstpluginfeature.h:
1233         * gst/gstquery.h:
1234         * gst/gstqueue.h:
1235         * gst/gsttaglist.c:
1236         * gst/gsttaglist.h:
1237         * gst/gsttagsetter.c:
1238         * gst/gsttagsetter.h:
1239         * gst/gsttrace.c:
1240         * gst/gsttrace.h:
1241         * gst/gsttypefind.h:
1242         * gst/gsturi.h:
1243         * gst/gstvalue.c:
1244         * gst/net/gstnetclientclock.c:
1245         * gst/net/gstnetclientclock.h:
1246         * gst/net/gstnettimepacket.c:
1247         * gst/net/gstnettimeprovider.c:
1248         * gst/net/gstnettimeprovider.h:
1249         Doc fixes.
1250
1251 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1252
1253         * configure.ac: back to HEAD
1254
1255 === release 0.9.6 ===
1256
1257 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
1258
1259         * configure.ac:
1260           releasing 0.9.6, "Always On Time"
1261
1262 2005-11-23  Wim Taymans  <wim@fluendo.com>
1263
1264         * docs/gst/gstreamer-sections.txt:
1265         * gst/glib-compat.c:
1266         * gst/gsttagsetter.c:
1267         * gst/gstvalue.c:
1268         * gst/net/gstnetclientclock.c:
1269         * gst/net/gstnettimepacket.h:
1270         Doc updates.
1271
1272 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1273
1274         * docs/faq/using.xml:
1275         * docs/libs/tmpl/gstcontrol.sgml:
1276         * docs/manual/advanced-dparams.xml:
1277         * docs/manual/appendix-checklist.xml:
1278         * docs/manual/basics-elements.xml:
1279         * docs/pwg/other-source.xml:
1280         * docs/random/moving-plugins:
1281         * gst/gstpad.c:
1282         * tools/gst-launch.1.in:
1283           remove mentions of sinesrc
1284
1285 2005-11-23  Michael Smith <msmith@fluendo.com>
1286
1287         * docs/gst/gstreamer-sections.txt:
1288           Update for new API and API changes.
1289         * gst/gstobject.h:
1290           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1291         * gst/gstvalue.c:
1292           Documentation typo fix.
1293         * gst/net/gstnettimepacket.c:
1294           Documentation fixes for arguments.
1295
1296 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
1297
1298         * gst/gststructure.c: (gst_structure_get_fraction),
1299         (gst_structure_parse_value),
1300         (gst_structure_fixate_field_nearest_fraction):
1301         * gst/gststructure.h:
1302         * gst/gstutils.c: (gst_util_uint64_scale_int):
1303         * gst/gstutils.h:
1304         * scripts/update-funcnames:
1305         API Changes. 
1306         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1307         Make gst_structure_fixate_field_nearest_fraction take a numerator
1308         and denominator argument instead of a GValue
1309         add gst_structure_get_fraction helper function.
1310
1311 2005-11-23  Wim Taymans  <wim@fluendo.com>
1312
1313         * docs/design/part-TODO.txt:
1314         Update TODO.
1315
1316         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1317         * gst/net/gstnetclientclock.h:
1318         Use parent fields for timeout and window_size.
1319
1320 2005-11-23  Andy Wingo  <wingo@pobox.com>
1321
1322         * check/net/gstnetclientclock.c (test_functioning): Adjust to
1323         rate_num/rate_denom change.
1324
1325         * gst/net/gstnetclientclock.c
1326         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1327         OBJECT_LOCK. Don't call add_observation with the lock.
1328
1329         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1330         fraction.
1331         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1332         rate fraction.
1333         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1334         deal with rate as a fraction whose numerator and denominator are
1335         GstClockTime values.
1336         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1337         master; the other fields are protected by the SLAVE_LOCK.
1338         (do_linear_regression): Note that this must be called with the
1339         SLAVE_LOCK.
1340         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1341         OBJECT_LOCK. Call set_calibration instead of touching the
1342         variables directly.
1343         (gst_clock_set_property, gst_clock_get_property): Protect
1344         master/slave parameters with the SLAVE_LOCK.
1345
1346         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1347         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1348         note that all of the instance variables that add_observation and
1349         the set_master functions use are protected by that lock and not
1350         the OBJECT_LOCK.
1351         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1352
1353         * gst/gstclock.c (gst_clock_add_observation): No longer requires
1354         the caller to take the object lock.
1355
1356 2005-11-23  Wim Taymans  <wim@fluendo.com>
1357
1358         * gst/gsterror.c: (_gst_core_errors_init):
1359         * gst/gsterror.h:
1360         Add error for clock stuff.
1361
1362         * gst/gstpipeline.c: (gst_pipeline_change_state),
1363         (gst_pipeline_set_clock):
1364         Post clock error when clock cannot be used in a pipeline.
1365
1366 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
1367
1368         * docs/gst/gstreamer-sections.txt:
1369           make two symbols from gstinfo private for the docs
1370         * gst/base/gstcollectpads.h:
1371         * gst/gstutils.c:
1372           fix doc typos, update docs
1373
1374 2005-11-22  Wim Taymans  <wim@fluendo.com>
1375
1376         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1377         (gst_base_sink_wait), (gst_base_sink_do_sync),
1378         (gst_base_sink_handle_event):
1379         * gst/base/gstbasesink.h:
1380         No need to store the clock, the parent element class already
1381         has it.
1382
1383         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
1384         Updates for clock_set returning a gboolean
1385
1386         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
1387         (gst_clock_id_wait_async), (gst_clock_class_init),
1388         (gst_clock_init), (gst_clock_finalize),
1389         (gst_clock_get_internal_time), (gst_clock_get_time),
1390         (gst_clock_slave_callback), (gst_clock_set_master),
1391         (gst_clock_get_master), (do_linear_regression),
1392         (gst_clock_add_observation), (gst_clock_set_property),
1393         (gst_clock_get_property):
1394         * gst/gstclock.h:
1395         Implement master/slave. When setting a clock as a slave, a
1396         periodic timeout is scheduled to sample master and slave times.
1397         Then the slave clock is recalibrated to match offset and rate
1398         of the master clock.
1399         Update logging a bit.
1400         Add flag so that a clock can state that is cannot be slaved to
1401         another clock.
1402
1403         * gst/gstelement.c: (gst_element_set_clock):
1404         * gst/gstelement.h:
1405         The set clock returns a gboolean for when an element cannot
1406         deal with the selected clock in the pipeline. 
1407
1408         * gst/gstpipeline.c: (gst_pipeline_change_state),
1409         (gst_pipeline_set_clock):
1410         * gst/gstpipeline.h:
1411         Handle the case where the selected clock cannot be set on
1412         the pipeline.
1413
1414         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
1415         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1416         (gst_net_client_clock_set_property),
1417         (gst_net_client_clock_get_property),
1418         (gst_net_client_clock_observe_times):
1419         * gst/net/gstnetclientclock.h:
1420         Use regression code in GstClock parent, remove duplicated
1421         functionality.
1422
1423 2005-11-22  Michael Smith <msmith@fluendo.com>
1424
1425         * gst/gstutils.c: (gst_util_clock_time_scale):
1426         * gst/gstutils.h:
1427         * docs/gst/gstreamer-sections.txt:
1428           Rename method to have extra underscore.
1429
1430 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1431
1432         * gst/elements/Makefile.am:
1433         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
1434         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1435         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1436         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
1437         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
1438         * gst/elements/gstfakesrc.h:
1439         * gst/gstqueue.c: (queue_leaky_get_type):
1440           correctly fix GEnumValues so that nick is the short lowercase
1441           dashed tag
1442         * tools/gst-inspect.c: (print_element_properties_info):
1443           also show the nick, since it's useful to use from parse_launch
1444           syntax
1445           Fixes #322139
1446
1447 2005-11-22  Michael Smith <msmith@fluendo.com>
1448
1449         * gst/gstutils.c: (gst_util_clocktime_scale):
1450         * gst/gstutils.h:
1451         * docs/gst/gstreamer-sections.txt:
1452           Add util method for scaling a clocktime by a fraction. Useful 
1453           implementation is left as an exercise for the reader.
1454
1455 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1456
1457         * gst/gstvalue.c: (gst_value_collect_fraction_range):
1458         If needed, allocate storage in the destination value during
1459         collection.
1460
1461 2005-11-22  Edward Hervey  <edward@fluendo.com>
1462
1463         * docs/gst/gstreamer-sections.txt:
1464         * gst/Makefile.am:
1465         * gst/gst.h:
1466         * gst/gsturitype.c:
1467         * gst/gsturitype.h:
1468         * gst/gstutils.c: (gst_util_set_object_arg):
1469         * tools/gst-compprep.c: (main):
1470         * tools/gst-inspect.c: (print_element_properties_info):
1471         Removed GstURI, closes bug #321061
1472
1473 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1474
1475         * check/gst/gststructure.c: (GST_START_TEST):
1476         * gst/gststructure.c: (gst_structure_parse_value):
1477           Oops, broke automatic string type parsing.
1478           Add a test to catch it in future.
1479
1480 2005-11-22  Andy Wingo  <wingo@pobox.com>
1481
1482         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
1483         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
1484         Actually rename the function implementations. Grr.
1485
1486 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1487
1488         * check/gst/capslist.h:
1489           Comment test cases
1490         * check/gst/gststructure.c: (GST_START_TEST),
1491         (gst_structure_suite):
1492           Test automatic value type detection in gst_structure_from_string.
1493         * gst/gststructure.c: (gst_structure_parse_value):
1494           Add fraction as a type we try and guess automatically in
1495           caps/structure strings.
1496
1497 2005-11-22  Andy Wingo  <wingo@pobox.com>
1498
1499         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
1500
1501         * gst/gsttagsetter.h:
1502         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
1503         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
1504         (gst_tag_setter_add_tag_valist)
1505         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
1506         _add_values, _add_valist, and _add_valist_values. Since this is an
1507         interface the function suffixes should be more explicit so
1508         language binding don't end up with element.add_valist ->
1509         gst_tag_setter_add_valist, for example. Fixes #322069.
1510
1511 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1512
1513         * check/gst/gstcaps.c: (GST_START_TEST):
1514           Extend caps string tests to check that a caps to string
1515           conversion is reversible and produces the same caps.
1516
1517         * gst/gststructure.c: (gst_structure_value_get_generic_type):
1518           Output "fraction" as the generic type fraction range, so caps
1519           serialisation and deserialisation works.
1520         * check/gst/capslist.h:
1521         * gst/gstvalue.c: (gst_value_deserialize_fraction):
1522           Support 'MIN' and 'MAX' for deserialising fractions.
1523
1524 2005-11-22  Andy Wingo  <wingo@pobox.com>
1525
1526         * gst/gstevent.h (gst_event_new_new_segment)
1527         (gst_event_parse_new_segment, gst_event_new_buffer_size)
1528         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
1529         Renamed from *_newsegment, *_buffersize, *_notarget.
1530
1531         * scripts/update-funcnames: New script, performs the changes
1532         listed above.
1533
1534 2005-11-22  Wim Taymans  <wim@fluendo.com>
1535
1536         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1537         Make sure the GstFlowReturn is returned.
1538
1539         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
1540         (gst_bus_add_signal_watch):
1541         * gst/gstbus.h:
1542         add gst_bus_add_signal_watch_full.
1543
1544         * gst/gstplugin.c: (gst_plugin_load_file):
1545         Small style cleanup.
1546
1547 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1548
1549         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
1550           Block the fakesrc srcpad when we send an event, to avoid
1551           contention on the stream_lock causing random test failures.
1552
1553 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1554
1555         * check/gst/gstvalue.c: (GST_START_TEST):
1556         * gst/gstvalue.c: (gst_value_fraction_subtract):
1557           Fix subtraction.
1558
1559 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
1560
1561         * gst/gst.h:
1562           include "gstchildproxy.h"
1563         * gst/gstchildproxy.h:
1564         * libs/gst/controller/gstcontroller.h:
1565           use G_GNUC_NULL_TERMINATED
1566
1567 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1568
1569         * check/gst/capslist.h:
1570         * check/gst/gstcaps.c: (GST_START_TEST):
1571         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1572         * gst/gststructure.c: (gst_structure_parse_range),
1573         (gst_structure_fixate_field_nearest_fraction):
1574         * gst/gststructure.h:
1575         * gst/gstvalue.c: (gst_value_init_fraction_range),
1576         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
1577         (gst_value_collect_fraction_range),
1578         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
1579         (gst_value_set_fraction_range_full),
1580         (gst_value_get_fraction_range_min),
1581         (gst_value_get_fraction_range_max),
1582         (gst_value_serialize_fraction_range),
1583         (gst_value_transform_fraction_range_string),
1584         (gst_value_compare_fraction_range),
1585         (gst_value_deserialize_fraction_range),
1586         (gst_value_intersect_fraction_fraction_range),
1587         (gst_value_intersect_fraction_range_fraction_range),
1588         (gst_value_subtract_fraction_fraction_range),
1589         (gst_value_subtract_fraction_range_fraction),
1590         (gst_value_subtract_fraction_range_fraction_range),
1591         (gst_value_collect_fraction), (gst_value_fraction_multiply),
1592         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
1593         (gst_value_transform_string_fraction), (_gst_value_initialize):
1594         * gst/gstvalue.h:
1595           Implement fraction ranges and extend GstFraction to support
1596           arithmetic subtraction, as well as deserialization from integer
1597           strings such as "100"
1598           Add a testsuite as for int and double range set operations
1599
1600 2005-11-21  Andy Wingo  <wingo@pobox.com>
1601
1602         * gst/gsttaglist.h: 
1603         * gst/gstcaps.h: 
1604         * gst/gststructure.h: Add glib-compat.h.
1605
1606 2005-11-21  Wim Taymans  <wim@fluendo.com>
1607
1608         * gst/gstbin.c: (gst_bin_change_state_func):
1609         Fix for #321595
1610
1611 2005-11-21  Wim Taymans  <wim@fluendo.com>
1612
1613         * gst/gstsegment.h:
1614         And add a nice define too.
1615
1616 2005-11-21  Wim Taymans  <wim@fluendo.com>
1617
1618         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
1619         (gst_segment_new), (gst_segment_free), (gst_segment_init),
1620         (gst_segment_set_duration), (gst_segment_set_last_stop),
1621         (gst_segment_set_seek), (gst_segment_set_newsegment),
1622         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1623         (gst_segment_clip):
1624         * gst/gstsegment.h:
1625         Make binding friendly.
1626
1627 2005-11-21  Andy Wingo  <wingo@pobox.com>
1628
1629         * gst/gsttagsetter.h: 
1630         * gst/gsttaglist.h: 
1631         * gst/gststructure.h: 
1632         * gst/gstcaps.h: 
1633         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
1634         #319940.
1635
1636         * gst/gsterror.c (_gst_core_errors_init):
1637         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
1638         category.
1639
1640         * gst/Makefile.am (gst_headers): Add glib-compat.h.
1641         (noinst_HEADERS): noinst the -private.
1642
1643 2005-11-21  Michael Smith <msmith@fluendo.com>
1644
1645         * gst/gstplugin.h:
1646         * gst/gstregistry.h:
1647           Remove unimplemented declarations for which we can see no sensible
1648           use.
1649
1650 2005-11-21  Andy Wingo  <wingo@pobox.com>
1651
1652         * gst/gst.h: Include glib-compat.h.
1653
1654         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
1655
1656         * gst/glib-compat.c: Include the public and the private header.
1657
1658         * gst/glib-compat-private.h: Copied here from glib-compat.h.
1659
1660         * gst/gstvalue.c: 
1661         * gst/gstpad.c: 
1662         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
1663
1664         * check/gst/gstevent.c (create_custom_events): Check that
1665         FLUSH_STOP is serialized.
1666
1667         * check/elements/identity.c (event_func): 
1668         * check/elements/fakesrc.c (event_func): No stream lock, the core
1669         takes it.
1670
1671         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
1672         stream lock taking, yay.
1673
1674         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
1675         ensure that core takes the stream lock.
1676
1677         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
1678         lock name change.
1679
1680         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
1681         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
1682         it already. For the flush start we do take it though so we get the
1683         right preroll state change messages.
1684
1685         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
1686         the stream lock here, the core does it for us.
1687
1688         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
1689         GST_STREAM_GET_LOCK.
1690         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
1691         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
1692         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
1693         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
1694         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
1695         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
1696
1697         * gst/gstpad.c: Update for stream lock name change.
1698
1699         * gst/base/gstbasesink.c: Update for preroll lock name change.
1700
1701 2005-11-21  Wim Taymans  <wim@fluendo.com>
1702
1703         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
1704         (gst_clock_get_master):
1705         * gst/gstclock.h:
1706         * gst/gstsystemclock.c: (gst_system_clock_init):
1707         Convert Clock flags to object flags.
1708         Added methods to manage master/slave clocks.
1709
1710 2005-11-21  Wim Taymans  <wim@fluendo.com>
1711
1712         * check/gst/gstsegment.c: (GST_START_TEST):
1713         * docs/design/part-TODO.txt:
1714         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1715         (gst_base_sink_event), (gst_base_sink_do_sync),
1716         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
1717         (gst_base_sink_query), (gst_base_sink_change_state):
1718         * gst/base/gstbasesink.h:
1719         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
1720         (gst_base_src_default_newsegment),
1721         (gst_base_src_configure_segment), (gst_base_src_do_seek),
1722         (gst_base_src_get_range), (gst_base_src_loop),
1723         (gst_base_src_change_state):
1724         * gst/base/gstbasesrc.h:
1725         * gst/base/gstbasetransform.c:
1726         (gst_base_transform_prepare_output_buf),
1727         (gst_base_transform_event), (gst_base_transform_change_state):
1728         * gst/base/gstbasetransform.h:
1729         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1730         (gst_collect_pads_event):
1731         * gst/base/gstcollectpads.h:
1732         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
1733         (gst_fake_src_create):
1734         * gst/elements/gstfakesrc.h:
1735         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1736         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1737         (gst_segment_set_last_stop), (gst_segment_set_seek),
1738         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
1739         (gst_segment_to_running_time), (gst_segment_clip):
1740         * gst/gstsegment.h:
1741         More segment updates, replace code in plugins with segment
1742         helper functions.
1743
1744 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1745
1746         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
1747         Don't ignore sscanf results
1748
1749 2005-11-21  Andy Wingo  <wingo@pobox.com>
1750
1751         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
1752
1753         * *.h:
1754         * *.c: Ran scripts/update-macros. Oh yes.
1755
1756         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
1757         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
1758         GST_GET_LOCK, etc.
1759
1760         * scripts/update-macros: New script. Run it on your files to
1761         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
1762         well.
1763
1764 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1765
1766         * docs/gst/Makefile.am:
1767         * docs/gst/gstreamer-docs.sgml:
1768         * docs/gst/gstreamer-sections.txt:
1769         * docs/gst/gstreamer.types:
1770         * gst/gstinfo.h:
1771           more docs fixes, add new api to the docs
1772
1773 2005-11-21  Andy Wingo  <wingo@pobox.com>
1774
1775         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
1776         state_broadcast call.
1777
1778         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
1779
1780 2005-11-21  Julien MOUTTE  <julien@moutte.net>
1781
1782         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
1783         function calls for arrays.
1784
1785 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1786
1787         * docs/random/ensonic/media-device-daemon.txt:
1788           wild idea, can this be done?
1789         * docs/gst/gstreamer-sections.txt:
1790         * gst/gsterror.h:
1791         * gst/gstfilter.c:
1792         * gst/gstfilter.h:
1793         * gst/gstplugin.h:
1794         * gst/gstpluginfeature.c:
1795         * gst/gsttrace.c:
1796         * gst/gstvalue.c:
1797         * gst/gstvalue.h:
1798           doc fixes and additions
1799
1800 2005-11-21  Andy Wingo  <wingo@pobox.com>
1801
1802         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
1803         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
1804         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
1805         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
1806         private to the basesrc implementation.
1807
1808         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
1809         behalf of event function if necessary. It should no longer be
1810         necessary to take the stream lock in pad's event functions. Fixes
1811         #320299.
1812
1813 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1814         * docs/gst/gstreamer-sections.txt:
1815         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
1816         (gst_structure_fixate_field_nearest_double),
1817         (gst_structure_fixate_field_boolean):
1818         * gst/gststructure.h:
1819         * win32/common/libgstreamer.def:
1820         * win32/gstreamer.def:
1821
1822         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
1823         (#322027)
1824
1825 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1826
1827         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
1828         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
1829         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
1830         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
1831         (gst_fdsrc_uri_handler_init):
1832         * gst/elements/gstfdsrc.h:
1833           Port fd:// URI handler from 0.8 to fdsrc
1834
1835 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1836
1837         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
1838         (gst_value_serialize_fourcc):
1839         * gst/gstvalue.h:
1840           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
1841           consistent with our other format defines (#320324).
1842
1843 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1844
1845         * gst/gstvalue.c: (gst_value_is_fixed):
1846           Revert previous commit. Value lists are by definition
1847           not fixed, as they are a list of possible values.
1848
1849 2005-11-21  Andy Wingo  <wingo@pobox.com>
1850
1851         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
1852         during the stable series if we need it. Fixes #319178.
1853
1854         * gst/gstevent.c (gst_event_new_filler): Removed.
1855
1856         * check/gst/gstevent.c: Update comment about filler events.
1857
1858 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1859
1860         * gst/gstvalue.c: (gst_value_is_fixed):
1861           Should handle both value arrays and value lists.
1862
1863 2005-11-21  Andy Wingo  <wingo@pobox.com>
1864
1865         patch by: Alessandro Dessina <alessandro nnva org>
1866
1867         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
1868         functions to access arrays. Fixes #321962.
1869
1870 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1871
1872         * docs/gst/gstreamer.types:
1873           gst_collectpads_get_type => gst_collect_pads_get_type.
1874           
1875         * gst/base/gstbasetransform.c:
1876           Remove unused SIGNAL_HANDOFF enum.
1877
1878 2005-11-21  Andy Wingo  <wingo@pobox.com>
1879
1880         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
1881         the event type (upstream, downstream, serialized). Renamed
1882         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
1883         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
1884         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
1885
1886         * gst/gstevent.c: Update for new CUSTOM event names.
1887
1888         * check/gst/gstevent.c: Update check for new CUSTOM event names.
1889
1890         * gst/gstevent.h:
1891         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
1892         bug #319392.
1893
1894 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1895
1896         * docs/gst/gstreamer-sections.txt:
1897         * win32/common/libgstbase.def:
1898         * win32/libgstbase.def:
1899         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1900         (gst_collect_pads_class_init), (gst_collect_pads_init),
1901         (gst_collect_pads_finalize), (gst_collect_pads_new),
1902         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
1903         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
1904         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
1905         (gst_collect_pads_start), (gst_collect_pads_stop),
1906         (gst_collect_pads_peek), (gst_collect_pads_pop),
1907         (gst_collect_pads_available), (gst_collect_pads_read),
1908         (gst_collect_pads_flush), (gst_collect_pads_event),
1909         (gst_collect_pads_chain):
1910         * gst/base/gstcollectpads.h:
1911           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
1912           unimplemented functions as unimplemented. Add padding to
1913           GstCollectData. (#320766, #320423)
1914
1915 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1916
1917         * gst/gstmessage.c:
1918           Improve docs for DURATION message (usage of duration parameter)
1919           (#320113)
1920
1921 2005-11-20  Wim Taymans  <wim@fluendo.com>
1922
1923         * check/Makefile.am:
1924         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
1925         (main):
1926         * gst/Makefile.am:
1927         * gst/gst.h:
1928         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1929         (gst_segment_set_seek), (gst_segment_set_newsegment),
1930         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1931         (gst_segment_clip):
1932         * gst/gstsegment.h:
1933         Added segment helper structure and methods. Not fully implemented
1934         yet.
1935         Added segment check.
1936
1937 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
1938
1939         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1940           Add a deserialisation test for fractions
1941         * examples/metadata/read-metadata.c: (message_loop),
1942         (make_pipeline), (main):
1943           Fix up metadata reading sample.
1944         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1945           Debug format fix
1946         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1947           Don't try and fixate empty caps
1948         * gst/gst_private.h:
1949           Wrap in G_BEGIN_DECLS/G_END_DECLS
1950         * gst/gstvalue.c: (gst_value_collect_fraction),
1951         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
1952         (gst_value_transform_string_fraction),
1953         (gst_value_compare_fraction):
1954           Add some extra guards to ensure that we don't end up 
1955           with an invalid denominator of 0 in a gstfraction and
1956           that fractions always get reduced.
1957
1958 2005-11-20  Wim Taymans  <wim@fluendo.com>
1959
1960         * docs/gst/gstreamer-sections.txt:
1961         * gst/gstbuffer.h:
1962         * gst/gstelement.c:
1963         * gst/gstformat.c:
1964         * gst/gstformat.h:
1965         * gst/gstindex.h:
1966         * gst/gstquery.c:
1967         * gst/gstquery.h:
1968         * gst/gstvalue.c:
1969         Doc fixes.
1970
1971 2005-11-20  Wim Taymans  <wim@fluendo.com>
1972
1973         * docs/design/part-TODO.txt:
1974         * gst/gstcaps.h:
1975         Make a proper enum of the flag.
1976
1977 2005-11-19  Wim Taymans  <wim@fluendo.com>
1978
1979         * docs/design/part-TODO.txt:
1980         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
1981         (gst_format_to_quark), (gst_format_register):
1982         * gst/gstformat.h:
1983         * gst/gstquery.c: (_gst_query_initialize),
1984         (gst_query_type_get_name), (gst_query_type_to_quark),
1985         (gst_query_type_register):
1986         * gst/gstquery.h:
1987         Add type to quark and type to string conversions.
1988
1989 2005-11-19  Andy Wingo  <wingo@pobox.com>
1990
1991         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
1992         #320097.
1993
1994 2005-11-19  Wim Taymans  <wim@fluendo.com>
1995
1996         * docs/design/part-TODO.txt:
1997         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
1998         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
1999         (gst_bin_handle_message_func):
2000         * gst/gstbin.h:
2001         Make message handling overridable.
2002
2003 2005-11-19  Andy Wingo  <wingo@pobox.com>
2004
2005         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
2006
2007         * gst/gstclock.h:
2008         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
2009         be a GstClockTime.
2010         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
2011         is a GstClockTime. Fixes #321710.
2012
2013         * gst/gstclock.h (GstClock): Remove offset property. Add
2014         internal_calibration and external_calibration. Fix padding. Pad
2015         also by GstClockTime so we don't run into problems.
2016
2017         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
2018         (gst_clock_get_rate_offset): Remove.
2019         (gst_clock_set_time_adjust): Remove. Fixes #321712.
2020
2021         * gst/gstutils.h:
2022         * gst/gstutils.c (g_static_rec_cond_wait)
2023         (g_static_rec_cond_timed_wait): Removed, no longer needed.
2024
2025         * gst/gstbin.c: Remove terrible continue_state prototype.
2026
2027         * gst/gstelement.h (gst_element_continue_state): Make public.
2028
2029         * gst/gstelement.h:
2030         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
2031         by continue_state. Fixes #319389.
2032
2033         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
2034         Really fixes #168438. However I don't see anywhere where the
2035         filter function is called... stupid GStreamer...
2036         
2037         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
2038         don't have a dispose function, so it won't get called when the
2039         object is unreffed, but oh well!
2040
2041         * gst/gstindex.c (gst_index_set_filter_full): New API function,
2042         allows a destroy function to be set so user_data can be freed.
2043         Fixes #168438.
2044         (gst_index_set_filter): Call gst_index_set_filter_full.
2045
2046         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
2047
2048         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
2049         string should produce an error, given the lack of a way to
2050         represent NULL strings. Fixes #165650.
2051         
2052         * gst/gstvalue.h: 
2053         * gst/gstvalue.c (gst_value_array_append_value) 
2054         (gst_value_array_prepend_value, gst_value_array_get_size) 
2055         (gst_value_array_get_value): New API, copied from
2056         gst_value_list_*, only operates on arrays.
2057         (gst_value_list_append_value, gst_value_list_prepend_value) 
2058         (gst_value_list_concat, gst_value_list_get_size) 
2059         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
2060
2061         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
2062         init_list, because it works on both.
2063         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
2064         (gst_value_copy_list_or_array): Renamed from copy_list.
2065         (gst_value_free_list_or_array): Renamed from free_list.
2066         (gst_value_collect_list_or_array): Renamed from collect_list.
2067         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
2068         (gst_value_list_or_array_peek_pointer): Renamed from
2069         list_peek_pointer.
2070         (_gst_value_array_value_table, _gst_value_list_value_table):
2071         Update value table functions.
2072         (gst_value_compare_list_or_array): Renamed from compare_list.
2073
2074         * gsttaglist.h: Whoops, foreach function returns void. Also fix
2075         some constness.
2076
2077         * gst/gsttaglist.c:
2078         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
2079         GstTagList*. Fixes #143472.
2080
2081         * gst/gststructure.h: Clarify what the foreach/map functions can
2082         or can't do to their arguments.
2083
2084 2005-11-18  Wim Taymans  <wim@fluendo.com>
2085
2086         * gst/gstclock.c: (gst_clock_set_calibration),
2087         (gst_clock_get_calibration):
2088         Doc and API fixes.
2089         Calibration can be set with internal time equal to current
2090         internal time too.
2091
2092 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2093
2094         * gst/gsterror.c:
2095         * gst/gsterror.h:
2096           document
2097
2098 2005-11-18  Andy Wingo  <wingo@pobox.com>
2099
2100         * configure.ac: 
2101         * pkgconfig/gstreamer-net.pc.in:
2102         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2103         * pkgconfig/Makefile.am: Add net pkgconfig files.
2104
2105 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
2106
2107         * gst/gstcaps.c:
2108         * gst/gstghostpad.c:
2109         * gst/gsttrace.c:
2110         * gst/gstvalue.c:
2111         * gst/gstvalue.h:
2112           docs fixes
2113
2114 2005-11-18  Andy Wingo  <wingo@pobox.com>
2115
2116         * gst/net/gstnetclientclock.c: Turn off debugging.
2117
2118         * check/net/gstnetclientclock.c (test_functioning): Assert that the
2119         times connverge somewhat. Can't make a real test.
2120
2121         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
2122         integer arithmetic. Return the minimum of the domain, which can be
2123         set as "internal" for gst_clock_set_calibration.
2124         (gst_net_client_clock_observe_times): Call _set_calibration.
2125         (gst_net_client_clock_new): Call _set_calibration instead of
2126         rate_offset.
2127
2128         * check/net/gstnetclientclock.c (test_functioning): Use the right
2129         adjustment api.
2130
2131         * gst/gstclock.h:
2132         * gst/gstclock.c (gst_clock_get_calibration) 
2133         (gst_clock_set_calibration): New functions, obsolete the ones I
2134         added yesterday. Doh. Precision issues mean we have to extrapolate
2135         from a point in the more recent past than 1970.
2136         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
2137         obsolete.
2138         (gst_clock_adjust_unlocked): Use the right calibration data.
2139
2140 2005-11-18  Edward Hervey  <edward@fluendo.com>
2141
2142         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
2143         Also reset the ->current_* values in READY->PAUSED
2144
2145 2005-11-18  Andy Wingo  <wingo@pobox.com>
2146
2147         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
2148         Whoops, check the right fd. Also add some debugging.
2149         (gst_net_client_clock_observe_times): Adjust for int64 offset.
2150         (do_linear_regression): Add a crapload of debugging. Subtract off
2151         the minimum values from the input series to discard unneeded bits.
2152         Use only int arithmetic. There is still double arithmetic when
2153         calculating the intercept that needs fixing. Return boolean to
2154         indicate success; FALSE would mean the domain or range is too
2155         great. Still needs fixes.
2156
2157 2005-11-18  Wim Taymans  <wim@fluendo.com>
2158
2159         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2160         For the current position in stream time, we need to subtract
2161         accumulated time.
2162         
2163         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2164         Release lock before calling the callback function of async
2165         entries.
2166
2167 2005-11-18  Andy Wingo  <wingo@pobox.com>
2168
2169         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
2170         Port goes all the way to MAXUINT16.
2171
2172         * gst/net/gstnettimeprovider.c: Make the port range the same as
2173         for the kernel: 0 assigns, otherwise ports are less than
2174         MAXUINT16.
2175
2176         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
2177         port change.
2178
2179         * check/net/gstnetclientclock.c (test_functioning): Add the start
2180         of another test. 
2181
2182 2005-11-18  Wim Taymans  <wim@fluendo.com>
2183
2184         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2185         (gst_bin_remove_func), (bin_bus_handler):
2186         * gst/gstbin.h:
2187         Removing a clock provider from a bin, triggers a clock lost message
2188         so that a new clock will be selected.
2189         Adding a clock to a bin triggers a clock provider message.
2190         Make sure we reselect a clock when we received a clock lost message.
2191         Keep a reference to the element that provided the clock.
2192
2193 2005-11-18  Andy Wingo  <wingo@pobox.com>
2194
2195         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2196         the clock initially so it produces values around the base time.
2197         (gst_net_client_clock_class_init): Typo fix.
2198         (gst_net_client_clock_thread): Add note on when the socket gets
2199         closed.
2200
2201 2005-11-17  Wim Taymans  <wim@fluendo.com>
2202
2203         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2204         Free remote and local time arrays.
2205
2206 2005-11-17  Wim Taymans  <wim@fluendo.com>
2207
2208         * gst/net/gstnetclientclock.c: (do_linear_regression),
2209         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2210         Fix compilation, uninitialized vars and a forgotten continue.
2211
2212 2005-11-17  Andy Wingo  <wingo@pobox.com>
2213
2214         * check/Makefile.am (check_PROGRAMS): 
2215         * check/net/gstnetclientclock.c: Add a most minimal test for the
2216         net client clock. More to come later.
2217
2218         * gst/net/gstnet.h: 
2219         * gst/net/Makefile.am: Add netclientclock.
2220
2221         * gst/net/gstnetclientclock.h:
2222         * gst/net/gstnetclientclock.c: New files, implement an untested
2223         GstClock that takes its time from a network time provider.
2224         Implements the algorithm in network-clock.scm.
2225
2226         * tests/network-clock.scm (*window-size*): Rename from
2227         *queue-length*.
2228         * tests/network-clock.scm (network-time): 
2229         * tests/network-clock-utils.scm (q-push): Update callers.
2230
2231 2005-11-17  Wim Taymans  <wim@fluendo.com>
2232
2233         * gst/gstbin.c: (gst_bin_provide_clock_func),
2234         (gst_bin_sort_iterator_new):
2235         And unref the child too..
2236
2237 2005-11-17  Wim Taymans  <wim@fluendo.com>
2238
2239         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2240         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2241         Refactor the sort iterator so it can be used while holding the
2242         LOCK too.
2243         Make clock selection select a clock closest to the source.
2244
2245 2005-11-17  Michael Smith <msmith@fluendo.com>
2246
2247         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2248         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2249         * gst/gstclock.h:
2250           Anonymous structs are a gcc (and some other compilers) extension, so
2251           don't use them. Since this is only for ABI-compatibility, and our
2252           API/ABI freeze is over in a few days, this whole thing will only
2253           last a few days, so don't bother trying to think up a meaningful
2254           name for the struct.
2255
2256 2005-11-17  Andy Wingo  <wingo@pobox.com>
2257
2258         * gst/gstclock.h (GstClock): Add rate and offset properties,
2259         preserving ABI stability. Add rate/offset accessors. Will file bug
2260         for the freeze break.
2261
2262         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2263         and offset, trying to keep precision and avoiding
2264         underflow/overflow.
2265         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2266         functions. Make gst_clock_set_time_adjust obsolete.
2267         (gst_clock_set_time_adjust): Note that this function is obsolete.
2268         Will file bug soon.
2269
2270         * gst/base/gstbasetransform.h: Make the ABI-stability hack
2271         greppable by using GST_PADDING-1+1.
2272
2273 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
2274
2275         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2276
2277         * gst/gstmessage.c: (gst_message_parse_clock_lost):
2278           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2279
2280         * gst/gstpadtemplate.h:
2281         * gst/gstpluginfeature.h:
2282           Don't use c++ style comments in headers (#321638).
2283
2284 2005-11-16  Andy Wingo  <wingo@pobox.com>
2285
2286         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2287         buffer.
2288
2289         * check/net/gstnettimeprovider.c: Check to see that the time
2290         provider actually provides times. Works, yo!
2291
2292 2005-11-16  Wim Taymans  <wim@fluendo.com>
2293
2294         * check/Makefile.am:
2295         Enable more tests.
2296
2297         * check/elements/fakesrc.c: (GST_START_TEST):
2298         Set element to NULL before disposing it.
2299
2300 2005-11-16  Andy Wingo  <wingo@pobox.com>
2301
2302         * gst/net/Makefile.am:
2303         * gst/net/gstnet.h:
2304         * gst/net/gstnettimeprovider.c: 
2305         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2306         provider, include it from gstnet.h, and add it to the build.
2307
2308         * gst/net/gstnettimepacket.h: 
2309         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2310         sending and receiving.
2311
2312 2005-11-16  Wim Taymans  <wim@fluendo.com>
2313
2314         * check/Makefile.am:
2315         Enable valgrind check.
2316
2317         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2318         (gst_fake_src_alloc_buffer):
2319         Fix memleak.
2320
2321 2005-11-16  Wim Taymans  <wim@fluendo.com>
2322
2323         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2324         Call parent finalize too.
2325
2326 2005-11-16  Wim Taymans  <wim@fluendo.com>
2327
2328         * check/Makefile.am:
2329         Enable valgrind check that should work fine now.
2330
2331         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2332         * gst/gstqueue.c: (gst_queue_init):
2333         Fix memleaks in pad allocation.
2334
2335 2005-11-16  Andy Wingo  <wingo@pobox.com>
2336
2337         * gst/net/Makefile.am:
2338         * gst/net/gstnet.h: New part of core to hold network elements and
2339         objects. Put in core because it exposes API that applications want
2340         to use. The library is named libgstnet-tempname right now because
2341         of the existing libgstnet in gst-plugins-base. Solution is
2342         probably to rename the one in plugins-base; will file a bug for
2343         the freeze break.
2344
2345         * gst/net/gstnettimeprovider.c: 
2346         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2347         get_time call over the network.
2348
2349         * configure.ac: 
2350         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2351
2352         * check/Makefile.am:
2353         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2354         get additions shortly.
2355
2356 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2357
2358         * gst/gstpad.c: (gst_pad_new_from_static_template):
2359         * gst/gstpad.h:
2360           add gst_pad_new_from_static_template functions
2361         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2362         (gst_check_setup_sink_pad):
2363         * gst/elements/gsttee.c: (gst_tee_init):
2364           and use them
2365
2366 2005-11-16  Wim Taymans  <wim@fluendo.com>
2367
2368         * gst/gstpad.c: (gst_pad_pause_task):
2369         Removed warning, it's not really an error either.
2370
2371 2005-11-16  Wim Taymans  <wim@fluendo.com>
2372
2373         * gst/base/gstbasetransform.c:
2374         (gst_base_transform_prepare_output_buf),
2375         (gst_base_transform_event):
2376         Check if the caps are NULL, this can happen if the element
2377         is shutting down and the pad caps are set to NULL.
2378
2379 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2380
2381         * gst/elements/gsttee.c: (gst_tee_init):
2382           fix pad template leak in tee
2383
2384 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2385
2386         * gst/glib-compat.c: (g_value_dup_gst_object):
2387         * gst/glib-compat.h:
2388         * gst/gstpad.c: (gst_pad_set_property):
2389           use gst_object_ref when setting the pad template; this will
2390           trigger the pad template leaks on GLib 2.6 and the slaves
2391
2392 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2393
2394         * gst/glib-compat.c: (gst_flags_get_first_value):
2395         * gst/glib-compat.h:
2396         * gst/gstregistryxml.c:
2397           remove functions copied from GLib 2.6
2398
2399 2005-11-16  Michael Smith <msmith@fluendo.com>
2400
2401         * gst/Makefile.am:
2402           Don't link against VALGRIND_LIBS. That was always the wrong thing to
2403           do, but only breaks with newer valgrind versions. We're not a
2404           valgrind tool, we have no link-time dependencies on libcoregrind.
2405
2406 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2407
2408         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2409           some debug changes
2410         * gst/gstmessage.h:
2411           typo fixes
2412
2413 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2414
2415         * gst/base/gstbasesrc.c: (gst_base_src_init):
2416         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2417         * gst/gstqueue.c: (gst_queue_init):
2418         * gst/gstregistryxml.c: (load_feature):
2419           Revert all these unrefs, they don't even pass make check !
2420
2421 2005-11-15  Johan Dahlin  <johan@gnome.org>
2422
2423         * gst/base/gstbasesrc.c: (gst_base_src_init):
2424         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2425         * gst/gstqueue.c: (gst_queue_init): 
2426         Free pad templates, fixes a couple of leaks.
2427
2428 2005-11-15  Daniel Fischer  <dan at f3c dot com>
2429
2430         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2431
2432         * gst/gstpad.c: (gst_pad_get_property):
2433           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
2434           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
2435           (#321452)
2436
2437 2005-11-15  Wim Taymans  <wim@fluendo.com>
2438
2439         * gst/gstevent.c:
2440         Small doc update.
2441
2442 2005-11-15  Andy Wingo  <wingo@pobox.com>
2443
2444         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
2445
2446         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
2447         using GST_CLOCK_TIME_NONE to disable base time management.
2448         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
2449         time if it was NONE before.
2450         (gst_pipeline_change_state): Only munge the base time if
2451         stream_time != GST_CLOCK_TIME_NONE.
2452
2453         * check/gst/gstpipeline.c (test_base_time): Punt around the
2454         problem of the probe not being called, because that's not the
2455         issue I'm looking at. Add a check that setting stream_time to NONE
2456         disables base time management.
2457         
2458 2005-11-15  Wim Taymans  <wim@fluendo.com>
2459
2460         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2461         segment_stop == -1 at startup.
2462
2463         * gst/base/gstbasetransform.c: (gst_base_transform_event),
2464         (gst_base_transform_change_state):
2465         Init segment values at start.
2466
2467 2005-11-15  Wim Taymans  <wim@fluendo.com>
2468
2469         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2470         0 segment values are 0 in any format.
2471
2472         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2473         * gst/base/gstbasetransform.h:
2474         Parse newsegment correctly in basetransform
2475
2476         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2477         Sync to clock using updated segment values.
2478
2479 2005-11-15  Andy Wingo  <wingo@pobox.com>
2480
2481         * check/gst/gstpipeline.c (test_base_time): Add check that the
2482         base time and stream time are reset correctly.
2483
2484 2005-11-15  Wim Taymans  <wim@fluendo.com>
2485
2486         * docs/design/part-TODO.txt:
2487         Some more TODO items.
2488
2489 2005-11-15  Andy Wingo  <wingo@pobox.com>
2490
2491         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
2492         error if the user selected "no clock" as the clocking method.
2493
2494         * check/gst/gstpipeline.c (test_base_time): New test for buffer
2495         timestamps with live capture.
2496
2497         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
2498         is 0 but we are a live source, timestamp the buffers using the
2499         element's clock.
2500
2501 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
2502
2503         * docs/gst/gstreamer-sections.txt:
2504         * gst/gsterror.c:
2505         * gst/gstghostpad.c:
2506         * gst/gstobject.h:
2507         * gst/gstxml.c:
2508           more section docs
2509
2510 2005-11-14  Wim Taymans  <wim@fluendo.com>
2511
2512         * common/gst.supp:
2513           add suppressions from Wim's Debian machine
2514
2515 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2516
2517         * common/gst.supp:
2518           add suppressions from Andy's AMD64 Ubuntu machine
2519
2520 2005-11-14  Andy Wingo  <wingo@pobox.com>
2521
2522         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
2523         STATE_LOCK not necessary. Fixes #311489.
2524
2525         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
2526         #305291.
2527
2528         * gst/gstindex.c (gst_index_add_object): Note in the docs that
2529         this function is not implemented.
2530
2531 2005-11-14  Julien MOUTTE  <julien@moutte.net>
2532
2533         * gst/base/gstbasetransform.c:
2534         (gst_base_transform_prepare_output_buf):
2535         Ref the source pad caps while we need them.
2536         Fixes (#321386)
2537
2538 2005-11-11  Wim Taymans  <wim@fluendo.com>
2539
2540         * docs/gst/gstreamer-sections.txt:
2541         Added some docs for GstCollectData.
2542
2543         * gst/base/gstadapter.c:
2544         Some small code example fix.
2545
2546         * gst/base/gstcollectpads.c:
2547         * gst/base/gstcollectpads.h:
2548         Document some more.
2549
2550 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2551
2552         * configure.ac: back to HEAD
2553
2554 === release 0.9.5 ===
2555
2556 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
2557
2558         * configure.ac:
2559           releasing 0.9.5, "Bike Lunch Day"
2560
2561 2005-11-11  Wim Taymans  <wim@fluendo.com>
2562
2563         * gst/gstbuffer.c: (_gst_buffer_copy):
2564         Copy more flags.
2565
2566         * gst/gstcaps.c: (gst_caps_is_equal):
2567         Fix some docs.
2568         Make _is_equal fast in the trivial cases.
2569
2570         * gst/gstminiobject.c:
2571         * gst/gstminiobject.h:
2572         More docs. Spifify .h file.
2573
2574         * gst/gstutils.c:
2575         Small doc update.
2576
2577 2005-11-11  Wim Taymans  <wim@fluendo.com>
2578
2579         * gst/base/gstbasetransform.c:
2580         (gst_base_transform_prepare_output_buf),
2581         (gst_base_transform_handle_buffer):
2582         Small cleanups.
2583         If we're processing a buffer and need to allocate an output
2584         buffer, we cannot accept a format change. If we did get a 
2585         format change, we have to alloc a buffer ourselves of the 
2586         right size.
2587
2588 2005-11-11  Wim Taymans  <wim@fluendo.com>
2589
2590         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
2591         While checking the flag for reentrancy in the gstcaps function
2592         is nice to detect recursive invocations, it also makes it 
2593         impossible to call getcaps from multiple threads, which must be
2594         possible. So, checking for recursive calls has to go.
2595
2596 2005-11-11  Michael Smith <msmith@fluendo.com>
2597
2598         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2599           Don't sync on buffers that fall partially outside our current
2600           segment. Prevents an assertion failure/abort playing some files.
2601
2602 2005-11-10  Andy Wingo  <wingo@pobox.com>
2603
2604         * check/gst/gstbin.c (test_message_state_changed_children): Style
2605         fix..
2606
2607         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
2608         gst_bus_poll with the signal watch. Ensures that poll and a signal
2609         watch see the same messages.
2610
2611         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
2612         a poll and a watch at the same time get the same messages.
2613
2614 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2615
2616         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
2617         * gst/gstcaps.c: (gst_caps_intersect):
2618           Don't call gst_caps_do_simplify - it doesn't respect order of caps
2619           and it's not needed.
2620
2621 2005-11-10  Wim Taymans  <wim@fluendo.com>
2622
2623         * docs/design/part-TODO.txt:
2624         Updated todo.
2625
2626 2005-11-10  Wim Taymans  <wim@fluendo.com>
2627
2628         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2629         * gst/base/gstbasesrc.c: (gst_base_src_wait),
2630         (gst_base_src_do_sync), (gst_base_src_get_range):
2631         Implement clock sync in base class.
2632
2633 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2634
2635         patch by: Tim-Philipp Müller <tim at centricular dot net>
2636
2637         * gst/gststructure.c: (gst_structure_parse_field),
2638         (gst_structure_from_string):
2639           Forward-port a 0.8 patch to handle escaped spaces in structure string,
2640           so that gst_parse_launch() can deal with spaces in filtered link
2641           caps (fixes #164479)
2642         * check/gst/capslist.h:
2643         * check/gst/gststructure.c: (GST_START_TEST):
2644           add unit tests for this change
2645
2646 2005-11-10  Wim Taymans  <wim@fluendo.com>
2647
2648         * docs/gst/gstreamer-sections.txt:
2649         * gst/gstelement.c:
2650         * gst/gstelement.h:
2651         Fix docs, move some STATE macros to private.
2652
2653 2005-11-10  Wim Taymans  <wim@fluendo.com>
2654
2655         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
2656         Added check for bug #317341
2657
2658         * gst/gstbuffer.c:
2659         * gst/gstbuffer.h:
2660         Some more spiffifying.
2661
2662         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
2663         Call peer linkfunction if we are a source pad. Totally fixes
2664         #317341
2665
2666         * gst/gstpad.c:
2667         Update docs, source pads should call the peer linkfunction
2668         so they can atomically perform the pad link.
2669
2670 2005-11-09  Wim Taymans  <wim@fluendo.com>
2671
2672         * gst/gstbuffer.c:
2673         * gst/gstbuffer.h:
2674         Uber-spiffy-spiffify some more.
2675
2676 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
2677
2678         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
2679         * gst/elements/gstfilesink.c: (gst_file_sink_init):
2680         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2681         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
2682         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
2683         * gst/gstpad.c: (gst_pad_init):
2684           Use GST_DEBUG_FUNCPTR() more extensively.
2685
2686 2005-11-09  Wim Taymans  <wim@fluendo.com>
2687
2688         * gst/gstobject.c: (gst_object_class_init):
2689         * gst/gstobject.h:
2690         Documentation fixes.
2691
2692 2005-11-09  Edward Hervey  <edward@fluendo.com>
2693
2694         * gst/gsttypefindfactory.c:
2695         Fix docs.
2696         
2697 2005-11-09  Edward Hervey  <edward@fluendo.com>
2698
2699         * gst/base/gsttypefindhelper.c:
2700         * gst/gsttypefind.c:
2701         * gst/gsttypefind.h:
2702         Fix docs.
2703
2704 2005-11-09  Wim Taymans  <wim@fluendo.com>
2705
2706         * gst/gstiterator.c:
2707         Fix revision data.
2708
2709         * gst/gsttask.c:
2710         * gst/gsttask.h:
2711         Fix docs.
2712
2713 2005-11-09  Wim Taymans  <wim@fluendo.com>
2714
2715         * gst/gstevent.h:
2716         * gst/gsturi.h:
2717         Fix docs.
2718
2719 2005-11-09  Wim Taymans  <wim@fluendo.com>
2720
2721         * docs/gst/gstreamer-sections.txt:
2722         Moved the message async delivery private lock and cond
2723         to the private section.
2724
2725         * gst/gstmessage.c:
2726         * gst/gstmessage.h:
2727         Fixed docs.
2728
2729 2005-11-09  Edward Hervey  <edward@fluendo.com>
2730
2731         * docs/gst/gstreamer-sections.txt:
2732         * gst/gsturi.c:
2733         * gst/gsturi.h:
2734         Document GstURIHandler
2735
2736 2005-11-09  Wim Taymans  <wim@fluendo.com>
2737
2738         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
2739         (gst_iterator_find_custom):
2740         * gst/gstiterator.h:
2741         Fix iterator docs.
2742
2743 2005-11-09  Wim Taymans  <wim@fluendo.com>
2744
2745         * gst/gstbin.h:
2746         Document another field.
2747
2748         * gst/gststructure.c:
2749         * gst/gststructure.h:
2750         Document.
2751
2752 2005-11-09  Wim Taymans  <wim@fluendo.com>
2753
2754         * gst/gstbin.h:
2755         Documented structs.
2756
2757 2005-11-09  Wim Taymans  <wim@fluendo.com>
2758
2759         * docs/gst/gstreamer-sections.txt:
2760         Added some new macros.
2761
2762         * gst/gstclock.c:
2763         * gst/gstclock.h:
2764         * gst/gstobject.h:
2765         Docs updates.
2766
2767 2005-11-09  Wim Taymans  <wim@fluendo.com>
2768
2769         * docs/design/part-TODO.txt:
2770         Some more items for the TODO
2771
2772         * gst/gstcaps.c:
2773         * gst/gstcaps.h:
2774         Document GstCaps.
2775
2776 2005-11-09  Andy Wingo  <wingo@pobox.com>
2777
2778         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
2779         to work on something else now tho...
2780
2781         * gst/base/gstadapter.c: More adapter docs.
2782
2783         * gst/elements/gstfilesink.c (gst_file_sink_start) 
2784         (gst_file_sink_stop): New functions, replace the state change
2785         handler.
2786         (gst_file_sink_class_init): Hook up the start and stop functions.
2787         (gst_file_sink_base_init): Don't set the state change handler any
2788         more. It was a bit ugly too, being set from here...
2789         (gst_file_sink_get_property, gst_file_sink_set_property):
2790         Cleanups...
2791         (gst_file_sink_set_location): More robust check that doesn't call
2792         GST_STATE. Ugggggg.
2793
2794 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
2795
2796         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2797           Hold STREAM_LOCK while pushing newsegment or tag events as well.
2798
2799 2005-11-08  Wim Taymans  <wim@fluendo.com>
2800
2801         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2802         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
2803         (gst_base_sink_chain), (gst_base_sink_change_state):
2804         * gst/base/gstbasesink.h:
2805         * gst/base/gstbasesrc.h:
2806         * gst/gstelement.h:
2807         * gst/gstevent.h:
2808         Avoid excessive typechecking in macros.
2809
2810         * gst/gstminiobject.c: (gst_mini_object_get_type),
2811         (gst_mini_object_init), (gst_mini_object_new),
2812         (gst_mini_object_free):
2813         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
2814         (gst_object_finalize):
2815         Remove cruft code, optimize alloc_trace.
2816
2817 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2818
2819         * docs/faq/gst-uninstalled:
2820           fix up PS1 for systems that try to reset it
2821
2822 2005-11-07  Wim Taymans  <wim@fluendo.com>
2823
2824         * gst/base/gstbasesrc.c: (gst_base_src_init),
2825         (gst_base_src_get_range):
2826         Set the segment_end to -1 initially. Fixed typefind.
2827
2828 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2829
2830         * gst/base/gstadapter.c:
2831           Debug category should be 'adapter', not 'GstAdapter'.
2832           
2833         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
2834         (gst_collectpads_class_init), (gst_collectpads_init),
2835         (gst_collectpads_peek), (gst_collectpads_pop),
2836         (gst_collectpads_event), (gst_collectpads_chain):
2837           Add debug category and some debugging output. Use boilerplate
2838           macros. Remove some extraneous words from docs.
2839
2840 2005-11-05  Andy Wingo  <wingo@pobox.com>
2841
2842         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
2843         macro.
2844
2845 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2846
2847         * docs/gst/gstreamer-sections.txt:
2848         * gst/gstcaps.h:
2849         * gst/gstinfo.c:
2850         * gst/gstminiobject.h:
2851         * gst/gstobject.h:
2852         * gst/gstutils.h:
2853           more docs added
2854
2855 2005-11-04  Wim Taymans  <wim@fluendo.com>
2856
2857         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2858         Small update to stop at the configured segment_end
2859         position.
2860
2861 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2862
2863         * gst/gstregistry.c:
2864         * gst/gstregistry.h:
2865           added missing docs
2866
2867 2005-11-04  Edward Hervey  <edward@fluendo.com>
2868
2869         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2870         Check if we are doing a segment seek and have arrived at the
2871         end of that segment.
2872
2873 2005-11-04  Wim Taymans  <wim@fluendo.com>
2874
2875         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
2876         Don't leak a mutex unlock in case of an error.
2877
2878         * gst/gstbus.h:
2879         Doc fixes.
2880
2881 2005-11-04  Wim Taymans  <wim@fluendo.com>
2882
2883         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
2884         (gst_bus_post):
2885         Get the context to wake up only once.
2886
2887 2005-11-03  Wim Taymans  <wim@fluendo.com>
2888
2889         * check/states/sinks.c: (GST_START_TEST):
2890         Uncomment fixed check.
2891
2892         * docs/design/part-TODO.txt:
2893         Updated TODO.
2894
2895         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2896         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2897         (gst_base_sink_get_position):
2898         If we are going to PLAYING, post the right pending state
2899         when we post the intermediate paused message.
2900
2901         * gst/gstelement.c: (gst_element_continue_state),
2902         (gst_element_set_state_func), (gst_element_change_state):
2903         Don't post state changes that were between the same state
2904         and were not ASYNC.
2905
2906 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2907
2908         * docs/gst/gstreamer-sections.txt:
2909         * gst/gstcaps.h:
2910         * gst/gstinfo.c:
2911         * gst/gstminiobject.h:
2912         * gst/gstobject.h:
2913         * gst/gstutils.h:
2914           more docs and doc style fixes
2915
2916 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2917
2918         * docs/gst/gstreamer-sections.txt:
2919         * gst/gstelement.c:
2920         * gst/gstminiobject.c:
2921         doc fixes
2922
2923 2005-11-03  Andy Wingo  <wingo@pobox.com>
2924
2925         * check/states/sinks.c (test_livesrc_sink): Add checks that the
2926         state-changed messages actually have the right order and the right
2927         values.
2928
2929 2005-11-03  Wim Taymans  <wim@fluendo.com>
2930
2931         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
2932         Added some more checks. Specifically the case where NO_PREROLL
2933         elements are in the pipeline.
2934
2935         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2936         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2937         (gst_base_sink_get_position):
2938         Post READY->PAUSED state change messages too.
2939         Fix bug where VOID was posted as pending state...
2940
2941         * gst/gstbin.c: (gst_bin_recalc_state):
2942         use _element_continue_state() to continue the state change.
2943
2944         * gst/gstelement.c: (gst_element_continue_state),
2945         (gst_element_commit_state), (gst_element_set_state_func),
2946         (gst_element_change_state), (gst_element_change_state_func):
2947         Lots of state change cleanups, assign the STATE_RETURN in
2948         a new continue_state() function that also propagates the
2949         last return value from a state change to the app.
2950         Update some debug statements with proper category.
2951
2952 2005-11-03  Wim Taymans  <wim@fluendo.com>
2953
2954         * docs/design/part-events.txt:
2955         * docs/design/part-gstpipeline.txt:
2956         * docs/design/part-messages.txt:
2957         * docs/design/part-overview.txt:
2958         * docs/design/part-seeking.txt:
2959         * docs/design/part-states.txt:
2960         * docs/design/part-trickmodes.txt:
2961         * docs/manual/advanced-position.xml:
2962         Small docs updates.
2963
2964         * gst/gstobject.h:
2965         People think !! is ugly, this looks better.
2966
2967         * gst/gstpad.c: (gst_pad_set_blocked_async):
2968         Remove !! since it's fixed elsewhere now.
2969
2970 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2971
2972         * gst/gstminiobject.h:
2973         * gst/gstobject.h:
2974           Add !! to _FLAG_IS_SET macros to make the result boolean.
2975
2976 2005-11-03  Edward Hervey  <edward@fluendo.com>
2977
2978         * gst/gstpad.c: (gst_pad_set_blocked_async):
2979         comparing a flag and a gboolean rarely returns coherent results...
2980         Added two characters (!!) to make that work correctly.
2981         
2982 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2983
2984         * gst/gstbus.c: (gst_bus_class_init):
2985           Fix some typos.
2986           
2987         * gst/gstqueue.c: (gst_queue_loop):
2988           Don't assume a miniobject that isn't a buffer is an
2989           event (it could be that there is a refcounting
2990           problem somewhere and the pointer is stale and
2991           refers to an already destroyed miniobject).
2992
2993 2005-11-03  Julien MOUTTE  <julien@moutte.net>
2994
2995         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
2996
2997 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2998
2999         * docs/manual/advanced-position.xml:
3000           Update seek example and explanations to current 0.9 API.
3001
3002         * gst/elements/gsttypefindelement.c:
3003         (gst_type_find_element_activate):
3004           Remove FIXME comment now that the found caps
3005           are unreffed.
3006
3007 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3008
3009         * gst/gstregistryxml.c: (load_feature):
3010           Add another GST_STR_NULL instance
3011
3012 2005-11-02  Edward Hervey  <edward@fluendo.com>
3013
3014         * gst/gstpad.c: (handle_pad_block):
3015         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
3016         
3017 2005-11-02  Wim Taymans  <wim@fluendo.com>
3018
3019         * gst/gstbin.c:
3020         Fix typo in docs.
3021
3022         * gst/gstelement.c: (gst_element_commit_state):
3023         Remove unused value.
3024
3025         * gst/gstiterator.c:
3026         Mention that the returned element is reffed in the docs.
3027
3028 2005-11-02  Wim Taymans  <wim@fluendo.com>
3029
3030         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
3031         (gst_pad_push), (gst_pad_push_event):
3032         Unlock blocked pads when they are flushed.
3033
3034 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3035
3036         * docs/README:
3037         * docs/gst/gstreamer-sections.txt:
3038         * gst/gstbin.c:
3039           doc updates
3040         * gst/gstregistry.c: (gst_registry_scan_path_level):
3041           fix for a nasty little missed situation where an installed plug-in
3042           which was in the cache did not get overridden by an uninstalled one
3043           which was earlier in the plugin path because the newly created plugin
3044           for the uninstalled one (not in the registry) didn't get its
3045           ->registered set to TRUE
3046
3047 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3048
3049         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
3050         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
3051         (gst_collectpads_is_active), (gst_collectpads_collect),
3052         (gst_collectpads_collect_range), (gst_collectpads_start),
3053         (gst_collectpads_stop), (gst_collectpads_peek),
3054         (gst_collectpads_pop), (gst_collectpads_available),
3055         (gst_collectpads_read), (gst_collectpads_flush):
3056           Guard public API with assertions.
3057         
3058         * gst/gstpad.c:
3059           Fix docs for gst_pad_set_link_function().
3060
3061 2005-11-02  Johan Dahlin  <johan@gnome.org>
3062
3063         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
3064         Unref found_caps after we used it.
3065
3066 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3067
3068         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
3069           Don't try to ref NULL.
3070
3071 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3072
3073         * win32/common/config.h.in:
3074           provide a GST_FUNCTION that just gives a string for now
3075
3076 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3077
3078         * win32/common/gstenumtypes.c: (register_gst_object_flags),
3079         (gst_object_flags_get_type), (register_gst_bin_flags),
3080         (gst_bin_flags_get_type), (register_gst_buffer_flag),
3081         (gst_buffer_flag_get_type), (register_gst_bus_flags),
3082         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3083         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
3084         (gst_clock_return_get_type), (register_gst_clock_entry_type),
3085         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3086         (gst_clock_flags_get_type), (register_gst_state),
3087         (gst_state_get_type), (register_gst_state_change_return),
3088         (gst_state_change_return_get_type), (register_gst_state_change),
3089         (gst_state_change_get_type), (register_gst_element_flags),
3090         (gst_element_flags_get_type), (register_gst_core_error),
3091         (gst_core_error_get_type), (register_gst_library_error),
3092         (gst_library_error_get_type), (register_gst_resource_error),
3093         (gst_resource_error_get_type), (register_gst_stream_error),
3094         (gst_stream_error_get_type), (register_gst_event_type),
3095         (gst_event_type_get_type), (register_gst_seek_type),
3096         (gst_seek_type_get_type), (register_gst_seek_flags),
3097         (gst_seek_flags_get_type), (register_gst_format),
3098         (gst_format_get_type), (register_gst_index_certainty),
3099         (gst_index_certainty_get_type), (register_gst_index_entry_type),
3100         (gst_index_entry_type_get_type),
3101         (register_gst_index_lookup_method),
3102         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3103         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3104         (gst_index_resolver_method_get_type), (register_gst_index_flags),
3105         (gst_index_flags_get_type), (register_gst_debug_level),
3106         (gst_debug_level_get_type), (register_gst_debug_color_flags),
3107         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3108         (gst_iterator_result_get_type), (register_gst_iterator_item),
3109         (gst_iterator_item_get_type), (register_gst_message_type),
3110         (gst_message_type_get_type), (register_gst_mini_object_flags),
3111         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3112         (gst_pad_link_return_get_type), (register_gst_flow_return),
3113         (gst_flow_return_get_type), (register_gst_activate_mode),
3114         (gst_activate_mode_get_type), (register_gst_pad_direction),
3115         (gst_pad_direction_get_type), (register_gst_pad_flags),
3116         (gst_pad_flags_get_type), (register_gst_pad_presence),
3117         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3118         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3119         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3120         (gst_plugin_error_get_type), (register_gst_plugin_flags),
3121         (gst_plugin_flags_get_type), (register_gst_rank),
3122         (gst_rank_get_type), (register_gst_query_type),
3123         (gst_query_type_get_type), (register_gst_tag_merge_mode),
3124         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3125         (gst_tag_flag_get_type), (register_gst_task_state),
3126         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3127         (gst_alloc_trace_flags_get_type),
3128         (register_gst_type_find_probability),
3129         (gst_type_find_probability_get_type), (register_gst_uri_type),
3130         (gst_uri_type_get_type), (register_gst_parse_error),
3131         (gst_parse_error_get_type):
3132         * win32/common/gstversion.h:
3133           update win32 copies
3134
3135 2005-11-01  Luca Ognibene  <luogni@tin.it>
3136
3137         * gst/gst.c:
3138           fix docs. popt is dead, long live GOption.
3139
3140 2005-10-31  Wim Taymans  <wim@fluendo.com>
3141
3142         * gst/gstbuffer.h:
3143         Small doc fix.
3144
3145 2005-10-31  Andy Wingo  <wingo@pobox.com>
3146
3147         * Boo!
3148
3149         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
3150
3151         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
3152         need to serialize property notifications on GLib 2.8. GLib 2.6 has
3153         the possibility of deadlocks here if code calling notify() or
3154         set() has a lock that can be taken in another notify handler (ABBA
3155         with class lock and e.g. python GIL state lock).
3156
3157 2005-10-28  Julien MOUTTE  <julien@moutte.net>
3158
3159         * gst/gstbus.c: Doc updates.
3160
3161 2005-10-28  Wim Taymans  <wim@fluendo.com>
3162
3163         * docs/design/part-TODO.txt:
3164         * gst/gstiterator.c:
3165         * gst/gstsystemclock.c:
3166         * gst/gstsystemclock.h:
3167         Doc updates.
3168
3169 2005-10-28  Edward Hervey  <edward@fluendo.com>
3170
3171         * docs/gst/gstreamer-docs.sgml:
3172         * docs/gst/gstreamer-sections.txt:
3173         the GstURIType documentation page is private, it only defines GstURIType
3174         which should be defined in the GstURIHandler page
3175         
3176 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3177
3178         * gst/gstbin.c: (gst_bin_class_init):
3179         * gst/gstbin.h:
3180         * gst/gstutils.c:
3181         Documentation updates.
3182
3183 2005-10-28  Wim Taymans  <wim@fluendo.com>
3184
3185         * docs/gst/gstreamer-sections.txt:
3186         * gst/gstclock.c:
3187         * gst/gstclock.h:
3188         Documented the clocks.
3189
3190 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
3191
3192         * docs/gst/gstreamer-sections.txt:
3193           move some macros to private sections
3194         * gst/gstminiobject.c:
3195         * gst/gstminiobject.h:
3196           add descriptions provided by ds and some more
3197         * gst/gstpad.h:
3198           mark macro as to be removed
3199
3200 2005-10-28  Wim Taymans  <wim@fluendo.com>
3201
3202         * docs/design/part-TODO.txt:
3203         Add an item to TODO.
3204
3205         * gst/gstiterator.c: (gst_iterator_fold),
3206         (gst_iterator_find_custom):
3207         * gst/gstiterator.h:
3208         Add iterator docs.
3209
3210 2005-10-28  Wim Taymans  <wim@fluendo.com>
3211
3212         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3213         (gst_base_transform_init):
3214         Don't leak class.
3215
3216         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3217         An EOS event marks the queue as completely filled.
3218
3219 2005-10-27  Wim Taymans  <wim@fluendo.com>
3220
3221         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3222         (gst_base_sink_do_sync), (gst_base_sink_get_position):
3223         Some more debugging.
3224
3225         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3226         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3227         (gst_base_transform_event), (gst_base_transform_getrange),
3228         (gst_base_transform_chain):
3229         * gst/base/gstbasetransform.h:
3230         Fix debugging,
3231         Protect transform and concurrent buffer alloc with a new lock.
3232         Try not to break ABI/API.
3233
3234 2005-10-27  Wim Taymans  <wim@fluendo.com>
3235
3236         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3237         (gst_base_src_init), (gst_base_src_query),
3238         (gst_base_src_default_newsegment),
3239         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3240         (gst_base_src_send_event), (gst_base_src_event_handler),
3241         (gst_base_src_pad_get_range), (gst_base_src_loop),
3242         (gst_base_src_unlock), (gst_base_src_default_negotiate),
3243         (gst_base_src_start), (gst_base_src_deactivate),
3244         (gst_base_src_activate_push), (gst_base_src_change_state):
3245         Move some stuff around and cleanup things.
3246
3247 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
3248
3249         * gst/base/gstbasesrc.c: (gst_base_src_query):
3250           Add missing break statements.
3251
3252 2005-10-27  Wim Taymans  <wim@fluendo.com>
3253
3254         * check/gst/gstbin.c: (GST_START_TEST):
3255         An extra refcount is taken in basesrc.
3256
3257         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3258         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3259         (gst_base_src_loop):
3260         Small cleanups, check for flushing after being unlocked from the 
3261         LIVE_LOCK. take refcounts correctly (not yet everywhere).
3262         Don't send out EOS when going to READY.
3263
3264 2005-10-27  Wim Taymans  <wim@fluendo.com>
3265
3266         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3267         (gst_base_sink_get_position):
3268         Some more debug.
3269
3270         * gst/gstbin.c: (message_check), (bin_replace_message),
3271         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3272         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3273         (bin_query_duration_init), (bin_query_duration_fold),
3274         (bin_query_duration_done), (bin_query_generic_fold),
3275         (gst_bin_query):
3276         * tools/gst-launch.c: (main):
3277         Remove old option.
3278
3279 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
3280
3281         * examples/controller/audio-example.c: (main):
3282         * examples/queue/queue.c: (event_loop):
3283         * gst/base/gstbasetransform.h:
3284         * gst/gstelement.c: (gst_element_send_event):
3285         * gst/gstevent.h:
3286         * gst/gstpad.c: (gst_pad_send_event):
3287           fixing examples
3288           fixing docs typos
3289           changing log priority in error situations
3290
3291 2005-10-25  Wim Taymans  <wim@fluendo.com>
3292
3293         * gst/gstbin.c: (message_check), (bin_replace_message),
3294         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3295         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3296         (bin_query_duration_init), (bin_query_duration_fold),
3297         (bin_query_duration_done), (bin_query_generic_fold),
3298         (gst_bin_query):
3299         Some doc and debug updates.
3300         Cache previously requested query DURATION for speed. invalidate
3301         cached duration if element posts a DURATION message.
3302
3303 2005-10-25  Wim Taymans  <wim@fluendo.com>
3304
3305         * docs/design/part-TODO.txt:
3306         Update TODO.
3307
3308         * gst/gstbin.c: (message_check), (bin_replace_message),
3309         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3310         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3311         (bin_query_duration_init), (bin_query_duration_fold),
3312         (bin_query_duration_done), (bin_query_generic_fold),
3313         (gst_bin_query):
3314         Handle SEGMENT_START/DONE messages correctly.
3315         More evolved query algorithm that handles duration queries
3316         correctly.
3317
3318         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3319         (gst_element_get_state_func), (gst_element_abort_state),
3320         (gst_element_commit_state), (gst_element_lost_state):
3321         Some more debugging.
3322
3323         * gst/gstmessage.h:
3324         Added doc.
3325
3326 2005-10-25  Wim Taymans  <wim@fluendo.com>
3327
3328         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3329         Don't use invalid stream_time.
3330
3331         * gst/gstevent.c: (gst_event_new_newsegment):
3332         stream_time in newsegment cannot be undefined.
3333
3334 2005-10-24  Wim Taymans  <wim@fluendo.com>
3335
3336         * gst/gstbus.c:
3337         Doc fix.
3338
3339         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3340         (gst_queue_loop):
3341         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3342
3343 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
3344
3345         * docs/libs/tmpl/gstdparam.sgml:
3346         * docs/libs/tmpl/gstdplinint.sgml:
3347         * docs/libs/tmpl/gstdpman.sgml:
3348         * docs/libs/tmpl/gstdpsmooth.sgml:
3349         * docs/libs/tmpl/gstunitconvert.sgml:
3350           these are obsolete
3351
3352 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3353
3354         * configure.ac:
3355           back to HEAD
3356
3357 === release 0.9.4 ===
3358
3359 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3360
3361         * configure.ac:
3362           releasing 0.9.4, "Tyrannosaurus Rex"
3363
3364 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
3365
3366         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3367         (gst_file_sink_get_current_offset):
3368           Use fseeko() and ftello() if available. When falling back on
3369           lseek() to get the current offset, fflush() first to make sure
3370           everything is up-to-date and we get the right offset.
3371
3372 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3373
3374         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3375         * gst/base/gstbasesrc.c: (gst_base_src_loop):
3376         * gst/gsterror.c: (_gst_stream_errors_init):
3377         * gst/gsterror.h:
3378         * gst/gstqueue.c: (gst_queue_loop):
3379         * po/POTFILES.in:
3380           remove prematurely added error category and clean up the instances
3381
3382 2005-10-21  Wim Taymans  <wim@fluendo.com>
3383
3384         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3385         (gst_base_sink_get_position), (gst_base_sink_query),
3386         (gst_base_sink_change_state):
3387         Simply set the right flag when going to playing, that's all
3388         we need to do instead of calling a function inside the object
3389         lock (that could take the lock as well and deadlock)
3390
3391 2005-10-21  Wim Taymans  <wim@fluendo.com>
3392
3393         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
3394         (gst_base_src_loop):
3395         Don't warn, the peer element knows what to do best when
3396         the seek failed, it might try something else.
3397
3398 2005-10-21  Wim Taymans  <wim@fluendo.com>
3399
3400         * gst/base/gstbasesrc.c: (gst_base_src_init),
3401         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3402         Fix seeking.
3403
3404 2005-10-21  Wim Taymans  <wim@fluendo.com>
3405
3406         * docs/design/part-segments.txt:
3407         More docs.
3408
3409         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3410         Correctly set caps, even on the subbufer.
3411
3412 2005-10-21  Wim Taymans  <wim@fluendo.com>
3413
3414         * docs/gst/gstreamer-docs.sgml:
3415         * docs/gst/gstreamer-sections.txt:
3416         * gst/gstelement.h:
3417         * gst/gstevent.c:
3418         * gst/gstevent.h:
3419         * gst/gstmessage.h:
3420         * gst/gstpad.h:
3421         * gst/gstparse.h:
3422         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
3423         * gst/gsttask.h:
3424         * gst/gstutils.c:
3425         * gst/gstutils.h:
3426         And 2% more doc coverage.
3427
3428 2005-10-21  Andy Wingo  <wingo@pobox.com>
3429
3430         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
3431         position reporting.
3432
3433 2005-10-20  Wim Taymans  <wim@fluendo.com>
3434
3435         * gst/gsterror.c: (gst_error_get_message):
3436         * gst/gstparse.h:
3437         * gst/gstquery.h:
3438         * gst/gststructure.c:
3439         * gst/gsttrace.c:
3440         * gst/gstutils.c:
3441         More docs.
3442
3443 2005-10-20  Wim Taymans  <wim@fluendo.com>
3444
3445         * gst/gstbuffer.h:
3446         * gst/gstpad.c:
3447         * gst/gstparse.c:
3448         Another 1% more coverage.
3449
3450 2005-10-20  Wim Taymans  <wim@fluendo.com>
3451
3452         * docs/gst/gstreamer-sections.txt:
3453         * gst/gstelement.c: (gst_element_get_state_func),
3454         (gst_element_abort_state), (gst_element_commit_state),
3455         (gst_element_lost_state):
3456         * gst/gstevent.h:
3457         * gst/gstquery.c: (gst_query_set_position),
3458         (gst_query_parse_position), (gst_query_set_duration),
3459         (gst_query_parse_duration), (gst_query_new_convert):
3460         * gst/gstutils.c:
3461         Yay! 1% more docs coverage.
3462
3463 2005-10-20  Wim Taymans  <wim@fluendo.com>
3464
3465         * gst/gstpad.h:
3466         * gst/gstquery.c: (gst_query_set_position),
3467         (gst_query_parse_position), (gst_query_set_duration),
3468         (gst_query_parse_duration), (gst_query_new_convert):
3469         * gst/gstquery.h:
3470         * gst/gstutils.c: (gst_element_query_convert):
3471         * gst/gstutils.h:
3472         Docs and consistency fixes.
3473
3474 2005-10-20  Wim Taymans  <wim@fluendo.com>
3475
3476         * gst/gsttask.c:
3477         * gst/gsttask.h:
3478         More docs.
3479
3480 2005-10-20  Wim Taymans  <wim@fluendo.com>
3481
3482         * gst/gstbin.c: (message_check), (bin_replace_message),
3483         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3484         (update_degree), (gst_bin_sort_iterator_next),
3485         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
3486         Reworked the message handling a bit, cache the messages instead of
3487         only the senders. alows us to do more in the future.
3488
3489 2005-10-20  Wim Taymans  <wim@fluendo.com>
3490
3491         * docs/design/part-TODO.txt:
3492         Update TODO
3493
3494         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3495         (gst_base_sink_query):
3496         Don't use clock time to report position when in EOS.
3497
3498 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
3499
3500         * tools/gst-inspect.c: (print_interfaces),
3501         (print_element_properties_info), (print_element_info):
3502           Fix interface output with gst-inspect -a; don't print
3503           newlines after double/float properties.
3504
3505 2005-10-20  Wim Taymans  <wim@fluendo.com>
3506
3507         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3508         (gst_base_sink_query):
3509         Speed up current position calculation.
3510
3511         * gst/base/gstbasesrc.c: (gst_base_src_query),
3512         (gst_base_src_default_newsegment):
3513         Correctly set stream position in newsegment.
3514
3515         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
3516         (update_degree), (gst_bin_sort_iterator_next),
3517         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
3518         * gst/gstmessage.c: (gst_message_new_custom):
3519         Clean up debugging info
3520
3521         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
3522         (gst_queue_loop), (gst_queue_handle_src_query):
3523         Pause task faster.
3524
3525 2005-10-19  Wim Taymans  <wim@fluendo.com>
3526
3527         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3528         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3529         Fix query handling again.
3530
3531 2005-10-19  Wim Taymans  <wim@fluendo.com>
3532
3533         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3534         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3535         * gst/base/gstbasesrc.c: (gst_base_src_query):
3536         * gst/elements/gstfilesink.c: (gst_file_sink_query):
3537         * gst/elements/gsttypefindelement.c:
3538         (gst_type_find_handle_src_query), (find_element_get_length),
3539         (gst_type_find_element_activate):
3540         API change fix.
3541
3542         * gst/gstquery.c: (gst_query_new_position),
3543         (gst_query_set_position), (gst_query_parse_position),
3544         (gst_query_new_duration), (gst_query_set_duration),
3545         (gst_query_parse_duration), (gst_query_set_segment),
3546         (gst_query_parse_segment):
3547         * gst/gstquery.h:
3548         Bundling query position/duration is not a good idea since duration
3549         does not change much and we don't want to recalculate it for every
3550         position query, so they are separated again..
3551         Base value in segment query is not needed.
3552
3553         * gst/gstqueue.c: (gst_queue_handle_src_query):
3554         * gst/gstutils.c: (gst_element_query_position),
3555         (gst_element_query_duration), (gst_pad_query_position),
3556         (gst_pad_query_duration):
3557         * gst/gstutils.h:
3558         Updates for query API change.
3559         Added some docs here and there.
3560
3561 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3562
3563         * check/gst/gstbin.c: (GST_START_TEST):
3564         * check/gst/gstghostpad.c: (GST_START_TEST):
3565         * check/pipelines/cleanup.c: (GST_START_TEST):
3566           wait on thread to die so we can check refcount correctly
3567
3568 2005-10-18  Wim Taymans  <wim@fluendo.com>
3569
3570         * check/pipelines/stress.c: (GST_START_TEST):
3571         Make check a little more time consuming.
3572
3573 2005-10-18  Wim Taymans  <wim@fluendo.com>
3574
3575         * check/Makefile.am:
3576         * check/pipelines/stress.c: (GST_START_TEST),
3577         (simple_launch_lines_suite), (main):
3578         Small state change torture test.
3579
3580         * docs/design/part-states.txt:
3581         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3582         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
3583         (gst_base_sink_change_state):
3584         Never take state lock from streaming thread, clean up ugly
3585         hacks. Unfortunatly core does not yet support nice ways to
3586         async commit state.
3587         
3588         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
3589         (bin_bus_handler):
3590         Start state recalc if a STATE_DIRTY message is posted, but only
3591         on the toplevel bin.
3592
3593         * gst/gstelement.c: (gst_element_sync_state_with_parent),
3594         (gst_element_get_state_func), (gst_element_abort_state),
3595         (gst_element_commit_state), (gst_element_lost_state),
3596         (gst_element_set_state_func), (gst_element_change_state):
3597         * gst/gstelement.h:
3598         State variables are now protected with the LOCK, the state
3599         lock is only used to serialize _set_state().
3600
3601 2005-10-18  Wim Taymans  <wim@fluendo.com>
3602
3603         * check/gst/gstbin.c: (GST_START_TEST):
3604         * check/gst/gstmessage.c: (GST_START_TEST):
3605         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3606         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
3607         (bin_bus_handler):
3608         * gst/gstelement.c: (gst_element_abort_state),
3609         (gst_element_commit_state), (gst_element_lost_state):
3610         * gst/gstmessage.c: (gst_message_new_state_changed),
3611         (gst_message_new_state_dirty), (gst_message_new_segment_start),
3612         (gst_message_new_segment_done), (gst_message_new_duration),
3613         (gst_message_parse_state_changed),
3614         (gst_message_parse_segment_start),
3615         (gst_message_parse_segment_done), (gst_message_parse_duration):
3616         * gst/gstmessage.h:
3617         * tools/gst-launch.c: (event_loop):
3618         Seriously, this is better than a previous commit as we only need
3619         to notify the fact that an element changed state in a streaming
3620         thread, marking the state of the parents dirty, hence the 
3621         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
3622         message.
3623
3624 2005-10-18  Wim Taymans  <wim@fluendo.com>
3625
3626         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
3627         (gst_bin_recalc_func):
3628         * gst/gstelement.c: (gst_element_set_clock),
3629         (gst_element_abort_state), (gst_element_lost_state):
3630         Cleanups, prepare for state change fixes.
3631
3632 2005-10-18  Wim Taymans  <wim@fluendo.com>
3633
3634         * gst/gstbin.h:
3635         * gst/gstelement.c: (gst_element_class_init),
3636         (gst_element_set_state), (gst_element_set_state_func):
3637         * gst/gstelement.h:
3638         Pending ABI changes.
3639         GThreadPool in GstBinClass to monitor async state changes.
3640         state_cookie in GstElement to detect concurrent gst/set state.
3641         set_state is now virtual too in case a very complicated element
3642         has to be constructed.
3643
3644 2005-10-18  Wim Taymans  <wim@fluendo.com>
3645
3646         * check/gst/gstbin.c: (GST_START_TEST):
3647         * check/gst/gstmessage.c: (GST_START_TEST):
3648         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3649         * gst/gstbin.c: (bin_bus_handler):
3650         * gst/gstelement.c: (gst_element_commit_state),
3651         (gst_element_lost_state):
3652         * gst/gstmessage.c: (gst_message_new_state_changed),
3653         (gst_message_new_segment_start), (gst_message_new_segment_done),
3654         (gst_message_new_duration), (gst_message_parse_state_changed),
3655         (gst_message_parse_segment_start),
3656         (gst_message_parse_segment_done), (gst_message_parse_duration):
3657         * gst/gstmessage.h:
3658         * tools/gst-launch.c: (event_loop):
3659         Make messages future proof.
3660         state-change gets a flag if it was a message comming from the
3661         streaming thread.
3662         segment-start/stop can also be specified in other formats.
3663         A message to notify an app that a pipeline changed playback 
3664         duration.
3665         Also fix a GstMessage leak in -launch
3666
3667 2005-10-18  Andy Wingo  <wingo@pobox.com>
3668
3669         * gst/gstelement.c (gst_element_dispose): More helpful message.
3670
3671 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3672
3673         reviewed by: <delete if not using a buddy>
3674
3675         * common/gtk-doc.mak:
3676
3677 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3678
3679         * gst/gstregistry.c: (gst_registry_scan_path_level):
3680           unref a plug-in we get that was already initialized
3681
3682 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
3683
3684         * docs/gst/gstreamer-sections.txt:
3685         * docs/libs/gstreamer-libs-sections.txt:
3686         * gst/gstelement.h:
3687           add new api entries
3688           hide internal macro
3689
3690 2005-10-17  Andy Wingo  <wingo@pobox.com>
3691
3692         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
3693         cleanup.
3694
3695         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
3696
3697         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
3698
3699         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
3700         (gst_element_get_state_func): Better debug message.
3701         (gst_element_commit_state): s/INFO/DEBUG/.
3702         (gst_element_lost_state, gst_element_change_state): 
3703
3704         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
3705         (gst_message_new_custom): s/INFO/LOG/.
3706
3707 2005-10-17  Michael Smith <msmith@fluendo.com>
3708
3709         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3710           Check if end time is valid using end time, not start time.
3711
3712 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
3713
3714         * check/gst-libs/controller.c: (GST_START_TEST),
3715         (gst_controller_suite):
3716         * libs/gst/controller/gstcontroller.c:
3717         (gst_controlled_property_set_interpolation_mode):
3718         * libs/gst/controller/gstcontroller.h:
3719         * libs/gst/controller/gstinterpolation.c:
3720         * testsuite/controller/.cvsignore:
3721         * testsuite/controller/Makefile.am:
3722         * testsuite/controller/interpolator.c:
3723           merge controller testsuites
3724           fix broken tests
3725           remove mem-chunk from docs
3726
3727 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3728
3729         * gst/gstmemchunk.c:
3730         * gst/gstmemchunk.h:
3731         * gst/gsttrashstack.c:
3732         * gst/gsttrashstack.h:
3733           out.  get out.  you're fired.  to the Attic !
3734
3735 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3736
3737         * gst/gstcaps.c: (gst_caps_intersect):
3738           fix signedness issues in a (hopefully) correct way
3739         * gst/gstelement.c: (gst_element_pads_activate):
3740           some debugging
3741         * gst/gstobject.c: (gst_object_set_parent):
3742           some debugging
3743
3744 2005-10-17  Julien MOUTTE  <julien@moutte.net>
3745
3746         * gst/gstvalue.h: Fix prototypes.
3747
3748 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3749
3750         * docs/gst/gstreamer-sections.txt:
3751         * gst/gst.c: (gst_version_string):
3752         * gst/gst.h:
3753         * gst/gstversion.h.in:
3754         * win32/common/libgstreamer.def:
3755           add gst_version_string ()
3756
3757 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3758
3759         * configure.ac:
3760           clean up further
3761         * gst/gst.c: (init_post):
3762         * win32/common/config.h.in:
3763           it's PLUGINDIR now
3764         * gst/gstcaps.c: (gst_caps_intersect):
3765           use gint64, the range could be bigger than a guint
3766
3767 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3768
3769         * gst/gstclock.h:
3770           document potential problem in 2038
3771
3772 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3773
3774         * gst/gstcaps.c: (gst_caps_intersect):
3775           Fix guint j diving under 0
3776
3777 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3778
3779         * configure.ac:
3780         * win32/common/config.h:
3781         * win32/common/config.h.in:
3782           check for process.h, declares getpid() on Windows
3783         * gst/gstinfo.c:
3784           include process.h if we have it
3785         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
3786         * gst/gstmemchunk.h:
3787           fix signedness issues
3788         * win32/common/libgstreamer.def:
3789           fix get_type's
3790
3791 2005-10-16  Julien MOUTTE  <julien@moutte.net>
3792
3793         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
3794         fix. Because of unsigned ints, caps intersection was going nuts and
3795         trying to access structures with G_MAXUINT index. That fixes
3796         videotestsrc ! ffmpegcolorspace ! fakesink
3797         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
3798         consistency.
3799
3800 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3801
3802         * configure.ac:
3803           use the gettext macro
3804         * gst/elements/gstelements.c:
3805         * gst/gst.c:
3806         * gst/indexers/gstindexers.c:
3807           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
3808         * win32/common/config.h:
3809           updated config.h
3810         * win32/common/config.h.in:
3811           add the template to generate config.h
3812         * win32/common/gstenumtypes.c:
3813         * win32/common/gstversion.h:
3814           updated copies
3815
3816 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3817
3818         * gst/gst.c: (gst_version):
3819         * gst/gstversion.h.in:
3820           add the nano
3821
3822 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3823
3824         * gst/gstevent.h:
3825           Oops, add missing closing bracket.
3826
3827 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3828
3829         * configure.ac:
3830           use common m4's for argument checking
3831
3832 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3833
3834         * docs/gst/gstreamer-sections.txt:
3835         * gst/gstevent.h:
3836           Add GST_EVENT_TYPE_NAME() macro.
3837
3838 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3839
3840         * gst/gstinfo.c:
3841         * gst/gstpluginfeature.c:
3842         * gst/gsttask.c:
3843           privatize more symbols
3844
3845 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3846
3847         * configure.ac:
3848           add srcdir, builddir includes to GST_ALL_CFLAGS, since
3849           everything that uses GStreamer API should have the includes
3850
3851 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3852
3853         * docs/gst/gstreamer-sections.txt:
3854         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
3855         * gst/gstvalue.h:
3856           give each value a _get_type, removes the DATA exports
3857
3858 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3859
3860         * gst/gst.c:
3861         * gst/gst.h:
3862           remove _gst_registry_auto_load, not used anymore
3863         * gst/gstbin.c: (gst_bin_get_type):
3864         * gst/gstbin.h:
3865         * gst/gstelement.c: (gst_element_get_type):
3866         * gst/gstelement.h:
3867         * gst/gstobject.c: (gst_object_get_type):
3868         * gst/gstobject.h:
3869         * gst/gstpad.c: (gst_pad_get_type):
3870         * gst/gstpad.h:
3871           make _get_type functions similar, fixes data export from library
3872
3873 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3874
3875         * configure.ac:
3876           correctly make conditionals
3877         * gst/elements/Makefile.am:
3878         * gst/elements/gstelements.c:
3879           fix typo causing fdsrc not to build
3880
3881 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3882
3883         * testsuite/Makefile.am:
3884         * testsuite/bytestream/.cvsignore:
3885         * testsuite/bytestream/Makefile.am:
3886         * testsuite/bytestream/filepadsink.c:
3887         * testsuite/bytestream/gstbstest.c:
3888         * testsuite/bytestream/test1.c:
3889         * testsuite/bytestream/testfile1:
3890         * testsuite/caps/normalisation.c:
3891         * testsuite/caps/random.c: (main):
3892         * testsuite/cleanup/.cvsignore:
3893         * testsuite/cleanup/Makefile.am:
3894         * testsuite/cleanup/cleanup1.c:
3895         * testsuite/cleanup/cleanup2.c:
3896         * testsuite/cleanup/cleanup3.c:
3897         * testsuite/cleanup/cleanup4.c:
3898         * testsuite/cleanup/cleanup5.c:
3899         * testsuite/controller/interpolator.c:
3900         * testsuite/debug/printf_extension.c: (main):
3901         * testsuite/elements/tee.c:
3902         * testsuite/negotiation/.cvsignore:
3903         * testsuite/negotiation/Makefile.am:
3904         * testsuite/negotiation/pad_link.c:
3905         * testsuite/pad/Makefile.am:
3906         * testsuite/pad/chainnopull.c:
3907         * testsuite/pad/getnopush.c:
3908         * testsuite/pad/link.c:
3909         * testsuite/refcounting/sched.c: (create_pipeline):
3910         * testsuite/registry/Makefile.am:
3911         * testsuite/registry/gst-print-formats.c:
3912         * testsuite/schedulers/.cvsignore:
3913         * testsuite/schedulers/142183-2.c:
3914         * testsuite/schedulers/142183.c:
3915         * testsuite/schedulers/143777-2.c:
3916         * testsuite/schedulers/143777.c:
3917         * testsuite/schedulers/147713.c:
3918         * testsuite/schedulers/147819.c:
3919         * testsuite/schedulers/147894-2.c:
3920         * testsuite/schedulers/147894.c:
3921         * testsuite/schedulers/Makefile.am:
3922         * testsuite/schedulers/group_link.c:
3923         * testsuite/schedulers/queue_link.c:
3924         * testsuite/schedulers/relink.c:
3925         * testsuite/schedulers/unlink.c:
3926         * testsuite/schedulers/unref.c:
3927         * testsuite/schedulers/useless_iteration.c:
3928         * testsuite/states/bin.c:
3929           clean out/remove some stuff from the testsuite directories
3930
3931 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3932
3933         * configure.ac:
3934           check for some headers
3935         * gst/elements/Makefile.am:
3936         * gst/elements/gstelements.c:
3937           don't compile fdsrc without sys/socket.h
3938         * gst/indexers/Makefile.am:
3939         * gst/indexers/gstindexers.c: (plugin_init):
3940           don't compile fileindex without mmap
3941
3942 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3943
3944         * configure.ac:
3945           reorganize
3946           clean up
3947           document more
3948           remove cruft
3949         * check/Makefile.am:
3950         * docs/gst/Makefile.am:
3951         * examples/helloworld/Makefile.am:
3952         * gst/Makefile.am:
3953         * gst/base/Makefile.am:
3954         * gst/check/Makefile.am:
3955         * gst/elements/Makefile.am:
3956         * gst/indexers/Makefile.am:
3957         * gst/parse/Makefile.am:
3958         * libs/gst/controller/Makefile.am:
3959         * libs/gst/dataprotocol/Makefile.am:
3960         * examples/helloworld/helloworld.c: (event_loop):
3961           compile fixes, though it's not being compiled currently
3962
3963 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3964
3965         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
3966           Add some simple tests for the new taglist date API.
3967
3968 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3969
3970         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
3971         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
3972           Beautify 'last-message' output: print 'none' for buffer timestamps
3973           and durations if none is set; improve alignment with next messages.
3974
3975 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3976
3977         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
3978         * gst/gstpluginfeature.h:
3979         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
3980         * gst/gstregistry.h:
3981         * docs/gst/gstreamer-sections.txt:
3982           Add new API to check plugin feature version requirements.
3983
3984         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
3985           Some basic tests for the above.         
3986
3987 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3988
3989         * gst/gststructure.c: (gst_structure_to_string):
3990           guard against NULL printf - happens when for example
3991           a message structure with GstClock gets serialized
3992
3993 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3994
3995         * gst/base/gstcollectpads.c: (gst_collectpads_event):
3996           Fix presumable copy'n'pasto.
3997
3998 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3999
4000         * gst/elements/gstfakesrc.h:
4001         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
4002         * gst/elements/gsttypefindelement.c:
4003           fix some signedness
4004         * gst/elements/gstfilesink.c: (gst_file_sink_render):
4005           I wonder if this could actually write +2GB files before
4006
4007 2005-10-13  Andy Wingo  <wingo@pobox.com>
4008
4009         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
4010         Fix Timmeke Waymans bug.
4011         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
4012         string of the proper length to gst_caps_from_string. There's a
4013         potential for, before this fix, that this could cause someone
4014         connecting over the network to cause a segfault if the payload is
4015         not NUL-terminated.
4016
4017 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4018
4019         * docs/design/draft-push-pull.txt:
4020         * docs/design/part-overview.txt:
4021         * docs/random/TODO-pre-0.9:
4022         * docs/random/old/ChangeLog.gstreamer:
4023         * gst/base/gstpushsrc.c:
4024         * gst/gstclock.c:
4025           fixed typos
4026
4027 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4028
4029         * gst/glib-compat.c: (gst_flags_get_first_value):
4030         * gst/glib-compat.h:
4031         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
4032         (gst_value_compare_double), (gst_value_serialize_flags):
4033           GLib 2.6 g_flags_get_first_value has a bug that triggers an
4034           infinite loop
4035
4036 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4037
4038         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4039         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4040           fix up debugging
4041         * tools/gst-launch.c: (event_loop):
4042           print out clock nicely
4043
4044 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4045
4046         * docs/gst/gstreamer-sections.txt:
4047         * gst/gsttaglist.h:
4048         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
4049         (gst_tag_list_get_date_index):
4050           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
4051           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
4052
4053 2005-10-13  Julien MOUTTE  <julien@moutte.net>
4054
4055         * gst/base/gstcollectpads.c: (gst_collectpads_event),
4056         (gst_collectpads_chain):
4057         * gst/base/gstcollectpads.h: Handle newsegment and store informations
4058         in CollectData.
4059
4060 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4061
4062         * docs/gst/gstreamer-sections.txt:
4063         * gst/gst.c:
4064         * gst/gsterror.h:
4065         * tools/gst-inspect.c: (main):
4066         * tools/gst-launch.c: (main):
4067         * tools/gst-run.c: (main):
4068         * tools/gst-xmlinspect.c: (main):
4069           fix GOption context leaks
4070           doc fixes
4071
4072 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4073
4074         * gst/gstbus.c:
4075           use HAVE_UNISTD_H
4076         * win32/common/config.h:
4077           update config
4078         * win32/vs6/grammar.dsp:
4079         * win32/vs6/libgstelements.dsp:
4080         * win32/vs6/libgstreamer.dsp:
4081           update vs6 files
4082
4083 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4084
4085         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4086         * gst/base/gstbasesrc.c: (gst_base_src_query):
4087           fix more guint64<->gdouble conversions
4088
4089 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4090
4091         * Makefile.am:
4092           add win32-update target
4093         * win32/common/gstconfig.h:
4094         * win32/common/gstenumtypes.c:
4095         * win32/common/gstenumtypes.h:
4096         * win32/common/gstversion.h:
4097           add files that visual studio can't generate
4098
4099 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4100
4101         * Makefile.am:
4102           add a win32-update target
4103         * configure.ac:
4104
4105 2005-10-12  Wim Taymans  <wim@fluendo.com>
4106
4107         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4108         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
4109         * gst/gstelement.c: (gst_element_commit_state),
4110         (gst_element_set_state):
4111         Protect flags with proper lock.
4112         unref provided cached clock in dispose.
4113
4114 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4115
4116         * gst/gst.c:
4117         * gst/gstminiobject.h:
4118         * gst/gstpad.h:
4119         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
4120           removed unused flags from miniobject
4121           doc fixes
4122
4123 2005-10-12  Wim Taymans  <wim@fluendo.com>
4124
4125         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4126         (gst_file_sink_event), (gst_file_sink_render):
4127         Flush before seeking.
4128
4129 2005-10-12  Andy Wingo  <wingo@pobox.com>
4130
4131         * gst/gst.c (gst_init_check): Ignore unknown options, as has
4132         always been the case.
4133
4134 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4135
4136         * check/gst/gstbin.c: (GST_START_TEST):
4137         * docs/gst/gstreamer-sections.txt:
4138         * gst/base/gstbasesink.c: (gst_base_sink_init):
4139         * gst/base/gstbasesrc.c: (gst_base_src_init),
4140         (gst_base_src_get_range), (gst_base_src_check_get_range),
4141         (gst_base_src_start), (gst_base_src_stop):
4142         * gst/base/gstbasesrc.h:
4143         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
4144         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4145         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
4146         (bin_bus_handler):
4147         * gst/gstbin.h:
4148         * gst/gstbuffer.h:
4149         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
4150         * gst/gstbus.h:
4151         * gst/gstelement.c: (gst_element_is_locked_state),
4152         (gst_element_set_locked_state), (gst_element_commit_state),
4153         (gst_element_set_state):
4154         * gst/gstelement.h:
4155         * gst/gstindex.c: (gst_index_init):
4156         * gst/gstindex.h:
4157         * gst/gstminiobject.h:
4158         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
4159         (gst_object_set_parent):
4160         * gst/gstobject.h:
4161         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4162         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4163         * gst/gstpad.h:
4164         * gst/gstpadtemplate.h:
4165         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4166         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4167         * gst/gstpipeline.h:
4168         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4169         (gst_file_index_commit):
4170         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4171         * testsuite/pad/link.c: (gst_test_src_init),
4172         (gst_test_filter_init), (gst_test_sink_init):
4173         * testsuite/states/locked.c: (main):
4174           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
4175           moved bitshift from macro to enum definition
4176
4177 2005-10-12  Wim Taymans  <wim@fluendo.com>
4178
4179         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
4180         * gst/elements/gstfilesink.c: (gst_file_sink_event),
4181         (gst_file_sink_render):
4182         Some more debugging info.
4183
4184 2005-10-12  Wim Taymans  <wim@fluendo.com>
4185
4186         * docs/design/part-states.txt:
4187         * tools/gst-launch.c: (main):
4188         Some doc updates.
4189         Revert non-intentional change.
4190
4191 2005-10-12  Wim Taymans  <wim@fluendo.com>
4192
4193         * check/gst/gstbin.c: (GST_START_TEST):
4194         * check/gst/gstelement.c: (GST_START_TEST):
4195         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4196         * check/gst/gstghostpad.c: (GST_START_TEST):
4197         * check/gst/gstpipeline.c: (GST_START_TEST):
4198         * check/pipelines/simple_launch_lines.c: (run_pipeline):
4199         * check/states/sinks.c: (GST_START_TEST):
4200         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4201         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4202         (gst_bin_remove_func), (gst_bin_get_state_func),
4203         (gst_bin_recalc_state), (gst_bin_change_state_func),
4204         (bin_bus_handler):
4205         * gst/gstelement.c: (gst_element_get_state_func),
4206         (gst_element_get_state), (gst_element_abort_state),
4207         (gst_element_commit_state), (gst_element_set_state),
4208         (gst_element_change_state), (gst_element_change_state_func):
4209         * gst/gstelement.h:
4210         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4211         (gst_pipeline_provide_clock_func):
4212         * gst/gstutils.c: (gst_element_link_pads_filtered):
4213         * tools/gst-launch.c: (main):
4214         * tools/gst-typefind.c: (main):
4215         Use GstClockTime in _get_state() instead of GTimeVal.
4216         Remove old code in gstutils.c
4217
4218 2005-10-12  Andy Wingo  <wingo@pobox.com>
4219
4220         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4221         removed.
4222
4223         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4224         there is no task. Shouldn't affect any code, as nothing in our
4225         plugins checks this return value.
4226         (gst_pad_stop_task): Also take the stream lock if the pad has no
4227         task. Docs updated.
4228
4229 2005-10-12  Wim Taymans  <wim@fluendo.com>
4230
4231         * gst/gstpad.c: (pre_activate), (post_activate),
4232         (gst_pad_activate_pull), (gst_pad_activate_push):
4233         Cleanup activation code. Reset old state if
4234         activation failed.
4235
4236 2005-10-12  Wim Taymans  <wim@fluendo.com>
4237
4238         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4239         (gst_base_sink_change_state):
4240         No need to prerol after receiving EOS.
4241
4242         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4243         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4244         * gst/elements/gstidentity.c: (gst_identity_event):
4245         Print events more verbosely.
4246
4247 2005-10-12  Wim Taymans  <wim@fluendo.com>
4248
4249         * check/Makefile.am:
4250         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4251         * check/states/sinks2.c:
4252         Moved sinks2 testcode in sinks check.
4253
4254         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4255         (gst_bin_remove_func), (gst_bin_recalc_state),
4256         (gst_bin_change_state_func), (bin_bus_handler):
4257         Fix potential race condition when _get_state() iterated over an
4258         ASYNC element right before it posted a state completion.
4259
4260         * gst/gstclock.h:
4261         Do proper cast here.
4262
4263         * gst/gstevent.c: (gst_event_new_newsegment),
4264         (gst_event_parse_newsegment):
4265         A playback rate of 0.0 is not allowed.
4266
4267 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4268
4269         * win32/common/config.h:
4270         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4271         (_trewinddir), (_ttelldir), (_tseekdir):
4272         * win32/common/dirent.h:
4273         * win32/common/gtchar.h:
4274         * win32/common/libgstbase.def:
4275         * win32/common/libgstreamer.def:
4276         * win32/vs6/grammar.dsp:
4277         * win32/vs6/gst_inspect.dsp:
4278         * win32/vs6/gst_launch.dsp:
4279         * win32/vs6/gstreamer.dsw:
4280         * win32/vs6/libgstbase.dsp:
4281         * win32/vs6/libgstelements.dsp:
4282         * win32/vs6/libgstreamer.dsp:
4283           Visual Studio 6 project files, and a new common directory.
4284           Phear.
4285
4286 2005-10-11  Wim Taymans  <wim@fluendo.com>
4287
4288         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4289         (gst_base_sink_do_sync), (gst_base_sink_query),
4290         (gst_base_sink_change_state):
4291         * gst/base/gstbasesink.h:
4292         Correctly parse newsegment info.
4293
4294 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4295
4296         * gst/gst.c: (init_post):
4297           split plugin paths correctly
4298
4299 2005-10-11  Wim Taymans  <wim@fluendo.com>
4300
4301         * check/gst/gstevent.c: (GST_START_TEST):
4302         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4303         (gst_base_sink_change_state):
4304         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4305         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4306         * gst/elements/gstfilesink.c: (gst_file_sink_event):
4307         * gst/gstevent.c: (gst_event_new_newsegment),
4308         (gst_event_parse_newsegment):
4309         * gst/gstevent.h:
4310         Added extra flag to newsegment for future API freeze.
4311         Updated check and base elements.
4312
4313 2005-10-11  Julien MOUTTE  <julien@moutte.net>
4314
4315         * gst/base/gstcollectpads.c: (gst_collectpads_init),
4316         (gst_collectpads_add_pad), (gst_collectpads_pop),
4317         (gst_collectpads_event), (gst_collectpads_chain):
4318         * gst/base/gstcollectpads.h: Handle EOS correctly.
4319
4320 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4321
4322         * tools/gst-launch.c: (main):
4323           more null protecting
4324
4325 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4326
4327         * gst/gst-i18n-lib.h:
4328           check for ENABLE_NLS, not GETTEXT_PACKAGE
4329         * gst/gstregistry.c: (gst_registry_add_plugin),
4330         (gst_registry_scan_path_level),
4331         (_gst_registry_remove_cache_plugins):
4332           protect possibly NULL strings
4333         * gst/parse/types.h:
4334           config.h already included before
4335         * tools/gst-inspect.c: (main):
4336           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4337           check for ENABLE_NLS, not GETTEXT_PACKAGE
4338         * tools/gst-launch.c: (main):
4339           check for ENABLE_NLS, not GETTEXT_PACKAGE
4340
4341 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4342
4343         * configure.ac:
4344           if we don't have glib, fail before testing 2.8
4345         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4346           fix a leak, should fix plugins-base testsuite
4347
4348 2005-10-11  Andy Wingo  <wingo@pobox.com>
4349
4350         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4351         take the mode we're going to as an arg. Go head and set the mode
4352         and flushing flags now, so that if the activate function starts a
4353         thread all the flags will be in the right state.
4354         (post_activate): Renamed also. Just handle making sure streaming
4355         finishes for the deactivation case, and setting the deactivated
4356         mode.
4357         (gst_pad_set_active): Complain loudly if deactivation fails.
4358         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4359         (gst_pad_activate_push): Adapt to pre/post_activate changes,
4360         remove the terrible hack.
4361
4362 2005-10-11  Wim Taymans  <wim@fluendo.com>
4363
4364         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4365         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4366         (gst_bin_recalc_state), (gst_bin_change_state_func),
4367         (gst_bin_dispose), (bin_bus_handler):
4368         * gst/gstbin.h:
4369         Prepare to make current EOS message queue more generic.
4370         Fix some typos.
4371
4372         * gst/gstevent.c: (gst_event_new_newsegment),
4373         (gst_event_parse_newsegment):
4374         * gst/gstevent.h:
4375         Rename base to stream_time.
4376
4377         * gst/gstmessage.h:
4378         Fix typo in docs.
4379
4380 2005-10-11  Wim Taymans  <wim@fluendo.com>
4381
4382         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4383         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
4384         (gst_bin_change_state_func), (bin_bus_handler):
4385         * gst/gstbin.h:
4386         Work on proper clock selection.
4387
4388 2005-10-11  Edward Hervey  <edward@fluendo.com>
4389
4390         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
4391         * libs/gst/controller/gstcontroller.h:
4392         Added GList* version of _remove_properties() in order to be able to wrap
4393         it in bindings.
4394
4395 2005-10-11  Wim Taymans  <wim@fluendo.com>
4396
4397         * docs/design/part-states.txt:
4398         Some more docs.
4399
4400         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
4401         (gst_bin_change_state_func), (bin_bus_handler):
4402         Doc updates. Don't distribute the same clock over and over again.
4403
4404         * gst/gstclock.c:
4405         * gst/gstclock.h:
4406         Doc updates.
4407
4408         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
4409         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
4410         (gst_pad_send_event):
4411         * gst/gstpad.h:
4412         Make probe emission threadsafe again.
4413         Register quarks and move _get_name() from utils.
4414         Doc updates.
4415
4416         * gst/gstpipeline.c: (gst_pipeline_class_init),
4417         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4418         Only redistribute the clock of it changed.
4419
4420         * gst/gstsystemclock.h:
4421         Doc updates. 
4422
4423         * gst/gstutils.c:
4424         * gst/gstutils.h:
4425         Moved the _flow_get_name() to GstPad.
4426
4427 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4428
4429         * check/gst-libs/gdp.c: (GST_START_TEST):
4430         * check/gst/gstcaps.c: (GST_START_TEST):
4431         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
4432         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
4433         (gst_dp_packet_from_caps):
4434           fix more valgrind warnings before turning up the heat
4435
4436 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4437
4438         * gst/parse/grammar.y:
4439           some cleanup before the hacking
4440
4441 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4442
4443         * gst/base/gstbasesrc.c: (gst_base_src_query):
4444           use conversions
4445         * gst/gstutils.c: (gst_guint64_to_gdouble),
4446         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
4447         * gst/gstutils.h:
4448           externalize, basesrc uses it
4449           obviously the implementation needs testing
4450
4451 2005-10-10  Wim Taymans  <wim@fluendo.com>
4452
4453         * tests/sched/Makefile.am:
4454         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
4455         (make_pipeline3), (make_pipeline4), (print_elem), (main):
4456
4457 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4458
4459         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
4460           apparently converting from guint64 to double is not implemented
4461           on MSVC
4462
4463 2005-10-10  Wim Taymans  <wim@fluendo.com>
4464
4465         * check/Makefile.am:
4466         * check/generic/states.c: (GST_START_TEST):
4467         * check/gst/gstbin.c: (GST_START_TEST):
4468         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4469         * check/states/sinks.c: (GST_START_TEST):
4470         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
4471         (main):
4472         Check fixes, use API as stated in design docs, remove hacks.
4473
4474         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4475         (gst_base_sink_change_state):
4476         Catch stopping our task while we're shutting down.
4477
4478         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
4479         (gst_bin_remove_func), (gst_bin_get_state_func),
4480         (gst_bin_recalc_state), (gst_bin_change_state_func),
4481         (bin_bus_handler):
4482         * gst/gstbin.h:
4483         * gst/gstelement.c: (gst_element_init),
4484         (gst_element_get_state_func), (gst_element_abort_state),
4485         (gst_element_commit_state), (gst_element_lost_state),
4486         (gst_element_set_state), (gst_element_change_state),
4487         (gst_element_change_state_func):
4488         * gst/gstelement.h:
4489         New state change algorithm (see #318116)
4490
4491         * gst/gstpipeline.c: (gst_pipeline_class_init),
4492         (gst_pipeline_init), (gst_pipeline_set_property),
4493         (gst_pipeline_get_property), (do_pipeline_seek),
4494         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4495         * gst/gstpipeline.h:
4496         Remove crude state change hacks.
4497
4498         * gst/gstutils.h:
4499         Remove crude hacks.
4500
4501         * tools/gst-launch.c: (main):
4502         Fixes for state change. Needs some more work to fully use the
4503         new stuff.
4504
4505 2005-10-10  Andy Wingo  <wingo@pobox.com>
4506
4507         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
4508
4509         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
4510         this flag, but it's not even in GLib 2.6. Odd. Hack around the
4511         issue.
4512
4513 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4514
4515         * gst/gstiterator.c: (gst_iterator_new):
4516           Fix my previous commit: GTypes passed to gst_iterator_new()
4517           can be fundamental types.
4518
4519 2005-10-10  Wim Taymans  <wim@fluendo.com>
4520
4521         * gst/gstelement.c: (gst_element_iterate_pad_list),
4522         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
4523         (gst_element_iterate_sink_pads):
4524         Use src/sink pads lists for the respective iterators instead
4525         of filtering.
4526
4527 2005-10-10  Andy Wingo  <wingo@pobox.com>
4528
4529         Merged in popt removal + GOption addition patch from Ronald, bug
4530         #169772.
4531
4532         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
4533         GstElement macros around, remove popt-related symbols, add goption
4534         stuff.
4535
4536         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
4537         
4538         * docs/gst/Makefile.am:
4539         * docs/libs/Makefile.am: No POPT_CFLAGS.
4540         
4541         * examples/manual/Makefile.am:
4542         * docs/manual/basics-init.xml: Doc updates with an example.
4543         
4544         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4545         (gst_init), (parse_one_option), (parse_goption_arg):
4546         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
4547         bit of hand merging and debugging to get the GOption stuff working
4548         tho.
4549         
4550         * tests/Makefile.am:
4551         * tools/Makefile.am:
4552         * tools/gst-inspect.c: (main):
4553         * tools/gst-launch.c: (main):
4554         * tools/gst-run.c: (main):
4555         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
4556
4557 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4558
4559         * gst/gstiterator.c: (gst_iterator_new):
4560           Add assertions to make sure passed GType is likely to really
4561           be a GType (as the compiler won't catch it if the size and
4562           GType arguments get mixed up, see #318447).
4563
4564 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
4565
4566         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4567
4568         * gst/gstbin.c: (gst_bin_iterate_sorted):
4569           Pass GType and size arguments to gst_iterator_new() in the right
4570           order (maybe we should make _new() take the GType as first argument
4571           just like _new_list()?) (#318447).
4572           
4573
4574 2005-10-10  Wim Taymans  <wim@fluendo.com>
4575
4576         * gst/gstelement.c: (gst_element_finalize):
4577         And free the GStaticRecMutex too
4578
4579 2005-10-10  Andy Wingo  <wingo@pobox.com>
4580
4581         * gst/gstelement.c (gst_element_init, gst_element_finalize):
4582         Allocate and free the mutex properly.
4583
4584         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
4585         New macros.
4586         (GstElement): The state_lock is now recursive. Rebuild your
4587         plugins, suckers. Old macros adapted.
4588
4589         * docs/gst/gstreamer-sections.txt: Doc updates.
4590
4591         * gst/gstutils.h:
4592         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
4593         (g_static_rec_cond_wait): Ported from state changes patch, while
4594         we wait on bug #317802 to be solved in a well-distributed GLib.
4595
4596         * gst/gstelement.c (gst_element_change_state_func): Renamed from
4597         gst_element_change_state, variable name changes.
4598         (gst_element_change_state): Split out of gst_element_set_state in
4599         preparation for the state change merge. Doesn't pay attention to
4600         the 'transition' argument.
4601         (gst_element_set_state): Updates, hopefully purely cosmetic.
4602         (gst_element_sync_state_with_parent): MT-safety. Ported from the
4603         state change patch.
4604         (gst_element_get_state_func): Renamed from get_state, cosmetic
4605         changes.
4606
4607 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4608
4609         * gst/elements/gstelements.c:
4610         * win32/GStreamer.vcproj:
4611         * win32/config.h:
4612         * win32/dirent.c: (_tseekdir):
4613         * win32/gst-inspect.vcproj:
4614         * win32/gst-launch.vcproj:
4615         * win32/gstconfig.h:
4616         * win32/gstelements.vcproj:
4617         * win32/gstenumtypes.c: (gst_object_flags_get_type):
4618         * win32/gstreamer.def:
4619         * win32/msvc71.sln:
4620           updates for the win32 build (patch from Sebastien Moutte)
4621
4622 2005-10-10  Andy Wingo  <wingo@pobox.com>
4623
4624         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
4625         gst_bin_get_state, cleaned up (but no logic changes).
4626         (bin_element_is_sink): Comment updates.
4627         (sink_iterator_filter): Remove needless cast.
4628         (gst_bin_iterate_sinks): Doc update.
4629         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
4630         cleaned up (but no logic changes).
4631
4632         * check/states/sinks.c (test_src_sink): Cleanups from the state
4633         change patch.
4634         (test_livesrc_sink): Sync on the state.
4635
4636         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
4637         the state change patch.
4638
4639         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
4640         change patch.
4641
4642         * check/gst/gstbin.c: Merge in some style fixes and additional
4643         checks from Wim's state change patch.
4644
4645 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4646
4647         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4648         (gst_type_find_helper):
4649           Check whether we have the requested data already in our list of
4650           cached buffers before pulling a new buffer; also make the buffer
4651           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
4652
4653 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4654
4655         * gst/gstcaps.c:
4656         * gst/gstevent.c:
4657           doc updates
4658         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
4659           don't use long long, it's not portable.  Replacing with
4660           gint64 seems to work; let's hope no skeletons fall out of the closet.
4661
4662 2005-10-10  Andy Wingo  <wingo@pobox.com>
4663
4664         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
4665
4666 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
4667
4668         * docs/gst/gstreamer-sections.txt:
4669         * gst/gstevent.c:
4670         * gst/gstevent.h:
4671         * gst/gstinfo.c:
4672         * gst/gstinfo.h:
4673         * gst/gstmessage.c: (gst_message_parse_state_changed):
4674         * gst/gstpad.c:
4675         * gst/gstpad.h:
4676           more docs, fix compilation
4677
4678 2005-10-09  Philippe Khalaf <burger@speedy.org>
4679         * gst/gstmessage.c:
4680           Fixed a few forgotten variables on previous commit
4681
4682 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4683
4684         * gst/base/gsttypefindhelper.c: (helper_find_peek):
4685           Fix evil typefind crasher: getrange() might return a short
4686           buffer at the end of a file, but gst_type_find_peek() must
4687           either return the full data as requested or NULL, but
4688           never a short buffer.
4689
4690 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4691
4692         * gst/gstmessage.c: (gst_message_new_state_changed),
4693         (gst_message_parse_state_changed):
4694         * gst/gstmessage.h:
4695           don't use "new", it's a C++ keyword
4696
4697 2005-10-08  Wim Taymans  <wim@fluendo.com>
4698
4699         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
4700         * gst/gstelement.c: (gst_element_post_message):
4701         * gst/gstpipeline.c: (gst_pipeline_change_state):
4702         Small docs and debug updates.
4703
4704 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4705
4706         * docs/gst/gstreamer-sections.txt:
4707         * gst/gstelementfactory.c:
4708         * gst/gstevent.c:
4709         * gst/gsttaglist.c:
4710           more docs
4711
4712 2005-10-08  Wim Taymans  <wim@fluendo.com>
4713
4714         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
4715         (gst_bin_dispose), (bin_bus_handler):
4716         Fix typos, add comments.
4717         Clear EOS list when going to PAUSED from any direction and do it
4718         in a threadsafe way.
4719         Get base time in a threadsafe way too.
4720         Fix confusing debug in the change_state function.
4721         Various other small cleanups.
4722         
4723         * gst/gstelement.c: (gst_element_post_message):
4724         Fix very verbose bus posting code.
4725
4726         * gst/gstpipeline.c: (gst_pipeline_class_init),
4727         (gst_pipeline_set_property), (gst_pipeline_get_property),
4728         (gst_pipeline_change_state):
4729         Small ARG_ -> PROP_ cleanup
4730
4731 2005-10-08  Wim Taymans  <wim@fluendo.com>
4732
4733         * gst/gstbin.c: (is_eos), (bin_bus_handler):
4734         Do a less CPU demanding EOS check because we can.
4735
4736 2005-10-08  Wim Taymans  <wim@fluendo.com>
4737
4738         * libs/gst/dataprotocol/dataprotocol.c:
4739         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
4740         (gst_dp_packet_from_event):
4741         * libs/gst/dataprotocol/dataprotocol.h:
4742         * libs/gst/dataprotocol/dp-private.h:
4743         It's about time we bump the version number.
4744         Since event types don't fit in the guint8 anymore describing
4745         the payload type, make payload type 16 bits wide.
4746
4747 2005-10-08  Wim Taymans  <wim@fluendo.com>
4748
4749         * docs/design/part-TODO.txt:
4750         * docs/design/part-clocks.txt:
4751         * docs/design/part-events.txt:
4752         * docs/design/part-gstbin.txt:
4753         * docs/design/part-gstelement.txt:
4754         * docs/design/part-gstpipeline.txt:
4755         * docs/design/part-live-source.txt:
4756         * docs/design/part-messages.txt:
4757         * docs/design/part-overview.txt:
4758         * docs/design/part-states.txt:
4759         Many doc updates.
4760
4761 2005-10-08  Wim Taymans  <wim@fluendo.com>
4762
4763         * gst/gstevent.c:
4764         * gst/gstevent.h:
4765         Fix event quark registration.
4766         Add some space between events so we can insert them in the
4767         right groups.
4768
4769 2005-10-08  Wim Taymans  <wim@fluendo.com>
4770
4771         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4772         (gst_base_sink_handle_buffer):
4773         Better log message.
4774
4775         * gst/gstbus.h:
4776         * gst/gstelement.h:
4777         More docs.
4778
4779         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4780         (gst_queue_set_property), (gst_queue_get_property):
4781         * gst/gstqueue.h:
4782         Remove old unused properties.
4783
4784 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4785         * docs/gst/gstreamer-sections.txt:
4786         * gst/gstmessage.c:
4787         * gst/gstmessage.h:
4788         * gst/gstminiobject.c:
4789         * gst/gstminiobject.h:
4790         * gst/gstobject.h:
4791         * gst/gstpad.h:
4792         * gst/gstutils.h:
4793           lots of new docs and doc fixes
4794
4795 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4796
4797         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
4798         * gst/gstplugin.h:
4799         * gst/gstregistry.c: (gst_registry_lookup_locked),
4800         (gst_registry_scan_path_level):
4801         * gst/gstregistryxml.c: (load_plugin):
4802           Only ever load one plugin for a given plugin basename.
4803           This ensures correct overriding of GST_PLUGIN_PATH over
4804           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
4805           system installed plugins.
4806
4807 2005-10-08  Wim Taymans  <wim@fluendo.com>
4808
4809         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4810         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
4811         Prepare for doing QOS.
4812
4813 2005-10-08  Wim Taymans  <wim@fluendo.com>
4814
4815         * check/gst/gstbin.c: (GST_START_TEST):
4816         * check/pipelines/cleanup.c: (GST_START_TEST):
4817         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
4818         Allow new clock message too.
4819
4820 2005-10-08  Wim Taymans  <wim@fluendo.com>
4821
4822         * gst/gstmessage.c: (gst_message_new_error),
4823         (gst_message_new_warning), (gst_message_new_tag),
4824         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4825         (gst_message_new_clock_lost), (gst_message_new_new_clock),
4826         (gst_message_new_segment_start), (gst_message_new_segment_done),
4827         (gst_message_parse_state_changed),
4828         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
4829         (gst_message_parse_new_clock):
4830         * gst/gstmessage.h:
4831         Also carry the clock in question.
4832
4833 2005-10-08  Wim Taymans  <wim@fluendo.com>
4834
4835         * gst/gstmessage.c: (gst_message_new_custom),
4836         (gst_message_new_eos), (gst_message_new_error),
4837         (gst_message_new_warning), (gst_message_new_tag),
4838         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4839         (gst_message_new_new_clock), (gst_message_new_segment_start),
4840         (gst_message_new_segment_done), (gst_message_parse_state_changed),
4841         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
4842         * gst/gstmessage.h:
4843         Clean up.
4844         Added clock related messages.
4845
4846         * gst/gstpipeline.c: (gst_pipeline_change_state):
4847         Post message when the clock changed.
4848
4849         * tools/gst-launch.c: (event_loop):
4850         Print new clock.
4851
4852 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
4853
4854         * tools/gst-inspect.c: (print_element_properties_info):
4855           Can't pass NULL strings to g_print() on windows.
4856
4857 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4858
4859         * docs/Makefile.am:
4860         * docs/gst/Makefile.am:
4861         * docs/gst/gstreamer-docs.sgml:
4862         * docs/gst/running.xml:
4863         * docs/version.entities.in:
4864           add a chapter on running GStreamer.
4865           document GST_DEBUG and GST_PLUGIN* env vars
4866
4867 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4868
4869         * Makefile.am:
4870           remove include dir
4871         * configure.ac:
4872           remove PLUGINS_BUILDDIR stuff
4873         * gst/gst.c: (init_post):
4874           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
4875         * idiottest.mak:
4876           remove, it was condescending and not needed
4877
4878 2005-10-08  Wim Taymans  <wim@fluendo.com>
4879
4880         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
4881         (gst_base_sink_handle_object), (gst_base_sink_event),
4882         (gst_base_sink_wait), (gst_base_sink_handle_event),
4883         (gst_base_sink_change_state):
4884         * gst/base/gstbasesink.h:
4885         Repost EOS message while going to PLAYING if still EOS.
4886         Make sure that when receiving a FLUSH_START we don't attempt
4887         to sync on the clock anymore.
4888
4889 2005-10-08  Wim Taymans  <wim@fluendo.com>
4890
4891         * tools/gst-launch.c: (event_loop):
4892         Better message printout.
4893
4894 2005-10-08  Wim Taymans  <wim@fluendo.com>
4895
4896         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
4897         (gst_bin_child_proxy_get_children_count):
4898         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
4899         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
4900         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
4901         (gst_child_proxy_set_valist):
4902         * gst/parse/grammar.y:
4903         Make ChildProxy threadsafe and fix mem leaks.
4904
4905 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4906
4907         * gst/gst.c: (init_post):
4908           debug the GST_PLUGIN_ env vars
4909
4910 2005-10-08  Wim Taymans  <wim@fluendo.com>
4911
4912         * check/gst/gstbin.c: (GST_START_TEST):
4913         * check/gst/gstmessage.c: (GST_START_TEST):
4914         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4915         * gst/gstelement.c: (gst_element_commit_state),
4916         (gst_element_lost_state):
4917         * gst/gstmessage.c: (gst_message_new_state_changed),
4918         (gst_message_parse_state_changed):
4919         * gst/gstmessage.h:
4920         * tools/gst-launch.c: (event_loop):
4921         Added extra field to STATE_CHANGE message with the pending
4922         state, which will be different from the new state soon.
4923
4924 2005-10-08  Wim Taymans  <wim@fluendo.com>
4925
4926         * gst/gstbus.c: (gst_bus_pop):
4927         * gst/gstclock.c:
4928         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
4929         Small cleanups and doc updates.
4930
4931 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4932
4933         * gst/gst.c: (init_pre):
4934         * gst/gstbin.c: (gst_bin_add_func):
4935           log distributing clocks and base time
4936         * gst/gstregistry.c: (gst_registry_add_plugin),
4937         (gst_registry_scan_path_level), (gst_registry_scan_path):
4938           clean up the debugging output a little
4939         * gst/gstutils.c: (gst_element_state_get_name):
4940           warn about a memleak (I've actually seen this be used, though
4941           it was probably a bug)
4942
4943 2005-10-07  Wim Taymans  <wim@fluendo.com>
4944
4945         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4946         (gst_base_src_init), (gst_base_src_default_newsegment),
4947         (gst_base_src_newsegment), (gst_base_src_do_seek),
4948         (gst_base_src_loop), (gst_base_src_start):
4949         * gst/base/gstbasesrc.h:
4950         Make the newsegment event customizable by subclasses.
4951
4952 2005-10-07  Wim Taymans  <wim@fluendo.com>
4953
4954         * gst/gstevent.c: (gst_event_new_buffersize),
4955         (gst_event_parse_buffersize):
4956         * gst/gstevent.h:
4957         New event for future idea.
4958
4959 2005-10-07  Andy Wingo  <wingo@pobox.com>
4960
4961         * gst/gstelement.c (gst_element_post_message): Doc update.
4962
4963         * docs/gst/gstreamer-sections.txt: Update.
4964
4965         * gst/gstmessage.c (gst_message_new_application): Made into a
4966         function like honest API calls.
4967         (gst_message_new_element): New message type.
4968
4969         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
4970
4971         * check/elements/fakesrc.c (test_no_preroll): New check, checks
4972         that setting a live fakesrc to PAUSED returns NO_PREROLL both
4973         times.
4974
4975         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
4976         NO_PREROLL from gst_element_change_state to fall through.
4977
4978 2005-10-07  Wim Taymans  <wim@fluendo.com>
4979
4980         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
4981         (gst_ghost_pad_do_activate_push):
4982         Activating a ghostpad with no internal pad in push mode
4983         is ok.
4984
4985 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4986
4987         * gst/gstobject.h:
4988           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
4989           Fixes compilation on Windows.
4990
4991 2005-10-07  Michael Smith <msmith@fluendo.com>
4992
4993         * tools/gst-inspect.c:
4994           Print out feature and plugin count at the end when printing out
4995           all features.
4996
4997 2005-10-04  Michael Smith <msmith@fluendo.com>
4998
4999         * gst/gsterror.c: (_gst_stream_errors_init):
5000           Add another error string used in a few existing plugins.
5001
5002         * gst/gstplugin.c:
5003         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5004         * tools/gst-inspect.c: (print_element_info):
5005           When a feature disappears from a plugin (and the feature exists in
5006           the cached registry file), things went horribly wrong. This isn't a
5007           complete fix, we should actually be removing the 'missing' features
5008           from the features list when we load the actual plugin. That's not
5009           yet implemented. 
5010
5011 2005-10-04  Johan Dahlin  <johan@gnome.org>
5012
5013         * check/gst/gstiterator.c: (GST_START_TEST):
5014         * gst/gstbin.c: (gst_bin_iterate_elements),
5015         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
5016         * gst/gstelement.c: (gst_element_iterate_pads):
5017         * gst/gstformat.c: (gst_format_iterate_definitions):
5018         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5019         (gst_iterator_new_list), (gst_iterator_filter):
5020         * gst/gstiterator.h:
5021         * gst/gstquery.c: (gst_query_type_iterate_definitions):
5022         Add a GType to GstIterator, update callsites and tests.
5023
5024 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5025
5026         * gst/gstpad.c: (gst_pad_event_default_dispatch):
5027           give events a chance to be handled by event probes when the pad
5028           is not linked
5029
5030 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5031
5032         * gst/gstevent.c: (gst_event_type_get_name),
5033         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
5034         * gst/gstevent.h:
5035           add string representations for event types
5036
5037 2005-10-06  Wim Taymans  <wim@fluendo.com>
5038
5039         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
5040         Don't use NULL pointers.
5041
5042 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5043
5044         * gst/gst_private.h:
5045         * gst/gstbus.c:
5046         * gst/gstelement.c:
5047         * gst/gstinfo.c:
5048         * gst/gstpluginfeature.c:
5049           widen the debug category in output to fit the biggest one we have
5050           add a bus category and use it
5051           play with the colors
5052           fix up some categories
5053
5054 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5055
5056         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
5057           add push activation of sink ghost pads.
5058           Andye, please verify
5059
5060 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5061
5062         * gst/gstutils.c: (gst_element_link_pads):
5063           fix a bug in the case where neither element has a pad
5064         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5065           add a test for that case
5066
5067 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5068
5069         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
5070           emit have-data before checking for peers.  This allows
5071           for probe handlers to connect elements.  This helps autopluggers.
5072         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
5073         (gst_pad_suite):
5074           add six checks, linked/unlinked with no/true/false probe
5075
5076 2005-10-04  Wim Taymans  <wim@fluendo.com>
5077
5078         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
5079         (gst_fake_sink_event), (gst_fake_sink_preroll),
5080         (gst_fake_sink_render), (gst_fake_sink_change_state):
5081         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
5082         (gst_fake_src_get_property), (gst_fake_src_create),
5083         (gst_fake_src_stop):
5084         * gst/elements/gstidentity.c: (gst_identity_stop):
5085         Protect last_message with lock.
5086
5087 2005-10-04  Edward Hervey  <edward@fluendo.com>
5088
5089         * gst/gstformat.h: 
5090         Added precision in the comments for GST_FORMAT_DEFAULT
5091
5092 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
5093
5094         * tools/gst-launch.c: (main):
5095           Don't try to run erroneous pipelines.
5096
5097 2005-10-04  Julien MOUTTE  <julien@moutte.net>
5098
5099         * gst/gstbus.c: We don't need this header.
5100
5101 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5102
5103         * configure.ac:
5104           back to development
5105
5106 === release 0.9.3 ===
5107
5108 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5109
5110         * README:
5111         * configure.ac:
5112           Releasing 0.9.3, "Unregistered"
5113
5114 2005-10-03  Andy Wingo  <wingo@pobox.com>
5115
5116         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
5117         whereby calling a pad's activatepush() function can start a thread
5118         that starts to push or pull before the pad gets the FLUSHING flag
5119         unset. Hack around it by holding the stream lock until the flag is
5120         set. Need to replace this with a proper solution. Together with
5121         the ghost pad fixes, this fixes mp3 playing/tagreading.
5122
5123         * docs/design/part-gstghostpad.txt: Add a note about activation of
5124         proxy pads outside of ghost pads.
5125
5126         * gst/gstghostpad.c: Implement the ghost pad activation design.
5127
5128 2005-10-02  Andy Wingo  <wingo@pobox.com>
5129
5130         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
5131         It is volatile, after all.
5132
5133         * docs/design/part-gstghostpad.txt: Flesh out activation with
5134         ghost pads.
5135
5136         * gst/base/gstbasesrc.c (gst_base_src_init): Use
5137         GST_DEBUG_FUNCPTR.
5138
5139 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5140
5141         * configure.ac:
5142           Fix (unused) AM_CONDITIONAL tests.
5143
5144 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
5145
5146         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5147
5148         * gst/gstutils.c: (gst_pad_query_convert):
5149           Add assertion that makes sure src_val is >=0, just like
5150           gst_query_new_convert() has. (#315895)
5151
5152 2005-09-30  Edward Hervey  <edward@fluendo.com>
5153
5154         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
5155         Let's not iterate pads we're not interested in, it avoids getting 
5156         sky-high refcounts on sinkpad.
5157
5158 2005-09-30  Wim Taymans  <wim@fluendo.com>
5159
5160         * gst/gstelement.c: (gst_element_set_state),
5161         (gst_element_change_state):
5162         Small tweak, element in ASYNC remains ASYNC.
5163
5164 2005-09-30  Wim Taymans  <wim@fluendo.com>
5165
5166         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5167         Only error is an error.
5168
5169         * gst/gstbin.c: (gst_bin_change_state):
5170         Better debugging.
5171
5172         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
5173         Also call pad_block in pad alloc.
5174
5175         * gst/gstutils.c: (gst_flow_get_name):
5176         Better debugging.
5177
5178 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5179
5180         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5181         (gst_base_src_get_range):
5182           Fix documentation typos. Add some more debug info.
5183
5184 2005-09-29  David Schleef  <ds@schleef.org>
5185
5186         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5187           more end-user friendly.
5188         * tools/gst-inspect.c: (main): Check if command-line argument is
5189           a file and attempt to load that file as a plugin.
5190
5191 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5192
5193         * check/gst/gstbin.c:
5194         * check/states/sinks.c:
5195           fix tests for the new warning
5196         * check/gst/gstpipeline.c:
5197           add a test for pipeline and bus interaction
5198         * gst/gstelement.c:
5199           elements should be NULL if they get disposed; add a warning if not
5200
5201 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5202
5203         * gst/gstobject.c:
5204           for 2.6 refcounting, make debug log more correct by printing
5205           the actual refcounts at the time of swap (Wim)
5206
5207 2005-09-29  Andy Wingo  <wingo@pobox.com>
5208
5209         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5210         removes signal watches previously added via
5211         gst_bus_add_signal_watch.
5212         (gst_bus_add_signal_watch): Don't return the source id, just store
5213         it on the bus if there wasn't an id already.
5214
5215         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5216         add_signal_watch and remove_signal_watch.
5217
5218 2005-09-29  Edward Hervey  <edward@fluendo.com>
5219
5220         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
5221         Better if we actually iterate the list :)
5222
5223 2005-09-29  Wim Taymans  <wim@fluendo.com>
5224
5225         * check/gst/gstbin.c: (GST_START_TEST):
5226         Change for new bus API.
5227
5228         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5229         (send_messages), (GST_START_TEST), (gstbus_suite):
5230         Change for new bus signal API.
5231
5232         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5233         (gst_bus_source_prepare), (gst_bus_source_check),
5234         (gst_bus_create_watch), (gst_bus_add_watch_full),
5235         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5236         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5237         * gst/gstbus.h:
5238         Remove support for multiple GSources operating on different
5239         message types as it is too complex and unneeded when using
5240         signals.
5241         Added support for receiving signals from the bus.
5242
5243 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5244
5245         * docs/libs/tmpl/gstdataprotocol.sgml:
5246         * docs/manual/advanced-dataaccess.xml:
5247         * gst/elements/gstcapsfilter.c:
5248         * gst/gstutils.c:
5249           rename filter-caps to caps property
5250
5251 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5252
5253         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5254           More robust fraction string parsing.
5255
5256         * docs/pwg/appendix-porting.xml:
5257           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5258
5259 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5260
5261         * gst/gstcaps.c: (gst_caps_do_simplify):
5262           Thou shalt not free a structure and then continue using it
5263           in the next loop iteration.
5264
5265         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5266         (gst_caps_suite):
5267           Add test case for caps simplification.
5268
5269 2005-09-29  Wim Taymans  <wim@fluendo.com>
5270
5271         * check/gst/gstbin.c: (GST_START_TEST):
5272         Oops.
5273
5274 2005-09-29  Wim Taymans  <wim@fluendo.com>
5275
5276         * check/gst/gstbin.c: (GST_START_TEST):
5277         Add bus to bin.
5278
5279         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5280         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5281         (find_element), (gst_bin_sort_iterator_next),
5282         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5283         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5284         (gst_bin_change_state), (gst_bin_dispose):
5285         A bin does not have a bus, it gets the bus from the parent.
5286
5287         * gst/gstelement.c: (gst_element_requires_clock),
5288         (gst_element_provides_clock), (gst_element_is_indexable),
5289         (gst_element_is_locked_state), (gst_element_change_state),
5290         (gst_element_set_bus_func):
5291         Small cleanups.
5292
5293         * gst/gstpipeline.c: (gst_pipeline_class_init),
5294         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5295         The pipeline provides a bus.
5296
5297 2005-09-28  Johan Dahlin  <johan@gnome.org>
5298
5299         * gst/gstmessage.c (gst_message_parse_state_changed): Use
5300         gst_structure_get_enum instead of gst_structure_get_int
5301
5302         * gst/gststructure.c (gst_structure_get_enum): Impl.
5303
5304         * gst/gststructure.h (gst_structure_get_enum): Add
5305
5306         * docs/gst/gstreamer-sections.txt: Ditto
5307
5308         * gst/gstmessage.c (gst_message_new_state_changed): Use
5309         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5310         which does introspection.
5311         Reviewed by Christian Schaller
5312
5313 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5314
5315         * gst/gstinfo.c: (gst_debug_log_default):
5316           don't do dummy g_strdup()s
5317         * libs/gst/controller/gstcontroller.c:
5318         (on_object_controlled_property_changed),
5319         (gst_controlled_property_new), (gst_controller_new_valist),
5320         (gst_controller_new_list),
5321         (gst_controller_remove_properties_valist), (gst_controller_set),
5322         (gst_controller_get), (gst_controller_sync_values),
5323         (gst_controller_get_value_array), (_gst_controller_class_init),
5324         (gst_controller_get_type):
5325         * libs/gst/controller/gstcontroller.h:
5326         * libs/gst/controller/gstinterpolation.c:
5327         (gst_controlled_property_find_timed_value_node):
5328           convert // to /**/ comments
5329
5330 2005-09-28  Wim Taymans  <wim@fluendo.com>
5331
5332         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5333         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5334         (gst_bus_sync_signal_handler):
5335         * gst/gstbus.h:
5336         Added async-message and sync-message signals to the bus.
5337         Added helper BusFunc to emit signals for all posted messages.
5338
5339         * gst/gstmessage.c: (gst_message_type_get_name),
5340         (gst_message_type_to_quark), (gst_message_get_type):
5341         * gst/gstmessage.h:
5342         Register quarks for message names.
5343
5344 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5345
5346         * docs/libs/gstreamer-libs-sections.txt:
5347         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5348         (gst_controller_new_list):
5349         * libs/gst/controller/gstcontroller.h:
5350           added another constructor for language bindings
5351
5352 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5353
5354         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5355           add another check
5356         * gst/gstbus.c:
5357           add some doc
5358         * gst/gstinfo.c: (_gst_debug_init):
5359           slightly more readable color for refcount debugging
5360
5361 2005-09-28  Wim Taymans  <wim@fluendo.com>
5362
5363         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5364         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5365         (find_element), (gst_bin_sort_iterator_next),
5366         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5367         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5368         (gst_bin_change_state), (gst_bin_dispose):
5369         Small doc fixes. get_clock -> provide_clock.
5370
5371         * gst/gstelement.c: (gst_element_class_init),
5372         (gst_element_provides_clock), (gst_element_provide_clock),
5373         (gst_element_get_clock), (gst_element_commit_state),
5374         (gst_element_lost_state):
5375         * gst/gstelement.h:
5376         Make get/set_clock() symetric. Add provide_clock vmethod since
5377         that is actually what this function does.
5378
5379         * gst/gstpipeline.c: (gst_pipeline_class_init),
5380         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
5381         (gst_pipeline_get_clock):
5382         get_clock -> provide_clock.
5383
5384 2005-09-28  Andy Wingo  <wingo@pobox.com>
5385
5386         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
5387         lieu of real docs...
5388
5389         * gst/elements/gstfdsrc.c: Cleaned up a bit.
5390
5391 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
5392
5393         * gst/elements/gstcapsfilter.c:
5394         * gst/elements/gstfakesink.c:
5395         * gst/elements/gstfakesrc.c:
5396         * gst/elements/gstfdsink.c:
5397         * gst/elements/gstfdsrc.c:
5398         * gst/elements/gstfilesink.c:
5399         * gst/elements/gstfilesrc.c:
5400         * gst/elements/gstidentity.c:
5401         * gst/elements/gsttee.c:
5402         * gst/elements/gsttypefindelement.c:
5403           Make element details static.
5404
5405 2005-09-28  Wim Taymans  <wim@fluendo.com>
5406
5407         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5408         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5409         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5410         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5411         (gst_bin_change_state), (gst_bin_dispose):
5412         Some documentation updates.
5413         Clean up dispose handlers.
5414
5415         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
5416         * gst/gstpad.c: (gst_pad_dispose):
5417         Clean up dispose handler.
5418
5419         * gst/gstpipeline.c: (gst_pipeline_change_state):
5420         Removed spurious UNLOCK.
5421
5422 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
5423
5424         * docs/gst/gstreamer-sections.txt:
5425         * gst/base/gstbasesrc.h:
5426         * gst/gstelement.h:
5427         * gst/gstevent.h:
5428         * gst/gstobject.h:
5429         * gst/gstpad.h:
5430         * gst/gstpipeline.c:
5431         * gst/gstpipeline.h:
5432         * gst/gstutils.h:
5433         * gst/gstxml.h:
5434           added two new functions to the docs
5435                 documents all undocumented GstXXXFlags
5436                 completed some incomplete docs 
5437
5438 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5439
5440         * gst/gstbin.c: (gst_bin_dispose):
5441         * gst/gstelement.c: (gst_element_dispose):
5442           remove now useless and leaky resurrection code in dispose
5443         * gst/base/gstbasesrc.c: (gst_base_src_init):
5444         * gst/gstelementfactory.c: (gst_element_factory_create):
5445         * gst/gstobject.c: (gst_object_set_parent):
5446           add some debugging
5447
5448 2005-09-27  Wim Taymans  <wim@fluendo.com>
5449
5450         * docs/design/part-TODO.txt:
5451         Update TODO.
5452
5453         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5454         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5455         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5456         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5457         (gst_bin_change_state):
5458         * gst/gstelement.h:
5459         Remove element variable, we keep element info in the iterator now.
5460
5461 2005-09-27  Andy Wingo  <wingo@pobox.com>
5462
5463         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
5464         values.
5465
5466 2005-09-27  Wim Taymans  <wim@fluendo.com>
5467
5468         * check/gst/gstbin.c: (GST_START_TEST):
5469         Enable check that works now.
5470
5471         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5472         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5473         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5474         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5475         (gst_bin_change_state):
5476         * gst/gstbin.h:
5477         Redid the state change algorithm using a topological sort algo.
5478         Handles all cases correctly.
5479         Exposed iterator for state change order.
5480
5481         * gst/gstelement.h:
5482         Temp storage for state changes. Need to get rid of this soon.
5483
5484 2005-09-27  Wim Taymans  <wim@fluendo.com>
5485
5486         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
5487         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
5488         (link_fold_func), (gst_pad_proxy_setcaps):
5489         Leak fixes, the fold functions need to unref the passed object and
5490         _get_parent_*() returns ref to parent.
5491
5492 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5493
5494         * check/gst/gstbuffer.c: (test_make_writable):
5495           Plug leak in test case and fix 'make check-valgrind'
5496
5497 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5498
5499         * gst/gstbuffer.c: (gst_subbuffer_init):
5500           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
5501           works correctly in all circumstances (we could have just copied
5502           the parent buffer's readonly flag, but conceptually it seems
5503           cleaner to mark all subbuffers as read-only). (based on patch
5504           by Alessandro Decina, #314710).
5505         
5506         * check/gst/gstbuffer.c: (create_read_only_buffer),
5507         (test_make_writable), (test_subbuffer_make_writable),
5508         (gst_test_suite):
5509           Add some tests for gst_buffer_make_writable().
5510
5511 2005-09-27  Wim Taymans  <wim@fluendo.com>
5512
5513         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
5514         use gst_object_has_ancestor().
5515
5516         * gst/gstobject.c: (gst_object_has_ancestor):
5517         * gst/gstobject.h:
5518         gst_object_has_ancestor() copied from gstbin.c as it is a
5519         usefull function.
5520
5521         * tests/instantiate/create.c: (create_all_elements):
5522         * tests/lat.c: (handoff_src), (handoff_sink):
5523         * tests/sched/runxml.c: (main):
5524         * tests/seeking/seeking1.c: (main):
5525         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
5526         (main):
5527         Fix compilation of some tests.
5528
5529 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5530
5531         * gst/gsterror.h:
5532           Remove comment. GST_TYPE_G_ERROR is here to stay,
5533           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
5534           (#316961, #300610).
5535
5536 2005-09-26  Wim Taymans  <wim@fluendo.com>
5537
5538         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5539         Added check that shows error in state change order.
5540
5541 2005-09-26  Wim Taymans  <wim@fluendo.com>
5542
5543         * gst/gstbin.c: (gst_bin_change_state):
5544         Make state change function use 3 queues again, we were
5545         adding elements in the wrong order.
5546
5547         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
5548         Some debug info,
5549
5550         * gst/gstpad.c: (gst_pad_dispose):
5551         Added some debug info first.
5552
5553 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
5554
5555         * docs/design/draft-push-pull.txt:
5556         * docs/design/part-events.txt:
5557         * docs/design/part-overview.txt:
5558         * docs/design/part-scheduling.txt:
5559           Replace all _pull_region() with _pull_range()
5560           
5561 2005-09-26  Andy Wingo  <wingo@pobox.com>
5562
5563         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
5564
5565         * check/gst-libs/controller.c: Update for controller api change.
5566
5567         * configure.ac: 
5568         * tests/Makefile.am:
5569         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
5570         over by GLib bug 118439.
5571         
5572         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
5573         routines to a function.
5574
5575         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
5576
5577         * libs/gst/controller/gsthelper.c:
5578         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
5579         (gst_object_sync_values): Renamed from sink_values. Ugh.
5580
5581         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
5582
5583         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
5584         Renamed from controller_key, as it is exported.
5585
5586         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
5587
5588 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5589
5590         * gst/Makefile.am:
5591         * gst/gst.h:
5592         * gst/gstpad.h:
5593         * gst/gstpadtemplate.h:
5594         * gst/gstquery.c:
5595         * gst/gstquery.h:
5596         * gst/gstqueryutils.c:
5597         * gst/gstqueryutils.h:
5598           remove queryutils headers after moving the two used functions
5599           to gstquery.  also fixes build problem for gstsiddec
5600
5601 2005-09-26  Michael Smith <msmith@fluendo.com>
5602
5603         * tools/gst-launch.1.in:
5604         Correct documentation in manpage of debug syntax
5605
5606 2005-09-26  Wim Taymans  <wim@fluendo.com>
5607
5608         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
5609         (gst_base_src_is_seekable), (gst_base_src_change_state):
5610         Some more debugging info.
5611
5612 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5613
5614         * docs/gst/gstreamer-sections.txt:
5615         * gst/base/gstbasetransform.h:
5616         * gst/gstindex.h:
5617           added more docs
5618
5619 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5620
5621         * docs/gst/.cvsignore:
5622         * docs/gst/tmpl/.cvsignore:
5623         * docs/gst/tmpl/gstpipeline.sgml:
5624         * docs/gst/tmpl/gstplugin.sgml:
5625         * gst/gstpipeline.c:
5626         * gst/gstplugin.c:
5627         * gst/gstplugin.h:
5628           inlined the last two docs files
5629           removed the tmpl directory from cvs (no more conflicts here!)
5630
5631 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5632
5633         * docs/gst/gstreamer-sections.txt:
5634         * docs/gst/tmpl/.cvsignore:
5635         * docs/gst/tmpl/gstpad.sgml:
5636         * docs/gst/tmpl/gstpadtemplate.sgml:
5637         * gst/Makefile.am:
5638         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
5639         (gst_pad_finalize), (gst_pad_set_pad_template):
5640         * gst/gstpad.h:
5641         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5642         (gst_pad_template_class_init), (gst_pad_template_init),
5643         (gst_pad_template_dispose), (name_is_valid),
5644         (gst_static_pad_template_get), (gst_pad_template_new),
5645         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
5646         (gst_pad_template_pad_created):
5647         * gst/gstpadtemplate.h:
5648           inlined two more docs
5649           factored gstpadtemplate out of gstpad
5650
5651 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
5652
5653         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5654         (test_children_state_change_order_semi_sink):
5655           Fix test case: we can't rely on a fixed state change order when
5656           going from READY => PAUSED because the sink might commit its 
5657           new state first when the first buffer created by the source 
5658           reaches the sink before the source has finished its change state.
5659           (Test case still fails at times, see #316856, comment 5 onwards)
5660
5661 2005-09-24  Wim Taymans  <wim@fluendo.com>
5662
5663         * docs/design/part-events.txt:
5664         * docs/design/part-gstbus.txt:
5665         * docs/design/part-gstpipeline.txt:
5666         * docs/design/part-messages.txt:
5667         * docs/design/part-overview.txt:
5668         * docs/design/part-segments.txt:
5669         * gst/gstbin.c:
5670         * gst/gstbuffer.c:
5671         * gst/gstclock.c:
5672         * gst/gstelement.c:
5673         * gst/gstevent.c:
5674         * gst/gstfilter.c:
5675         * gst/gstiterator.c:
5676         Various documentation updates.
5677
5678 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5679
5680         * gst/gstclock.h:
5681           Well, that's embarassing.  Luckily we weren't using
5682           GST_CLOCK_DIFF anywhere.
5683
5684 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5685
5686         * common/gtk-doc.mak:
5687           don't fail on building XML, FC4 slave shows a bunch of doc
5688           missing bits that I don't get
5689         * gst/gstpad.c:
5690         * gst/gstpipeline.c:
5691         * gst/gststructure.c:
5692           some doc updates
5693
5694 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5695
5696         * docs/design/part-gstbin.txt:
5697         * docs/design/part-gstbus.txt:
5698         * gst/gstbus.c:
5699           Add blurb about how the bus goes into flushing mode and
5700           drops all messages when its bin goes from READY into NULL 
5701           state.
5702
5703 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5704
5705         * docs/gst/gstreamer-sections.txt:
5706         * gst/gststructure.c: (gst_structure_get_clock_time):
5707         * gst/gststructure.h:
5708           add a method to get a GstClockTime out of a structure
5709
5710 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5711
5712         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5713         (test_children_state_change_order_semi_sink), (gst_bin_suite):
5714           Added test to check state change order in bins (can still be made
5715           to fail here under heavy disk load; bails out with 'Push on pad
5716           fakesink:sink0, but it was not activated in push mode').
5717
5718         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
5719           Fix state change order when there is only a semi sink (#316856)
5720
5721         * gst/gstbus.c: (gst_bus_class_init):
5722           Use _class_peek_parent(), not _class_ref(); fix docs to say
5723           'default main context' instead of 'mainloop' where that is
5724           what's meant.
5725
5726         * gst/gstelement.c: (gst_element_commit_state),
5727         (gst_element_set_state):
5728           Fix typos in debug messages
5729
5730 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5731
5732         * docs/README:
5733         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
5734         * gst/gstpluginfeature.c:
5735         * gst/gstutils.c:
5736           various doc updates
5737         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5738           change an assert into an error until it gets fixed properly
5739
5740 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
5741
5742         * docs/gst/gstreamer-sections.txt:
5743         * docs/gst/tmpl/.cvsignore:
5744         * docs/gst/tmpl/gstelement.sgml:
5745         * docs/gst/tmpl/gstinfo.sgml:
5746         * docs/gst/tmpl/gstobject.sgml:
5747         * gst/gstelement.c:
5748         * gst/gstelement.h:
5749         * gst/gstinfo.c:
5750         * gst/gstinfo.h:
5751         * gst/gstobject.c: (gst_object_class_init):
5752         * gst/gstobject.h:
5753           inlined 3 more biiiig doc files and added some missing docs on the fly
5754
5755 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5756
5757         * check/gst/.cvsignore:
5758         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
5759         * gst/gstregistryxml.c: (load_plugin),
5760         (gst_registry_xml_save_plugin):
5761           put back source in registry.  add checks for find_plugin.
5762         * testsuite/states/bin.c: (assert_state), (empty_bin),
5763         (test_adding_one_element), (main):
5764         * testsuite/states/locked.c: (main):
5765           some compile/run fixes
5766
5767 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5768
5769         * check/gst/gstvalue.c: (GST_START_TEST):
5770           fix leaks in the test itself
5771
5772 2005-09-22  Wim Taymans  <wim@fluendo.com>
5773
5774         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5775         (gst_base_sink_send_event), (gst_base_sink_peer_query),
5776         (gst_base_sink_query):
5777         Prepare for more accurate position reporting and query
5778         handling.
5779
5780         * gst/gstelement.c: (gst_element_send_event),
5781         (gst_element_set_state):
5782         Add some comment.
5783
5784 2005-09-22  Wim Taymans  <wim@fluendo.com>
5785
5786         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
5787         (gst_query_parse_segment):
5788         * gst/gstquery.h:
5789         More documentation.
5790         Add segment query for future use.
5791
5792 2005-09-22  Wim Taymans  <wim@fluendo.com>
5793
5794         * gst/gstbin.c: (gst_bin_add_func):
5795         Some more debug info.
5796
5797         * gst/gstelement.c: (gst_element_send_event):
5798         Simplify send_event
5799
5800         * gst/gstelement.h:
5801         Don't know how flags got broken.
5802
5803         * gst/gstquery.h:
5804         Added new query.
5805
5806 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5807
5808         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
5809           Add simplistic test suite for GST_TYPE_DATE serialisation and
5810           deserialisation.
5811
5812 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5813
5814         * docs/gst/gstreamer-sections.txt:
5815         * gst/gststructure.c: (gst_structure_set_valist),
5816         (gst_structure_get_date):
5817         * gst/gststructure.h:
5818         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
5819         (gst_date_copy), (gst_value_compare_date),
5820         (gst_value_serialize_date), (gst_value_deserialize_date),
5821         (gst_value_transform_date_string),
5822         (gst_value_transform_string_date), (_gst_value_initialize):
5823         * gst/gstvalue.h:
5824           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
5825           bunch of utility functions along with a hack that checks that
5826           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
5827           is required. Part of the grand scheme in #170777.
5828
5829 2005-09-22  Andy Wingo  <wingo@pobox.com>
5830
5831         * gst/gstconfig.h.in: Psych out gtk-doc.
5832
5833         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
5834
5835         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
5836
5837         * tools/gst-inspect.c (print_element_list): Plug some
5838         inconsequential leaks.
5839
5840         * gst/gstregistry.c (gst_registry_get_default): Doc.
5841
5842         * check/gst/gstplugin.c: 
5843         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
5844         * gst/gstelementfactory.c (gst_element_factory_create): 
5845         * gst/gstindexfactory.c (gst_index_factory_create): Update for
5846         refcount changes.
5847
5848         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
5849         (gst_plugin_feature_load): Doc, don't eat refs.
5850
5851         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
5852         (gst_plugin_list_free): Doc.
5853         (gst_plugin_load_file): Doc updates.
5854
5855         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
5856         accessors returning refcounted objects, return a ref.
5857
5858         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
5859         accessor for caps. IDEMPOTENCE. Oh yes.
5860
5861 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
5862
5863         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5864
5865         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
5866         (_gst_debug_register_funcptr):
5867           Add mutex to serialise access to the hash table with
5868           the function pointer => function name string mapping;
5869           make that hash table static scope (#316809).
5870
5871         * gst/registries/.cvsignore:
5872           Remove left-over file.
5873
5874 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5875
5876         * docs/pwg/appendix-porting.xml:
5877           And something about newsegment events and caps-on-buffers to
5878           the porting guide (feel free to improve).
5879
5880 2005-09-21  Andy Wingo  <wingo@pobox.com>
5881
5882         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
5883         data and event probes on the same pad.
5884         (test_buffer_probe_once): Test that removing probes from within
5885         the probe functions works.
5886
5887 2005-09-21  Andy Wingo  <wingo@pobox.com>
5888
5889         * check/gst/gstutils.c: New file.
5890         (test_buffer_probe_n_times): A simple buffer probe test. More to
5891         come, foolios.
5892
5893         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
5894         have-data::buffer, not have-data.
5895         (gst_pad_add_event_probe): Likewise for have-data::event.
5896         (gst_pad_add_data_probe): More docs. The part about 'resolving the
5897         peer' isn't quite right yet though.
5898         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
5899         (gst_pad_remove_data_probe): Change to take the guint handler_id
5900         as their arg, not the function+data, which is more glib-like.
5901
5902         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
5903         the signal emission to indicate if the data is a buffer or an
5904         event.
5905         (gst_pad_get_type): Initialize buffer and event quarks.
5906         (gst_pad_class_init): have-data is now a detailed signal, yes it
5907         is.
5908
5909 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5910
5911         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
5912         * gst/gstutils.c: (gst_util_set_value_from_string),
5913         (gst_util_set_object_arg):
5914           Don't put functional code in g_return_if_fail() or
5915           g_return_val_if_fail() statements, otherwise things will 
5916           break when G_DISABLE_CHECKS is defined during compilation.
5917
5918 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5919
5920         * docs/gst/tmpl/.cvsignore:
5921         * docs/gst/tmpl/gstvalue.sgml:
5922         * gst/gstvalue.c:
5923         * gst/gstvalue.h:
5924           inlied another one and added  some obvious docs
5925
5926 2005-09-21  Wim Taymans  <wim@fluendo.com>
5927
5928         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5929         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
5930         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
5931         (gst_fdsrc_get_property), (gst_fdsrc_create):
5932         * gst/elements/gstfdsrc.h:
5933         Properly implement fdsrc. Removed signal and timeout,
5934         better implemented somewhere else.
5935
5936 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5937
5938         * docs/gst/tmpl/.cvsignore:
5939         * docs/gst/tmpl/gstimplementsinterface.sgml:
5940         * gst/gstinterface.c:
5941           inlined more docs
5942
5943 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5944
5945         * docs/gst/gstreamer-sections.txt:
5946         * docs/gst/tmpl/.cvsignore:
5947         * docs/gst/tmpl/gstenumtypes.sgml:
5948           remove obsolete doc file
5949
5950 2005-09-21  David Schleef  <ds@schleef.org>
5951
5952         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
5953         little beer, fix a little leak.
5954
5955 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5956
5957         * docs/gst/gstreamer-docs.sgml:
5958         * docs/gst/gstreamer-sections.txt:
5959         * docs/gst/tmpl/.cvsignore:
5960         * gst/Makefile.am:
5961         * gst/gst.h:
5962         * gst/gstbin.c:
5963         * gst/gstelement.h:
5964         * gst/gstindex.c: (gst_index_class_init):
5965         * gst/gstindex.h:
5966         * gst/gstindexfactory.c: (gst_index_factory_get_type),
5967         (gst_index_factory_class_init), (gst_index_factory_init),
5968         (gst_index_factory_finalize), (gst_index_factory_new),
5969         (gst_index_factory_destroy), (gst_index_factory_find),
5970         (gst_index_factory_create), (gst_index_factory_make):
5971         * gst/gstindexfactory.h:
5972         * gst/gstpluginfeature.c:
5973         * gst/gstpluginfeature.h:
5974         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5975           more docs inlined, splitted gstindex.{c,h}
5976
5977 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5978
5979         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
5980           fix a leak
5981
5982 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
5983
5984         * gst/elements/gstfilesink.c: (gst_file_sink_init):
5985           Set sync to FALSE by default.
5986
5987 2005-09-20  Wim Taymans  <wim@fluendo.com>
5988
5989         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5990         (gst_base_sink_init):
5991         Make sync property settable from subclass.
5992
5993         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
5994         (gst_fake_sink_change_state):
5995         Set sync to FALSE by default.
5996
5997 2005-09-20  Wim Taymans  <wim@fluendo.com>
5998
5999         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
6000         * tools/gst-launch.c: (main):
6001         The timeout handler should have lower priority than the source
6002         so we don't timeout before popping a message with 0 timeout.
6003         Dump error messages after failed state change.
6004
6005 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6006
6007         * tools/gst-inspect.c: (print_element_properties_info):
6008           Fix two typos.
6009
6010 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6011
6012         * check/gst/gstevent.c:
6013         * gst/elements/gstfakesink.c:
6014         * gst/elements/gstfakesink.h:
6015           remove the sync property from fakesink.
6016           has the side effect of setting sync TRUE
6017           for fakesink, which is a change.  Anyone who knows how
6018           to fix this nicely in a GObject-y way, feel free.
6019
6020 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6021
6022         * docs/gst/gstreamer-docs.sgml:
6023           remove probe refsection
6024
6025 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6026
6027         * check/Makefile.am:
6028           disable valgrinding the controller test again
6029         * docs/gst/gstreamer-sections.txt:
6030           update for api-changes
6031
6032 2005-09-20  Wim Taymans  <wim@fluendo.com>
6033
6034         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6035         (gst_base_sink_set_property), (gst_base_sink_get_property),
6036         (gst_base_sink_do_sync):
6037         * gst/base/gstbasesink.h:
6038         Added sync property to basesink to disable clock sync.
6039
6040 2005-09-20  Andy Wingo  <wingo@pobox.com>
6041
6042         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
6043         eating the caller's refcount.
6044
6045         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
6046         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
6047         refcount.
6048
6049         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
6050         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
6051         of GLib 2.8 public, so we can know which refcount to check in
6052         tests.
6053
6054         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
6055         (gst_object_init): Only set the gst refcount if we're going ahead
6056         with the refcount hack.
6057
6058 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6059
6060         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6061         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6062           more leaks plumbed, added more debug-logging
6063         * gst/gstmacros.h:
6064           whitespace fix
6065
6066 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6067
6068         * gst/gstmessage.c:
6069           remove include of gstmemchunk.h
6070
6071 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6072
6073         * gst/gstclock.c: (_gst_clock_id_free):
6074           Commit from the Political Party For More Atomic CVS Commits,
6075           so that people don't waste too much of their day fishing
6076           out obvious leaks out of massive commits.
6077           Oh, and fix a pretty damn obvious leak in the memchunk
6078           removal code.
6079
6080 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6081
6082         * check/Makefile.am:
6083         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6084           plug mem-leak, re-add to valgrindable tests
6085
6086 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6087
6088         * gst/gstplugin.h:
6089           unbreak the build for those who have chronic arthritis
6090           and typing "make check" is just too taxing on the hands
6091
6092 2005-09-20  Andy Wingo  <wingo@pobox.com>
6093
6094         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
6095         really want it out, you should fix plugins at the same time.
6096
6097 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
6098
6099         * configure.ac:
6100         * docs/gst/gstreamer-sections.txt:
6101         * gst/gstobject.c:
6102           added missing symbols to api docs
6103           disable ref-count hack if we have glib >= 2.8
6104
6105 2005-09-19  David Schleef  <ds@schleef.org>
6106
6107         * docs/gst/Makefile.am: Ignore a few more internal headers
6108         * docs/gst/gstreamer-docs.sgml: Remove old sections
6109         * docs/gst/gstreamer-sections.txt: Remove old sections
6110         * docs/gst/tmpl/gstobject.sgml: update
6111         * docs/gst/tmpl/gstplugin.sgml: update
6112         * docs/gst/tmpl/gstpluginfeature.sgml: update
6113         * docs/random/ds/0.9-suggested-changes: update.
6114         * gst/Makefile.am: remove memchunk and trashstack, since they're
6115           not used.
6116         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
6117         * gst/gst.h: don't include some headers
6118         * gst/gstchildproxy.c: add gstmarshal.h
6119         * gst/gstclock.c: Don't use memchunks
6120         * gst/gstminiobject.c: Add some docs
6121         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
6122         * gst/gstobject.h: same
6123         * gst/gstplugin.c: include gstmacros.h
6124         * gst/gstplugin.h: don't include gstmacros.h, since it's private
6125         * gst/gstquery.c: don't use memchunks
6126         * gst/gstregistry.c: rename gst_registry_deinit()
6127         * gst/gstregistry.h: same
6128
6129 2005-09-19  David Schleef  <ds@schleef.org>
6130
6131         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
6132         * docs/libs/gstreamer-libs-sections.txt:
6133         * docs/libs/tmpl/gstgetbits.sgml:
6134         * docs/libs/tmpl/gstputbits.sgml:
6135
6136 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6137
6138         * win32/gstenumtypes.c:
6139         * win32/gstenumtypes.h:
6140           Update.
6141
6142 2005-09-19  Wim Taymans  <wim@fluendo.com>
6143
6144         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
6145         Automatically PAUSE and RESUME a pipeline when a flushing seek
6146         is performed.
6147
6148 2005-09-19  Andy Wingo  <wingo@pobox.com>
6149
6150         * gst/gstregistry.h: Spacing fixen.
6151
6152 2005-09-19  Wim Taymans  <wim@fluendo.com>
6153
6154         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
6155         Handle state change failure more correctly.
6156
6157 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6158
6159         * check/Makefile.am:
6160         * check/pipelines/cleanup.c: (run_pipeline):
6161         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6162         (GST_START_TEST):
6163           enable cleanup again after fixing the leak
6164         * docs/README:
6165           some more info on docs
6166
6167 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6168
6169         * check/Makefile.am:
6170           re-enable tests now that leaks are plugged
6171         * check/gst/gst.c:
6172         * check/gst/gstbin.c:
6173         * check/gst/gstpipeline.c:
6174           add some more tests while fixing leaks
6175         * common/check.mak:
6176           make sure binaries are uptodate when valgrinding/gdbing
6177         * gst/gst.c:
6178         * gst/gstelementfactory.c:
6179           remove a ref too many, and add a FIXME for when we get
6180           round to disposing of classes
6181         * gst/gstplugin.c:
6182           fix the refcounting when loading a plugin from a file and
6183           the code pretends that the pointer is the same even though
6184           of course it can change
6185         * gst/gstpluginfeature.c:
6186           unref plugins marked cached (a bit confusing as a name)
6187           as the docs state should be done
6188           various doc additions to explain refcounting
6189         * gst/gstregistry.c:
6190         * gst/gstregistryxml.c:
6191           debugging
6192
6193 2005-09-19  Wim Taymans  <wim@fluendo.com>
6194
6195         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6196         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6197         (send_messages), (GST_START_TEST), (gstbus_suite):
6198         * check/gst/gstpipeline.c: (GST_START_TEST):
6199         * check/pipelines/cleanup.c: (run_pipeline):
6200         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6201         (GST_START_TEST):
6202         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6203         (gst_bus_source_check), (gst_bus_source_dispatch),
6204         (gst_bus_create_watch), (gst_bus_add_watch_full),
6205         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6206         * gst/gstbus.h:
6207         * tools/gst-launch.c: (event_loop):
6208         * tools/gst-md5sum.c: (event_loop):
6209         GstBusHandler -> GstBusFunc, return value has the same meaning as
6210         any other GSource (FALSE == remove source).
6211         _add_watch() and _add_watch_full() now take a MessageType mask to
6212         only handle specific types of messages.
6213         _poll() returns the GstMessage instead of the message type to avoid
6214         race conditions.
6215         _have_pending() takes a MessageType mask now too.
6216         Added testsuite for multiple bus watches.
6217         Fix testsuites and applications for new bus API.
6218
6219 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6220
6221         * check/Makefile.am:
6222           mark a bunch of the tests as to fix until we fix them
6223
6224 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6225
6226         * common/check.mak:
6227           use GST_PLUGIN settings for valgrind tests as well, so we're
6228           valgrinding the correct thing
6229         * gst/gst.c: (init_post):
6230           plug another leak
6231
6232 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6233
6234         * gst/gst.c: (init_post), (gst_deinit):
6235         * gst/gstelementfactory.c: (gst_element_factory_class_init),
6236         (gst_element_factory_finalize), (gst_element_factory_cleanup):
6237         * gst/gstindex.c: (gst_index_factory_class_init),
6238         (gst_index_factory_finalize):
6239         * gst/gstobject.c: (gst_object_dispose):
6240         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6241         (gst_plugin_load_file), (gst_plugin_desc_free):
6242         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6243         (gst_plugin_feature_finalize):
6244         * gst/gstregistry.c: (gst_registry_class_init),
6245         (gst_registry_init), (gst_registry_finalize),
6246         (gst_registry_get_default), (gst_registry_deinit):
6247         * gst/gstregistry.h:
6248         * gst/gstregistryxml.c: (load_feature), (load_plugin):
6249           various cleanups and memleak plugging.  make valgrind is happy now.
6250
6251 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6252
6253         * common/check.mak:
6254           add a check-valgrind target
6255
6256 2005-09-18  David Schleef  <ds@schleef.org>
6257
6258         * tools/gst-inspect.c: Revert the GOption code.
6259
6260 2005-09-17  David Schleef  <ds@schleef.org>
6261
6262         * check/Makefile.am: Fix environment variables.
6263         * check/gst/gstplugin.c: Fix for API changes.
6264         * tools/gst-inspect.c: Fix for API changes.
6265         * tools/gst-xmlinspect.c: Fix for API changes.
6266         * gst/gstelementfactory.c:
6267         * gst/gstplugin.c:
6268         * gst/gstplugin.h:
6269         * gst/gstpluginfeature.c:
6270         * gst/gstpluginfeature.h:
6271         * gst/gstregistry.c:
6272         * gst/gstregistry.h:
6273         * gst/gstregistryxml.c:
6274         * gst/gsttypefind.c:
6275         * gst/gsttypefindfactory.c:
6276         * gst/indexers/gstfileindex.c:
6277         * gst/indexers/gstmemindex.c:
6278         * gst/schedulers/Makefile.am:
6279           Change registry to keep track of both plugins and features,
6280           removing the feature tracking from plugins themselves.
6281
6282 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6283
6284         * check/Makefile.am:
6285         * tools/gst-register.1.in:
6286           remove gst-register
6287
6288 2005-09-15  David Schleef  <ds@schleef.org>
6289
6290         * check/gst/gstplugin.c:
6291         * gst/gstelementfactory.c:
6292         * gst/gstplugin.c:
6293         * gst/gstpluginfeature.c:
6294         * gst/gstregistry.c:
6295           Getting tired of debugging.  Disabled all the unreffing of
6296           plugins and features, which fixes the segfaults, but of
6297           course leaks like crazy.  At least playbin works.
6298
6299 2005-09-15  David Schleef  <ds@schleef.org>
6300
6301         * check/gst/gstplugin.c: (register_check_elements),
6302         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6303         More testing
6304         * gst/elements/gsttypefindelement.c: Fix refcounting.
6305         * gst/gsttypefind.c:
6306         * gst/gsttypefindfactory.c:
6307         * gst/gsttypefindfactory.h:
6308
6309 2005-09-15  David Schleef  <ds@schleef.org>
6310
6311         * gst/gstindex.c: get refcounting correct.
6312         * gst/gstregistry.c: Handle the case where a feature/plugin is
6313           not found.
6314
6315 2005-09-15  David Schleef  <ds@schleef.org>
6316
6317         * check/Makefile.am:
6318         * check/gst/gstplugin.c: Add test
6319         * gst/gstplugin.c: Fix problems noticed by testsuite
6320         * gst/gstplugin.h:
6321         * gst/gstregistry.c: 
6322         * gst/gstregistry.h:
6323
6324 2005-09-15  David Schleef  <ds@schleef.org>
6325
6326         * gst/gstplugin.c: Implement semi-decent recounting and locking
6327           in plugins and plugin features.
6328         * gst/gstplugin.h:
6329         * gst/gstpluginfeature.c:
6330         * gst/gstpluginfeature.h:
6331         * gst/gstregistry.c:
6332
6333 2005-09-15  Michael Smith <msmith@fluendo.com>
6334
6335         * gst/gstregistry.c: (gst_registry_get_feature_list):
6336           Implement this. Makes oggdemux work; decodebin still broken.
6337
6338 2005-09-14  David Schleef  <ds@schleef.org>
6339
6340         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6341           #316076)
6342         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6343         * gst/check/Makefile.am:
6344         * libs/gst/controller/Makefile.am:
6345         * libs/gst/dataprotocol/Makefile.am:
6346
6347 2005-09-14  David Schleef  <ds@schleef.org>
6348
6349         * configure.ac: Remove getbits library.  Nothing uses it, and
6350           it should be in something like liboil if someone did want
6351           to use it.
6352         * libs/gst/Makefile.am:
6353         * libs/gst/getbits/Makefile.am:
6354         * libs/gst/getbits/gbtest.c:
6355         * libs/gst/getbits/getbits.c:
6356         * libs/gst/getbits/getbits.h:
6357         * libs/gst/getbits/gstgetbits_generic.c:
6358         * libs/gst/getbits/gstgetbits_i386.s:
6359         * libs/gst/getbits/gstgetbits_inl.h:
6360
6361 2005-09-14  David Schleef  <ds@schleef.org>
6362
6363         * gst/Makefile.am: Dist glib-compat.h
6364
6365 2005-09-14  David Schleef  <ds@schleef.org>
6366
6367         * configure.ac: Remove gst/registries, since it's no longer used.
6368         * gst/registries/Makefile.am:
6369         * gst/registries/gstlibxmlregistry.c:
6370         * gst/registries/gstlibxmlregistry.h:
6371         * gst/registries/gstxmlregistry.c:
6372         * gst/registries/gstxmlregistry.h:
6373         * gst/registries/registrytest.c:
6374
6375 2005-09-14  David Schleef  <ds@schleef.org>
6376
6377         * gst/glib-compat.h:
6378         * gst/gstregistryxml.c:
6379           Convergence is near.  Seriously.
6380
6381 2005-09-14  David Schleef  <ds@schleef.org>
6382
6383         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6384         * gst/glib-compat.h:
6385           Attempt #4 to appease the buildbots.
6386
6387 2005-09-14  David Schleef  <ds@schleef.org>
6388
6389         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6390           Attempt #3.
6391
6392 2005-09-14  David Schleef  <ds@schleef.org>
6393
6394         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6395         Attempt #2.
6396
6397 2005-09-14  David Schleef  <ds@schleef.org>
6398
6399         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
6400           the new functions.
6401
6402 2005-09-14  David Schleef  <ds@schleef.org>
6403
6404         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6405         * gst/glib-compat.h: Add some functions that are in newer versions
6406           of glib than we care to require.
6407         * gst/gstregistryxml.c: Use them.
6408
6409 2005-09-14  David Schleef  <ds@schleef.org>
6410
6411         * po/POTFILES.in: remove gst-register.c
6412
6413 2005-09-14  David Schleef  <ds@schleef.org>
6414
6415         * docs/gst/gstreamer-docs.sgml:
6416         * docs/gst/gstreamer-sections.txt:
6417         * docs/gst/gstreamer.types:
6418         * docs/gst/tmpl/gstelement.sgml:
6419         * docs/gst/tmpl/gstplugin.sgml:
6420         * docs/gst/tmpl/gstpluginfeature.sgml:
6421           Documentation updates for registry changes.
6422
6423 2005-09-14  David Schleef  <ds@schleef.org>
6424
6425         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
6426           because we don't require glib-2.8.
6427
6428 2005-09-14  David Schleef  <ds@schleef.org>
6429
6430         * gst/gstregistryxml.c: Added.  Essentially moved out of the
6431           registries directory.
6432
6433 2005-09-14  David Schleef  <ds@schleef.org>
6434
6435         * check/Makefile.am:
6436         * check/generic/states.c:
6437         * gst/Makefile.am:
6438         * gst/gst.c:
6439         * gst/gst.h:
6440         * gst/gst_private.h:
6441         * gst/gstelementfactory.c:
6442         * gst/gstindex.c:
6443         * gst/gstinfo.c:
6444         * gst/gstplugin.c:
6445         * gst/gstplugin.h:
6446         * gst/gstpluginfeature.c:
6447         * gst/gstpluginfeature.h:
6448         * gst/gstregistry.c:
6449         * gst/gstregistry.h:
6450         * gst/gstregistrypool.c: remove
6451         * gst/gstregistrypool.h: remove
6452         * gst/gsttypefind.c:
6453         * gst/gsttypefindfactory.c:
6454         * gst/gsturi.c:
6455         * tools/Makefile.am:
6456         * tools/gst-compprep.c:
6457         * tools/gst-inspect.c:
6458         * tools/gst-register.c: remove
6459         * tools/gst-xmlinspect.c:
6460           Registry rewrite.  Changes registry from being a file created
6461           by a tool into a simple cache file created automatically by 
6462           libgstreamer.  Removed gst-register (because it's no longer
6463           needed).  Remove registry pools, because we only have one
6464           registry implementation (XML).  Fix up other subsystems as
6465           necessary.
6466
6467 2005-09-13  Michael Smith <msmith@fluendo.com>
6468
6469         * gst/gstconfig.h.in:
6470           Don't Use windows linking attributes for MinGW. Fixes #316157
6471
6472 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6473
6474         * gst/gstutils.c: (set_state_async_thread_func),
6475         (gst_element_set_state_async):
6476           Apparently people think it's better if this function doesn't
6477           try to set the state to whatever state was asked for on the first
6478           call to this function for any object.  Seriously.
6479
6480 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6481
6482         * check/gst/gstpipeline.c: (GST_START_TEST):
6483         * docs/gst/gstreamer-sections.txt:
6484         * gst/gstutils.c: (set_state_async_thread_func),
6485         (gst_element_set_state_async):
6486         * gst/gstutils.h:
6487           add a "gst_element_set_state_async" method that
6488           sets the state and starts a thread to make sure the state
6489           change completes as best as it can
6490
6491 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6492
6493         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6494           codify design+behaviour in testsuite after discussion
6495
6496 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6497
6498         * docs/gst/tmpl/gstelement.sgml:
6499         * docs/manual/appendix-quotes.xml:
6500           add a quote
6501         * gst/gstelement.c: (gst_element_set_state):
6502           add some debug
6503
6504 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
6505
6506         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6507         (gst_base_transform_prepare_output_buf),
6508         (gst_base_transform_handle_buffer):
6509         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
6510         (gst_capsfilter_prepare_buf):
6511           Remove the requirement for sub-classes to call the parent
6512           implementation of prepare_output_buffer with a wrapper function.
6513           
6514         * gst/gsttaglist.h:
6515         * gst/gsttagsetter.h:
6516           Fix #define wrapper
6517
6518 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
6519
6520         * docs/gst/gstreamer-sections.txt:
6521           more doc cleanups
6522
6523 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6524
6525         * docs/gst/gstreamer-sections.txt:
6526         * docs/gst/tmpl/gstelement.sgml:
6527         * docs/gst/tmpl/gstplugin.sgml:
6528         * gst/gstminiobject.c:
6529         * gst/gstvalue.h:
6530           docs now stop throwing warnings
6531
6532 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6533
6534         * docs/gst/gstreamer-sections.txt:
6535         * docs/gst/gstreamer.types:
6536         * docs/gst/tmpl/gstpad.sgml:
6537         * docs/gst/tmpl/gsttypes.sgml:
6538         * gst/base/gstadapter.h:
6539         * gst/base/gstbasesink.h:
6540         * gst/base/gstbasesrc.h:
6541         * gst/gstbin.h:
6542         * gst/gstbuffer.h:
6543         * gst/gstbus.h:
6544         * gst/gstcaps.h:
6545         * gst/gstclock.h:
6546         * gst/gstelement.h:
6547         * gst/gstevent.h:
6548         * gst/gstmessage.h:
6549         * gst/gstpad.h:
6550         * gst/gststructure.c:
6551         * gst/registries/gstlibxmlregistry.h:
6552           various documentation fixes
6553
6554 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6555
6556         * docs/gst/gstreamer-sections.txt:
6557         * docs/gst/tmpl/gstvalue.sgml:
6558           rearrange gstvalue section
6559         * gst/gstutils.c: (gst_element_state_get_name):
6560           NONE -> VOID
6561         * gst/gstvalue.c: (_gst_value_initialize):
6562         * gst/gstvalue.h:
6563           doc updates
6564
6565 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
6566
6567         * check/gst-libs/controller.c:
6568           Header include fix.
6569         * gst/base/gstbasetransform.c:
6570         (gst_base_transform_default_prepare_buf),
6571         (gst_base_transform_handle_buffer):
6572         * gst/base/gstbasetransform.h:
6573           Some more basetransform changes and fixes to enable sub-classes
6574           that modify buffer metadata only.
6575         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6576         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
6577         (gst_capsfilter_prepare_buf):
6578           If the output pad has fixed allowed caps and input buffers 
6579           don't have any, set the fixed caps on outgoing buffers.
6580
6581 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
6582         * check/elements/identity.c: (GST_START_TEST):
6583           Make the error a little clearer when the test fails because
6584           identity made a copy of the buffer.
6585         * docs/gst/gstreamer-sections.txt:
6586           New symbols in gstbasetransform.h
6587         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6588         (gst_base_transform_init), (gst_base_transform_transform_size),
6589         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6590         (gst_base_transform_default_prepare_buf),
6591         (gst_base_transform_get_unit_size),
6592         (gst_base_transform_buffer_alloc),
6593         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
6594         (gst_base_transform_change_state),
6595         (gst_base_transform_set_passthrough),
6596         (gst_base_transform_set_in_place),
6597         (gst_base_transform_is_in_place):
6598         * gst/base/gstbasetransform.h:
6599           Change BaseTransform to separate in_place operate from same_caps
6600           output. in_place implies that the element can perform the transform
6601           on incoming buffers in-place, even if the caps on the output are
6602           different.
6603           Sub-class elements can now implement special buffer allocation
6604           methods for outgoing buffers if they wish to.
6605           Big documentation addition.
6606         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
6607         * gst/elements/gstelements.c:
6608           Changes for basetransform modifications.
6609         * gst/elements/Makefile.am:
6610         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
6611           Compile fix. Extra debug output.
6612
6613 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6614
6615         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
6616         (gst_pad_suite):
6617           add tests for valid pad naming
6618         * gst/check/gstcheck.c: (gst_check_log_message_func),
6619         (gst_check_log_critical_func):
6620           add ASSERT_WARNING
6621           remove printing of code, it is fragile when the code contains
6622           % and the line number is enough info
6623         * gst/check/gstcheck.h:
6624         * gst/gstpad.c: (gst_pad_template_new):
6625           fix memleaks
6626
6627 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6628
6629         * configure.ac:
6630           say what CHECK flags we use
6631         * docs/libs/gstreamer-libs.types:
6632         * libs/gst/controller/Makefile.am:
6633         * libs/gst/controller/gst-controller.c:
6634         * libs/gst/controller/gst-controller.h:
6635         * libs/gst/controller/gst-helper.c:
6636         * libs/gst/controller/gst-interpolation.c:
6637         * libs/gst/controller/gstcontroller.c:
6638         * libs/gst/controller/gsthelper.c:
6639         * libs/gst/controller/gstinterpolation.c:
6640         * tools/gst-inspect.c: (print_plugin_info):
6641           we don't use dashes in header names
6642
6643 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6644
6645         * check/Makefile.am:
6646         * check/gst/.cvsignore:
6647         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
6648         (gst_pipeline_suite), (main):
6649           adding a test for pipelines and state changes
6650         * gst/gstutils.c: (get_state_func):
6651           add some debugging
6652         * gstreamer.spec.in:
6653           fix up spec file
6654
6655 2005-09-08  Michael Smith <msmith@fluendo.com>
6656
6657         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
6658         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
6659         (gst_file_src_is_seekable), (gst_file_src_get_size),
6660         (gst_file_src_start):
6661         * gst/elements/gstfilesrc.h:
6662           Various fixes for unseekable, unmmapable, and non-normal files, so
6663           that fallback to read() rather than mmap() works.
6664         * gst/gstevent.c: (gst_event_new_newsegment):
6665           Allow newsegment events with segment_start == segment_end, as will
6666           correctly happen if you use filesrc on a zero-size file, for
6667           example.
6668
6669 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6670
6671         * gst/gstplugin.c: (gst_plugin_load_file):
6672           Call g_module_close when we don't load the module
6673
6674         * gst/registries/gstlibxmlregistry.c:
6675         (gst_xml_registry_get_property):
6676           Port leak fix from 0.8
6677
6678 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6679
6680         * docs/gst/gstreamer-docs.sgml:
6681         * docs/gst/tmpl/.cvsignore:
6682         * docs/gst/tmpl/gsttrace.sgml:
6683         * docs/gst/tmpl/gsttrashstack.sgml:
6684         * gst/Makefile.am:
6685         * gst/gst.h:
6686         * gst/gstelement.h:
6687         * gst/gstevent.h:
6688         * gst/gstmessage.c:
6689         * gst/gstmessage.h:
6690         * gst/gsttag.c:
6691         * gst/gsttag.h:
6692         * gst/gsttaginterface.c:
6693         * gst/gsttaginterface.h:
6694         * gst/gsttaglist.c:
6695         * gst/gsttaglist.h:
6696         * gst/gsttagsetter.c:
6697         * gst/gsttagsetter.h:
6698         * gst/gsttrace.c:
6699         * gst/gsttrace.h:
6700         * gst/gsttrashstack.c:
6701           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
6702           inlined docs for gsttrace, gsttrashstack
6703
6704 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6705
6706         * gst/Makefile.am:
6707         * gst/elements/gstbufferstore.h:
6708         * gst/elements/gsttypefindelement.c:
6709         * gst/elements/gsttypefindelement.h:
6710         * gst/gst.h:
6711         * gst/gsttypefind.c:
6712         * gst/gsttypefind.h:
6713         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
6714         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
6715         (gst_type_find_factory_dispose),
6716         (gst_type_find_factory_unload_thyself),
6717         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
6718         (gst_type_find_factory_get_caps),
6719         (gst_type_find_factory_get_extensions),
6720         (gst_type_find_factory_call_function):
6721         * gst/gsttypefindfactory.h:
6722         * gst/registries/gstlibxmlregistry.c:
6723         * gst/registries/gstxmlregistry.c:
6724           splitted gsttypefind into gsttypefind, gsttypefindfactory
6725
6726 2005-09-07  Andy Wingo  <wingo@pobox.com>
6727
6728         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
6729         condition whereby the pad's task function is entered before the
6730         pad_mode variable was set.
6731
6732 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6733
6734         * gst/gstpad.c: (gst_pad_alloc_buffer):
6735           Catch misbehaving pad_alloc functions that don't
6736           set up caps and do it for them.
6737
6738 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6739
6740         * check/pipelines/simple_launch_lines.c: (run_pipeline):
6741           test for pipe!=NULL
6742         * docs/gst/tmpl/.cvsignore:
6743         * docs/gst/tmpl/gstmemchunk.sgml:
6744         * docs/gst/tmpl/gstparse.sgml:
6745         * docs/gst/tmpl/gsttaglist.sgml:
6746         * docs/gst/tmpl/gsttagsetter.sgml:
6747         * docs/gst/tmpl/gsttypefind.sgml:
6748         * docs/gst/tmpl/gsttypefindfactory.sgml:
6749         * gst/gstmemchunk.c:
6750         * gst/gstparse.c:
6751         * gst/gsttag.c:
6752         * gst/gsttaginterface.c:
6753         * gst/gsttypefind.c:
6754         * gst/gsttypefind.h:
6755           inlined more docs
6756
6757 === release 0.9.2 ===
6758
6759 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6760
6761         * NEWS:
6762         * RELEASE:
6763         * configure.ac:
6764           releasing 0.9.2, "South"
6765
6766 2005-09-05  Andy Wingo  <wingo@pobox.com>
6767
6768         * gst/registries/gstxmlregistry.h:
6769         * gst/registries/gstxmlregistry.c: Um... resurrect...
6770         
6771         * gst/registries/gstxmlregistry.h:
6772         * gst/registries/gstxmlregistry.c: and update to newer API.
6773         Incidentally they should be a bit faster now that they don't have
6774         to parse the caps.
6775         
6776 2005-09-05  Andy Wingo  <wingo@pobox.com>
6777
6778         * gst/registries/gstxmlregistry.h:
6779         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
6780         replaced by the libxml registry a while back
6781
6782 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6783
6784         * docs/gst/tmpl/gstplugin.sgml:
6785         * gst/elements/gstelements.c:
6786         * gst/gst.c:
6787         * gst/gstplugin.c: (gst_plugin_register_func),
6788         (gst_plugin_desc_copy), (gst_plugin_desc_free),
6789         (gst_plugin_get_source):
6790         * gst/gstplugin.h:
6791         * gst/registries/gstlibxmlregistry.c: (load_plugin),
6792         (gst_xml_registry_save_plugin):
6793         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
6794         (gst_xml_registry_save_plugin):
6795         * tools/gst-inspect.c: (print_plugin_info):
6796           add a "source" plugin description field, to represent the source
6797           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
6798           will set it to PACKAGE, which is automake's idea of the name of
6799           the source project.
6800
6801 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6802
6803         * Makefile.am:
6804         * autogen.sh:
6805         * configure.ac:
6806         * docs/Makefile.am:
6807         * docs/faq/Makefile.am:
6808         * docs/gst/tmpl/gstelement.sgml:
6809         * docs/gst/tmpl/gsttypes.sgml:
6810         * docs/htmlinstall.mak:
6811         * docs/manual/Makefile.am:
6812         * docs/pwg/Makefile.am:
6813           reorganize doc build a little
6814           split out docbook and gtk-doc stuff
6815           have two separate --enable's and enable them through autogen
6816           but disable by default in configure (to be similar to other
6817           projects)
6818         * gstreamer.spec.in:
6819           clean up docs install
6820         * po/af.po:
6821         * po/az.po:
6822         * po/ca.po:
6823         * po/cs.po:
6824         * po/de.po:
6825         * po/en_GB.po:
6826         * po/fr.po:
6827         * po/it.po:
6828         * po/nb.po:
6829         * po/nl.po:
6830         * po/ru.po:
6831         * po/sq.po:
6832         * po/sr.po:
6833         * po/sv.po:
6834         * po/tr.po:
6835         * po/uk.po:
6836         * po/vi.po:
6837           translation updates
6838
6839 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
6840
6841         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
6842           Add comment.
6843           
6844         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6845         (gst_fake_sink_change_state):
6846           Make state change function thread-safe.
6847           
6848         * gst/gstpad.c: (gst_pad_alloc_buffer):
6849           Set offset on generic buffer allocated by fallback.
6850
6851 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
6852
6853         * docs/gst/gstreamer-sections.txt:
6854         * docs/gst/tmpl/gstelement.sgml:
6855         * gst/gstpad.c:
6856         * libs/gst/controller/gst-controller.c:
6857         (gst_controlled_property_set_interpolation_mode),
6858         (gst_controlled_property_new),
6859         (gst_controller_find_controlled_property):
6860          run the wingo-magic script against the docs
6861
6862 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6863
6864         * docs/gst/gstreamer-docs.sgml:
6865         * docs/gst/gstreamer-sections.txt:
6866         * docs/gst/tmpl/.cvsignore:
6867         * docs/gst/tmpl/gstelementdetails.sgml:
6868         * docs/gst/tmpl/gstelementfactory.sgml:
6869         * gst/gst.c:
6870         * gst/gstbus.c:
6871         * gst/gstelementfactory.c:
6872         * gst/gstelementfactory.h:
6873           merged elementdetails docs into elementfactory docs
6874           inlined both
6875
6876 2005-09-02  Andy Wingo  <wingo@pobox.com>
6877
6878         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
6879         consider this enum an enum and not a flags.
6880
6881 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6882
6883         * docs/gst/gstreamer-docs.sgml:
6884         * docs/gst/tmpl/.cvsignore:
6885         * docs/gst/tmpl/gstghostpad.sgml:
6886         * docs/gst/tmpl/gstiterator.sgml:
6887         * docs/gst/tmpl/gstmacros.sgml:
6888         * docs/gst/tmpl/gstrealpad.sgml:
6889         * docs/gst/tmpl/gstregistry.sgml:
6890         * docs/gst/tmpl/gstregistrypool.sgml:
6891         * docs/gst/tmpl/gststructure.sgml:
6892         * docs/gst/tmpl/gstsystemclock.sgml:
6893         * docs/gst/tmpl/gsttrace.sgml:
6894         * gst/gstghostpad.c:
6895         * gst/gstmacros.h:
6896         * gst/gstmemchunk.c:
6897         * gst/gstmemchunk.h:
6898         * gst/gstqueue.c:
6899         * gst/gstregistry.c:
6900         * gst/gstregistrypool.c:
6901         * gst/gststructure.c:
6902         * gst/gstsystemclock.c:
6903           more docs inlined
6904
6905 2005-09-02  Andy Wingo  <wingo@pobox.com>
6906
6907         * gst/gstelement.h (GstState): Renamed from GstElementState,
6908         changed to be a normal enum instead of flags.
6909         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
6910         munged to be GST_STATE_CHANGE_*.
6911         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
6912         work with the new state representation.
6913         (GstStateChange): New enumeration of possible state transitions.
6914         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
6915         (GstElementClass::change_state): Pass the GstStateChange along as
6916         an argument. Helps language bindings, so they don't have to use
6917         tricky lock-needing macros like GST_STATE_CHANGE ().
6918
6919         * scripts/update-states (file): New script. Run it on a file to
6920         update it for state naming and API changes. Updates files in
6921         place.
6922
6923         * All files updated for the new API.
6924
6925 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6926
6927         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
6928         * gst/gstutils.c: (gst_util_set_value_from_string),
6929         (gst_util_set_object_arg):
6930           fix a bunch of unchecked return values
6931         * tools/gst-complete.c: (main):
6932         * gstreamer.spec.in:
6933           clean up a little
6934
6935 2005-09-01  Wim Taymans  <wim@fluendo.com>
6936
6937         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6938         (gst_base_sink_event), (gst_base_sink_do_sync),
6939         (gst_base_sink_handle_event):
6940         * gst/base/gstbasesink.h:
6941         Handle newsegments more correctly.
6942
6943         * gst/gstbus.c:
6944         Fix docs.
6945
6946         * gst/gstevent.c: (gst_event_new_newsegment):
6947         A newsegment cannot have a start_time of -1
6948
6949 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
6950
6951         * win32/gstenumtypes.c:
6952         * win32/gstenumtypes.h:
6953           Update
6954
6955 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6956
6957         * libs/gst/controller/gst-controller.c:
6958         (gst_controlled_property_set_interpolation_mode),
6959         (gst_controlled_property_new):
6960          fixed boolean again
6961
6962 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
6963
6964         * docs/faq/gst-uninstalled:
6965           add -good
6966         * gst/gstevent.c:
6967         * gst/gstevent.h:
6968           remove wrong docs
6969         * gst/gstutils.c: (gst_element_link_filtered):
6970         * gst/gstutils.h:
6971           add gst_element_link_filtered
6972
6973 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6974
6975         * docs/gst/gstreamer-docs.sgml:
6976         * docs/gst/gstreamer-sections.txt:
6977         * docs/gst/tmpl/.cvsignore:
6978         * docs/gst/tmpl/gsterror.sgml:
6979         * docs/gst/tmpl/gstfilter.sgml:
6980         * docs/gst/tmpl/gsturihandler.sgml:
6981         * docs/gst/tmpl/gsturitype.sgml:
6982         * docs/gst/tmpl/gstutils.sgml:
6983         * docs/gst/tmpl/gstxml.sgml:
6984         * gst/gsterror.c:
6985         * gst/gsterror.h:
6986         * gst/gstfilter.c:
6987         * gst/gsturi.c:
6988         * gst/gsturitype.c:
6989         * gst/gstutils.c:
6990         * gst/gstxml.c:
6991           inlined more docs, fixed double id-ref
6992
6993 2005-08-31  Wim Taymans  <wim@fluendo.com>
6994
6995         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
6996         (gst_base_transform_handle_buffer):
6997         Passthrough elements don't need the caps as they don't care.
6998
6999 2005-08-31  Wim Taymans  <wim@fluendo.com>
7000
7001         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7002         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
7003         Don't leak refcounts on buffers.
7004
7005 2005-08-31  Wim Taymans  <wim@fluendo.com>
7006
7007         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
7008         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
7009         (gst_base_transform_chain), (gst_base_transform_change_state):
7010         * gst/base/gstbasetransform.h:
7011         Handle the case where we are not negotiated more gracefully.
7012
7013 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
7014
7015         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
7016         (gst_file_src_map_region):
7017           Set READONLY flag on mmap'ed buffers, otherwise
7018           gst_buffer_make_writable() won't work properly (#314708).
7019
7020 2005-08-31  Wim Taymans  <wim@fluendo.com>
7021
7022         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
7023         passthrough elements can even do inplace on non writable
7024         buffers (as they don't touch them).
7025
7026 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7027
7028         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7029         (gst_test_mono_source_set_property),
7030         (gst_test_mono_source_class_init), (GST_START_TEST),
7031         (gst_controller_suite):
7032           more tests (hehe I have the most)
7033         * gst/gstbus.c:
7034           describe popping messages whenusing mulltiple sources
7035         * libs/gst/controller/gst-controller.c:
7036         (gst_controlled_property_set_interpolation_mode),
7037         (gst_controlled_property_new):
7038         * libs/gst/controller/gst-controller.h:
7039         * libs/gst/controller/gst-interpolation.c:
7040           implement boolean properties
7041
7042 2005-08-31  Wim Taymans  <wim@fluendo.com>
7043
7044         * gst/gstminiobject.c: (gst_mini_object_ref):
7045         Cannot assert that the refcount has to be positive
7046         since a disposed object can be resurrected.
7047
7048 2005-08-31  Wim Taymans  <wim@fluendo.com>
7049
7050         * gst/gstpad.c: (gst_pad_init):
7051         Revert change, need to first fix badly behaving 
7052         apps.
7053
7054 2005-08-30  Wim Taymans  <wim@fluendo.com>
7055
7056         * check/elements/fakesrc.c: (setup_fakesrc):
7057         * check/elements/identity.c: (setup_identity):
7058         Activate pads before using them.
7059
7060 2005-08-30  Wim Taymans  <wim@fluendo.com>
7061
7062         * gst/base/gstadapter.c: (gst_adapter_flush):
7063         Flushing out 0 bytes is ok for this function.
7064
7065         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7066         no newsegment gives a warning and sets the start/stop to 
7067         invalid.
7068
7069         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
7070         (gst_base_transform_set_passthrough):
7071         Some debug info.
7072
7073         * gst/gstminiobject.c: (gst_mini_object_ref):
7074         Check refcount here too.
7075
7076         * gst/gstpad.c: (gst_pad_init):
7077         Pads are initially flushing and refusing data.
7078
7079         * gst/gstutils.c: (gst_element_link_pads_filtered):
7080         When adding a capsfilter element make sure it has the
7081         same state as the parent bin.
7082
7083 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7084
7085         * docs/gst/tmpl/.cvsignore:
7086         * docs/gst/tmpl/gstformat.sgml:
7087         * docs/gst/tmpl/gstversion.sgml:
7088         * gst/gstbus.h:
7089         * gst/gstformat.c:
7090         * gst/gstformat.h:
7091         * gst/gstversion.h.in:
7092           more docs and two more inlined
7093
7094 2005-08-30  Wim Taymans  <wim@fluendo.com>
7095
7096         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
7097         Don't sync to clock.
7098
7099 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7100
7101         * docs/gst/gstreamer-sections.txt:
7102           ultral33t func10ns deserve to appear in the docs actually
7103         * docs/gst/tmpl/.cvsignore:
7104         * docs/gst/tmpl/gstcompat.sgml:
7105         * docs/gst/tmpl/gstconfig.sgml:
7106         * gst/check/gstcheck.c:
7107         * gst/gstcompat.h:
7108         * gst/gstconfig.h.in:
7109           inlined more docs
7110
7111 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7112
7113         * docs/gst/tmpl/.cvsignore:
7114         * docs/gst/tmpl/gstquery.sgml:
7115         * docs/gst/tmpl/gstutils.sgml:
7116         * gst/gstquery.c:
7117         * gst/gstquery.h:
7118           inlined and extended docs
7119
7120 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7121
7122         * check/gst-libs/controller.c: (GST_START_TEST),
7123         (gst_controller_suite):
7124           more tests
7125         * docs/gst/tmpl/gstutils.sgml:
7126         * docs/libs/gstreamer-libs-sections.txt:
7127         * docs/libs/tmpl/gstdataprotocol.sgml:
7128           include path fixes
7129         * examples/controller/audio-example.c: (main):
7130           controller example works now
7131         * gst/gstclock.h:
7132           doc fixes
7133         * tools/gst-inspect.c: (print_element_properties_info):
7134           show param spec flags
7135
7136 2005-08-29  Andy Wingo  <wingo@pobox.com>
7137
7138         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
7139
7140 2005-08-28  Andy Wingo  <wingo@pobox.com>
7141
7142         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
7143         as having two arguments instead of just one. Allows superclasses
7144         to access information on subclasses -- see the terrible for() loop
7145         in gtype.c:g_type_create_instance for the reason why. All callers
7146         changed.
7147
7148 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7149
7150         * docs/design/part-messages.txt:
7151           update info
7152         * docs/gst/tmpl/.cvsignore:
7153         * docs/gst/tmpl/gstcaps.sgml:
7154         * docs/gst/tmpl/gstclock.sgml:
7155         * gst/gstbus.c:
7156         * gst/gstcaps.c:
7157         * gst/gstcaps.h:
7158         * gst/gstclock.c:
7159         * gst/gstclock.h:
7160         * gst/gstmessage.c:
7161           added descriptions for bus and message
7162           inline caps and clock docs
7163
7164 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7165
7166         * gst/gstmessage.c:
7167         * gst/gstmessage.h:
7168           doc fixes
7169
7170 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7171
7172         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7173           fix div-by-zero
7174
7175 2005-08-26  Andy Wingo  <wingo@pobox.com>
7176
7177         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
7178         element_set_state's return val.
7179         (test_2_elements): Add test that's been disabled for months.
7180
7181         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
7182         can-activate-pull properties.
7183
7184         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
7185         can-activate-pull properties. Implement is_seekable so fakesrc can
7186         operate in pull mode.
7187
7188         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7189         properties.
7190         (gst_base_sink_activate, gst_base_sink_activate_pull)
7191         (gst_base_sink_activate_push): Make activation mode choosing work.
7192         Cleanups.
7193         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7194         is right. Make pull mode work. Post an eos before pausing in pull
7195         mode.
7196         (gst_base_sink_change_state): Pay attention to the core's
7197         change_state() return val.
7198         
7199         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7200         has-getrange properties. Cleanups.
7201         
7202         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7203         has_getrange and replace with can_activate_pull and
7204         can_activate_push.
7205
7206         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7207         locking comments. Remove has_loop, has_chain and replace with
7208         can_activate_pull and can_activate_push.
7209
7210 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
7211
7212         * configure.ac:
7213         * examples/Makefile.am:
7214         * examples/metadata/Makefile.am:
7215         * examples/metadata/read-metadata.c: (message_loop),
7216         (have_pad_handler), (make_pipeline), (print_tag), (main):
7217           Add metadata reading example that loops over a list of filenames,
7218           dumping any tags found.
7219
7220         * gst/gstbus.c: (gst_bus_dispose):
7221         * gst/gstelement.c: (gst_element_dispose):
7222           Release a few potentially-held references in dispose.
7223
7224 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7225
7226         * docs/gst/tmpl/gstminiobject.sgml:
7227           do *not* add tmpl/*.sgml files to CVS!
7228
7229 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7230
7231         * libs/gst/bytestream/.cvsignore:
7232         * libs/gst/bytestream/Makefile.am:
7233         * libs/gst/bytestream/adapter.c:
7234         * libs/gst/bytestream/adapter.h:
7235         * libs/gst/bytestream/bytestream.c:
7236         * libs/gst/bytestream/bytestream.h:
7237         * libs/gst/bytestream/filepad.c:
7238         * libs/gst/bytestream/filepad.h:
7239           removing obsolete files
7240
7241 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7242
7243         * docs/gst/gstreamer-docs.sgml:
7244         * docs/libs/gstreamer-libs-docs.sgml:
7245           disabed additional index entries again, as this makes docs-gen just
7246           slow and they aren't useful yet
7247         * docs/libs/gstreamer-libs-sections.txt:
7248           little -section.txt cleanup for libs
7249
7250 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7251
7252         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7253         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7254           fix up some debugging
7255         (gst_base_transform_get_unit_size),
7256         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7257         (gst_base_transform_handle_buffer):
7258         * gst/base/gstbasetransform.h:
7259           handle and store timed NEWSEGMENT events so that subclasses that
7260           calculate time by counting samples have a segment_start time they
7261           need to add to their timestamps - see audioresample
7262
7263 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7264
7265         * gst/gstbin.h:
7266           removed ';' from the end of macro defs
7267         * docs/gst/gstreamer-docs.sgml:
7268         * docs/gst/gstreamer-sections.txt:
7269         * docs/gst/tmpl/.cvsignore:
7270         * gst/gstbus.h:
7271         * gst/gstelement.c: (gst_element_class_init),
7272         (gst_element_set_state), (activate_pads),
7273         (gst_element_save_thyself):
7274         * gst/gstevent.c: (gst_event_new_newsegment):
7275         * gst/gstevent.h:
7276         * gst/gstiterator.c:
7277         * gst/gstiterator.h:
7278         * gst/gstpad.c:
7279         * gst/gstprobe.h:
7280         * gst/gstutils.c: (gst_pad_query_convert):
7281         * gst/gstutils.h:
7282           fixed parameter name mismatches between source, header and docs
7283           added some more docs, resolved the last batch of unused elements in
7284           docs (now someone needs to doc them)
7285
7286 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7287
7288         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7289         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7290           don't walk through the plugins backwards.  Where is all this
7291           reversed logic coming from ?
7292
7293 2005-08-25  Wim Taymans  <wim@fluendo.com>
7294
7295         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7296         (gst_base_transform_transform_size),
7297         (gst_base_transform_configure_caps),
7298         (gst_base_transform_get_unit_size),
7299         (gst_base_transform_buffer_alloc),
7300         (gst_base_transform_change_state):
7301         * gst/base/gstbasetransform.h:
7302         Cache caps unit_size.
7303         Make sure we cannot negotiate up and downstream at the
7304         same time.
7305
7306 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7307
7308         * gst/gst.c: (init_pre), (init_post):
7309           register the installed plugin path after the env var
7310         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7311         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7312           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7313           directories, so the tests can prefer uninstalled over installed
7314
7315 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7316
7317         * gst/base/gstbasetransform.h:
7318           comment
7319         * gst/gstpad.c:
7320           add to docs
7321
7322 2005-08-25  Wim Taymans  <wim@fluendo.com>
7323
7324         * gst/gstbin.c: (bin_bus_handler):
7325         Be a bit more conservative about the posted message.
7326         
7327         * gst/gstbus.c: (gst_bus_post):
7328         Some cleanups, warn wrong return values.
7329
7330 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
7331
7332         * check/gst/gstbin.c: (GST_START_TEST):
7333         * gst/gstbin.c: (bin_bus_handler):
7334         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7335         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7336         (gst_message_new_warning), (gst_message_new_tag),
7337         (gst_message_new_state_changed), (gst_message_new_segment_start),
7338         (gst_message_new_segment_done), (gst_message_new_custom):
7339         * gst/gstmessage.h:
7340         * tools/gst-launch.c: (event_loop):
7341         * tools/gst-md5sum.c: (event_loop):
7342           Revert unpopular change for GST_MESSAGE_SRC to GObject.
7343
7344 2005-08-25  Wim Taymans  <wim@fluendo.com>
7345
7346         * check/generic/states.c: (GST_START_TEST):
7347         Cleanup can be done at the end.
7348
7349         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7350         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7351         (gst_task_get_state), (gst_task_start), (gst_task_pause):
7352         Oh boy.. Thanks for finding this, Thomas. 
7353
7354 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7355
7356         * docs/gst/gstreamer.types:
7357           added missing types
7358
7359 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7360
7361         * docs/gst/gstreamer-docs.sgml:
7362         * docs/gst/gstreamer-sections.txt:
7363         * docs/gst/tmpl/.cvsignore:
7364         * gst/gstbin.c:
7365         * gst/gstiterator.c:
7366         * gst/gstutils.c:
7367         * gst/registries/gstxmlregistry.h:
7368           added missing classes and symbols (123 more to go)
7369           removed removed symbols from section file
7370           fixed many doc-comments
7371
7372 2005-08-24  Wim Taymans  <wim@fluendo.com>
7373
7374         * check/generic/states.c: (GST_START_TEST):
7375         Make sure all tasks are stopped.
7376
7377         * check/gst/gstbin.c: (GST_START_TEST):
7378         Unref after usage for proper valgrinding.
7379
7380         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
7381         Really wait for the task to stop before destroying the
7382         mutex.
7383
7384         * gst/gstqueue.c: (gst_queue_sink_activate_push),
7385         (gst_queue_src_activate_push):
7386         Small cleanups. Don't stop the task when we did not start
7387         it.
7388
7389         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
7390         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7391         (gst_task_get_state), (gst_task_start), (gst_task_pause),
7392         (gst_task_join):
7393         * gst/gsttask.h:
7394         Protect the stream lock with the object lock.
7395         Disallow setting the stream lock when running.
7396         Add cleanup_all to wait for the threadpool to finish.
7397         Remove code to autoallocate a mutex if none was provided.
7398         Add _join() to wait for a task to stop.
7399         Protect the thread pool with a global lock.
7400
7401 2005-08-24  Wim Taymans  <wim@fluendo.com>
7402
7403         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7404         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7405         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
7406         * gst/base/gstbasesink.h:
7407         Handle newsegment events correctly.
7408         Drop buffers out of the segment range.
7409
7410 2005-08-22  Andy Wingo  <wingo@pobox.com>
7411
7412         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
7413         macro, implements an interface and gstimplementsinterface for a
7414         new type.
7415
7416 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7417
7418         * check/Makefile.am:
7419         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
7420           add a test that does a bunch of state changes on elements
7421           needs some fixing for valgrind
7422         * check/states/sinks.c: (gst_object_suite):
7423           whitespace
7424         * gst/gstcaps.h:
7425           add prototype for gst_caps_is_equal_fixed
7426         * gst/gstplugin.c:
7427         * gst/gstregistrypool.c:
7428           doc fixes
7429
7430 2005-08-24  Andy Wingo  <wingo@pobox.com>
7431
7432         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
7433         convert a negative value. Doesn't make much sense. Mostly this is
7434         here to force callers to ensure -1 maps to -1.
7435
7436 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7437
7438         * docs/pwg/advanced-types.xml:
7439           Well done to Michael for catching my deliberate introduction
7440           of this spelling mistake. 
7441         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
7442         * gst/gstelement.h:
7443           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
7444           unlink pads before removing the element from the bin.
7445
7446 2005-08-24  Andy Wingo  <wingo@pobox.com>
7447
7448         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
7449         the same thing as GST_DEBUG=*:4.
7450         (parse_debug_level, parse_debug_category): New helper parsers.
7451
7452 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7453
7454         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7455         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
7456         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
7457         (gst_base_transform_buffer_alloc),
7458         (gst_base_transform_handle_buffer):
7459           use gboolean return values and pointers to size so we can use the
7460           full GST_BUFFER_SIZE range (guint) for buffer sizes
7461           use GstPadDirection for transform_caps
7462         * gst/base/gstbasetransform.h:
7463           rename get_size to get_unit_size since that's what it is
7464         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
7465           use GstPadDirection for transform_caps
7466         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7467         * gst/gstutils.h:
7468           cleanup and debugging
7469
7470 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7471
7472         * gst/gstelement.c: (gst_element_class_init),
7473         (gst_element_set_state), (activate_pads),
7474         (gst_element_save_thyself):
7475         * tools/gst-compprep.c: (main):
7476         * tools/gst-inspect.c: (print_element_properties_info):
7477         * tools/gst-xmlinspect.c: (print_element_properties):
7478           Fixed long standing mem-leak
7479
7480 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7481
7482         * check/gst/gstbin.c: (GST_START_TEST):
7483         * gst/gstbin.c: (bin_bus_handler):
7484         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7485         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7486         (gst_message_new_warning), (gst_message_new_tag),
7487         (gst_message_new_state_changed), (gst_message_new_segment_start),
7488         (gst_message_new_segment_done), (gst_message_new_custom):
7489         * gst/gstmessage.h:
7490         * tools/gst-launch.c: (event_loop):
7491         * tools/gst-md5sum.c: (event_loop):
7492           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
7493           that applications can sensibly post custom messages with references
7494           to their own objects.
7495
7496 2005-08-24  Andy Wingo  <wingo@pobox.com>
7497
7498         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
7499         already.
7500
7501 2005-08-24  Wim Taymans  <wim@fluendo.com>
7502
7503         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7504         (gst_base_transform_transform_caps),
7505         (gst_base_transform_transform_size),
7506         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7507         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7508         (gst_base_transform_handle_buffer):
7509         * gst/base/gstbasetransform.h:
7510         Many fixes and new features added by Thomas. Can now also do
7511         transforms with variable sizes and a custom fixate_caps function.
7512
7513 2005-08-24  Wim Taymans  <wim@fluendo.com>
7514
7515         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7516         Some debugging.
7517
7518         * gst/gstclock.h:
7519         Cast to ClockTime before formatting to time.
7520
7521         * gst/gstutils.h:
7522         Cleanups.
7523
7524 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7525
7526         * check/gst-libs/controller.c: (GST_START_TEST),
7527         (gst_controller_suite):
7528         * docs/gst/tmpl/gstcaps.sgml:
7529         * docs/gst/tmpl/gstghostpad.sgml:
7530         * docs/gst/tmpl/gstquery.sgml:
7531         * docs/gst/tmpl/gstutils.sgml:
7532         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
7533         (gst_object_sink_values), (gst_object_get_value_arrays),
7534         (gst_object_get_value_array):
7535           gracefully handle helper method calls to objects that are not beeing
7536           controlled, added test case for that          
7537
7538 2005-08-23  Wim Taymans  <wim@fluendo.com>
7539
7540         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
7541         (gst_event_new_newsegment), (gst_event_parse_newsegment),
7542         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
7543         (gst_event_parse_qos), (gst_event_new_seek),
7544         (gst_event_parse_seek):
7545         * gst/gstevent.h:
7546         Some more debugging output and doc cleanups.
7547
7548         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7549         Fix possible deadlock.
7550
7551 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7552
7553         * docs/gst/gstreamer-docs.sgml:
7554         * docs/gst/gstreamer-sections.txt:
7555         * docs/gst/gstreamer.types:
7556         * docs/gst/tmpl/.cvsignore:
7557         * gst/gstbin.h:
7558         * gst/gstbus.c:
7559         * gst/gstelement.c:
7560         * gst/gstevent.h:
7561           added 100 symbols from gstreamer-unused.txt to the right sections
7562           fixed more broken comments
7563           added GstBus to docs
7564
7565 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7566
7567         * docs/gst/gstreamer-sections.txt:
7568         * docs/gst/tmpl/.cvsignore:
7569         * docs/gst/tmpl/gstbin.sgml:
7570         * docs/gst/tmpl/gstbuffer.sgml:
7571         * gst/base/gstbasesrc.c:
7572         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
7573         * gst/gstbuffer.c:
7574         * gst/gstbuffer.h:
7575         * tools/gst-launch.1.in:
7576           inlined more doc comments, added missing comments and fixed comments
7577           fixed typos
7578
7579 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7580
7581         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7582           some debugging
7583         * gst/gstcaps.h:
7584           whitespace fixes
7585         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
7586           more debugging
7587         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
7588         * gst/gststructure.h:
7589           add a fixate function for booleans; add a FIXME that these func
7590           names should probably be gst_structure_fixate_*
7591
7592 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7593
7594         * docs/gst/gstreamer-docs.sgml:
7595         * docs/gst/gstreamer-sections.txt:
7596         * gst/Makefile.am:
7597         * gst/gstbin.c: (gst_bin_get_type),
7598         (gst_bin_child_proxy_get_child_by_index),
7599         (gst_bin_child_proxy_get_children_count),
7600         (gst_bin_child_proxy_init):
7601         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
7602         (gst_child_proxy_get_child_by_index),
7603         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
7604         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
7605         (gst_child_proxy_get), (gst_child_proxy_set_property),
7606         (gst_child_proxy_set_valist), (gst_child_proxy_set),
7607         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
7608         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
7609         * gst/gstchildproxy.h:
7610         * gst/parse/grammar.y:
7611         * tools/gst-inspect.c: (print_interfaces),
7612         (print_element_properties_info), (print_element_info):
7613           ported gstchildproxy over from 0.8
7614           ported gst-inspect fixes and enhancements over from 0.8
7615
7616 2005-08-22  Wim Taymans  <wim@fluendo.com>
7617
7618         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7619         (gst_base_transform_handle_buffer):
7620         Also call the transform function if we have ANY caps.
7621
7622         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
7623         Fix debug info.
7624
7625 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7626
7627         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
7628           Don't pretend to handle seek events if the source is not seekable
7629
7630 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7631
7632         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7633           Remove extra parameter to debug output
7634
7635         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7636         (gst_base_src_do_seek), (gst_base_src_activate_push):
7637           Fix seek event handling.
7638
7639         * gst/gstpipeline.c: (gst_pipeline_change_state):
7640         * gst/gstqueue.c: (gst_queue_handle_sink_event),
7641         (gst_queue_src_activate_push):
7642           Don't start the src pad task on FLUSH_STOP if the pad
7643           isn't linked.
7644           Debug changes.
7645
7646 2005-08-22  Wim Taymans  <wim@fluendo.com>
7647
7648         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
7649         Added check for gst_static_caps_get() refcounting.
7650
7651 2005-08-22  Wim Taymans  <wim@fluendo.com>
7652
7653         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
7654         Make _static_caps_get() refcounting sane.
7655         
7656         * gst/gstelement.c: (gst_element_set_state):
7657         Add g_return_val_if_fail() to protect against segfaults.
7658
7659 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
7660
7661         * docs/gst/tmpl/gstevent.sgml:
7662         * gst/gstevent.c:
7663         * gst/gstevent.h:
7664           inlined remaining docs, added missing doc comments
7665
7666 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7667
7668         * check/gst/gstbin.c: (GST_START_TEST):
7669           since we don't know when preroll is done, use refcount range
7670           check for the sink
7671         * gst/check/gstcheck.h:
7672           add macro for checking refcount range
7673
7674 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7675
7676         * check/Makefile.am:
7677           clean up environment for when registry gets built versus
7678           when actual tests are run; valgrind seems to not report
7679           leaks if GST_PLUGIN_PATH is set to some specific values
7680         * check/gst/gstbin.c: (GST_START_TEST):
7681           add more refcounting checks; maybe this exposes a
7682           preroll lock bug ?
7683         * common/check.mak:
7684         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7685         * gst/check/gstcheck.h:
7686         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
7687         (gst_bin_change_state):
7688         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
7689           add/fix debugging/whitespace
7690
7691 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7692
7693         * check/gst/gstevent.c: (event_probe), (test_event),
7694         (GST_START_TEST):
7695          Er, don't call gst_bin_watch_for_state_change you idiot.
7696
7697 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7698
7699         * check/Makefile.am:
7700           Use CHECK_CFLAGS and CHECK_LIBS
7701         * check/gst/gstevent.c: (event_probe), (test_event),
7702         (GST_START_TEST):
7703           Don't leak events.
7704         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7705         (gst_base_src_start), (gst_base_src_stop),
7706         (gst_base_src_activate_push), (gst_base_src_activate_pull),
7707         (gst_base_src_change_state):
7708           Sprinkle gst_base_src_stop liberally around error paths to fix
7709           problems reusing a source after failed state changes.
7710         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7711         (helper_find_suggest), (gst_type_find_helper):
7712           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
7713         * gst/gstevent.h:
7714         * docs/gst/tmpl/gstevent.sgml:
7715           Migrate part of the docs from the SGML file. Wait for ensonic to
7716           tell me how I did it wrong ;)
7717         * tools/gst-typefind.c: (main):
7718           Extra robustness to state changes between files.
7719
7720 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7721
7722         * check/Makefile.am:
7723           don't valgrind the controller test - it's leaking - Stefan, HELP
7724         * gst/check/gstcheck.c: (gst_check_message_error),
7725         (gst_check_chain_func), (gst_check_setup_element),
7726         (gst_check_teardown_element), (gst_check_setup_src_pad),
7727         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
7728         (gst_check_teardown_sink_pad):
7729         * gst/check/gstcheck.h:
7730           add a bunch of methods to set up elements, and src and sink pads
7731         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
7732         * check/elements/identity.c: (setup_identity), (cleanup_identity),
7733         (GST_START_TEST):
7734           use them
7735         * gst/gstmessage.c:
7736         * gst/gsttag.h:
7737           whitespace/doc fixes
7738
7739 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7740
7741         * gst/gstelement.h:
7742           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
7743           be handled by the application and not always printed as well
7744
7745 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7746
7747         * check/Makefile.am:
7748           set GST_TOOLS_DIR
7749         * gst/check/gstcheck.c: (gst_check_message_error):
7750         * gst/check/gstcheck.h:
7751           add a fail_unless_equals_int
7752           add fail_unless for error messages
7753
7754 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7755
7756         * check/Makefile.am:
7757         * check/gst.supp:
7758         * common/Makefile.am:
7759         * common/check.mak:
7760         * common/gst.supp:
7761           factor out some of the common stuff so we can use it
7762
7763 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7764
7765         * check/Makefile.am:
7766         * check/gst/gstiterator.c: (GST_START_TEST):
7767         * check/gst/gstsystemclock.c: (GST_START_TEST),
7768         (gst_systemclock_suite):
7769         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7770         * gst/gstclock.c:
7771           valgrind more tests
7772
7773 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7774
7775         * check/elements/.cvsignore:
7776         * check/elements/gstfakesrc.c:
7777           rename to name of element
7778         * check/elements/identity.c: (chain_func), (event_func),
7779         (setup_identity), (cleanup_identity), (GST_START_TEST),
7780         (identity_suite), (main):
7781           add a test for identity
7782         * check/Makefile.am:
7783         * pkgconfig/Makefile.am:
7784         * pkgconfig/gstreamer-check.pc.in:
7785         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7786         * gst/check:
7787         * gst/Makefile.am:
7788         * configure.ac:
7789           move the check stuff to a library that gets installed
7790         * check/gst-libs/controller.c: (GST_START_TEST):
7791         * check/gst-libs/gdp.c:
7792         * check/gst/gst.c: (GST_START_TEST):
7793         * check/gst/gstbin.c:
7794         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7795         * check/gst/gstbus.c:
7796         * check/gst/gstcaps.c: (GST_START_TEST):
7797         * check/gst/gstelement.c:
7798         * check/gst/gstghostpad.c:
7799         * check/gst/gstiterator.c:
7800         * check/gst/gstmessage.c:
7801         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
7802         * check/gst/gstobject.c:
7803         * check/gst/gstpad.c: (GST_START_TEST):
7804         * check/gst/gststructure.c: (GST_START_TEST):
7805         * check/gst/gstsystemclock.c: (GST_START_TEST),
7806         (gst_systemclock_suite):
7807         * check/gst/gsttag.c: (gst_tag_suite):
7808         * check/gst/gstvalue.c:
7809         * check/pipelines/cleanup.c:
7810         * check/pipelines/simple_launch_lines.c:
7811         * check/states/sinks.c:
7812           change include statement
7813
7814         * docs/gst/gstreamer-sections.txt:
7815         * docs/gst/tmpl/gstpad.sgml:
7816           document more pad stuff
7817         * gst/gstminiobject.c: (gst_mini_object_ref),
7818         (gst_mini_object_unref):
7819           debug refcounting
7820
7821 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
7822
7823         * docs/gst/tmpl/gst.sgml:
7824         * gst/gst.c:
7825           eliminate another tmpl file, fix spelling in the long-description
7826
7827 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7828
7829         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7830         (test_event), (timediff), (gstevents_suite):
7831           Should fix build on 64-bit arch's
7832
7833 2005-08-18  Andy Wingo  <wingo@pobox.com>
7834
7835         Make sure that when a pipeline goes to PLAYING, that data has
7836         actually hit the sink.
7837
7838         * check/states/sinks.c (test_sink): A sink that doesn't get any
7839         data shouldn't return SUCCESS for going to either PLAYING or
7840         PAUSED. Test also the return values on the way back down.
7841
7842         * gst/gstelement.c (gst_element_set_state): When changing the
7843         state of an element currently changing state asynchronously, go to
7844         lost-state after commiting the pending state. Makes future calls
7845         to get_state continue to return ASYNC.
7846
7847         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
7848         ASYNC when going to PLAYING if we still don't have preroll, as can
7849         happen with live sources.
7850
7851 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7852
7853         * docs/pwg/advanced-types.xml:
7854           Hack long paragraph into 2 chunks as a workaround for buggy
7855           jadetex version in sid and breezy that loops infinitely and
7856           eats all RAM.
7857
7858 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7859
7860         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7861         (test_event), (timediff), (gstevents_suite):
7862           Provide more error margin in clock measurements to allow for 
7863           g_get_current_time inaccuracies.
7864
7865 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7866
7867         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7868         (test_event), (timediff), (gstevents_suite):
7869            Fix error message output so I might be able to tell why the
7870            test works here but fails on the build farm.
7871
7872 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7873
7874         * check/Makefile.am:
7875         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7876         (test_event), (timediff), (gstevents_suite), (main):
7877           I wrote a test!
7878
7879         * docs/design/part-seeking.txt:
7880           Spelling correction
7881
7882         * docs/gst/tmpl/gstevent.sgml:
7883         * docs/gst/tmpl/gstfakesrc.sgml:
7884           Docs updates.
7885
7886         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7887           Treat a buffer-without-newsegment the same as a receiving 
7888           a newsegment not in time format, and disable syncing to the clock
7889           with a warning.
7890
7891         * gst/gstbus.c: (gst_bus_set_sync_handler):
7892           Assert if anyone tries to replace the existing sync_handler for bus, 
7893           as only the owner should be setting it.
7894
7895         * gst/gstevent.h:
7896           Have a fixed set of custom event enums with events identified by
7897           their structure name (as in 0.8), rather than a free-for-all
7898           allowing collisions between enum values from different plugins.
7899
7900         * gst/gstpad.c: (gst_pad_class_init):
7901           Docs change.
7902           
7903         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7904           Handle out-of-band downstream events from the sending thread.
7905
7906 2005-08-17  Andy Wingo  <wingo@pobox.com>
7907
7908         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
7909         play-timeout==0 to mean no timeout at all. In that case, don't
7910         bother with a get_state or a warning, just return directly, even
7911         if it's ASYNC.
7912
7913         * gst/base/gstbasetransform.c: Debug changes.
7914
7915         * gst/gstutils.h:
7916         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
7917         ensure bins post state change messages. A bit of a hack but I can't
7918         think of a way to avoid it.
7919
7920         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
7921
7922 2005-08-16  Andy Wingo  <wingo@pobox.com>
7923
7924         * gst/base/gstadapter.h:
7925         * gst/base/gstadapter.c (gst_adapter_take): New function, like
7926         peek() but you own the data. Not terribly efficient atm.
7927
7928 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7929
7930         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
7931         (gst_element_found_tags):
7932         * gst/gstutils.h:
7933           Add two utility functions for tag handling.
7934
7935 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7936
7937         * docs/manual/advanced-dataaccess.xml:
7938         * docs/manual/basics-helloworld.xml:
7939           Fix docs to use _bin_add() before _link(), which fixes the examples
7940           with recent core versions (reported by Madhan Raj M
7941           <raj_madan@rediffmail.com>, #313199).
7942
7943 2005-08-16  Wim Taymans  <wim@fluendo.com>
7944
7945         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7946         Added subtract checks.
7947
7948         * docs/design/part-events.txt:
7949         Some more docs about newsegment
7950
7951         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
7952         Fix FIXME
7953
7954         * gst/gstcaps.c: (gst_caps_to_string):
7955         Add comments, cleanups.
7956         
7957         * gst/gstelement.c: (gst_element_save_thyself):
7958         cleanups
7959         
7960         * gst/gstvalue.c: (gst_value_collect_int_range),
7961         (gst_string_unwrap), (gst_value_union_int_int_range),
7962         (gst_value_union_int_range_int_range),
7963         (gst_value_intersect_int_int_range),
7964         (gst_value_intersect_int_range_int_range),
7965         (gst_value_intersect_double_double_range),
7966         (gst_value_intersect_double_range_double_range),
7967         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
7968         (gst_value_subtract_int_range_int),
7969         (gst_value_subtract_double_range_double),
7970         (gst_value_subtract_double_range_double_range),
7971         (gst_value_subtract_from_list), (gst_value_subtract_list),
7972         (gst_value_can_compare), (gst_value_compare_fraction):
7973         Cleanups, add comments, remove unneeded asserts.
7974
7975 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7976
7977         * tools/gst-launch.c: (event_loop):
7978           don't convert NULL structures to strings
7979
7980 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
7981
7982         * docs/gst/gstreamer-sections.txt:
7983           made some defines private
7984         * docs/gst/tmpl/gstconfig.sgml:
7985         * docs/gst/tmpl/gstqueue.sgml:
7986         * docs/gst/tmpl/gsttaglist.sgml:
7987         * docs/gst/tmpl/gsttypes.sgml:
7988         * docs/gst/tmpl/gstutils.sgml:
7989         * docs/pwg/appendix-porting.xml:
7990         * gst/base/gstbasesink.h:
7991         * gst/base/gstbasesrc.c:
7992         * gst/base/gstbasesrc.h:
7993         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
7994         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
7995         * gst/gstelement.c: (gst_element_class_init):
7996         * gst/gstpad.c: (gst_pad_class_init):
7997         * gst/gstqueue.c: (gst_queue_class_init):
7998         * gst/gstxml.c: (gst_xml_class_init):
7999           documented all undocumented signal inline
8000         * libs/gst/controller/gst-controller.h:
8001           added padding
8002
8003 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8004
8005         * docs/pwg/appendix-porting.xml:
8006           Document _set_link_function -> _set_setcaps_function.
8007
8008 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8009
8010         * check/Makefile.am:
8011           add a .check target for running the check
8012         * check/gst-libs/controller.c: (GST_START_TEST):
8013           cosmetic fixups
8014         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8015           complete checks for gstbuffer; would be nice if I could get the
8016           gcov stuff to work so I can see if I actually completed gstbuffer.c
8017         * check/gstcheck.h:
8018           add ASSERT_BUFFER_REFCOUNT
8019
8020 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
8021
8022         * docs/gst/gstreamer-sections.txt:
8023         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
8024         * gst/gsttag.h:
8025           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
8026           spew out a warning if a tag that is already registered
8027           is re-registered, unless it is re-registered with a 
8028           different type (#308438).
8029
8030 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
8031
8032         * docs/pwg/appendix-porting.xml:
8033         * docs/pwg/building-state.xml:
8034           Add some paragraphs about state changes in 0.9 to the PWG
8035           and the porting guide, in particular about the new meaning
8036           of GST_STATE_PAUSED and how to write state change functions
8037           with concurrent access by multiple threads in mind.
8038
8039 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
8040
8041         * docs/gst/gstreamer-docs.sgml:
8042         * docs/libs/gstreamer-libs-docs.sgml:
8043           added deprecation and since indexes
8044         * libs/gst/controller/gst-controller.c:
8045         * libs/gst/controller/gst-helper.c:
8046           added since tags
8047
8048
8049 2005-08-11  Wim Taymans  <wim@fluendo.com>
8050
8051         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
8052         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
8053         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
8054         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
8055         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
8056         (gst_ghost_pad_set_target):
8057         Actually implement (re)setting the target on a ghostpad
8058         as described in the docs.
8059
8060 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8061
8062         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
8063           Check whether GST_DEBUG_NO_COLOR environment variable is
8064           set and disable coloured debug output if that is the case.
8065
8066 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8067
8068         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8069         (gst_type_find_helper):
8070           The memory returned by gst_type_find_peek() needs to
8071           stay valid until the end of a typefind function, and
8072           typefind functions may keep results from different 
8073           offsets around, so we can't just unref the buffer from
8074           the previous _peek(), but have to save all buffers 
8075           returned by _peek() until typefinding is done and only
8076           free them then.
8077
8078 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
8079
8080         * docs/gst/gstreamer-sections.txt:
8081         * gst/gstutils.h:
8082           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
8083
8084 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8085
8086         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8087           Fix a pretty good memleak.
8088
8089 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8090
8091         * gst/gstiterator.h:
8092           Fix wrong include and 'make distcheck'.
8093
8094 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8095
8096         * gst/gstbin.c: (bin_bus_handler):
8097           Use gst_element_post_message() instead.
8098
8099 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8100
8101         * gst/base/gstadapter.h:
8102         * gst/base/gstbasesink.h:
8103         * gst/base/gstbasesrc.h:
8104         * gst/base/gstbasetransform.h:
8105         * gst/base/gstcollectpads.h:
8106         * gst/base/gstpushsrc.h:
8107         * gst/gstiterator.h:
8108           Add padding to our base elements' class and instance structs and
8109           to GstIterator (you will need to rebuild all plugins and apps!)
8110
8111 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8112
8113         * gst/gstbin.c: (bin_bus_handler):
8114           Make default message forwarding from child->bus to bin->bus
8115           threadsafe and make it not emit warnings if the parent has no bus.
8116
8117 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8118
8119         * gst/gstelement.c: (activate_pads):
8120           On paused->ready, set pad->caps to NULL, as is the documented
8121           behaviour in this state change. Fixes playback of series of
8122           media files when visualization is enabled in Totem.
8123
8124 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8125
8126         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8127           Allow NULL as filter-caps (which means "any").
8128
8129 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8130
8131         * docs/libs/gstreamer-libs-sections.txt:
8132         * libs/gst/controller/gst-controller.c:
8133         * libs/gst/controller/gst-controller.h:
8134         * libs/gst/controller/gst-helper.c:
8135           adding more entries to the docs and fix small doc-bugs
8136
8137 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8138
8139         * docs/gst/gstreamer-docs.sgml:
8140         * docs/gst/gstreamer-sections.txt:
8141         * docs/gst/gstreamer.types:
8142         * docs/gst/tmpl/gstbasesink.sgml:
8143         * docs/gst/tmpl/gstbasesrc.sgml:
8144         * docs/gst/tmpl/gstbasetransform.sgml:
8145         * docs/gst/tmpl/gstfakesrc.sgml:
8146         * gst/base/gstcollectpads.c:
8147         * gst/base/gstcollectpads.h:
8148         * libs/gst/controller/gst-controller.c:
8149         * libs/gst/controller/gst-controller.h:
8150         * libs/gst/controller/gst-helper.c:
8151         * libs/gst/controller/gst-interpolation.c:
8152         * libs/gst/controller/lib.c:
8153           added long/short desc for controller docs
8154           added collectpads base class docs
8155           added correct includes to base-class docs
8156
8157 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8158
8159         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8160         (gst_test_mono_source_set_property),
8161         (gst_test_mono_source_class_init), (GST_START_TEST),
8162         (gst_controller_suite):
8163         * docs/gst/gstreamer-docs.sgml:
8164         * docs/gst/gstreamer-sections.txt:
8165         * docs/gst/gstreamer.types:
8166         * docs/libs/gstreamer-libs-docs.sgml:
8167         * docs/libs/gstreamer-libs-sections.txt:
8168         * gst/base/gstadapter.c:
8169         * libs/gst/controller/gst-controller.c:
8170         (gst_controlled_property_new), (gst_controlled_property_free),
8171         (gst_controller_new_valist),
8172         (gst_controller_remove_properties_valist),
8173         (gst_controller_sink_values), (_gst_controller_finalize):
8174         * libs/gst/controller/gst-controller.h:
8175         * libs/gst/controller/gst-helper.c:
8176         (gst_object_control_properties), (gst_object_uncontrol_properties),
8177         (gst_object_get_controller), (gst_object_set_controller),
8178         (gst_object_sink_values), (gst_object_get_value_arrays),
8179         (gst_object_get_value_array):
8180           more tests (and fixes) for the controller
8181           more docs for the controller
8182           integrated companies docs for the adapter 
8183
8184 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8185
8186         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8187         (GST_START_TEST), (fakesrc_suite):
8188           add tests for sizetype
8189
8190 2005-08-04  Andy Wingo  <wingo@pobox.com>
8191
8192         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8193         fixes buffer_alloc proxying among other things.
8194
8195         * gst/base/gstbasetransform.c:
8196         * gst/base/gstbasetransform.h:
8197         Revert patch to gstbasetransform from 7-28 removing
8198         delay_configure.
8199
8200         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8201         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8202         Semantics changed, should return not the size of the output buffer
8203         but the byte size of a buffer with a given caps.
8204
8205         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8206         debug object.
8207         (gst_base_transform_configure_caps): Don't set out_size here: (in,
8208         out) are not the pad caps until setcaps finishes.
8209         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8210         not-in-place case as well. Deal with changing from in-place to
8211         not-in-place within calling pad_alloc_buffer. Still a bit
8212         concerned about the overhead here...
8213
8214 2005-08-03  Andy Wingo  <wingo@pobox.com>
8215
8216         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8217         fixating is an error.
8218
8219 2005-08-04  Edward Hervey  <edward@fluendo.com>
8220
8221         * gst/base/gstadapter.h: 
8222         Added gst_adapter_get_type() to the header
8223
8224 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8225
8226         * check/Makefile.am:
8227         * check/gst-libs/controller.c:
8228         * libs/gst/controller/gst-controller.c:
8229         (gst_controller_new_valist):
8230           added check test suite for the controller
8231         * gst/base/gstpushsrc.c:
8232           fixed a doc typo
8233
8234 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8235
8236         * docs/gst/Makefile.am:
8237         * docs/gst/gstreamer-docs.sgml:
8238         * docs/gst/gstreamer-sections.txt:
8239         * docs/gst/gstreamer.types:
8240         * docs/gst/tmpl/gstfakesrc.sgml:
8241         * gst/base/README:
8242         * gst/base/gstbasesink.c:
8243         * gst/base/gstbasesink.h:
8244         * gst/base/gstbasesrc.c:
8245         * gst/base/gstbasesrc.h:
8246         * gst/base/gstbasetransform.c:
8247         * gst/base/gstpushsrc.c:
8248         * gst/base/gstpushsrc.h:
8249           add short/long description docs to base classes
8250           add pushsrc to the docs
8251           remove consolidated doc fragments
8252
8253 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8254
8255         * configure.ac:
8256         * docs/libs/Makefile.am:
8257         * docs/libs/gstreamer-libs-docs.sgml:
8258         * docs/libs/gstreamer-libs-sections.txt:
8259         * docs/libs/gstreamer-libs.types:
8260         * examples/Makefile.am:
8261         * examples/controller/.cvsignore:
8262         * examples/controller/Makefile.am:
8263         * examples/controller/audio-example.c: (main):
8264         * libs/gst/Makefile.am:
8265         * libs/gst/controller/.cvsignore:
8266         * libs/gst/controller/Makefile.am:
8267         * libs/gst/controller/gst-controller.c:
8268         (on_object_controlled_property_changed), (gst_timed_value_compare),
8269         (gst_timed_value_find),
8270         (gst_controlled_property_set_interpolation_mode),
8271         (gst_controlled_property_new), (gst_controlled_property_free),
8272         (gst_controller_find_controlled_property),
8273         (gst_controller_new_valist), (gst_controller_new),
8274         (gst_controller_remove_properties_valist),
8275         (gst_controller_remove_properties), (gst_controller_set),
8276         (gst_controller_set_from_list), (gst_controller_unset),
8277         (gst_controller_get), (gst_controller_get_all),
8278         (gst_controller_sink_values), (gst_controller_get_value_arrays),
8279         (gst_controller_get_value_array),
8280         (gst_controller_set_interpolation_mode),
8281         (_gst_controller_finalize), (_gst_controller_init),
8282         (_gst_controller_class_init), (gst_controller_get_type):
8283         * libs/gst/controller/gst-controller.h:
8284         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8285         (g_object_uncontrol_properties), (g_object_get_controller),
8286         (g_object_set_controller), (g_object_sink_values),
8287         (g_object_get_value_arrays), (g_object_get_value_array):
8288         * libs/gst/controller/gst-interpolation.c:
8289         (gst_controlled_property_find_timed_value_node),
8290         (interpolate_none_get), (interpolate_trigger_get),
8291         (interpolate_trigger_get_value_array):
8292         * libs/gst/controller/lib.c: (gst_controller_init):
8293         * pkgconfig/Makefile.am:
8294         * pkgconfig/gstreamer-control-uninstalled.pc.in:
8295         * pkgconfig/gstreamer-control.pc.in:
8296         * testsuite/Makefile.am:
8297         * testsuite/controller/.cvsignore:
8298         * testsuite/controller/Makefile.am:
8299         * testsuite/controller/interpolator.c: (main):
8300           added controller code
8301           removed dparam pc files
8302
8303 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8304         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8305         (gst_collectpads_stop):
8306           Broadcast the condition when shutting down, to make sure we wake all
8307           threads up. Shut down pads on finalize, for safety.
8308
8309 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8310         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8311         (gst_base_transform_handle_buffer),
8312         (gst_base_transform_change_state):
8313           Handle PAUSED->READY->PAUSED transition after negotiation
8314           occurred already.
8315         * gst/gstmessage.c: (gst_message_init):
8316           Extra piece of debug for new messages.
8317
8318 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
8319
8320         * configure.ac:
8321         * docs/gst/tmpl/gstbasesrc.sgml:
8322         * docs/gst/tmpl/gstelement.sgml:
8323         * docs/gst/tmpl/gstevent.sgml:
8324         * docs/gst/tmpl/gstfakesrc.sgml:
8325         * docs/gst/tmpl/gstformat.sgml:
8326         * docs/gst/tmpl/gstghostpad.sgml:
8327         * docs/gst/tmpl/gstpad.sgml:
8328         * docs/gst/tmpl/gstquery.sgml:
8329         * docs/gst/tmpl/gststructure.sgml:
8330         * docs/gst/tmpl/gsttaglist.sgml:
8331         * docs/gst/tmpl/gstvalue.sgml:
8332         * docs/libs/gstreamer-libs-docs.sgml:
8333         * docs/libs/gstreamer-libs-sections.txt:
8334         * docs/libs/gstreamer-libs.types:
8335         * libs/gst/Makefile.am:
8336         * libs/gst/control/.cvsignore:
8337         * libs/gst/control/Makefile.am:
8338         * libs/gst/control/control.c:
8339         * libs/gst/control/control.h:
8340         * libs/gst/control/dparam.c:
8341         * libs/gst/control/dparam.h:
8342         * libs/gst/control/dparam_smooth.c:
8343         * libs/gst/control/dparam_smooth.h:
8344         * libs/gst/control/dparamcommon.h:
8345         * libs/gst/control/dparammanager.c:
8346         * libs/gst/control/dparammanager.h:
8347         * libs/gst/control/dplinearinterp.c:
8348         * libs/gst/control/dplinearinterp.h:
8349         * libs/gst/control/unitconvert.c:
8350         * libs/gst/control/unitconvert.h:
8351         * testsuite/Makefile.am:
8352         * testsuite/dynparams/.cvsignore:
8353         * testsuite/dynparams/Makefile.am:
8354         * testsuite/dynparams/dparamstest.c:
8355         * tools/Makefile.am:
8356         * tools/gst-inspect.c: (print_element_info), (main):
8357         * tools/gst-xmlinspect.c: (print_element_info), (main):
8358           deactivate and remove dparams (libgstcontrol)
8359
8360 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8361
8362         * gst/elements/gsttypefindelement.c:
8363         (gst_type_find_element_have_type), (gst_type_find_element_init),
8364         (stop_typefinding), (gst_type_find_element_handle_event),
8365         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8366         * gst/elements/gsttypefindelement.h:
8367           Set caps on all outgoing buffers, not just the first one.
8368
8369 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8370
8371         * gst/elements/gsttypefindelement.c:
8372         (gst_type_find_element_have_type),
8373         (gst_type_find_element_check_set_buffer_caps),
8374         (gst_type_find_element_init), (stop_typefinding),
8375         (gst_type_find_element_handle_event),
8376         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8377         * gst/elements/gsttypefindelement.h:
8378           Set caps on first outgoing buffer when we've found the type.
8379
8380 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8381
8382         * docs/gst/gstreamer-docs.sgml:
8383         * docs/gst/gstreamer-sections.txt:
8384         * docs/gst/tmpl/gstscheduler.sgml:
8385         * docs/gst/tmpl/gstschedulerfactory.sgml:
8386           Remove some old cruft from docs.
8387
8388 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
8389
8390         * gst/gstpad.h:
8391           Fix inline docs for GstPadLinkReturn.
8392           
8393         * gst/gststructure.c: (gst_structure_has_name):
8394         * gst/gststructure.h:
8395         * docs/gst/gstreamer-sections.txt:
8396           New API: gst_structure_has_name().
8397
8398 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
8399
8400         * configure.ac:
8401           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
8402           and _LARGEFILE_SOURCE in config.h as required. Do not 
8403           export those flags in our .pc files any longer (#142209).
8404
8405           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
8406
8407         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
8408         (gst_file_sink_do_seek), (gst_file_sink_event),
8409         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8410           Redo seek/tell calls with large file support in mind; add some
8411           debugging messages; add log message that tells us when large
8412           file support is unavailable or not enabled for some reason.
8413
8414         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
8415           Add log message that tells us when large file support 
8416           is unavailable or not enabled for some reason.
8417
8418 2005-07-29  Wim Taymans  <wim@fluendo.com>
8419
8420         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8421         Added test for removing an element with ghostpad from a bin.
8422         Fixed test as current implementation does the right thing.
8423
8424         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
8425         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
8426         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
8427         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
8428         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
8429         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8430         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8431         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8432         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
8433         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
8434         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
8435         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
8436         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8437         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
8438         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
8439         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8440         * gst/gstghostpad.h:
8441         Clean up ghostpads, remove properties for internal stuff.
8442         Make threadsafe.
8443         Fix refcounting.
8444         Prepare for switching targets, not all use cases work yet.
8445
8446 2005-07-29  Wim Taymans  <wim@fluendo.com>
8447
8448         * docs/design/part-gstghostpad.txt:
8449         Small update.
8450
8451         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8452         (gst_bin_remove_func):
8453         Unlinking pads while holding the bin LOCK is not a good
8454         idea.
8455
8456         * gst/gstpad.c: (gst_pad_class_init),
8457         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
8458         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
8459         No prob setting template after creating the pad.
8460
8461 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
8462
8463         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
8464         (gst_bus_peek), (gst_bus_source_dispatch),
8465         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
8466         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
8467           gst_bus_poll may be called from other threads. Handle
8468           this nicely by not making poll_data disappear off the
8469           stack once gst_bus_poll returns.
8470           gst_bus_peek now increments the refcount on the returned
8471           message.
8472
8473 2005-07-29  Wim Taymans  <wim@fluendo.com>
8474
8475         * docs/design/part-gstghostpad.txt:
8476         Overview of current GhostPad datastructures and use
8477         cases for changing the target.
8478
8479 2005-07-28  Wim Taymans  <wim@fluendo.com>
8480
8481         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8482         Added checks for hierarchy consistency whan adding linked
8483         elements to bins.
8484
8485         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8486         Added check to test element scheduling without bin/pipeline.
8487
8488         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8489         First add elements to bin, then link.
8490         
8491         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8492         (gst_bin_remove_func):
8493         Unlink pads from elements added/removed from bin to maintain
8494         hierarchy consistency.
8495
8496 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8497
8498         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8499         (gst_base_transform_handle_buffer):
8500         * gst/base/gstbasetransform.h:
8501           Remove broken delay_configure (fixes renegotiation of software
8502           scaling pipelines); remove some leftover printf()s.
8503
8504 2005-07-28  Wim Taymans  <wim@fluendo.com>
8505
8506         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8507         Added some more tests for wrong hierarchy
8508
8509         * docs/design/part-overview.txt:
8510         Some updates.
8511
8512         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
8513         Cleanups.
8514
8515         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
8516         (gst_element_dispose):
8517         Some more cleanups.
8518
8519         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8520         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
8521         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8522         (gst_pad_set_caps), (gst_pad_send_event):
8523         Check for correct hierarchy when linking pads. Moving to
8524         strict requirement for ghostpads when linking elements in
8525         different bins.
8526
8527         * gst/gstpad.h:
8528         Clean ups. Added WRONG_HIERARCHY return value.
8529
8530 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8531
8532         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8533           Better debug if no transform is possible.
8534
8535 2005-07-27  Wim Taymans  <wim@fluendo.com>
8536
8537         * docs/random/wtay/network-transp:
8538         Some old doc I had.
8539
8540 2005-07-27  Wim Taymans  <wim@fluendo.com>
8541
8542         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8543         (gst_dp_event_from_packet):
8544         Fix serialization of seek events.
8545
8546 2005-07-27  Wim Taymans  <wim@fluendo.com>
8547
8548         * check/gst-libs/gdp.c: (GST_START_TEST):
8549         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8550         Fix compilation and fix event serialization.
8551
8552 2005-07-27  Wim Taymans  <wim@fluendo.com>
8553
8554         * CHANGES-0.9:
8555         * docs/design/part-TODO.txt:
8556         * docs/design/part-events.txt:
8557         Some docs updates
8558
8559         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8560         (gst_base_sink_event), (gst_base_sink_do_sync),
8561         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8562         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8563         (gst_base_src_do_seek), (gst_base_src_event_handler),
8564         (gst_base_src_loop):
8565         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8566         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8567         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8568         (gst_base_transform_event), (gst_base_transform_handle_buffer),
8569         (gst_base_transform_set_passthrough),
8570         (gst_base_transform_is_passthrough):
8571         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8572         * gst/elements/gstfilesink.c: (gst_file_sink_event):
8573         Event updates.
8574
8575         * gst/gstbuffer.h:
8576         Use faster casts.
8577
8578         * gst/gstelement.c: (gst_element_seek):
8579         * gst/gstelement.h:
8580         Update gst_element_seek.
8581
8582         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
8583         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
8584         (gst_event_new_flush_start), (gst_event_new_flush_stop),
8585         (gst_event_new_eos), (gst_event_new_newsegment),
8586         (gst_event_parse_newsegment), (gst_event_new_tag),
8587         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
8588         (gst_event_parse_qos), (gst_event_new_seek),
8589         (gst_event_parse_seek), (gst_event_new_navigation):
8590         * gst/gstevent.h:
8591         Make GstEvent use GstStructure. Add parsing code, make sure the
8592         API is sufficiently generic.
8593         Mark possible directions of events and serialization.
8594
8595         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
8596         (_gst_message_copy), (gst_message_new_segment_start),
8597         (gst_message_new_segment_done), (gst_message_new_custom),
8598         (gst_message_parse_segment_start),
8599         (gst_message_parse_segment_done):
8600         Small cleanups.
8601
8602         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8603         (gst_pad_set_caps), (gst_pad_send_event):
8604         Update for new events. 
8605         Catch events sent in wrong directions.
8606
8607         * gst/gstqueue.c: (gst_queue_link_src),
8608         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
8609         (gst_queue_handle_src_query):
8610         Event updates.
8611
8612         * gst/gsttag.c:
8613         * gst/gsttag.h:
8614         Remove event code from this file.
8615
8616         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8617         (gst_dp_event_from_packet):
8618         Event updates.
8619
8620 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8621
8622         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
8623         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8624         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
8625           Make debugging actually useful.
8626
8627 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8628
8629         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
8630         (gst_pad_fixate_caps):
8631           Implement default fixation once again, so that gst_pad_fixate()
8632           actually does anything at all. This probably needs to be some
8633           sort of a last resort, and use profile-based fixation first, but
8634           since that doesn't exist yet, this is the best we have. Fixes
8635           visualization in Totem.
8636
8637 2005-07-22  Wim Taymans  <wim@fluendo.com>
8638
8639         * docs/design/part-events.txt:
8640         Small update.
8641
8642         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8643         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
8644         (gst_base_sink_activate_pull):
8645         Some more comments.
8646
8647         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
8648         (gst_fake_src_create):
8649         Fix handoff marshall.
8650
8651         * gst/elements/gstidentity.c: (gst_identity_class_init),
8652         (gst_identity_transform_ip):
8653         We're a real inplace element.
8654
8655         * gst/gstbus.c: (gst_bus_post):
8656         Added some comments.
8657
8658         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
8659         * tests/muxing/case1.c: (main):
8660         * tests/sched/dynamic-pipeline.c: (main):
8661         * tests/sched/interrupt1.c: (main):
8662         * tests/sched/interrupt2.c: (main):
8663         * tests/sched/interrupt3.c: (main):
8664         * tests/sched/runxml.c: (main):
8665         * tests/sched/sched-stress.c: (main):
8666         * tests/seeking/seeking1.c: (event_received), (main):
8667         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
8668         (main):
8669         * tests/threadstate/threadstate3.c: (main):
8670         * tests/threadstate/threadstate4.c: (main):
8671         * tests/threadstate/threadstate5.c: (main):
8672         Fix the tests.
8673
8674 2005-07-21  Wim Taymans  <wim@fluendo.com>
8675
8676         * docs/design/part-seeking.txt:
8677         Some small additions.
8678
8679         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8680         (gst_base_sink_get_times), (gst_base_sink_do_sync),
8681         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8682         * gst/base/gstbasesink.h:
8683         discont values are gint64, handle the math correctly.
8684
8685         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8686         Make the basesrc report error if the source pad is not linked.
8687
8688         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8689         (gst_queue_loop), (gst_queue_handle_src_query),
8690         (gst_queue_src_activate_push):
8691         Make queue collect data even if the srcpad is not linked.
8692         Start pushing out data as soon as it is linked.
8693
8694         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
8695         * gst/gstutils.h:
8696         Added gst_flow_get_name() to ease error reporting.
8697
8698 2005-07-20  Wim Taymans  <wim@fluendo.com>
8699
8700         * gst/gstmessage.c: (gst_message_new_segment_start),
8701         (gst_message_new_segment_done), (gst_message_parse_segment_start),
8702         (gst_message_parse_segment_done):
8703         * gst/gstmessage.h:
8704         Added a bunch of messages for advanced seeking.
8705
8706         * gst/parse/grammar.y:
8707         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
8708         (gst_dpman_state_changed):
8709         Fix some new-pad -> pad-added signals
8710
8711 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8712
8713         * docs/manual/appendix-porting.xml:
8714         * docs/pwg/appendix-porting.xml:
8715           Document new-pad/state-change signal renames and the FixedList
8716           type rename.
8717
8718 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8719
8720         * docs/manual/advanced-autoplugging.xml:
8721         * docs/manual/basics-helloworld.xml:
8722         * docs/manual/basics-pads.xml:
8723         * docs/random/ds/0.9-suggested-changes:
8724         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
8725         * gst/gstelement.h:
8726         * gst/gstevent.h:
8727         * gst/gstformat.h:
8728         * gst/gstquery.h:
8729         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8730         (gst_structure_parse_array), (gst_structure_parse_value):
8731         * gst/gstvalue.c: (gst_type_is_fixed),
8732         (gst_value_list_prepend_value), (gst_value_list_append_value),
8733         (gst_value_list_get_size), (gst_value_list_get_value),
8734         (gst_value_transform_array_string), (gst_value_serialize_array),
8735         (gst_value_deserialize_array), (gst_value_intersect_array),
8736         (gst_value_is_fixed), (_gst_value_initialize):
8737         * gst/gstvalue.h:
8738           GstElement::new-pad -> pad-added, GstElement::state-change ->
8739           state-changed, GstValueFixedList -> GstValueArray, add format and
8740           flags as their own arguments in gst_element_seek() (should improve
8741           "bindeability"), remove function generators since they don't work
8742           under a whole bunch of compilers (they were deprecated already
8743           anyway).
8744
8745 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8746
8747         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
8748         (_gst_debug_register_funcptr):
8749         * gst/gstinfo.h:
8750           Fix illegal cast on some platforms (#309253).
8751
8752 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8753
8754         * gst/gstmessage.c: (gst_message_new_custom):
8755         * gst/gstmessage.h:
8756           Add _new_custom, make _new_application a macro to _new_custom.
8757
8758 2005-07-20  Wim Taymans  <wim@fluendo.com>
8759
8760         * gst/base/gstbasesrc.c: (gst_base_src_init),
8761         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8762         * gst/base/gstbasesrc.h:
8763         Add a gboolean to decide when to push out a discont.
8764
8765         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8766         (gst_queue_loop), (gst_queue_handle_src_query),
8767         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
8768         (gst_queue_set_property), (gst_queue_get_property):
8769         Some cleanups.
8770
8771         * tests/threadstate/threadstate1.c: (main):
8772         Make a thread test compile and run... very silly..
8773
8774
8775 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8776
8777         * docs/manual/appendix-porting.xml:
8778           Mention removal of libgstgconf-0.9.la and existence of gconf
8779           elements.
8780
8781 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8782
8783         * docs/pwg/advanced-clock.xml:
8784         * docs/pwg/appendix-porting.xml:
8785         * docs/pwg/intro-preface.xml:
8786         * docs/pwg/other-base.xml:
8787         * docs/pwg/other-manager.xml:
8788         * docs/pwg/other-nton.xml:
8789         * docs/pwg/other-ntoone.xml:
8790         * docs/pwg/other-oneton.xml:
8791         * docs/pwg/pwg.xml:
8792           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
8793           demuxer), remove n-to-n (was never written), fix some code examples
8794           and links and update the porting section to include all this.
8795
8796 2005-07-19  Wim Taymans  <wim@fluendo.com>
8797
8798         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
8799         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
8800         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
8801         (gst_queue_src_activate_push), (gst_queue_change_state),
8802         (gst_queue_get_property):
8803         * gst/gstqueue.h:
8804         Propagate GstFlowReturn more intelligently upstream and output
8805         an ERROR/EOS when streaming stopped due to fatal error.
8806
8807 2005-07-19  Wim Taymans  <wim@fluendo.com>
8808
8809         * tools/gst-launch.c: (check_intr), (event_loop), (main):
8810         Don't block forever for the state change to complete, the
8811         pipeline already did with a sensible timeout.
8812
8813 2005-07-19  Wim Taymans  <wim@fluendo.com>
8814
8815         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8816         Make sure we never call the create function is we
8817         got deactivated.
8818
8819 2005-07-19  Andy Wingo  <wingo@pobox.com>
8820
8821         * gst/parse/parse.l: Attempt to solve bug #172815.
8822
8823 2005-07-19  Wim Taymans  <wim@fluendo.com>
8824
8825         * docs/design/part-clocks.txt:
8826         * docs/design/part-events.txt:
8827         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
8828         Small docs updates.
8829         Only update the seeking values when we are not
8830         busy streaming.
8831
8832 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8833
8834         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8835           Oops, ignore the result of gst_pad_push_event here.
8836
8837 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8838
8839         * gst/base/gstbasesrc.c: (gst_base_src_loop),
8840         (gst_base_src_activate_push):
8841           Send discont event from the loop function, as pads
8842           aren't activated yet in the activate_push handler.
8843
8844         * gst/gstbin.c: (bin_bus_handler):
8845           Don't leak element name.
8846
8847 2005-07-18  Andy Wingo  <wingo@pobox.com>
8848
8849         * configure.ac: Use AS_LIBTOOL_TAGS.
8850
8851 2005-07-18  Wim Taymans  <wim@fluendo.com>
8852
8853         * docs/gst/gstreamer.types:
8854         Remove deleted types.
8855
8856 2005-07-18  Wim Taymans  <wim@fluendo.com>
8857
8858         * check/elements/gstfakesrc.c: (GST_START_TEST):
8859         * configure.ac:
8860         * gst/Makefile.am:
8861         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
8862         (init_popt_callback):
8863         * gst/gst.h:
8864         * gst/gst_private.h:
8865         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
8866         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
8867         * gst/gstbin.h:
8868         * gst/gstbus.h:
8869         * gst/gstconfig.h.in:
8870         * gst/gstelement.c: (gst_element_class_init),
8871         (gst_element_set_base_time), (gst_element_get_base_time),
8872         (iterator_fold_with_resync), (gst_element_change_state),
8873         (gst_element_dispose), (gst_element_get_bus):
8874         * gst/gstelement.h:
8875         * gst/gstelementfactory.h:
8876         * gst/gsterror.c: (_gst_core_errors_init):
8877         * gst/gsterror.h:
8878         * gst/gstevent.h:
8879         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8880         * gst/gstindex.c:
8881         * gst/gstinfo.c: (_gst_debug_init):
8882         * gst/gstmessage.c: (_gst_message_copy):
8883         * gst/gstmessage.h:
8884         * gst/gstminiobject.h:
8885         * gst/gstobject.c:
8886         * gst/gstobject.h:
8887         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8888         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
8889         * gst/gstpad.h:
8890         * gst/gstparse.h:
8891         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8892         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8893         (gst_pipeline_get_last_stream_time):
8894         * gst/gstpipeline.h:
8895         * gst/gstpluginfeature.h:
8896         * gst/gstquery.h:
8897         * gst/gstscheduler.c:
8898         * gst/gstscheduler.h:
8899         * gst/gststructure.h:
8900         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
8901         (gst_task_finalize), (gst_task_func), (gst_task_create),
8902         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
8903         (gst_task_stop), (gst_task_pause):
8904         * gst/gsttask.h:
8905         * gst/gsttypefind.h:
8906         * gst/gsttypes.h:
8907         * gst/registries/gstlibxmlregistry.c: (load_feature),
8908         (gst_xml_registry_load), (gst_xml_registry_save_feature):
8909         * gst/registries/gstxmlregistry.c:
8910         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
8911         * gst/schedulers/threadscheduler.c:
8912         * libs/gst/control/dparammanager.h:
8913         * tools/gst-inspect.c: (print_element_list),
8914         (print_plugin_features), (print_element_features):
8915         * tools/gst-xmlinspect.c: (print_element_list),
8916         (print_plugin_info), (main):
8917         Removed plugable schedulers.
8918         Removed Scheduler/Manager from elements.
8919         Removed gsttypes.h, rearranged includes.
8920         Removed dependency pad<->element, element<>pipeline, and
8921         various others,  fix includes.
8922         implement gst_pad_get_parent() with gst_object_get_parent()
8923         Make GstTask sefcontained.
8924         Fix _get_state() on GstBin, it did not return ASYNC with a 0
8925         timeout.
8926         Fix endless loop in iterator_fold_with_resync.
8927
8928
8929 2005-07-18  Wim Taymans  <wim@fluendo.com>
8930
8931         * gst/Makefile.am:
8932         * gst/gstarch.h:
8933         Remove old file.
8934
8935 2005-07-18  Wim Taymans  <wim@fluendo.com>
8936
8937         * gst/Makefile.am:
8938         No more cothreads.h
8939
8940 2005-07-18  Wim Taymans  <wim@fluendo.com>
8941
8942         * gst/cothreads.c:
8943         * gst/cothreads.h:
8944         Let's remove these.
8945
8946 2005-07-18  Wim Taymans  <wim@fluendo.com>
8947
8948         * docs/design/part-dynamic.txt:
8949         * docs/design/part-events.txt:
8950         * docs/design/part-seeking.txt:
8951         Some more docs in the works.
8952
8953         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8954         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
8955         (gst_base_transform_setcaps), (gst_base_transform_get_size),
8956         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8957         (gst_base_transform_handle_buffer),
8958         (gst_base_transform_sink_activate_push),
8959         (gst_base_transform_src_activate_pull),
8960         (gst_base_transform_set_passthrough),
8961         (gst_base_transform_is_passthrough):
8962         Refcounting fixes.
8963
8964         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
8965         Cleanups.
8966
8967         * gst/gstevent.c: (gst_event_finalize):
8968         Set SRC to NULL.
8969
8970         * gst/gstutils.c: (gst_element_unlink),
8971         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
8972         (gst_pad_proxy_setcaps):
8973         * gst/gstutils.h:
8974         Add _get_parent_element() to get a pads parent as an element.
8975
8976 2005-07-18  Wim Taymans  <wim@fluendo.com>
8977
8978         * check/gst/gstbin.c: (GST_START_TEST):
8979         Remove bogus test.
8980
8981 2005-07-18  Wim Taymans  <wim@fluendo.com>
8982
8983         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
8984         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
8985         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
8986         (gst_base_sink_event), (gst_base_sink_do_sync),
8987         (gst_base_sink_chain), (gst_base_sink_loop),
8988         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
8989         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
8990         Refcounting fixes.
8991         Fix logic for returning ASYNC when not prerolled.
8992
8993 2005-07-18  Wim Taymans  <wim@fluendo.com>
8994
8995         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8996         Fix nasty refcount bug.
8997
8998 2005-07-16 Philippe Khalaf <burger@speedy.org>
8999
9000         * gst/elements/gstfdsrc.c:
9001         * gst/elements/gstfdsrc.h:
9002         * gst/elements/gstelements.c:
9003         * gst/elements/Makefile.am:
9004         Ported fdsrc to 0.9.
9005
9006 2005-07-16  Wim Taymans  <wim@fluendo.com>
9007
9008         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9009         (gst_base_sink_do_sync):
9010         Fix compile error.
9011
9012 2005-07-16  Wim Taymans  <wim@fluendo.com>
9013
9014         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9015         (gst_base_sink_event), (gst_base_sink_get_times),
9016         (gst_base_sink_do_sync), (gst_base_sink_change_state):
9017         * gst/base/gstbasesink.h:
9018         Store and use discont values when syncing buffers as described
9019         in design docs.
9020         
9021         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9022         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
9023         (gst_base_src_activate_push):
9024         Push discont event when starting.
9025
9026         * gst/elements/gstidentity.c: (gst_identity_transform):
9027         Small cleanups.
9028
9029         * gst/gstbin.c: (gst_bin_change_state):
9030         Small cleanups in base_time  distribution.
9031
9032         * gst/gstelement.c: (gst_element_set_base_time),
9033         (gst_element_get_base_time), (gst_element_change_state):
9034         * gst/gstelement.h:
9035         Added methods for the base_time of the element.
9036         Some MT fixes.
9037
9038         * gst/gstpipeline.c: (gst_pipeline_send_event),
9039         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9040         (gst_pipeline_get_last_stream_time):
9041         * gst/gstpipeline.h:
9042         MT fixes.
9043         Handle seeking as described in design doc, remove stream_time
9044         hack.
9045         Cleanups clock and stream_time selection code. Added accessors
9046         for the stream_time.
9047         
9048
9049 2005-07-16  Andy Wingo  <wingo@pobox.com>
9050
9051         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
9052         (#305291).
9053
9054 2005-07-16  Wim Taymans  <wim@fluendo.com>
9055
9056         * check/gst/gstbin.c: (GST_START_TEST):
9057         Make elements silent as the deep_notify refs the
9058         parent, which might make the test fail.
9059
9060         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9061         Don't hold the lock for too long.
9062
9063 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
9064
9065         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9066           Don't unref the caps we passed to gst_caps_make_writable() after
9067           passing them. gst_caps_make_writable() will do that for us.
9068
9069 2005-07-15  Andy Wingo  <wingo@pobox.com>
9070
9071         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
9072         (#157311).
9073
9074         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
9075         own marshalling function for the handoff signal. Properly type the
9076         buffer as a buffer. Fixes some warnings. Should do a more general
9077         solution.
9078         (gst_identity_class_init): Plug into the right marshaller.
9079
9080 2005-07-15  Wim Taymans  <wim@fluendo.com>
9081
9082         * docs/design/part-TODO.txt:
9083         * docs/design/part-clocks.txt:
9084         * docs/design/part-element-sink.txt:
9085         * docs/design/part-events.txt:
9086         * docs/design/part-gstpipeline.txt:
9087         Updated docs, mostly DISCONT related.
9088
9089 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
9090
9091         * docs/pwg/building-pads.xml:
9092           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
9093
9094 2005-07-15  Andy Wingo  <wingo@pobox.com>
9095
9096         * tools/gst-typefind.c: Update, add copyright block.
9097
9098         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
9099         Normalize and truncate caps before fixation.
9100
9101         * gst/gstcaps.h:
9102         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
9103         discards all but the first structure from its argument.
9104
9105 2005-07-15  Wim Taymans  <wim@fluendo.com>
9106
9107         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9108         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
9109         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9110         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9111         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
9112         (gst_base_transform_chain), (gst_base_transform_change_state),
9113         (gst_base_transform_set_passthrough),
9114         (gst_base_transform_is_passthrough):
9115         * gst/base/gstbasetransform.h:
9116         Make passthrough work using the bufferpools.
9117         Changed API a bit, subclasses have to write into a buffer
9118         provided by the base class.
9119         More debug info in nego functions.
9120         
9121         * gst/elements/gstidentity.c: (gst_identity_init),
9122         (gst_identity_transform):
9123         Port to new base class.
9124
9125 2005-07-15  Wim Taymans  <wim@fluendo.com>
9126
9127         * gst/gstmessage.c: (gst_message_new_state_changed):
9128         * tools/gst-launch.c: (event_loop), (main):
9129         Totally dump messages in -launch with the -m option.
9130         Fix message name for State messages,
9131
9132 2005-07-14  Wim Taymans  <wim@fluendo.com>
9133
9134         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9135         Post error messages on errors.
9136
9137 2005-07-14  Wim Taymans  <wim@fluendo.com>
9138
9139         * gst/gstcaps.c: (gst_caps_do_simplify):
9140         Remove debug info.
9141
9142         * gst/gsterror.h:
9143         Define error for stream stopped.
9144
9145         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9146         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
9147         Do proper return values.
9148
9149         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9150         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
9151         (gst_pad_get_range):
9152         Better return values.
9153
9154         * gst/gstpad.h:
9155         Reorganise return values, add macro to check for fatal errors.
9156
9157         * gst/gstqueue.c: (gst_queue_chain):
9158         Return proper GstFlowReturn values,
9159
9160 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9161
9162         * docs/gst/gstreamer-sections.txt:
9163         * docs/gst/gstreamer.types:
9164         * docs/gst/tmpl/gst.sgml:
9165         * docs/gst/tmpl/gstbasesink.sgml:
9166         * docs/gst/tmpl/gstbasesrc.sgml:
9167         * docs/gst/tmpl/gstbasetransform.sgml:
9168         * docs/gst/tmpl/gstbin.sgml:
9169         * docs/gst/tmpl/gstbuffer.sgml:
9170         * docs/gst/tmpl/gstcaps.sgml:
9171         * docs/gst/tmpl/gstclock.sgml:
9172         * docs/gst/tmpl/gstcompat.sgml:
9173         * docs/gst/tmpl/gstconfig.sgml:
9174         * docs/gst/tmpl/gstelement.sgml:
9175         * docs/gst/tmpl/gstelementdetails.sgml:
9176         * docs/gst/tmpl/gstelementfactory.sgml:
9177         * docs/gst/tmpl/gstenumtypes.sgml:
9178         * docs/gst/tmpl/gsterror.sgml:
9179         * docs/gst/tmpl/gstevent.sgml:
9180         * docs/gst/tmpl/gstfakesink.sgml:
9181         * docs/gst/tmpl/gstfakesrc.sgml:
9182         * docs/gst/tmpl/gstfilesink.sgml:
9183         * docs/gst/tmpl/gstfilesrc.sgml:
9184         * docs/gst/tmpl/gstfilter.sgml:
9185         * docs/gst/tmpl/gstformat.sgml:
9186         * docs/gst/tmpl/gstghostpad.sgml:
9187         * docs/gst/tmpl/gstimplementsinterface.sgml:
9188         * docs/gst/tmpl/gstindex.sgml:
9189         * docs/gst/tmpl/gstindexfactory.sgml:
9190         * docs/gst/tmpl/gstinfo.sgml:
9191         * docs/gst/tmpl/gstiterator.sgml:
9192         * docs/gst/tmpl/gstmacros.sgml:
9193         * docs/gst/tmpl/gstmemchunk.sgml:
9194         * docs/gst/tmpl/gstminiobject.sgml:
9195         * docs/gst/tmpl/gstobject.sgml:
9196         * docs/gst/tmpl/gstpad.sgml:
9197         * docs/gst/tmpl/gstpadtemplate.sgml:
9198         * docs/gst/tmpl/gstparse.sgml:
9199         * docs/gst/tmpl/gstpipeline.sgml:
9200         * docs/gst/tmpl/gstplugin.sgml:
9201         * docs/gst/tmpl/gstpluginfeature.sgml:
9202         * docs/gst/tmpl/gstquery.sgml:
9203         * docs/gst/tmpl/gstqueue.sgml:
9204         * docs/gst/tmpl/gstregistry.sgml:
9205         * docs/gst/tmpl/gstregistrypool.sgml:
9206         * docs/gst/tmpl/gstscheduler.sgml:
9207         * docs/gst/tmpl/gstschedulerfactory.sgml:
9208         * docs/gst/tmpl/gststructure.sgml:
9209         * docs/gst/tmpl/gstsystemclock.sgml:
9210         * docs/gst/tmpl/gsttaglist.sgml:
9211         * docs/gst/tmpl/gsttagsetter.sgml:
9212         * docs/gst/tmpl/gsttrace.sgml:
9213         * docs/gst/tmpl/gsttrashstack.sgml:
9214         * docs/gst/tmpl/gsttypefind.sgml:
9215         * docs/gst/tmpl/gsttypefindfactory.sgml:
9216         * docs/gst/tmpl/gsttypes.sgml:
9217         * docs/gst/tmpl/gsturihandler.sgml:
9218         * docs/gst/tmpl/gsturitype.sgml:
9219         * docs/gst/tmpl/gstutils.sgml:
9220         * docs/gst/tmpl/gstvalue.sgml:
9221         * docs/gst/tmpl/gstversion.sgml:
9222         * docs/gst/tmpl/gstxml.sgml:
9223         * docs/libs/tmpl/gstcontrol.sgml:
9224         * docs/libs/tmpl/gstdataprotocol.sgml:
9225         * docs/libs/tmpl/gstdparam.sgml:
9226         * docs/libs/tmpl/gstdplinint.sgml:
9227         * docs/libs/tmpl/gstdpman.sgml:
9228         * docs/libs/tmpl/gstdpsmooth.sgml:
9229         * docs/libs/tmpl/gstgetbits.sgml:
9230         * docs/libs/tmpl/gstunitconvert.sgml:
9231         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9232         (gst_push_src_base_init), (gst_push_src_class_init),
9233         (gst_push_src_init), (gst_push_src_create):
9234         * gst/base/gstpushsrc.h:
9235         * gst/elements/gstelements.c:
9236         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9237         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9238         (gst_fake_sink_init), (gst_fake_sink_set_property),
9239         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9240         (gst_fake_sink_event), (gst_fake_sink_preroll),
9241         (gst_fake_sink_render), (gst_fake_sink_change_state):
9242         * gst/elements/gstfakesink.h:
9243         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9244         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9245         (gst_fake_src_base_init), (gst_fake_src_class_init),
9246         (gst_fake_src_init), (gst_fake_src_event_handler),
9247         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9248         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9249         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9250         (gst_fake_src_create_buffer), (gst_fake_src_create),
9251         (gst_fake_src_start), (gst_fake_src_stop):
9252         * gst/elements/gstfakesrc.h:
9253         * gst/elements/gstfilesink.c: (_do_init),
9254         (gst_file_sink_base_init), (gst_file_sink_class_init),
9255         (gst_file_sink_init), (gst_file_sink_dispose),
9256         (gst_file_sink_set_location), (gst_file_sink_set_property),
9257         (gst_file_sink_get_property), (gst_file_sink_open_file),
9258         (gst_file_sink_close_file), (gst_file_sink_query),
9259         (gst_file_sink_event), (gst_file_sink_render),
9260         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9261         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9262         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9263         * gst/elements/gstfilesink.h:
9264         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9265         (gst_file_src_class_init), (gst_file_src_init),
9266         (gst_file_src_finalize), (gst_file_src_set_location),
9267         (gst_file_src_set_property), (gst_file_src_get_property),
9268         (gst_file_src_map_region), (gst_file_src_map_small_region),
9269         (gst_file_src_create_mmap), (gst_file_src_create_read),
9270         (gst_file_src_create), (gst_file_src_is_seekable),
9271         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9272         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9273         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9274         (gst_file_src_uri_handler_init):
9275         * gst/elements/gstfilesrc.h:
9276           more autistic cleanliness in functions/names/defines
9277
9278 2005-07-13  Andy Wingo  <wingo@pobox.com>
9279
9280         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9281         source couldn't negotiate.
9282
9283         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9284         connections again.
9285
9286         * gst/gstutils.h:
9287         * gst/gstutils.c (gst_element_link_pads_filtered): New old
9288         function. I am channeling Hades. Put your boots on suckers!!!
9289
9290 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9291
9292         * testsuite/caps/Makefile.am:
9293         * testsuite/caps/value_compare.c:
9294         * testsuite/caps/value_intersect.c:
9295         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9296           move two testsuite apps over to the check dir
9297
9298 2005-07-12  Wim Taymans  <wim@fluendo.com>
9299
9300         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9301         Added more debug info in the negotiate process.
9302
9303         * gst/gstmessage.h:
9304         Prepare for segment playback.
9305
9306         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9307         Better debugging.
9308
9309         * gst/gstutils.c:
9310         Some more docs.
9311
9312         * tools/gst-launch.c: (main):
9313         NULL pipeline on errors.
9314
9315 2005-07-12  Andy Wingo  <wingo@pobox.com>
9316
9317         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9318         not it comes from a malloc region. Make sure our copy gets freed.
9319
9320 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9321
9322         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9323         * check/gst/gstmessage.c: (GST_START_TEST):
9324         * check/gst/gststructure.c: (GST_START_TEST),
9325         (gst_structure_suite), (main):
9326           more testing
9327         * gst/gstelement.c: (gst_element_message_full):
9328           clean up GError and debug string now that they get copied
9329         * gst/gstmessage.c: (gst_message_new_error),
9330         (gst_message_new_warning), (gst_message_parse_error),
9331         (gst_message_parse_warning):
9332           use GST_TYPE_G_ERROR for structure_new, and take copies of
9333           arguments, so that we don't mess up refcounting
9334
9335 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9336
9337         * check/Makefile.am:
9338           add per-test valgrind targets
9339         * check/gst-libs/gdp.c: (GST_START_TEST),
9340         (gst_data_protocol_suite), (main):
9341           clean up
9342
9343 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9344
9345         * check/Makefile.am:
9346           instate more valgrindable tests
9347         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9348         (GST_START_TEST), (fakesrc_suite):
9349         * check/gst/gstpad.c: (GST_START_TEST):
9350         * check/gst/gststructure.c: (GST_START_TEST):
9351           fix test leaks
9352         * docs/gst/tmpl/gstminiobject.sgml:
9353         * gst/gstpad.c: (gst_pad_finalize):
9354           fix the static mutex leak
9355
9356 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9357
9358         * check/Makefile.am:
9359           add two more tests for valgrinding
9360         * check/gst/gstvalue.c: (GST_START_TEST):
9361           test refcount of deserialized buffer, found a leak
9362         * docs/gst/gstreamer-docs.sgml:
9363         * docs/gst/gstreamer-sections.txt:
9364         * docs/gst/gstreamer.types:
9365         * docs/gst/tmpl/gstminiobject.sgml:
9366           add miniobject to docs
9367         * gst/gstminiobject.c:
9368           add some docs
9369         * gst/gstvalue.c: (gst_value_deserialize_buffer),
9370         (gst_string_unwrap):
9371           fix a hard-to-find invalid write for one of the tests
9372           fix a leak for deserialized buffers
9373
9374 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9375
9376         * docs/pwg/advanced-events.xml:
9377         * docs/pwg/advanced-request.xml:
9378         * docs/pwg/advanced-scheduling.xml:
9379         * docs/pwg/appendix-porting.xml:
9380         * docs/pwg/building-boiler.xml:
9381         * docs/pwg/intro-preface.xml:
9382         * docs/pwg/other-ntoone.xml:
9383           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
9384           of example code and explanation for pad activation, loop() and
9385           getrange() functions and a bit more. Remove old comments pointing
9386           to loop-functions.
9387         * examples/pwg/Makefile.am:
9388           Add loop/getrange examples.
9389
9390 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9391
9392         * configure.ac:
9393           check for valgrind binary + some fixes
9394         * check/gst.supp:
9395           valgrind suppressions for the tests
9396         * check/Makefile.am:
9397           add a valgrind: target that valgrinds the unit tests
9398         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
9399         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9400         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9401         * check/gst/gstghostpad.c:
9402           added some cleanup
9403         * check/gst/gstdata.c:
9404           removed
9405         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
9406         (thread_unref), (gst_mini_object_suite), (main):
9407           added
9408         * gst/gst.c: (gst_deinit):
9409         * gst/gst.h:
9410           add a method to clean up.
9411         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9412         (gst_system_clock_obtain):
9413           allow for disposing the system clock.
9414         * tools/gst-launch.c: (main):
9415           deinit
9416
9417 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9418
9419         * docs/gst/tmpl/gstbasesrc.sgml:
9420         * docs/gst/tmpl/gstfakesrc.sgml:
9421         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9422         (gst_base_src_init), (gst_base_src_set_property),
9423         (gst_base_src_get_property), (gst_base_src_get_range),
9424         (gst_base_src_start):
9425         * gst/base/gstbasesrc.h:
9426           add num-buffers property
9427         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9428         (gst_fakesrc_init), (gst_fakesrc_set_property),
9429         (gst_fakesrc_get_property), (gst_fakesrc_create),
9430         (gst_fakesrc_start):
9431           remove num-buffers property
9432
9433 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9434
9435         * docs/gst/gstreamer-sections.txt:
9436         * docs/gst/tmpl/gstbasesink.sgml:
9437         * docs/gst/tmpl/gstbasesrc.sgml:
9438         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9439         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9440         (gst_base_sink_finalize), (gst_base_sink_set_clock),
9441         (gst_base_sink_set_property), (gst_base_sink_get_property),
9442         (gst_base_sink_handle_object), (gst_base_sink_event),
9443         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9444         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
9445         (gst_base_sink_loop), (gst_base_sink_deactivate),
9446         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
9447         (gst_base_sink_change_state):
9448         * gst/base/gstbasesink.h:
9449         * gst/base/gstbasesrc.h:
9450         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
9451         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9452         (gst_filesink_init):
9453           more macro splitting
9454
9455 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9456
9457         * gst/gstelement.c: (gst_element_get_bus):
9458           add debug
9459         * tools/gst-launch.c: (check_intr), (event_loop):
9460           fix bus leaks
9461
9462 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9463
9464         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9465           fix a caps leak
9466
9467 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9468
9469         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9470         (gst_base_src_finalize):
9471           add finalize method and clean up properly
9472         * gst/gstpipeline.c: (gst_pipeline_dispose):
9473           add debug
9474
9475 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9476
9477         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
9478         (gst_bin_suite):
9479           add more things to check
9480         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9481         * gst/gstelement.c:
9482           more debug
9483
9484 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9485
9486         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9487         (GST_START_TEST), (fakesrc_suite):
9488         * check/gst-libs/gdp.c: (GST_START_TEST):
9489         * check/gst/gst.c: (GST_START_TEST):
9490         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9491         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9492         * check/gst/gstbus.c: (GST_START_TEST):
9493         * check/gst/gstcaps.c: (GST_START_TEST):
9494         * check/gst/gstdata.c: (GST_START_TEST):
9495         * check/gst/gstelement.c: (GST_START_TEST):
9496         * check/gst/gstghostpad.c: (GST_START_TEST):
9497         * check/gst/gstiterator.c: (GST_START_TEST):
9498         * check/gst/gstmessage.c: (GST_START_TEST):
9499         * check/gst/gstobject.c: (GST_START_TEST):
9500         * check/gst/gstpad.c: (GST_START_TEST):
9501         * check/gst/gststructure.c: (GST_START_TEST):
9502         * check/gst/gstsystemclock.c: (GST_START_TEST),
9503         (gst_systemclock_suite):
9504         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9505         * check/gst/gstvalue.c: (GST_START_TEST):
9506         * check/pipelines/cleanup.c: (GST_START_TEST):
9507         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9508         * check/states/sinks.c: (GST_START_TEST):
9509         * check/gstcheck.c: (gst_check_init):
9510         * check/gstcheck.h:
9511           add debugging category
9512           use GST_START_TEST now, so we add a debug line
9513
9514 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9515
9516         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
9517           add test for state change message on a bin
9518         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
9519           add another test
9520         * gst/gstbin.c: (gst_bin_init):
9521         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
9522         * gst/gstelement.c: (gst_element_post_message),
9523         (gst_element_set_state):
9524         * gst/gstelementfactory.c: (gst_element_factory_create):
9525         * gst/gstmessage.c: (gst_message_new):
9526         * gst/gstscheduler.c:
9527           various debugging additions and cleanups
9528
9529 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9530
9531         * check/Makefile.am:
9532         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
9533         (main):
9534           adding tests for elements
9535         * gst/gstelement.c: (gst_element_dispose):
9536
9537 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9538
9539         * gst/registries/gstlibxmlregistry.c: (load_feature):
9540           plug more leaks.  A simple gst_init() now is leakfree, yay.
9541
9542 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9543
9544         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
9545         (gst_xml_registry_load):
9546           plug another memleak
9547
9548 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9549
9550         * configure.ac:
9551           use GST_SET_ERROR_CFLAGS
9552         * docs/faq/cvs.xml:
9553           change to ERROR_CFLAGS
9554
9555 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9556
9557         * configure.ac:
9558           make GST_ERROR_CFLAGS overridable and re-enable Werror
9559         * docs/faq/cvs.xml:
9560           add a note about error CFLAGS
9561         * docs/gst/tmpl/gstfakesrc.sgml:
9562         * gst/elements/gstfakesrc.c:
9563           comment out some unused code
9564         * gst/gst.c: (split_and_iterate):
9565         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
9566         (load_feature):
9567           plug some memleaks
9568
9569 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9570
9571         * common/Makefile.am:
9572         * common/gtk-doc.mak:
9573         * docs/gst/Makefile.am:
9574           factor out gtk-doc.mak
9575
9576 2005-07-07  Wim Taymans  <wim@fluendo.com>
9577
9578         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
9579         (gst_thread_scheduler_dispose):
9580         Unlock the STREAM_LOCK completely.
9581
9582 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9583
9584         * check/Makefile.am:
9585         * check/elements/.cvsignore:
9586         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9587         (START_TEST), (fakesrc_suite), (main):
9588         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9589         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
9590         (gst_fakesrc_create), (gst_fakesrc_start):
9591         * gst/elements/gstfakesrc.h:
9592           adding a first element test
9593
9594 2005-07-07  Andy Wingo  <wingo@pobox.com>
9595
9596         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
9597         debug message.
9598
9599 2005-07-07  Wim Taymans  <wim@fluendo.com>
9600
9601         * gst/gstquery.c:
9602         * gst/gstquery.h:
9603         Remove old types
9604
9605 2005-07-07  Wim Taymans  <wim@fluendo.com>
9606
9607         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
9608         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
9609         Allow subclasses to implement their own negotiation.
9610
9611 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9612
9613         * docs/design/part-gstbin.txt:
9614         * docs/design/part-gstpipeline.txt:
9615           Update design notes to reflect the movement of
9616           responsibility for bus handling from GstPipeline to
9617           GstBin
9618
9619 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9620
9621         * configure.ac:
9622           Remove unnecessary queue2/3/4 examples.
9623
9624 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9625
9626         * examples/Makefile.am:
9627         * examples/helloworld/helloworld.c: (event_loop), (main):
9628         * examples/queue/queue.c: (event_loop), (main):
9629         * examples/queue2/queue2.c: (main):
9630           Update a couple of the examples to work again.
9631
9632         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9633         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
9634          Spelling corrections and extra debug.
9635         
9636         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
9637         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
9638         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
9639         * gst/gstbin.h:
9640         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9641         (gst_pipeline_change_state):
9642         * gst/gstpipeline.h:
9643           Move the bus handler for children to the GstBin, and create a
9644           separate bus for receiving messages from children to the one the
9645           bus sends 'upwards' on.
9646
9647 2005-07-06  Wim Taymans  <wim@fluendo.com>
9648
9649         * gst/base/README:
9650         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9651         (gst_base_sink_handle_object), (gst_base_sink_loop),
9652         (gst_base_sink_change_state):
9653         * gst/base/gstbasesink.h:
9654         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9655         (gst_base_src_init), (gst_base_src_setcaps),
9656         (gst_base_src_getcaps), (gst_base_src_loop),
9657         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
9658         (gst_base_src_start), (gst_base_src_change_state):
9659         * gst/base/gstbasesrc.h:
9660         Make basesrc negotiate.
9661         Handle the case where preroll fails in basesink.
9662         Update README.
9663
9664 2005-07-06  Wim Taymans  <wim@fluendo.com>
9665
9666         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
9667         Implement the fixate function.
9668         Clean up acceptcaps.
9669
9670 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9671
9672         * docs/pwg/building-filterfactory.xml:
9673         * docs/pwg/pwg.xml:
9674           Remove never-written filter-factory chapter; I'll add the various
9675           base classes to part 4 ("other element types") later on.
9676
9677 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9678
9679         * docs/pwg/advanced-negotiation.xml:
9680         * docs/pwg/building-boiler.xml:
9681         * docs/pwg/building-pads.xml:
9682         * docs/pwg/pwg.xml:
9683         * examples/pwg/Makefile.am:
9684           Add a chapter on caps negotiation, simplify the original code
9685           samples a bit w.r.t. caps negotiation, add link to the advanced
9686           section. Add a bunch of examples showing different use cases of
9687           different types of caps negotiation. Upstream renegotiation isn't
9688           fully documented yet since nobody knows how that works.
9689
9690 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9691
9692         * check/gst/gstpad.c:
9693         * check/gstcheck.c:
9694         * gst/gstpad.c: (gst_pad_get_internal_links_default):
9695           if pad has no parent, return NULL as list of internal links
9696
9697 2005-07-05  Andy Wingo  <wingo@pobox.com>
9698
9699         * gst/elements/gstfilesrc.c:
9700         * gst/elements/gstfakesrc.c: 
9701         * gst/base/gstpushsrc.c:
9702         * gst/base/gstbasesrc.h: 
9703         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
9704         
9705 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
9706
9707         * Makefile.am:
9708           better report generation target (lcov needs a patch)
9709
9710 2005-07-05  Andy Wingo  <wingo@pobox.com>
9711
9712         * gst/elements, testsuite: Null if we got it...
9713
9714 2005-07-05  Wim Taymans  <wim@fluendo.com>
9715
9716         * configure.ac:
9717         * libs/gst/dataprotocol/Makefile.am:
9718         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
9719         * libs/gst/dataprotocol/dataprotocol.h:
9720         * pkgconfig/Makefile.am:
9721         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
9722         * pkgconfig/gstreamer-dataprotocol.pc.in:
9723         Ported dataprotol to 0.9. 
9724         Added pkgconfig files.
9725
9726 2005-07-05  Andy Wingo  <wingo@pobox.com>
9727
9728         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
9729         Default to returning TRUE for the case when tranform_caps returns
9730         a fixed caps, like for identity or volume.
9731
9732         * check/gst/gstbus.c (pound_bus_with_messages): 
9733         * check/gst/gstmessage.c (START_TEST): 
9734         * check/pipelines/simple_launch_lines.c (got_handoff): Application
9735         message API change.
9736
9737         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
9738         logic weaks here: always run transform_caps, trying passthrough
9739         operation only if the original caps intersects with the transform.
9740
9741         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
9742         source and sink caps.
9743
9744         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
9745         Intersect the peer caps with the pad template before going into
9746         transform_caps.
9747         (gst_base_transform_transform_caps): More debugging.
9748
9749         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
9750         src argument.
9751
9752 2005-07-04  Edward Hervey  <edward@fluendo.com>
9753
9754         * gst/gstutils.c:
9755         * gst/gstutils.h:
9756         (gst_pad_add_*_probe): now returns the signal id for better wrapping
9757         in bindings.
9758
9759 2005-07-04  Andy Wingo  <wingo@pobox.com>
9760
9761         * check/gst/gstpad.c: Only set explicit caps on pads.
9762
9763 2005-07-01  Andy Wingo  <wingo@pobox.com>
9764
9765         * tests/network-clock.scm: Commentary update.
9766
9767         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
9768         Didn't really make sense, not implementable with basetransform,
9769         etc.
9770         (gst_identity_transform): Unref inbuf via make_writable. Feeble
9771         attempt at implementing the sync property, needs an unlock method.
9772
9773         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
9774         New func, by default returns the same caps (the identity
9775         transformation).
9776         (gst_base_transform_getcaps): Uses transform_caps to return
9777         something sensible.
9778         (gst_base_transform_setcaps): Complicated logic to get caps on
9779         both pads, even if they are different, and to call set_caps once
9780         for every time both pads get their caps set.
9781         (gst_base_transform_handle_buffer): Give the ref to the transform
9782         function. Allows in-place modification of the buffer.
9783
9784         * gst/base/gstbasetransform.h (transform_caps): New class method.
9785         Given caps on one side, what can I do on the other.
9786         (set_caps): Take two caps, one for each side of the element.
9787
9788         * gst/gstpad.h:
9789         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
9790         caps in place. This is safe because we can check the mutability of
9791         the caps, and a good idea because fixate functions are just called
9792         as a matter of last resort. (Not actually implemented.)
9793         (gst_pad_set_caps): If the caps we're setting is actually the same
9794         as the existing pad caps, just update the pointer without calling
9795         setcaps. Assert that caps is either NULL or fixed, as per the
9796         docs.
9797
9798         * gst/gstghostpad.c: Update for fixate changes.
9799
9800 2005-07-02  Andy Wingo  <wingo@pobox.com>
9801
9802         * gst/gstcaps.c:
9803         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
9804         two refcounts makes it immutable, which is enough. Doc more.
9805
9806 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
9807
9808         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
9809           Put the mini_object into GValue as a mini_object,
9810           not a gpointer, since that's how we declared
9811           the signal.
9812
9813 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9814
9815         * examples/pwg/Makefile.am:
9816           Fix buildbot again.
9817
9818 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9819
9820         * docs/pwg/building-testapp.xml:
9821           Add extra check.
9822         * examples/pwg/Makefile.am:
9823           Fix buildbot.
9824
9825 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9826
9827         * configure.ac:
9828         * examples/Makefile.am:
9829         * examples/pwg/Makefile.am:
9830         * examples/pwg/extract.pl:
9831           Enable building the PWG examples.
9832         * docs/pwg/advanced-interfaces.xml:
9833           Add URI interface stub.
9834         * docs/pwg/advanced-types.xml:
9835         * docs/pwg/other-autoplugger.xml:
9836         * docs/pwg/appendix-porting.xml:
9837         * docs/pwg/pwg.xml:
9838           Add porting guide (mostly stubs), remove autoplugging (see ADM).
9839         * docs/pwg/building-boiler.xml:
9840         * docs/pwg/building-chainfn.xml:
9841         * docs/pwg/building-pads.xml:
9842         * docs/pwg/building-props.xml:
9843         * docs/pwg/building-state.xml:
9844         * docs/pwg/building-testapp.xml:
9845           Update the building-*.xml parts for 0.9 changes. All examples
9846           code blocks compile in examples/pwg/*.
9847
9848 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9849
9850         * docs/manual/advanced-autoplugging.xml:
9851         * docs/manual/appendix-checklist.xml:
9852         * docs/manual/appendix-integration.xml:
9853         * docs/manual/highlevel-components.xml:
9854           Fix playbin/decodebin examples, update docs a bit, mention bus
9855           instead of signals in various places, mention kmplayer and
9856           kaffeine since they have a working GStreamer backend in the KDE
9857           section.
9858
9859 2005-06-30  Wim Taymans  <wim@fluendo.com>
9860
9861         * CHANGES-0.9:
9862         * docs/design/draft-ghostpads.txt:
9863         * docs/design/draft-push-pull.txt:
9864         * docs/design/draft-query.txt:
9865         * docs/design/part-TODO.txt:
9866         * docs/design/part-query.txt:
9867         Added CHANGES-0.9 doc, updated status of other docs.
9868         
9869         * gst/gstquery.h:
9870         Remove "hmm" macro
9871
9872 2005-06-30  Wim Taymans  <wim@fluendo.com>
9873
9874         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9875         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9876         (gst_base_sink_change_state):
9877         * gst/base/gstbasesink.h:
9878         Some tweaks, only EOS and a buffer complete a preroll.
9879
9880 2005-06-30  Andy Wingo  <wingo@pobox.com>
9881
9882         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
9883         activate_push down to the internal pad as well.
9884
9885 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
9886
9887         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9888
9889         * gst/gsttaginterface.c:
9890           Some documentation fixes (#307394 and #307397).
9891
9892 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
9893
9894         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9895
9896         * gst/gstvalue.c: (gst_value_intersect_list):
9897           Fix memleak (#309125).
9898
9899 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9900
9901         * docs/manual/advanced-dataaccess.xml:
9902           Fix fakesrc example to compile; doesn't work, bug somewhere...?
9903         * docs/manual/basics-pads.xml:
9904           Add reference for filtered caps to above chapter.
9905
9906 2005-06-30  Wim Taymans  <wim@fluendo.com>
9907
9908         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
9909         (gst_bin_change_state):
9910         Probes are gone.
9911         Lame attempt at making the state change function a bit
9912         more readable.
9913
9914 2005-06-30  Wim Taymans  <wim@fluendo.com>
9915
9916         * docs/design/part-clocks.txt:
9917         * docs/design/part-element-sink.txt:
9918         * docs/design/part-events.txt:
9919         * docs/design/part-preroll.txt:
9920         * docs/design/part-states.txt:
9921         Some more tweeks and additions to the docs.
9922
9923 2005-06-30  Wim Taymans  <wim@fluendo.com>
9924
9925         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9926         (default_have_data), (gst_pad_class_init), (gst_pad_init),
9927         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9928         (gst_pad_check_pull_range), (gst_pad_get_range),
9929         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
9930         * gst/gstpad.h:
9931         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
9932         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9933         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9934         (gst_pad_remove_buffer_probe):
9935         Removed atomic operations, use existing LOCK.
9936         Move exception handling out of main code path.
9937
9938 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9939
9940         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9941         (silly_return_true_function), (gst_pad_class_init),
9942         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9943         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
9944         (gst_pad_send_event):
9945           Fix accumulator, add default value by using _emitv() instead
9946           of _emit() for signal emission.
9947
9948 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9949
9950         * docs/manual/advanced-dataaccess.xml:
9951         * examples/manual/Makefile.am:
9952           Add probe example.
9953         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
9954           Make work (??).
9955
9956 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
9957
9958         * gst/elements/gstfilesink.c: (gst_filesink_render):
9959           Simplify code so that we don't have to handle short
9960           writes and return GST_FLOW_ERROR if an error occured.
9961
9962 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9963
9964         * docs/gst/gstreamer-docs.sgml:
9965           Remove probes more.
9966
9967 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9968
9969         * docs/gst/gstreamer-sections.txt:
9970         * docs/gst/tmpl/gstpad.sgml:
9971         * docs/gst/tmpl/gstprobe.sgml:
9972         * gst/Makefile.am:
9973         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9974         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
9975         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
9976         (gst_pad_push_event), (gst_pad_send_event):
9977         * gst/gstpad.h:
9978         * gst/gstutils.c: (gst_pad_add_data_probe),
9979         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9980         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9981         (gst_pad_remove_buffer_probe):
9982         * gst/gstutils.h:
9983           Remove old probes, add new g-signal-based probes and some utility
9984           functions.
9985
9986 2005-06-29  Edward Hervey  <edward@fluendo.com>
9987
9988         * gst/gstelementfactory.c:
9989         * gst/gstutils.h:
9990         * gst/gstutils.c:
9991         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
9992         the definition to the header file.
9993
9994 2005-06-29  Andy Wingo  <wingo@pobox.com>
9995
9996         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
9997         plugins from the source directory.
9998
9999 2005-06-29  Wim Taymans  <wim@fluendo.com>
10000
10001         * docs/gst/tmpl/gstbuffer.sgml:
10002         * docs/gst/tmpl/gstclock.sgml:
10003         Some fixings for blantently wrong text.
10004
10005 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10006
10007         * check/Makefile.am:
10008         * gst/gst.c: (add_path_func), (init_pre):
10009         * gst/gstregistry.c: (gst_registry_add_path):
10010           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
10011           only scan the GST_PLUGIN_PATH locations, and not add
10012           system locations
10013
10014 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10015
10016         * docs/gst/gstreamer-sections.txt:
10017         * docs/gst/tmpl/gstbasesrc.sgml:
10018         * gst/gstelement.c:
10019         * gst/gstelement.h:
10020         * gst/gstevent.c:
10021         * gst/gstutils.c:
10022           doc fixes
10023
10024 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10025
10026         * docs/manual/advanced-autoplugging.xml:
10027           Fix autoplugging example.
10028
10029 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10030
10031         * docs/manual/advanced-autoplugging.xml:
10032         * docs/manual/mime-world.fig:
10033           Try to get autoplugging working, fix type detection. Fix text
10034           in hello-world image.
10035
10036 2005-06-29  Wim Taymans  <wim@fluendo.com>
10037
10038         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10039         (gst_base_sink_change_state):
10040         Small debug line.
10041
10042         * gst/gstclock.h:
10043         map SIGNAL and BROADCAST to the right function.
10044
10045         * gst/gstobject.h:
10046         Remove redundant braces.
10047
10048         * gst/gstpad.c: (gst_pad_set_caps):
10049         Don't call setcaps function when reseting caps to NULL.
10050
10051         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10052         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
10053         (gst_system_clock_id_unschedule):
10054         Use BROADCAST as this is what we do.
10055
10056 2005-06-29  Wim Taymans  <wim@fluendo.com>
10057
10058         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10059         We are actually prerolling before commiting the state
10060         change. 
10061
10062 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10063
10064         * docs/manual/advanced-clocks.xml:
10065         * docs/manual/advanced-interfaces.xml:
10066         * docs/manual/advanced-metadata.xml:
10067         * docs/manual/advanced-position.xml:
10068         * docs/manual/advanced-schedulers.xml:
10069         * docs/manual/advanced-threads.xml:
10070         * docs/manual/appendix-porting.xml:
10071         * docs/manual/basics-bins.xml:
10072         * docs/manual/basics-bus.xml:
10073         * docs/manual/basics-elements.xml:
10074         * docs/manual/basics-helloworld.xml:
10075         * docs/manual/basics-pads.xml:
10076         * docs/manual/highlevel-components.xml:
10077         * docs/manual/manual.xml:
10078         * docs/manual/thread.fig:
10079           Update (until threads/scheduling) Application Development Manual;
10080           remove GstThread, add GstBus, add simple porting checklist, add
10081           documentation for tag writing, clocks, make all examples until this
10082           part compile and run.
10083         * examples/manual/Makefile.am:
10084           Update from changes to Application Development Manual; add bus
10085           example, remove thread example.
10086
10087 2005-06-28  Wim Taymans  <wim@fluendo.com>
10088
10089         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
10090         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
10091         (gst_bus_source_dispatch):
10092         Add debugging messages.
10093         Make internal methods static.
10094         Handle the case where the bus is flushed in the handler.
10095         
10096         * gst/gstelement.c: (gst_element_get_bus):
10097         Fix refcount in _get_bus();
10098
10099         * gst/gstpipeline.c: (gst_pipeline_change_state),
10100         (gst_pipeline_get_clock_func):
10101         Clock refcounting fixes.
10102         Handle the case where preroll timed out more gracefully.
10103         
10104         * gst/gstsystemclock.c: (gst_system_clock_dispose):
10105         Clean up the internal thread in dispose. This is needed
10106         for subclasses that actually get disposed.
10107         
10108         * gst/schedulers/threadscheduler.c:
10109         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10110         (gst_thread_scheduler_dispose):
10111         Free thread pool in dispose.
10112
10113 2005-06-28  Andy Wingo  <wingo@pobox.com>
10114
10115         * tests/network-clock-utils.scm (debug, print-event): New utils.
10116
10117         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
10118         (*packet-loss*): Unified loss probability.
10119         (network-time): Report out-of-band events.
10120
10121         * tests/plot-data: Add support for out-of-band events. Hack it
10122         into this script instead of passing it down the pipe; should fix
10123         this later.
10124
10125 2005-06-28  Wim Taymans  <wim@fluendo.com>
10126
10127         * docs/gst/gstreamer.types:
10128         * docs/gst/tmpl/gstbasesrc.sgml:
10129         * docs/gst/tmpl/gstpad.sgml:
10130         Docs fixes.
10131
10132 2005-06-28  Wim Taymans  <wim@fluendo.com>
10133
10134         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10135         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
10136         (gst_proxy_pad_do_fixatecaps):
10137         Correctly proxy the check_pull_range function.
10138
10139 2005-06-28  Andy Wingo  <wingo@pobox.com>
10140
10141         * tests/network-clock.scm: Removed need for slib.
10142         
10143 2005-06-28  Wim Taymans  <wim@fluendo.com>
10144
10145         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
10146         (gst_basesink_preroll_queue_flush):
10147         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
10148         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
10149         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10150         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10151         (gst_proxy_pad_set_property):
10152         * gst/gstpad.c:
10153         * gst/gstpad.h:
10154         * gst/gstqueue.c: (gst_queue_init):
10155         The deprecated pad loop function is removed now.
10156
10157 2005-06-28  Andy Wingo  <wingo@pobox.com>
10158
10159         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
10160         New parameters, simulate network packet loss.
10161
10162         * tests/network-clock-utils.scm: Initialize the RNG.
10163
10164 2005-06-28  Wim Taymans  <wim@fluendo.com>
10165
10166         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
10167         (gst_basesink_event), (gst_basesink_deactivate):
10168         Flushing the preroll queue always needs to unlock the waiters.
10169
10170 2005-06-28  Edward Hervey  <edward@fluendo.com>
10171
10172         * gst/gstpipeline.c: (gst_pipeline_send_event): 
10173         Wheen a seek was successful on a pipeline, set the stream_time to the
10174         seek offset in order to have a synchronized stream_time.
10175
10176 2005-06-28  Wim Taymans  <wim@fluendo.com>
10177
10178         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10179         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10180         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
10181         (gst_proxy_pad_do_fixatecaps):
10182         Call wrapper function instead of just calling the function
10183         pointers. This takes care of any locking and whatmore.
10184
10185 2005-06-28  Wim Taymans  <wim@fluendo.com>
10186
10187         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10188         (gst_pad_pull_range):
10189         * gst/gstpad.h:
10190         CONNECTED -> LINKED.
10191
10192 2005-06-28  Andy Wingo  <wingo@pobox.com>
10193
10194         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10195         source-munging commit!!!
10196
10197         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
10198         (gst_object_sink): Take gpointer arguments, not GstObject --
10199         avoids casts. Like GLib.
10200
10201         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10202         activate.
10203
10204 2005-06-27  Andy Wingo  <wingo@pobox.com>
10205
10206         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10207         remaining buffer.
10208
10209         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10210         returns a sorted copy of the trace list.
10211         (gst_alloc_trace_print_live): New API, only prints traces with
10212         live objects. Sort the list.
10213         (gst_alloc_trace_print_all): Sort the list.
10214         (gst_alloc_trace_print): Align columns.
10215
10216         * gst/elements/gstttypefindelement.c:
10217         * gst/elements/gsttee.c:
10218         * gst/base/gstbasesrc.c:
10219         * gst/base/gstbasesink.c:
10220         * gst/base/gstbasetransform.c:
10221         * gst/gstqueue.c: Adapt for pad activation changes.
10222
10223         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10224         sched.
10225         (gst_pipeline_dispose): Drop ref on sched.
10226
10227         * gst/gstpad.c (gst_pad_init): Set the default activate func.
10228         (gst_pad_activate_default): Push mode by default.
10229         (pre_activate_switch, post_activate_switch): New stubs, things to
10230         do before and after switching activation modes on pads.
10231         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10232         the pad's activate function to choose which mode to activate.
10233         Shortcut on deactivation and call the right function directly.
10234         (gst_pad_activate_pull): New API, (de)activates a pad in pull
10235         mode.
10236         (gst_pad_activate_push): New API, same for push mode.
10237         (gst_pad_set_activate_function) 
10238         (gst_pad_set_activatepull_function) 
10239         (gst_pad_set_activatepush_function): Setters for new API.
10240
10241         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10242         Trace all miniobjects.
10243         (gst_mini_object_make_writable): Unref the arg if we copy, like
10244         gst_caps_make_writable.
10245
10246         * gst/gstmessage.c (_gst_message_initialize): No trace init.
10247
10248         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
10249         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10250         Adapt for new pad API.
10251
10252         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10253
10254         * gst/gstelement.h:
10255         * gst/gstelement.c (gst_element_iterate_src_pads) 
10256         (gst_element_iterate_sink_pads): New API functions.
10257         
10258         * gst/gstelement.c (iterator_fold_with_resync): New utility,
10259         should fold into gstiterator.c in some form.
10260         (gst_element_pads_activate): Simplified via use of fold and
10261         delegation of decisions to gstpad->activate.
10262
10263         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10264         help in debugging.
10265
10266         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10267         class once in init, like gstmessage. Didn't run into this issue
10268         but it seems correct. Don't initialize a trace, gstminiobject does
10269         that.
10270
10271         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10272         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10273         to the bus.
10274         (assert_live_count): New util function, uses alloc traces to check
10275         cleanup.
10276
10277         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10278         To be modified when unlink drops the internal pad.
10279
10280 2005-06-27  Wim Taymans  <wim@fluendo.com>
10281
10282         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10283         (gst_bin_change_state):
10284         Cleanup the get_state() function a little, make sure it
10285         iterates the same set of elements.
10286         Added stub iterate_state_order().
10287
10288 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10289
10290         * docs/gst/gstreamer-docs.sgml:
10291         * docs/gst/gstreamer-sections.txt:
10292         * docs/gst/gstreamer.types:
10293         * docs/gst/tmpl/gstbasesink.sgml:
10294         * docs/gst/tmpl/gstbasesrc.sgml:
10295         * docs/gst/tmpl/gstbasetransform.sgml:
10296         * docs/gst/tmpl/gstelement.sgml:
10297         * docs/gst/tmpl/gstiterator.sgml:
10298         * gst/base/gstbasesrc.c:
10299         * gst/base/gstbasesrc.h:
10300         * gst/base/gstbasetransform.h:
10301         * gst/gstelement.c:
10302         * gst/gstiterator.h:
10303           adding basetransform and iterator docs
10304
10305 2005-06-27  Andy Wingo  <wingo@pobox.com>
10306
10307         * docs/design/part-activation.txt: Notes on how activation should
10308         work -- not quite implemented yet.
10309
10310 2005-06-25  Wim Taymans  <wim@fluendo.com>
10311
10312         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10313         At least get the chain function correct, needs more
10314         fixing.
10315
10316 2005-06-25  Wim Taymans  <wim@fluendo.com>
10317
10318         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10319         (gst_basesink_handle_object), (gst_basesink_event),
10320         (gst_basesink_do_sync), (gst_basesink_handle_event),
10321         (gst_basesink_change_state):
10322         * gst/gsttask.h:
10323         Right, two problems here: ghostpads don't take locks and
10324         glib _rec_mutex_lock_full() with depth==0 still locks.
10325         Catch illegal locking and g_warn them.
10326
10327 2005-06-25  Wim Taymans  <wim@fluendo.com>
10328
10329         * check/states/sinks.c: (START_TEST), (gst_object_suite):
10330         Have to check for completion now...
10331
10332 2005-06-25  Wim Taymans  <wim@fluendo.com>
10333
10334         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10335         (gst_basesink_handle_object), (gst_basesink_event),
10336         (gst_basesink_do_sync), (gst_basesink_handle_event),
10337         (gst_basesink_change_state):
10338         * gst/gstpad.h:
10339         Unlock STREAM_LOCK whatever the recursion was.
10340
10341 2005-06-25  Wim Taymans  <wim@fluendo.com>
10342
10343         * gst/base/gstbasesink.c: (gst_basesink_set_property),
10344         (gst_basesink_preroll_queue_empty),
10345         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10346         (gst_basesink_event), (gst_basesink_do_sync),
10347         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10348         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10349         (gst_basesink_change_state):
10350         Reworked the base sink, handle event and buffer serialisation
10351         correctly and removed possible deadlock.
10352         Handle EOS correctly.
10353
10354 2005-06-25  Wim Taymans  <wim@fluendo.com>
10355
10356         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10357         (gst_pipeline_change_state):
10358         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10359         Allow elements to post EOS in the state change function.
10360         Fix up -launch, make it exit the poll loop when the
10361         pipeline actually changed state.
10362         Fix up warning parsing in -launch.
10363
10364 2005-06-25  Wim Taymans  <wim@fluendo.com>
10365
10366         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10367         (gst_tee_sink_activate):
10368         Core takes STREAM_LOCK for us now.
10369
10370 2005-06-25  Wim Taymans  <wim@fluendo.com>
10371
10372         * gst/gstelement.c: (gst_element_get_state_func),
10373         (gst_element_set_state):
10374         * gst/gstelement.h:
10375         * gst/gstmessage.c: (gst_message_parse_error),
10376         (gst_message_parse_warning):
10377         Keep track of current target state while performing a state
10378         change so that subclasses can do something interesting.
10379         Fix parsing of warning/error messages when GError is NULL.
10380
10381 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10382
10383         * docs/gst/Makefile.am:
10384         * docs/gst/gstreamer-docs.sgml:
10385         * docs/gst/gstreamer-sections.txt:
10386         * docs/gst/gstreamer.types:
10387         * docs/gst/tmpl/gstbasesink.sgml:
10388         * docs/gst/tmpl/gstbasesrc.sgml:
10389         * docs/gst/tmpl/gstbin.sgml:
10390         * docs/gst/tmpl/gstcompat.sgml:
10391         * docs/gst/tmpl/gstfakesink.sgml:
10392         * docs/gst/tmpl/gstfakesrc.sgml:
10393         * docs/gst/tmpl/gstfilesink.sgml:
10394         * docs/gst/tmpl/gstfilesrc.sgml:
10395         * docs/gst/tmpl/gstindex.sgml:
10396         * docs/manual/appendix-quotes.xml:
10397         * gst/base/gstbasesrc.h:
10398         * gst/elements/gstfakesrc.h:
10399         * gst/gstmessage.h:
10400           start pulling in base classes and elements in our docs
10401
10402 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
10403
10404         * docs/gst/Makefile.am:
10405         * docs/libs/Makefile.am:
10406           fixed make distcheck with gtk-doc 1.3
10407
10408 2005-06-23  Wim Taymans  <wim@fluendo.com>
10409
10410         * gst/gstelement.c: (gst_element_get_state_func),
10411         (gst_element_set_state), (gst_element_change_state):
10412         When the state did not change, also report NO_PREROLL
10413         when it matters.
10414
10415 2005-06-23  Wim Taymans  <wim@fluendo.com>
10416
10417         * gst/gstpad.c: (gst_pad_event_default):
10418         * gst/gstqueue.c: (gst_queue_loop):
10419         No unsafe task pausing please.
10420
10421 2005-06-23  Wim Taymans  <wim@fluendo.com>
10422
10423         * gst/schedulers/threadscheduler.c:
10424         (gst_thread_scheduler_task_start),
10425         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
10426         Ref the task before pushing it on the threadpool. This
10427         makes sure that we have a ref when the threadfunction is
10428         actually called.
10429
10430 2005-06-23  Andy Wingo  <wingo@pobox.com>
10431
10432         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
10433         offset is greater than the file's size.
10434
10435         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
10436         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
10437         * gst/gstobject.c (gst_object_class_init): Make the class lock
10438         recursive. Wim won't let me drop deep_notify. Decodebin works
10439         again, whoopdy doo.
10440
10441         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
10442         internal pad, and hacks accordingly. Doesn't do it on the target
10443         pad because we change its caps. Probably catches all cases of
10444         interest tho.
10445         (gst_ghost_pad_set_property): Connect to notify::caps as
10446         appropritate.
10447
10448         * tests/network-clock.scm (plot-simulation): Pipe data to the
10449         elite python skript.
10450
10451         * tests/network-clock-utils.scm (define-parameter): New macro,
10452         defines a parameter that can be set via the command line.
10453         (set-parameter!, parse-parameter-arguments): Command line args
10454         parser.
10455
10456         * tests/plot-data: Simple matplotlib-based plotter, takes input on
10457         stdin.
10458
10459 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
10460
10461         * gst/elements/gsttypefindelement.c:
10462         (gst_type_find_element_handle_event):
10463           Don't restart typefinding on a discont.
10464         * gst/gstelement.c: (gst_element_set_state):
10465           Debug spelling fix.
10466         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
10467           Allow changing mode of an active pad.
10468           Debug output fixes.
10469         * gst/registries/gstlibxmlregistry.c: (load_feature):
10470           Don't cast a static pad template to a normal pad template.
10471
10472 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10473
10474         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10475         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10476           remove gst_strtoll completely, since it didn't actually do
10477           anything more than what g_ascii_strtoull already does.
10478           check for range errors when deserializing
10479           do a cast for the unsigned cases; but further fixing needs
10480           a decision on what the interpretation of "(int)" and
10481           deserialization should be for values that fall outside the
10482           type's boundaries (ie, refuse, or interpret as casting)
10483
10484 2005-06-23  Wim Taymans  <wim@fluendo.com>
10485
10486         * check/Makefile.am:
10487         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
10488         * docs/design/part-live-source.txt:
10489         * docs/design/part-states.txt:
10490         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10491         (gst_basesrc_set_live), (gst_basesrc_is_live),
10492         (gst_basesrc_get_range), (gst_basesrc_activate),
10493         (gst_basesrc_change_state):
10494         * gst/base/gstbasesrc.h:
10495         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10496         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10497         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
10498         * gst/gstelement.c: (gst_element_get_state_func),
10499         (gst_element_set_state):
10500         * gst/gstelement.h:
10501         * gst/gsttypes.h:
10502         * tools/gst-launch.c: (event_loop), (main):
10503         Added support for live sources and other elements that
10504         cannot do preroll.
10505         Updated design docs, added live-source design doc.
10506         Implemented live source functionality in basesrc
10507         Fix error condition in _bin_get_state()
10508         Implement live source handling in -launch.
10509         Added check for live sources.
10510         Fixed case in GstBin where elements were changed state
10511         multiple times.
10512
10513
10514 2005-06-23  Andy Wingo  <wingo@pobox.com>
10515
10516         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
10517         borken refcounting.
10518
10519         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
10520         gst_caps_replace takes care of this for us.
10521
10522         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
10523         gst_pad_set_caps on the target, not just its setcaps() function.
10524
10525         * tests/network-clock.scm: 
10526         * tests/network-clock-utils.scm: A network clock simulator.
10527         Something of an algorithmic testbed before doing something in C.
10528
10529 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10530
10531         * check/Makefile.am:
10532         * check/gst/capslist.h:
10533           copy over from 0.8, and add two with bitmasks specified with
10534           (int) 0xFF...
10535         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10536           add test to parse everything from capslist.h
10537         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
10538         (main):
10539           add test for structure deserialization
10540         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10541           add tests for deserialization of strings to int types
10542         * gst/gststructure.c: (gst_structure_nth_field_name):
10543         * gst/gststructure.h:
10544           add a way to get the name of a field referenced by index
10545         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10546           instead of checking if the resulting long long lies between
10547           min and max, we check if the long long would fit into
10548           a number of bytes for the final type.
10549           This fixes cases where a string represents 2^32 - 1, which
10550           when cast to int would be the (valid) -1, but is bigger than
10551           G_MAXINT
10552
10553 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10554
10555         * gst/parse/grammar.y:
10556           add a log line for type deserialization
10557
10558 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10559
10560         * check/gst/gstvalue.c: (START_TEST):
10561         * gst/gstvalue.c: (gst_value_deserialize):
10562           return long long, not int, so gint64 deserialization actually
10563           works.  Is there any flag that makes the compiler check this ?
10564           Fixes #308559
10565
10566 2005-06-22  Wim Taymans  <wim@fluendo.com>
10567
10568         * gst/gstbuffer.h:
10569         Added convenience macros for setting buffers in GValue.
10570
10571 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10572
10573         * check/gst/.cvsignore:
10574         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10575           add a test deserializing int64, and comment part out because
10576           it fails, yay !
10577
10578 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10579
10580         * check/Makefile.am:
10581         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
10582         * testsuite/Makefile.am:
10583         * testsuite/caps/Makefile.am:
10584         * testsuite/caps/value_serialize.c:
10585         * testsuite/test_gst_init.c:
10586           move a value_serialize test over
10587
10588 2005-06-20  Wim Taymans  <wim@fluendo.com>
10589
10590         * gst/gstpad.c:
10591         Small doc updates.
10592         
10593         * gst/gstvalue.c: (gst_value_compare_buffer),
10594         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
10595         (gst_value_compare_flags), (gst_value_serialize_flags),
10596         (gst_value_deserialize_flags), (_gst_value_initialize):
10597         Fix serialisation of buffers, they are not boxed types anymore
10598
10599 2005-06-20  Wim Taymans  <wim@fluendo.com>
10600
10601         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10602         Testcase to show error in buffer-on-caps serialisation.
10603
10604 2005-06-20  Andy Wingo  <wingo@pobox.com>
10605
10606         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
10607         will be adding to later.
10608
10609         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
10610         if its socks fill with rocks.
10611         (gst_system_clock_obtain): Set the name on object construction.
10612         Avoid double-checked locking.
10613
10614 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
10615
10616         * gst/gsturi.c: (gst_element_make_from_uri):
10617           Fix potential endless loop.
10618
10619 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10620
10621         * check/Makefile.am:
10622           add gsttag
10623         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
10624         (main):
10625           move over from testsuite dir and clean up
10626         * configure.ac:
10627         * gst/gsttag.c:
10628         * testsuite/Makefile.am:
10629         * testsuite/tags/.cvsignore:
10630         * testsuite/tags/Makefile.am:
10631         * testsuite/tags/merge.c:
10632           remove testsuite/tags
10633
10634 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10635
10636         * docs/gst/gstreamer-sections.txt:
10637         * docs/gst/tmpl/gstenumtypes.sgml:
10638         * win32/gstenumtypes.c:
10639           clean up documentation build a little
10640
10641 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10642
10643         * check/gstcheck.h:
10644           add macros for checking refcounts on objects and caps
10645         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
10646           add some more unit tests
10647         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
10648         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
10649           fix leaked refcounts (I hope :)) so unittest works
10650         * gst/gstpad.h:
10651           whitespace removal
10652
10653 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10654
10655         * configure.ac: back to HEAD
10656
10657 === release 0.9.1 ===
10658
10659 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10660
10661         * NEWS:
10662         * RELEASE:
10663           updated
10664
10665 2005-06-17  Andy Wingo  <wingo@pobox.com>
10666
10667         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
10668         assert; it's always possible that the pad gets deactivated in
10669         between the checks in gstpad.c and the implementation. Rely on
10670         finish_preroll() to return a FLUSHING or similar instead of on the
10671         assert.
10672         
10673         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
10674         clock and post an EOS message if we come out of finish_preroll in
10675         the playing state.
10676
10677 2005-06-16  David Schleef  <ds@schleef.org>
10678
10679         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
10680         (gst_capsfilter_set_property): Allow NULL as possible value
10681         for filter_caps property, indicating GST_CAPS_ANY.
10682
10683 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10684
10685         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
10686           fix debug output
10687         * gst/schedulers/Makefile.am:
10688           use libgst prefix
10689         * gstreamer.spec.in:
10690           fix spec for it
10691
10692 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10693
10694         * gstreamer.spec.in:
10695           clean up
10696
10697 2005-06-08  Andy Wingo  <wingo@pobox.com>
10698
10699         * gst/gstutils.c: RPAD fixes all around.
10700         (gst_element_link_pads): Refcounting fixes.
10701
10702         * tools/gst-inspect.c:
10703         * tools/gst-xmlinspect.c:
10704         * parse/grammar.y:
10705         * gst/base/gsttypefindhelper.c:
10706         * gst/base/gstbasesink.c:
10707         * gst/gstqueue.c: RPAD fixes.
10708
10709         * gst/gstghostpad.h:
10710         * gst/gstghostpad.c: New ghost pad implementation as full proxy
10711         pads. The tricky thing is they provide both source and sink
10712         interfaces, since they proxy the internal pad for the external
10713         pad, and vice versa. Implement with lower-level ProxyPad objects,
10714         with the interior proxy pad as a child of the exterior ghost pad.
10715         Should write a doc on this.
10716         
10717         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
10718         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
10719         gst_object API.
10720         
10721         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
10722         pads are real pads. No ghost pads in this file. Not documenting
10723         the myriad s/RPAD/PAD/ and REALIZE fixes.
10724         (gst_pad_class_init): Add properties for "direction" and
10725         "template". Both are construct-only, so they can't change during
10726         the life of the pad. Fixes properly deriving from GstPad.
10727         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
10728         derived objects, just set properties when creating the objects via
10729         g_object_new.
10730         (gst_pad_get_parent): Implement as a function, return NULL if the
10731         parent is not an element.
10732         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
10733         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
10734         
10735         * gst/gstobject.c (gst_object_class_init): Make name a construct
10736         property. Don't set it in the object init.
10737
10738         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
10739         with UNKNOWN direction.
10740         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
10741         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
10742         (gst_element_remove_pad): Remove ghost-pad special cases.
10743         (gst_element_pads_activate): Remove rpad cruft.
10744
10745         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
10746         catch the pad's-parent-not-an-element case.
10747
10748         * gst/gst.h: Include gstghostpad.h.
10749
10750         * gst/gst.c (init_post): No more real, ghost pads.
10751
10752         * gst/Makefile.am: Add gstghostpad.[ch].
10753
10754         * check/Makefile.am:
10755         * check/gst/gstbin.c:
10756         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
10757         into a bin creates ghost pads, and that the refcounts are right.
10758         Partly moved from gstbin.c.
10759
10760 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10761
10762         * check/gst-libs/.cvsignore:
10763         * check/gst/.cvsignore:
10764         * check/pipelines/.cvsignore:
10765           ignore more
10766         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
10767         (START_TEST), (cleanup_suite), (main):
10768           add some tests related to cleanup after running pipelines
10769
10770 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10771
10772         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
10773           add a testsuite for GstBuffer
10774
10775 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10776
10777         * gst/gstminiobject.h:
10778           add defines for accessing the refcount
10779
10780 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
10781
10782         * Makefile.am: added support for html unit test coverage reports
10783
10784 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
10785
10786         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
10787           Free existing caps if the capsfilter changes. Add a FIXME about
10788           setting those caps on the pads.
10789
10790         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
10791           Before adding a ghost pad to a parent bin, check that there isn't
10792           already one for the element on the bin. Prevents infinite recursion
10793           when using decodebin in parse pipelines. Andy says he'll rewrite the
10794           way this works anyway, so ignore the hack.
10795
10796 2005-06-02  Andy Wingo  <wingo@pobox.com>
10797
10798         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
10799         file size, pass it on to the type find helper.
10800
10801         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
10802         segment_start and segment_end properly according to the seek
10803         method. Segment_end is still a bit flaky because offset can be
10804         negative for CUR and END cases, but it takes -1 as an "unset"
10805         value.
10806
10807 2005-06-02  Wim Taymans  <wim@fluendo.com>
10808
10809         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
10810         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
10811         (gst_basesink_activate):
10812         * gst/base/gstbasesink.h:
10813         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10814         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10815         (gst_pad_query), (gst_pad_start_task):
10816         * gst/gstpad.h:
10817         * gst/gstqueue.c: (gst_queue_bufferalloc),
10818         (gst_queue_handle_sink_event), (gst_queue_chain):
10819         Bufferalloc: return GstFlowReturn to more accuratly report
10820         why allocation failed.
10821
10822 2005-06-02  Wim Taymans  <wim@fluendo.com>
10823
10824         * gst/gstpipeline.c: (gst_pipeline_send_event):
10825         Take snapshot of state without blocking.
10826
10827 2005-06-02  Wim Taymans  <wim@fluendo.com>
10828
10829         * docs/design/part-TODO.txt:
10830         * docs/design/part-caps.txt:
10831         * docs/design/part-clocks.txt:
10832         * docs/design/part-negotiation.txt:
10833         * docs/design/part-preroll.txt:
10834         Small doc updates 
10835
10836 2005-05-30  Wim Taymans  <wim@fluendo.com>
10837
10838         * gst/elements/gstidentity.c: (gst_identity_event),
10839         (gst_identity_transform), (gst_identity_get_property):
10840         Protect last_message property as it is accessed from
10841         multiple threads.
10842
10843 2005-05-30  Wim Taymans  <wim@fluendo.com>
10844
10845         * gst/gstelement.c: (gst_element_init),
10846         (gst_element_pads_activate), (gst_element_change_state):
10847         Slicker pad activation code.
10848
10849 2005-05-30  Wim Taymans  <wim@fluendo.com>
10850
10851         * gst/Makefile.am:
10852         * gst/gstelement.h:
10853         * gst/gstelementfactory.h:
10854         * gst/gsttypes.h:
10855         Move elementfactory methods to separate .h file.
10856
10857 2005-05-30  Wim Taymans  <wim@fluendo.com>
10858
10859         * docs/design/part-overview.txt:
10860         * gst/gstsystemclock.h:
10861         Small typo fixes, doc updates.
10862
10863 2005-05-30  Wim Taymans  <wim@fluendo.com>
10864
10865         * gst/gst.c: (gst_init_get_popt_table), (init_post),
10866         (init_popt_callback):
10867         Remove cpu-opt flag.
10868
10869 2005-05-30  Wim Taymans  <wim@fluendo.com>
10870
10871         * gst/gstbuffer.c: (gst_subbuffer_finalize),
10872         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
10873         * gst/gstbuffer.h:
10874         Avoid typechecking in places where not needed.
10875         Added accessor for malloc_data.
10876
10877 2005-05-30  Wim Taymans  <wim@fluendo.com>
10878
10879         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
10880         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
10881         (gst_pad_configure_sink), (gst_pad_configure_src),
10882         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
10883         (gst_pad_start_task):
10884         Propagate errors from _set_caps() in configure_src/sink
10885         functions instead of returning TRUE.
10886         FLUSH events can travel up and downstream
10887
10888
10889 2005-05-30  Wim Taymans  <wim@fluendo.com>
10890
10891         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10892         (gst_basesink_activate):
10893         Handle EOS in preroll.
10894
10895 2005-05-30  Wim Taymans  <wim@fluendo.com>
10896
10897         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10898         (gst_queue_loop), (gst_queue_handle_src_event):
10899         Remove old pieces of code
10900         Flushing the queue in an upstream event is a very bad idea.
10901
10902 2005-05-26  Andy Wingo  <wingo@pobox.com>
10903
10904         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
10905         gst_value_set_mini_object so as to add a ref on the object (which
10906         will be removed when the value is unset).
10907
10908         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
10909         arg type in ::handoff.
10910
10911         * gst/gstelement.c (gst_element_change_state): Also deactivate
10912         pads in READY->NULL, just in case the element didn't make it to
10913         PAUSED. Wingo tested, Wim approved.
10914
10915 2005-05-26  Wim Taymans  <wim@fluendo.com>
10916
10917         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10918         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10919         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
10920         A flushing pad cannot be used to alloc_buffer from.
10921
10922 2005-05-26  Wim Taymans  <wim@fluendo.com>
10923
10924         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
10925         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
10926         (gst_bus_source_dispatch), (gst_bus_source_finalize),
10927         (gst_bus_create_watch), (gst_bus_add_watch_full):
10928         * gst/gstbus.h:
10929         Implement a real GSource and use g_main_context_wakeup() to
10930         signal new messages instead of the socketpair.
10931
10932 2005-05-25  Wim Taymans  <wim@fluendo.com>
10933
10934         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
10935         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
10936         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10937         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10938         (gst_pad_send_event), (gst_pad_start_task):
10939         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
10940         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
10941         (gst_queue_sink_activate), (gst_queue_src_activate),
10942         (gst_queue_change_state):
10943         * gst/gstqueue.h:
10944         Fix state changes for non sinks. We now change sinks, then elements
10945         with unconnected srcpads, then the rest.
10946         More efficient queue unlocking in flush and state changes.
10947         Set the pad activate mode even if it does not have an activate
10948         function.
10949
10950 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10951
10952         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
10953           Don't go in pull mode for non-seekable sources.
10954         * gst/elements/gsttypefindelement.h:
10955         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10956         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
10957         (free_entry), (stop_typefinding),
10958         (gst_type_find_element_handle_event), (find_peek),
10959         (gst_type_find_element_chain), (do_pull_typefind),
10960         (gst_type_find_element_change_state):
10961           Allow typefinding (w/o seeking) in push-mode, simplified version
10962           of what was in 0.8.
10963         * gst/gstutils.c: (gst_buffer_join):
10964         * gst/gstutils.h:
10965           gst_buffer_join() from 0.8.
10966
10967 2005-05-25  Wim Taymans  <wim@fluendo.com>
10968
10969         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10970         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10971         (gst_pad_send_event), (gst_pad_start_task):
10972         Disable attempt at mode switching until it is figured out.
10973
10974 2005-05-25  Wim Taymans  <wim@fluendo.com>
10975
10976         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
10977         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10978         (gst_basesink_finish_preroll), (gst_basesink_chain),
10979         (gst_basesink_loop), (gst_basesink_activate),
10980         (gst_basesink_change_state):
10981         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
10982         (gst_basesrc_get_range), (gst_basesrc_loop),
10983         (gst_basesrc_activate):
10984         * gst/elements/gsttee.c: (gst_tee_sink_activate):
10985         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
10986         (gst_real_pad_init), (gst_real_pad_set_property),
10987         (gst_real_pad_get_property), (gst_pad_set_active),
10988         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
10989         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
10990         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
10991         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
10992         (gst_pad_event_default_dispatch), (gst_pad_event_default),
10993         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
10994         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
10995         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10996         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
10997         (gst_pad_stop_task):
10998         * gst/gstpad.h:
10999         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11000         (gst_queue_loop), (gst_queue_src_activate):
11001         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
11002         (gst_task_get_state):
11003         * gst/gsttask.h:
11004         * gst/schedulers/threadscheduler.c:
11005         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
11006         Implement gst_pad_pause/start/stop_task(), take STREAM lock
11007         in task function.
11008         Remove ACTIVE pad flag, use FLUSHING everywhere
11009         Added _pad_chain(), _pad_get_range() to call chain/getrange 
11010         functions.
11011         Add locks around IS_FLUSHING when reading.
11012         Take STREAM lock in chain(), get_range() functions so plugins
11013         don't need to take it anymore.
11014         
11015
11016
11017 2005-05-25  Wim Taymans  <wim@fluendo.com>
11018
11019         * tools/gst-launch.c: (event_loop):
11020         Unref message after using its contents instead of
11021         before.
11022
11023 2005-05-24  Wim Taymans  <wim@fluendo.com>
11024
11025         * docs/design/draft-ghostpads.txt:
11026         * docs/design/draft-push-pull.txt:
11027         * docs/design/draft-query.txt:
11028         * docs/design/part-overview.txt:
11029         Docs updates, added general overview doc.
11030
11031 2005-05-21  David Schleef  <ds@schleef.org>
11032
11033         * docs/gst/tmpl/old/GstBin.sgml:
11034         * docs/gst/tmpl/old/GstBuffer.sgml:
11035         * docs/gst/tmpl/old/GstCaps.sgml:
11036         * docs/gst/tmpl/old/GstClock.sgml:
11037         * docs/gst/tmpl/old/GstCompat.sgml:
11038         * docs/gst/tmpl/old/GstData.sgml:
11039         * docs/gst/tmpl/old/GstElement.sgml:
11040         * docs/gst/tmpl/old/GstEvent.sgml:
11041         * docs/gst/tmpl/old/GstIndex.sgml:
11042         * docs/gst/tmpl/old/GstStructure.sgml:
11043         * docs/gst/tmpl/old/GstTag.sgml:
11044         * docs/gst/tmpl/old/cothreads.sgml:
11045         * docs/gst/tmpl/old/cothreads_compat.sgml:
11046         * docs/gst/tmpl/old/gettext.sgml:
11047         * docs/gst/tmpl/old/gobject2gtk.sgml:
11048         * docs/gst/tmpl/old/grammar.tab.sgml:
11049         * docs/gst/tmpl/old/gst-i18n-app.sgml:
11050         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
11051         * docs/gst/tmpl/old/gst_private.sgml:
11052         * docs/gst/tmpl/old/gstaggregator.sgml:
11053         * docs/gst/tmpl/old/gstarch.sgml:
11054         * docs/gst/tmpl/old/gstatomic_impl.sgml:
11055         * docs/gst/tmpl/old/gstbufferstore.sgml:
11056         * docs/gst/tmpl/old/gstdata_private.sgml:
11057         * docs/gst/tmpl/old/gstdisksink.sgml:
11058         * docs/gst/tmpl/old/gstdisksrc.sgml:
11059         * docs/gst/tmpl/old/gstelementfactory.sgml:
11060         * docs/gst/tmpl/old/gstextratypes.sgml:
11061         * docs/gst/tmpl/old/gstfakesink.sgml:
11062         * docs/gst/tmpl/old/gstfakesrc.sgml:
11063         * docs/gst/tmpl/old/gstfdsink.sgml:
11064         * docs/gst/tmpl/old/gstfdsrc.sgml:
11065         * docs/gst/tmpl/old/gstfilesink.sgml:
11066         * docs/gst/tmpl/old/gstfilesrc.sgml:
11067         * docs/gst/tmpl/old/gsthttpsrc.sgml:
11068         * docs/gst/tmpl/old/gstidentity.sgml:
11069         * docs/gst/tmpl/old/gstindexfactory.sgml:
11070         * docs/gst/tmpl/old/gstmarshal.sgml:
11071         * docs/gst/tmpl/old/gstmd5sink.sgml:
11072         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
11073         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
11074         * docs/gst/tmpl/old/gstpadtemplate.sgml:
11075         * docs/gst/tmpl/old/gstpipefilter.sgml:
11076         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
11077         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
11078         * docs/gst/tmpl/old/gstshaper.sgml:
11079         * docs/gst/tmpl/old/gstspider.sgml:
11080         * docs/gst/tmpl/old/gstspideridentity.sgml:
11081         * docs/gst/tmpl/old/gststatistics.sgml:
11082         * docs/gst/tmpl/old/gsttee.sgml:
11083         * docs/gst/tmpl/old/gsttimecache.sgml:
11084         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
11085         * docs/gst/tmpl/old/gstxmlregistry.sgml:
11086         * docs/gst/tmpl/old/gthread-cothreads.sgml:
11087         * docs/gst/tmpl/old/types.sgml:
11088           I didn't intend to add these or check them in.
11089
11090 2005-05-19  David Schleef  <ds@schleef.org>
11091
11092         * configure.ac: Use -no-common everywhere.  In a sane world, it
11093           would be the default in libtool, because without it, you can't
11094           build DLLs on Windows.
11095         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
11096         * docs/gst/gstreamer-sections.txt:
11097         * docs/gst/tmpl/gstcpu.sgml:
11098         * docs/gst/tmpl/gstdata.sgml:
11099         * docs/gst/tmpl/gstthread.sgml:
11100
11101 2005-05-19  David Schleef  <ds@schleef.org>
11102
11103         * gst/gstminiobject.c: (gst_value_set_mini_object),
11104         (gst_value_take_mini_object), (gst_value_get_mini_object):
11105         * gst/gstminiobject.h: Add GValue set/get functions.
11106
11107 2005-05-19  Wim Taymans  <wim@fluendo.com>
11108
11109         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
11110         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
11111         (gst_subbuffer_init), (gst_buffer_is_span_fast):
11112         * gst/gstbuffer.h:
11113         * gst/gstbus.c: (gst_bus_post):
11114         * gst/gstelement.c: (gst_element_get_random_pad):
11115         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
11116         Make subbufer unref the parent in finalize.
11117         some more debugging info.
11118
11119
11120 2005-05-19  Wim Taymans  <wim@fluendo.com>
11121
11122         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11123         (gst_basesink_init), (gst_basesink_finalize),
11124         (gst_basesink_activate), (gst_basesink_change_state):
11125         Don't free preroll queue too early.
11126
11127 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11128
11129         * gst/Makefile.am:
11130         * gst/ROADMAP:
11131           Hi, I'm outdated. Please shoot me.
11132
11133 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11134
11135         * gst/gstpipeline.c: (gst_pipeline_send_event):
11136           Do not access variables after they have been deleted.
11137
11138 2005-05-19  Wim Taymans  <wim@fluendo.com>
11139
11140         * tools/gst-inspect.c: (print_plugin_features):
11141         A plugin feature does unfortunatly not use the
11142         object name yet...
11143
11144 2005-05-18  Wim Taymans  <wim@fluendo.com>
11145
11146         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
11147         Port _span() functions to new subbuffers.
11148
11149 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11150
11151         * gst/gstbin.c: (gst_bin_add_func):
11152           Fix clock settery in bins when adding kids after the clock has
11153           been selected.
11154
11155 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11156
11157         * gst/elements/gstidentity.c: (gst_identity_class_init):
11158           Workaround until signals support GstMiniObject.
11159
11160 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
11161
11162         * gst/gstbuffer.c:
11163         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11164
11165 2005-05-18  Wim Taymans  <wim@fluendo.com>
11166
11167         * gst/base/Makefile.am:
11168         * gst/base/gstadapter.c: (gst_adapter_base_init),
11169         (gst_adapter_class_init), (gst_adapter_init),
11170         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
11171         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
11172         (gst_adapter_flush), (gst_adapter_available),
11173         (gst_adapter_available_fast):
11174         * gst/base/gstadapter.h:
11175         Ported and added adapter to the base classes.
11176
11177 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11178
11179         * gst/gst.c:
11180         * gst/gstmessage.c:
11181           Make sure the class is reffed/unreffed once before threads can be
11182           used.  Fixes #304551.
11183
11184 2005-05-17  Wim Taymans  <wim@fluendo.com>
11185
11186         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11187         (gst_basesink_chain_unlocked), (gst_basesink_activate):
11188         * gst/gstminiobject.c: (gst_mini_object_get_type),
11189         (gst_mini_object_free):
11190         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11191         (gst_pad_push), (gst_pad_push_event):
11192         * gst/gstqueue.c: (gst_queue_change_state):
11193         Don't queue buffers in basesink when we are flushing.
11194         Unref buffer when flushing in basesink.
11195         Flush queue when going to READY
11196         Unref buffer when _push() returns an error.
11197         Don't free MiniObject instance when refcount is incremented
11198         in _finalize() so that we can recover objects.
11199
11200 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11201
11202         * docs/manual/advanced-schedulers.xml:
11203         * docs/manual/appendix-checklist.xml:
11204         * docs/pwg/advanced-clock.xml:
11205         * docs/pwg/advanced-interfaces.xml:
11206         * docs/pwg/advanced-request.xml:
11207         * docs/pwg/advanced-types.xml:
11208         * docs/pwg/intro-preface.xml:
11209         * examples/plugins/example.c: (gst_example_get_type),
11210         (gst_example_class_init), (gst_example_chain),
11211         (gst_example_set_property), (gst_example_get_property),
11212         (gst_example_change_state), (plugin_init):
11213         * examples/plugins/example.h:
11214           small doc fixes
11215
11216 2005-05-17  Wim Taymans  <wim@fluendo.com>
11217
11218         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11219         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11220         * gst/gstqueue.c: (gst_queue_change_state):
11221         Clear queue when going to READY.
11222         Remove IN_SETCAPS flag too.
11223
11224 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
11225
11226         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11227           Remove implicit cast from gboolean to GstElementStateReturn;
11228           make sure we still return failure in paused => ready case if
11229           the parent class fails to change state and our own stop 
11230           vfunc succeeds.
11231
11232 2005-05-17  Wim Taymans  <wim@fluendo.com>
11233
11234         * tools/gst-launch.c: (event_loop):
11235         Message was unreffed too soon.
11236
11237 2005-05-16  Andy Wingo  <wingo@pobox.com>
11238
11239         * gst/gstbin.c (sink_iterator_filter): Err... um...
11240
11241         * check/gst/gstbin.c (test_ghost_pads): New test for the
11242         ghosting-if-elements-not-in-same-bin behavior.
11243
11244 2005-05-16  David Schleef  <ds@schleef.org>
11245
11246         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11247         accessing refcount directly.
11248
11249 2005-05-15  David Schleef  <ds@schleef.org>
11250
11251         * check/Makefile.am: remove GstData checks
11252         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11253         * gst/Makefile.am: add miniobject, remove data
11254         * gst/gst.h: add miniobject, remove data
11255         * gst/gstdata.c: remove
11256         * gst/gstdata.h: remove
11257         * gst/gstdata_private.h: remove
11258         * gst/gsttypes.h: remove GstEvent and GstMessage
11259         * gst/gstelement.c: (gst_element_post_message): fix for API changes
11260         * gst/gstmarshal.list: change BOXED -> OBJECT
11261
11262         Implement GstMiniObject.
11263         * gst/gstminiobject.c:
11264         * gst/gstminiobject.h:
11265
11266         Modify to be subclasses of GstMiniObject.
11267         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11268         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11269         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11270         (gst_subbuffer_get_type), (gst_subbuffer_init),
11271         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11272         (gst_buffer_span):
11273         * gst/gstbuffer.h:
11274         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11275         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11276         (_gst_event_copy), (gst_event_new):
11277         * gst/gstevent.h:
11278         * gst/gstmessage.c: (_gst_message_initialize),
11279         (gst_message_get_type), (gst_message_class_init),
11280         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11281         (gst_message_new), (gst_message_new_error),
11282         (gst_message_new_warning), (gst_message_new_tag),
11283         (gst_message_new_state_changed), (gst_message_new_application):
11284         * gst/gstmessage.h:
11285         * gst/gstprobe.c: (gst_probe_perform),
11286         (gst_probe_dispatcher_dispatch):
11287         * gst/gstprobe.h:
11288         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11289         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11290         (_gst_query_copy), (gst_query_new):
11291
11292         Update elements for GstData -> GstMiniObject changes
11293         * gst/gstquery.h:
11294         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11295         (gst_queue_chain), (gst_queue_loop):
11296         * gst/elements/gstbufferstore.c:
11297         (gst_buffer_store_add_buffer_func),
11298         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11299         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11300         (gst_fakesink_render):
11301         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11302         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11303         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11304         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11305         (gst_filesrc_create_read):
11306         * gst/elements/gstidentity.c: (gst_identity_class_init):
11307         * gst/elements/gsttypefindelement.c:
11308         (gst_type_find_element_src_event), (free_entry_buffers),
11309         (gst_type_find_element_handle_event):
11310         * libs/gst/dataprotocol/dataprotocol.c:
11311         (gst_dp_header_from_buffer):
11312         * libs/gst/dataprotocol/dataprotocol.h:
11313         * libs/gst/dataprotocol/dp-private.h:
11314
11315 2005-05-15  David Schleef  <ds@schleef.org>
11316
11317         * gst/elements/gstelements.c: Don't include headers that were
11318         just removed.
11319
11320 2005-05-15  David Schleef  <ds@schleef.org>
11321
11322         * gst/elements/Makefile.am: Remove some elements that don't
11323         need to be in the core (or even exist at all).
11324         * gst/elements/gstaggregator.c:
11325         * gst/elements/gstaggregator.h:
11326         * gst/elements/gstmd5sink.c:
11327         * gst/elements/gstmd5sink.h:
11328         * gst/elements/gstmultifilesrc.c:
11329         * gst/elements/gstmultifilesrc.h:
11330         * gst/elements/gstpipefilter.c:
11331         * gst/elements/gstpipefilter.h:
11332         * gst/elements/gstshaper.c:
11333         * gst/elements/gstshaper.h:
11334         * gst/elements/gststatistics.c:
11335         * gst/elements/gststatistics.h:
11336         * po/POTFILES.in: Remove above files.
11337
11338 2005-05-14  Andy Wingo  <wingo@pobox.com>
11339
11340         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11341         so as to get the refs right.
11342         (sink_iterator_filter): New function, wraps bin_element_is_sink,
11343         unreffing objects that don't pass the filter.
11344
11345         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11346         gst_element_set_bus.
11347         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11348         normal cases, this will destroy the bus.
11349
11350         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11351         object.
11352
11353         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11354         has no sinks.
11355
11356 2005-05-13  Andy Wingo  <wingo@pobox.com>
11357
11358         * gst/gstutils.c (gst_element_link_pads): Instead of calling
11359         gst_pad_link, call pad_link_maybe_ghosting,
11360         (pad_link_maybe_ghosting): Links pads, making sure that the
11361         elements being linked are in the same bin.
11362         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11363         Helpers for pad_link_maybe_ghosting.
11364
11365 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11366
11367         * configure.ac:
11368           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11369
11370 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11371
11372         * docs/design/part-element-source.txt:
11373           Mention GstPushSrc
11374
11375 2005-05-12  Wim Taymans  <wim@fluendo.com>
11376
11377         * gst/base/gstbasesink.c: (gst_basesink_init),
11378         (gst_basesink_activate):
11379         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11380         (gst_basesrc_is_seekable):
11381         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11382         (bin_element_is_sink), (gst_bin_change_state):
11383         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11384         * gst/gstelement.h:
11385         Identify sinks by their flag to avoid overly complicated
11386         checks (fow now).
11387         Do state changes even for elements not reachable from the
11388         sinks.
11389         BaseSink is a sink now :)
11390         Some more debugging info in the basesrc.
11391
11392
11393 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11394
11395         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
11396           Implement _query on a bin, similar to _send_event.
11397
11398 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
11399
11400         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
11401           Discont event offset format should be GST_FORMAT_BYTES,
11402           not GST_FORMAT_TIME.
11403
11404 2005-05-12  Wim Taymans  <wim@fluendo.com>
11405
11406         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
11407         Same fix as Ronald's but without the signal. 
11408
11409 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11410
11411         * gst/gstutils.c: (gst_element_query_position):
11412           No, an element is not a pad.
11413
11414 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11415
11416         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
11417         (gst_bin_get_state):
11418           If a child is removed from a bin while we remove the child from
11419           the bin and while we're retrieving its state, signal this to the
11420           get_state function so we abort the wait (instead of waiting for
11421           a timeout) and can immediately re-iterate over all other elements.
11422
11423 2005-05-12  Wim Taymans  <wim@fluendo.com>
11424
11425         * gst/base/Makefile.am:
11426         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
11427         (gst_basesrc_start):
11428         * gst/base/gstbasesrc.h:
11429         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
11430         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
11431         (gst_pushsrc_init), (gst_pushsrc_create):
11432         * gst/base/gstpushsrc.h:
11433         Added is_seekable to BaseSrc
11434         Added simple PushSrc.
11435
11436 2005-05-11  Wim Taymans  <wim@fluendo.com>
11437
11438         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11439         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11440         (gst_element_link_pads), (gst_element_query_position),
11441         (gst_element_query_convert), (intersect_caps_func),
11442         (gst_pad_query_position), (gst_pad_query_convert):
11443         Fix refcounting in utils function.
11444         No point in trying to activate a pad when it's added, it could
11445         be added from the state change function and then we deadlock, the
11446         element has to decide what to do.
11447
11448 2005-05-10  Andy Wingo  <wingo@pobox.com>
11449
11450         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
11451         *all* the arguments.
11452
11453         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
11454         stream lock if it's a FLUSH_DONE; normal flushes don't get the
11455         lock (according to the docs -- if this is wrong change the docs).
11456
11457         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
11458         flush messages in the NULL state.
11459
11460         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
11461         message immediately and return.
11462         (gst_bus_set_flushing): New function. If a bus is flushing, it
11463         flushes out any queued messages and immediately unrefs new
11464         messages. This is so when an element goes to NULL, all of the
11465         unhandled messages coming from it can be freed, and their
11466         references to the element dropped. In other words: message source
11467         ref considered harmful :P
11468
11469         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
11470         we're finished with it.
11471
11472         * gst/gstmessage.c (gst_message_new_state_changed): 
11473
11474 2005-05-10  Wim Taymans  <wim@fluendo.com>
11475
11476         * gst/gstvalue.c: (gst_value_compare_flags),
11477         (gst_value_serialize_flags), (gst_value_deserialize_flags),
11478         (_gst_value_initialize):
11479         Added flags serialize/deserialize/compare code.
11480
11481 2005-05-09  Andy Wingo  <wingo@pobox.com>
11482
11483         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
11484         Intersect the peer's caps with our caps.
11485
11486 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11487
11488         * gst/base/gsttypefindhelper.c: (helper_find_peek):
11489         * gst/elements/gsttypefindelement.c: (find_peek):
11490           Handle negative offsets better. Fixes decodebin.
11491
11492 2005-05-09  Wim Taymans  <wim@fluendo.com>
11493
11494         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
11495         (gst_base_transform_event):
11496         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
11497         Implement accept_caps.
11498         Fix silly lock/unlock mismatch in base class.
11499
11500 2005-05-09  Wim Taymans  <wim@fluendo.com>
11501
11502         * docs/design/draft-push-pull.txt:
11503         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
11504         * gst/elements/gstfilesink.c: (gst_filesink_init),
11505         (gst_filesink_query):
11506         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11507         (gst_type_find_handle_src_query), (find_element_get_length):
11508         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
11509         * gst/gstelement.h:
11510         * gst/gstmessage.c:
11511         * gst/gstmessage.h:
11512         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
11513         (gst_real_pad_get_caps_unlocked),
11514         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
11515         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11516         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
11517         (gst_real_pad_dispose), (gst_real_pad_finalize),
11518         (gst_pad_load_and_link), (gst_pad_save_thyself),
11519         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
11520         (gst_pad_check_pull_range), (gst_pad_pull_range),
11521         (gst_pad_template_get_type), (gst_pad_template_class_init),
11522         (gst_pad_template_init), (gst_pad_template_dispose),
11523         (name_is_valid), (gst_static_pad_template_get),
11524         (gst_pad_template_new), (gst_static_pad_template_get_caps),
11525         (gst_pad_template_get_caps), (gst_pad_set_element_private),
11526         (gst_pad_get_element_private), (gst_pad_start_task),
11527         (gst_pad_pause_task), (gst_pad_stop_task),
11528         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
11529         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
11530         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
11531         (gst_ghost_pad_new):
11532         * gst/gstpad.h:
11533         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
11534         (gst_query_new_position), (gst_query_set_position),
11535         (gst_query_parse_position), (gst_query_new_convert),
11536         (gst_query_set_convert), (gst_query_parse_convert):
11537         * gst/gstquery.h:
11538         * gst/gstqueryutils.c:
11539         * gst/gstqueryutils.h:
11540         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11541         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11542         (gst_queue_handle_src_query):
11543         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11544         (gst_element_query_position), (gst_element_query_convert),
11545         (intersect_caps_func), (gst_pad_query_position),
11546         (gst_pad_query_convert):
11547         * gst/gstutils.h:
11548         * tools/gst-inspect.c: (print_pad_info):
11549         * tools/gst-xmlinspect.c: (print_element_info):
11550         Remove old query functions. Ported old code.
11551         Added position/convert helper functions to gstutils.
11552         Reordered gstpad.c code, grouping relevant things.
11553         Remove gst_message_new(), always need to speficy a specific
11554         message.
11555
11556
11557 2005-05-09  Andy Wingo  <wingo@pobox.com>
11558
11559         * gst/gstiterator.h: Add some includes.
11560
11561         * gst/gstqueryutils.h: Include more headers.
11562
11563         * gst/gstpad.h:
11564         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
11565         some uses of gst_pad_query.
11566
11567         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
11568         NULL out parameters.
11569         (gst_query_new_position): New proc, allocates a new position
11570         query.
11571
11572         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
11573         gstqueryutils.c to the build.
11574
11575         * gst/gststructure.c (gst_structure_set_valist): Implement with
11576         the generic G_VALUE_COLLECT.
11577         
11578 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
11579
11580         * gst/Makefile.am: (gst_headers):
11581         Added gstqueryutils.h to the list of headers to install, that was
11582         a 'nachty' move wingo :)
11583
11584 2005-05-06  Andy Wingo  <wingo@pobox.com>
11585
11586         * gst/gstquery.h
11587         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
11588         GstData, init a memchunk.
11589         (standard_definitions): Add a few query types, deprecate a few.
11590         (gst_query_get_type): New proc.
11591         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
11592         implementation.
11593         (gst_query_new_application, gst_query_get_structure): New public
11594         procs.
11595
11596         * docs/design/draft-query.txt: Removed LINKS from the query types,
11597         because all the rest can be dispatched to other pads -- seemed
11598         ugly to have a query that couldn't be dispatched. internal_links
11599         is fine as a pad method.
11600
11601         * gst/gstpad.h: Add query2 as a pad method, add the new functions
11602         in gstpad.c, but maintain binary compatibility for the moment.
11603         Will fix before 0.9 is out.
11604
11605         * gst/gstqueryutils.c: 
11606         * gst/gstqueryutils.h: New files, implement 3 methods for each
11607         query type: parse_query, parse_response, and set. Probably need an
11608         allocator as well.
11609
11610         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
11611
11612         * gst/elements/gstfilesink.c (gst_filesink_query2):
11613         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
11614         query_types, and formats methods.
11615
11616         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
11617         (gst_pad_set_query2_function): New functions.
11618         (gst_real_pad_init): Set query2_default as the default query2
11619         function. Basically just dispatches to internally linked pads.
11620
11621         Needs review!
11622         
11623         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
11624         without using the atomic operations. Only one thread can possibly
11625         be accessing the data at this point. Changed so as to avoid
11626         gst_atomic operations.
11627
11628 2005-05-06  Wim Taymans  <wim@fluendo.com>
11629
11630         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
11631         Also set caps if we use the fallback buffer alloc.
11632
11633 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
11634
11635         * docs/gst/Makefile.am:
11636         * docs/gst/gstreamer-docs.sgml:
11637         * docs/gst/gstreamer-sections.txt:
11638         * docs/gst/tmpl/gstatomic.sgml:
11639         * docs/gst/tmpl/gstmemchunk.sgml:
11640         * testsuite/elements/struct_i386.h:
11641         * win32/GStreamer.vcproj:
11642         * win32/Makefile:
11643           Purge GstAtomic stuff from docs and win32 makefiles as well
11644
11645 2005-05-06  Wim Taymans  <wim@fluendo.com>
11646
11647         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
11648         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
11649         * gst/gstpad.c: (gst_pad_peer_get_caps):
11650         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11651         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11652         (gst_queue_src_activate), (gst_queue_change_state):
11653         * gst/gstqueue.h:
11654         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11655         (intersect_caps_func):
11656         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
11657         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
11658         Some fixes for the peer_get_caps() change.
11659
11660 2005-05-06  Wim Taymans  <wim@fluendo.com>
11661
11662         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11663         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
11664         (gst_basesink_activate):
11665         Actually do something with error codes returned from the push
11666         functions.
11667
11668 2005-05-06  Wim Taymans  <wim@fluendo.com>
11669
11670         * docs/design/part-element-sink.txt:
11671         * docs/design/part-element-source.txt:
11672         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11673         (gst_basesink_event), (gst_basesink_activate):
11674         * gst/base/gstbasesink.h:
11675         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
11676         (gst_basesrc_activate):
11677         * gst/base/gstbasesrc.h:
11678         * gst/gstelement.c: (gst_element_pads_activate):
11679         Some more documentation.
11680         Fixed scheduling decision in _pads_activate().
11681
11682 2005-05-05  Andy Wingo  <wingo@pobox.com>
11683
11684         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
11685         the test suite.
11686
11687 2005-05-05  Wim Taymans  <wim@fluendo.com>
11688
11689         * gst/base/Makefile.am:
11690         * gst/base/gstbasesink.h:
11691         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11692         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
11693         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
11694         (gst_collectpads_class_init), (gst_collectpads_init),
11695         (gst_collectpads_finalize), (gst_collectpads_new),
11696         (gst_collectpads_set_function), (gst_collectpads_add_pad),
11697         (find_pad), (gst_collectpads_remove_pad),
11698         (gst_collectpads_is_active), (gst_collectpads_collect),
11699         (gst_collectpads_collect_range), (gst_collectpads_start),
11700         (gst_collectpads_stop), (gst_collectpads_peek),
11701         (gst_collectpads_pop), (gst_collectpads_available),
11702         (gst_collectpads_read), (gst_collectpads_flush),
11703         (gst_collectpads_chain):
11704         * gst/base/gstcollectpads.h:
11705         * gst/elements/Makefile.am:
11706         * gst/elements/gstelements.c:
11707         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11708         (gst_fakesink_get_times), (gst_fakesink_event),
11709         (gst_fakesink_preroll), (gst_fakesink_render):
11710         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
11711         (gst_filesink_init), (gst_filesink_set_location),
11712         (gst_filesink_open_file), (gst_filesink_close_file),
11713         (gst_filesink_pad_query), (gst_filesink_event),
11714         (gst_filesink_render), (gst_filesink_change_state):
11715         * gst/elements/gstfilesink.h:
11716         Added object to help in making collect pad based elements.
11717         Ported filesink.
11718         Make event function in sink baseclass return gboolean.
11719
11720 2005-05-05  Wim Taymans  <wim@fluendo.com>
11721
11722         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
11723         (gst_bin_get_by_name):
11724         * gst/gstbuffer.h:
11725         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
11726         (gst_clock_finalize):
11727         * gst/gstdata.c: (gst_data_replace):
11728         * gst/gstdata.h:
11729         * gst/gstelement.c: (gst_element_request_pad),
11730         (gst_element_pads_activate):
11731         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
11732         (gst_object_unref):
11733         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11734         (gst_pad_set_checkgetrange_function),
11735         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
11736         (gst_pad_check_pull_range), (gst_pad_pull_range),
11737         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11738         (gst_pad_pause_task), (gst_pad_stop_task):
11739         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11740         (gst_element_request_pad), (gst_pad_proxy_getcaps):
11741         Fix name lookup in GstBin.
11742         Added _data_replace() function and _buffer_replace()
11743         Use finalize method to clean up clock.
11744         Fix refcounting on request pads.
11745         Fix pad schedule mode error.
11746         Some more object refcounting debug info,
11747
11748
11749 2005-05-04  Andy Wingo <wingo@pobox.com>
11750
11751         * check/Makefile.am:
11752         * docs/gst/tmpl/gstatomic.sgml:
11753         * docs/gst/tmpl/gstplugin.sgml:
11754         * gst/base/gstbasesink.c: (gst_basesink_activate):
11755         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
11756         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
11757         (gst_basesrc_query), (gst_basesrc_set_property),
11758         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
11759         (gst_basesrc_activate):
11760         * gst/base/gstbasesrc.h:
11761         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
11762         (gst_base_transform_src_activate):
11763         * gst/elements/gstelements.c:
11764         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11765         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11766         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11767         * gst/elements/gsttypefindelement.c: (find_element_get_length),
11768         (gst_type_find_element_checkgetrange),
11769         (gst_type_find_element_activate):
11770         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
11771         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
11772         (gst_caps_load_thyself):
11773         * gst/gstelement.c: (gst_element_pads_activate),
11774         (gst_element_save_thyself), (gst_element_restore_thyself):
11775         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
11776         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
11777         * gst/gstpad.h:
11778         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
11779         (gst_xml_parse_file), (gst_xml_parse_memory),
11780         (gst_xml_get_element), (gst_xml_make_element):
11781         * gst/indexers/gstfileindex.c: (gst_file_index_load),
11782         (_file_index_id_save_xml), (gst_file_index_commit):
11783         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
11784         (read_enum), (load_pad_template), (load_feature), (load_plugin),
11785         (load_paths):
11786         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
11787         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
11788         * tools/gst-complete.c: (main):
11789         * tools/gst-compprep.c: (main):
11790         * tools/gst-inspect.c: (print_element_properties_info):
11791         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
11792         * tools/gst-xmlinspect.c: (print_element_properties):
11793         GCC 4 fixen.
11794         
11795 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11796
11797         * gst/gstplugin.c: (gst_plugin_check_module),
11798         (gst_plugin_check_file), (gst_plugin_load_file):
11799             apply patch from #172526 to make register work on MacOSX
11800
11801 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11802
11803         * docs/gst/tmpl/gstconfig.sgml:
11804         * gst/gstconfig.h.in:
11805           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
11806         * testsuite/debug/printf_extension.c: (main):
11807           Do not use GST_PTR_FORMAT on pointers to types with
11808           sizeof < sizeof(gpointer).  Fixes test on 64-bit
11809         * testsuite/elements/property.h:
11810           use correct printf format
11811
11812 2005-05-02  Wim Taymans  <wim@fluendo.com>
11813
11814         * docs/design/draft-push-pull.txt:
11815         * docs/design/draft-query.txt:
11816         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
11817         (gst_basesrc_start):
11818         Added draft for new query API.
11819         Added draft for better selecting scheduling methods.
11820         Make basesrc ignore length if the subclass does not support
11821         it.
11822
11823 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11824
11825         * gst/Makefile.am:
11826           possible fixes for automake-1.5 - _LIBADD is reserved
11827
11828 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11829
11830         * docs/faq/Makefile.am:
11831         * docs/manual/Makefile.am:
11832         * docs/manuals.mak:
11833         * docs/pwg/Makefile.am:
11834         * gst/Makefile.am:
11835           possible fixes for automake-1.5
11836
11837 2005-04-28  Wim Taymans  <wim@fluendo.com>
11838
11839         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11840         (gst_basesink_pad_getcaps), (gst_basesink_init),
11841         (gst_basesink_do_sync):
11842         * gst/gstclock.c: (gst_clock_entry_new):
11843         * gst/gstevent.c: (gst_event_discont_get_value):
11844         * gst/gstpipeline.c: (pipeline_bus_handler),
11845         (gst_pipeline_change_state):
11846         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
11847         Better debugging of clocking info.
11848         Allow NULL values when getting discont values.
11849
11850 2005-04-27  Wim Taymans  <wim@fluendo.com>
11851
11852         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11853         * check/gst/gstpad.c: (gst_pad_suite):
11854         Increase timeout for checks.
11855
11856 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11857
11858         * check/Makefile.am:
11859           fix the broken rule for cleanup.  Apparently this rule is
11860           only needed on FC2, so maybe this warrants further autotool
11861           inspection.
11862
11863 2005-04-26  Wim Taymans  <wim@fluendo.com>
11864
11865         * gst/gsttrashstack.h:
11866         Ooohh. a nasty one! After having a failed pop() from the stack,
11867         it's possible that the stack is empty. In that case, don't
11868         follow the NULL pointer.
11869
11870 2005-04-25  Wim Taymans  <wim@fluendo.com>
11871
11872         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11873         (gst_pad_set_checkgetrange_function),
11874         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
11875         (gst_pad_check_pull_range), (gst_pad_pull_range),
11876         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11877         (gst_pad_pause_task), (gst_pad_stop_task):
11878         * gst/gstplugin.c: (gst_plugin_load):
11879         * gst/gstplugin.h:
11880         Remove gst_library_load as it does more harm than good with
11881         the new g_module flags.
11882         Revert bogus caps template check in pad linking, pad caps
11883         are important when linking not the template, which is more
11884         general than the current caps.
11885
11886 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11887
11888         * gst/autoplug/.cvsignore:
11889         * gst/autoplug/Makefile.am:
11890         * gst/autoplug/gstsearchfuncs.c:
11891         * gst/autoplug/gstsearchfuncs.h:
11892         * gst/autoplug/gstspider.c:
11893         * gst/autoplug/gstspider.h:
11894         * gst/autoplug/gstspideridentity.c:
11895         * gst/autoplug/gstspideridentity.h:
11896         * gst/autoplug/spidertest.c:
11897           Die, spider, die.
11898
11899 2005-04-25  Wim Taymans  <wim@fluendo.com>
11900
11901         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11902         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11903         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
11904         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
11905         * gst/gstpad.h:
11906         Added stubs for unimplemented functions. 
11907
11908 2005-04-24  David Schleef  <ds@schleef.org>
11909
11910         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
11911         please fix.
11912
11913 2005-04-24  David Schleef  <ds@schleef.org>
11914
11915         Convert everything from GstAtomicInt to g_atomic_int_*, and
11916         remove gstatomic.
11917         * gst/Makefile.am:
11918         * gst/gstatomic.c:
11919         * gst/gstatomic.h:
11920         * gst/gstatomic_impl.h:
11921         * gst/gstbuffer.c:
11922         * gst/gstcaps.c:
11923         * gst/gstcaps.h:
11924         * gst/gstclock.c:
11925         * gst/gstclock.h:
11926         * gst/gstdata.c:
11927         * gst/gstdata.h:
11928         * gst/gstdata_private.h:
11929         * gst/gstevent.c:
11930         * gst/gstinfo.c:
11931         * gst/gstinfo.h:
11932         * gst/gstmessage.c:
11933         * gst/gstobject.c:
11934         * gst/gstobject.h:
11935         * gst/gststructure.c:
11936         * gst/gststructure.h:
11937         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
11938         * gst/gstutils.h:
11939
11940 2005-04-24  David Schleef  <ds@schleef.org>
11941
11942         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
11943         make the regressions tests work.  Remove some code that is no
11944         longer true.
11945         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
11946         Disable warning for pads without templates.
11947
11948 2005-04-24  David Schleef  <ds@schleef.org>
11949
11950         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
11951         functions that handle filtered links.
11952         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
11953         removed functions.
11954         * gst/gstutils.c: Fix/remove utility functions that handle
11955         filtered caps.
11956         * gst/gstutils.h:
11957         * gst/gstvalue.c: Add serialization/deserialization of caps
11958         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
11959         requires fixing so that the filter caps notation creates
11960         a capsfilter element and sets the filter_caps property.  I
11961         think everyone probably wants to keep the shorthand notation.
11962         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
11963         * docs/gst/tmpl/gstpad.sgml:
11964
11965         * gst/elements/gstelements.c: Register capsfilter element.
11966         * gst/Makefile.am: fix spacing
11967         * docs/random/ds/0.9-suggested-changes: random
11968
11969 2005-04-23  David Schleef  <ds@schleef.org>
11970
11971         * gst/elements/Makefile.am:
11972         * gst/elements/gstcapsfilter.c: New element that acts like an
11973         identity, but filters caps.  Will eventually replace filtered
11974         caps in pad linking.
11975         * gst/gstutils.c: (gst_element_create_all_pads): New function
11976         to create all the ALWAYS pads that are registered with an
11977         element class.  This functionality should eventually be
11978         merged in with GstElement initialization.
11979         * gst/gstutils.h:
11980         * testsuite/trigger/README: part of trigger test code that should
11981         have been checked in a long time ago.
11982
11983 2005-04-23  David Schleef  <ds@schleef.org>
11984
11985         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
11986         needed with new versions of libtool (nobody will confirm this),
11987         and hard to carry around.
11988         * gst/autoplug/Makefile.am:
11989         * gst/base/Makefile.am:
11990         * gst/elements/Makefile.am:
11991         * gst/indexers/Makefile.am:
11992         * gst/schedulers/Makefile.am:
11993         * libs/gst/bytestream/Makefile.am:
11994         * libs/gst/control/Makefile.am:
11995         * libs/gst/dataprotocol/Makefile.am:
11996         * libs/gst/getbits/Makefile.am:
11997
11998 2005-04-21  Wim Taymans  <wim@fluendo.com>
11999
12000         * docs/design/draft-push-pull.txt:
12001         * docs/design/part-MT-refcounting.txt:
12002         * docs/design/part-TODO.txt:
12003         * docs/design/part-caps.txt:
12004         * docs/design/part-events.txt:
12005         * docs/design/part-gstbus.txt:
12006         * docs/design/part-gstpipeline.txt:
12007         * docs/design/part-messages.txt:
12008         * docs/design/part-push-pull.txt:
12009         * docs/design/part-query.txt:
12010         Some more docs.
12011
12012 2005-04-21  Wim Taymans  <wim@fluendo.com>
12013
12014         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
12015         (gst_message_new), (gst_message_new_error),
12016         (gst_message_new_warning), (gst_message_new_tag),
12017         (gst_message_new_state_changed), (gst_message_new_application),
12018         (gst_message_get_structure):
12019         * gst/gstmessage.h:
12020         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12021         (gst_structure_copy_conditional):
12022         Use parent refcount in GstMessage to ensure GstStructure
12023         consistency.
12024         Cleaned up headers a bit.
12025         
12026
12027 2005-04-20  Wim Taymans  <wim@fluendo.com>
12028
12029         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12030         (gst_basesink_pad_getcaps), (gst_basesink_init),
12031         (gst_basesink_chain_unlocked):
12032         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
12033         (gst_type_find_helper):
12034         * gst/elements/gsttypefindelement.c:
12035         (gst_type_find_element_have_type), (gst_type_find_element_init),
12036         (stop_typefinding), (gst_type_find_element_handle_event),
12037         (find_suggest), (gst_type_find_element_chain),
12038         (gst_type_find_element_checkgetrange),
12039         (gst_type_find_element_getrange), (do_typefind),
12040         (gst_type_find_element_activate):
12041         * gst/gstbuffer.c: (_gst_buffer_sub_free),
12042         (gst_buffer_default_free), (gst_buffer_default_copy),
12043         (gst_buffer_set_caps):
12044         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
12045         (gst_caps_replace):
12046         * gst/gstmessage.c: (gst_message_new),
12047         (gst_message_new_state_changed):
12048         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12049         (gst_pad_set_checkgetrange_function),
12050         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
12051         (gst_pad_set_caps), (gst_pad_check_pull_range),
12052         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
12053         * gst/gstpad.h:
12054         * gst/gsttypefind.c: (gst_type_find_register):
12055         Make gst_caps_replace() work like other _replace() functions.
12056         Use _caps_replace() where possible.
12057         Make sure _message_new() initialises its field.
12058         Add gst_static_pad_template_get_caps()
12059
12060
12061 2005-04-18  Andy Wingo  <wingo@pobox.com>
12062
12063         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
12064         on the peer, not the pad. I think that was a typo. Pass an extra
12065         arg to see if random access is possible. Activate the pads as
12066         PULL_RANGE if possible.
12067
12068         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
12069
12070         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
12071         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
12072         to PROP_....
12073
12074 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12075
12076         * docs/faq/using.xml:
12077           Add note on gstreamer-properties (#154996).
12078
12079 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12080
12081         * docs/random/bbb/optional-properties:
12082           Some analysis on optional properties.
12083
12084 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12085
12086         * docs/gst/tmpl/gstelementfactory.sgml:
12087         * gst/gstelement.h:
12088         * gst/gstelementfactory.c: (gst_element_factory_init),
12089         (gst_element_factory_cleanup), (gst_element_register),
12090         (__gst_element_factory_add_static_pad_template),
12091         (gst_element_factory_get_static_pad_templates),
12092         (gst_element_factory_can_src_caps),
12093         (gst_element_factory_can_sink_caps):
12094         * gst/registries/Makefile.am:
12095         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
12096         (gst_xml_registry_class_init), (gst_xml_registry_init),
12097         (gst_xml_registry_new), (gst_xml_registry_set_property),
12098         (gst_xml_registry_get_property), (get_time), (make_dir),
12099         (gst_xml_registry_get_perms_func),
12100         (plugin_times_older_than_recurse), (plugin_times_older_than),
12101         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
12102         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
12103         (add_to_char_array), (read_string), (read_uint), (read_enum),
12104         (load_pad_template), (load_feature), (load_plugin), (load_paths),
12105         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
12106         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
12107         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
12108         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
12109         (gst_xml_registry_rebuild):
12110         * gst/registries/gstlibxmlregistry.h:
12111         * tools/gst-compprep.c: (main):
12112         * tools/gst-inspect.c: (print_pad_templates_info):
12113         * tools/gst-xmlinspect.c: (print_element_info):
12114           Use libxml2 for registry parsing, use staticpadtemplates in
12115           elementfactories. Makes gst_init() +/- 10x faster.
12116
12117 2005-04-12  Wim Taymans  <wim@fluendo.com>
12118
12119         * gst/base/Makefile.am:
12120         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12121         (gst_basesink_pad_getcaps), (gst_basesink_init),
12122         (gst_basesink_event), (gst_basesink_change_state):
12123         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12124         (gst_basesrc_init), (gst_basesrc_query),
12125         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12126         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12127         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12128         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12129         (gst_basesrc_stop), (gst_basesrc_activate),
12130         (gst_basesrc_change_state):
12131         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12132         (helper_find_suggest), (gst_type_find_helper):
12133         * gst/base/gsttypefindhelper.h:
12134         * gst/elements/Makefile.am:
12135         * gst/elements/gstelements.c:
12136         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12137         (gst_fakesink_get_times), (gst_fakesink_event),
12138         (gst_fakesink_preroll), (gst_fakesink_render):
12139         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12140         (gst_fakesrc_init), (gst_fakesrc_event_handler),
12141         (gst_fakesrc_get_property), (gst_fakesrc_create),
12142         (gst_fakesrc_start), (gst_fakesrc_stop):
12143         * gst/elements/gstfakesrc.h:
12144         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
12145         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12146         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12147         (gst_filesrc_create_read), (gst_filesrc_create),
12148         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
12149         (gst_filesrc_start):
12150         * gst/elements/gsttypefindelement.c:
12151         (gst_type_find_element_have_type), (gst_type_find_element_init),
12152         (start_typefinding), (stop_typefinding), (push_buffer_store),
12153         (gst_type_find_element_handle_event),
12154         (gst_type_find_element_chain),
12155         (gst_type_find_element_checkgetrange),
12156         (gst_type_find_element_getrange), (do_typefind),
12157         (gst_type_find_element_activate),
12158         (gst_type_find_element_change_state):
12159         * gst/elements/gsttypefindelement.h:
12160         * gst/gstpipeline.c: (pipeline_bus_handler):
12161         Added typefind helper.
12162         Small preroll fix in the base sink.
12163         Disable typefind code in basesrc.
12164         Crude port of typefindelement.
12165         Fakesrc cleanups.
12166
12167
12168 2005-04-11  Wim Taymans  <wim@fluendo.com>
12169
12170         * check/gst/gstbus.c: (gstbus_suite):
12171         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
12172         * check/gstcheck.h:
12173           Fix up the timeout so that the test does not fail.
12174
12175 2005-04-06  Wim Taymans  <wim@fluendo.com>
12176
12177         * gst/base/README:
12178         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12179         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
12180         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12181         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12182         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12183         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12184         (gst_basesrc_stop), (gst_basesrc_activate),
12185         (gst_basesrc_change_state), (basesrc_find_peek),
12186         (basesrc_find_suggest), (gst_basesrc_type_find):
12187         * gst/base/gstbasesrc.h:
12188         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12189         (gst_filesrc_class_init), (gst_filesrc_init),
12190         (gst_filesrc_finalize), (gst_filesrc_set_location),
12191         (gst_filesrc_set_property), (gst_filesrc_get_property),
12192         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12193         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12194         (gst_filesrc_create_read), (gst_filesrc_create),
12195         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12196         * gst/elements/gstfilesrc.h:
12197         * gst/gstelement.c: (gst_element_get_state_func),
12198         (gst_element_lost_state), (gst_element_pads_activate):
12199         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12200         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12201         (gst_pad_pull_range):
12202         * gst/gstpad.h:
12203         More work on the generic source base class, implement seeking,
12204         query.
12205         Make filesrc extend the base source class.
12206         Added gst_pad_set_checkgetrange_function to GstPad.
12207
12208 2005-04-06  Andy Wingo  <wingo@pobox.com>
12209
12210         * pkgconfig/gstreamer-base.pc.in:
12211         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12212
12213         * pkgconfig/Makefile.am:
12214         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12215
12216 2005-04-04  Wim Taymans  <wim@fluendo.com>
12217
12218         * gst/base/Makefile.am:
12219         * gst/base/README:
12220         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12221         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12222         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12223         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12224         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12225         (gst_basesrc_base_init), (gst_basesrc_class_init),
12226         (gst_basesrc_init), (gst_basesrc_get_formats),
12227         (gst_basesrc_get_query_types), (gst_basesrc_query),
12228         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12229         (gst_basesrc_set_property), (gst_basesrc_get_property),
12230         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12231         (gst_basesrc_loop), (gst_basesrc_activate),
12232         (gst_basesrc_change_state):
12233         * gst/base/gstbasesrc.h:
12234         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12235         (gst_fakesrc_class_init), (gst_fakesrc_init),
12236         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12237         (gst_fakesrc_get_property), (gst_fakesrc_create):
12238         * gst/elements/gstfakesrc.h:
12239         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12240         (gst_filesrc_open_file), (gst_filesrc_loop),
12241         (gst_filesrc_activate), (filesrc_find_peek),
12242         (gst_filesrc_type_find):
12243         Made base source class, make fakesrc extend it.
12244         Add comments to basesink class.
12245         Some filesrc cleanup.
12246
12247 2005-03-31  David Schleef  <ds@schleef.org>
12248
12249         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12250         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12251         expected to link against libgstreamer.
12252         * gst/base/Makefile.am: link against libgstreamer
12253         * gst/elements/Makefile.am: same
12254
12255 2005-03-31  Andy Wingo  <wingo@pobox.com>
12256
12257         * tests/instantiate/Makefile.am:
12258         * tests/instantiate/caps.c: Add test to test speed of caps copy
12259         and free.
12260
12261         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12262         GMemChunk to be fair.
12263
12264         * gst/gsttrashstack.h: Remove warning about using the fallback
12265         trash stack implementation, it's still faster than malloc.
12266
12267 2005-03-30  Andy Wingo  <wingo@pobox.com>
12268
12269         * tests/complexity.c: Add a copyright.
12270
12271 2005-03-31  Wim Taymans  <wim@fluendo.com>
12272
12273         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12274         (gst_base_transform_class_init), (gst_base_transform_init),
12275         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12276         (gst_base_transform_get_property),
12277         (gst_base_transform_sink_activate),
12278         (gst_base_transform_src_activate),
12279         (gst_base_transform_change_state):
12280         * gst/base/gstbasetransform.h:
12281         * gst/elements/gstidentity.c: (gst_identity_class_init),
12282         (gst_identity_event), (gst_identity_check_perfect),
12283         (gst_identity_transform), (gst_identity_start),
12284         (gst_identity_stop):
12285         Added start/stop methods to transform base class so subclasses 
12286         don't need to deal with state changes even.
12287
12288 2005-03-31  Wim Taymans  <wim@fluendo.com>
12289
12290         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12291         (gst_event_new_discontinuous), (gst_event_discont_get_value):
12292         * gst/gstevent.h:
12293         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12294         (gst_pad_pull_range):
12295         Added rate to the discont event to prepare for variable speed
12296         and reverse playback.
12297
12298 2005-03-29  David Schleef  <ds@schleef.org>
12299
12300         * configure.ac:
12301         * testsuite/trigger/Makefile.am:
12302         * testsuite/trigger/trigger.c: A little example program to show
12303         how trigger-based elements can work.
12304
12305 2005-03-29  Wim Taymans  <wim@fluendo.com>
12306
12307         * gst/base/Makefile.am:
12308         * gst/base/README:
12309         * gst/base/gstbasesink.c: (gst_basesink_get_type),
12310         (gst_basesink_base_init), (gst_basesink_class_init),
12311         (gst_basesink_pad_getcaps), (gst_basesink_init),
12312         (gst_basesink_activate), (gst_basesink_change_state):
12313         * gst/base/gstbasesink.h:
12314         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12315         (gst_base_transform_base_init), (gst_base_transform_finalize),
12316         (gst_base_transform_class_init), (gst_base_transform_init),
12317         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12318         (gst_base_transform_event), (gst_base_transform_getrange),
12319         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12320         (gst_base_transform_set_property),
12321         (gst_base_transform_get_property),
12322         (gst_base_transform_sink_activate),
12323         (gst_base_transform_src_activate),
12324         (gst_base_transform_change_state):
12325         * gst/base/gstbasetransform.h:
12326         * gst/elements/gstidentity.c: (gst_identity_finalize),
12327         (gst_identity_class_init), (gst_identity_init),
12328         (gst_identity_event), (gst_identity_check_perfect),
12329         (gst_identity_transform), (gst_identity_set_property),
12330         (gst_identity_get_property), (gst_identity_change_state):
12331         * gst/elements/gstidentity.h:
12332         * gst/gstelement.c: (gst_element_get_state_func),
12333         (gst_element_lost_state), (gst_element_pads_activate):
12334         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12335         (gst_pad_check_pull_range), (gst_pad_pull_range):
12336         * gst/gstpad.h:
12337         Simplify pad activation.
12338         Added function to check if pull_range can be performed.
12339         Error out when pulling inactive or flushing pads.
12340         Removed const from refcounted types as it does not make sense.
12341         Simplify pad templates in basesink
12342         Added base class for simple 1-to-1 transforms.
12343         Make identity subclass the base transform.
12344
12345 2005-03-29  Andy Wingo  <wingo@pobox.com>
12346
12347         * docs/libs/gstreamer-libs-overrides.txt: 
12348         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12349         really don't understand what's going on, but like whatever. I want
12350         green buildbot!
12351
12352         * docs/gst/Makefile.am:
12353         * docs/libs/Makefile.am: Dist the overrides files.
12354
12355         * check/Makefile.am (clean-local): Remove .libs directories.
12356
12357         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12358         elements to EXTRA_DIST, so po/ files are happy.
12359
12360         * po/POTFILES.in: Er, remove it here.
12361
12362         * po/POTFILES: Remove gstspider.c.
12363
12364         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12365
12366         * docs/libs/gstreamer-libs-docs.sgml: 
12367         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12368         bytestream.
12369
12370         * tests/complexity.c (main): Set the length of the preroll queue
12371         on the sinks to prevent a lockup.
12372
12373         * libs/gst/dataprotocol/Makefile.am: 
12374         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12375         the same as the one in check/gst-libs/gdp.c.
12376
12377         * po/, docs/gst/: Commit automatic changes to docs and po files.
12378
12379         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12380         the versioned libgstbase.
12381
12382         * check/Makefile.am: Depend on an unversioned gst-register, seems
12383         to make autoconf happier.
12384
12385         * gst/base/Makefile.am: Make libgstbase a versioned lib.
12386
12387 2005-03-28  Wim Taymans  <wim@fluendo.com>
12388
12389         * configure.ac:
12390         * docs/design/part-gstelement.txt:
12391         * docs/design/part-negotiation.txt:
12392         * docs/design/part-preroll.txt:
12393         * docs/design/part-scheduling.txt:
12394         * docs/design/part-states.txt:
12395         * gst/Makefile.am:
12396         * gst/base/Makefile.am:
12397         * gst/base/README:
12398         * gst/base/gstbasesink.c: (gst_basesink_get_template),
12399         (gst_basesink_base_init), (gst_basesink_class_init),
12400         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12401         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12402         (gst_basesink_set_pad_functions),
12403         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
12404         (gst_basesink_set_property), (gst_basesink_get_property),
12405         (gst_base_sink_get_template), (gst_base_sink_get_caps),
12406         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
12407         (gst_basesink_preroll_queue_push),
12408         (gst_basesink_preroll_queue_empty),
12409         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
12410         (gst_basesink_event), (gst_basesink_get_times),
12411         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
12412         (gst_basesink_chain_unlocked), (gst_basesink_chain),
12413         (gst_basesink_loop), (gst_basesink_activate),
12414         (gst_basesink_change_state):
12415         * gst/base/gstbasesink.h:
12416         * gst/elements/Makefile.am:
12417         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
12418         (gst_fakesink_class_init), (gst_fakesink_init),
12419         (gst_fakesink_set_property), (gst_fakesink_get_property),
12420         (gst_fakesink_get_times), (gst_fakesink_event),
12421         (gst_fakesink_preroll), (gst_fakesink_render),
12422         (gst_fakesink_change_state):
12423         * gst/elements/gstfakesink.h:
12424         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12425         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
12426         * gst/gstelement.c: (gst_element_add_pad),
12427         (gst_element_get_state_func), (gst_element_abort_state),
12428         (gst_element_commit_state), (gst_element_lost_state),
12429         (gst_element_set_state), (gst_element_pads_activate):
12430         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
12431         * gst/gstpipeline.c: (gst_pipeline_send_event),
12432         (gst_pipeline_change_state):
12433         Added state change code.
12434         Added/updated docs.
12435         Added sink base class, make fakesink extend the base class.
12436         Small cleanups in GstPipeline.
12437
12438 2005-03-26  David Schleef  <ds@schleef.org>
12439
12440         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
12441         is broken and should be implemented in a different library.
12442         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
12443         * gst/gst.h: remove gstcpu.h
12444         * gst/gstcpu.c: remove
12445         * gst/gstcpu.h: remove
12446         * gst/Makefile.am.future: Remove this file.  It's ancient.
12447
12448 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12449
12450         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12451         (gst_bin_send_event):
12452           Add default event/set_manager handlers. The set_manager handler
12453           takes care that the manager is distributed over kids that were
12454           already in the bin before the manager was set. The event handler
12455           is a utility virtual function that sends the event over all sinks,
12456           so that gst_element_send_event (bin, event); has the expected
12457           behaviour.
12458         * gst/gstpad.c: (gst_pad_event_default):
12459           Re-install default event handling for discontinuities, so that
12460           seeking works without requiring hacks in applications or extra
12461           code in sinks.
12462         * gst/gstpipeline.c: (gst_pipeline_class_init),
12463         (gst_pipeline_send_event):
12464           Half hack, half utility: set a pipeline to PAUSED for seek events,
12465           since that is the only way we can guarantee a/v sync. Means that
12466           you can do gst_element_seek (pipeline, method, pos); on a pipeline
12467           and it "just works".
12468
12469 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12470
12471         * gst/gstpipeline.c: (gst_pipeline_use_clock):
12472           Lock/unlock mismatch.
12473
12474 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12475
12476         * docs/faq/gst-uninstalled:
12477           add gst-plugins-base
12478         * docs/gst/Makefile.am:
12479           don't error out until docs are fixed
12480         * docs/gst/gstreamer.types:
12481           remove thread
12482
12483 2005-03-22  Wim Taymans  <wim@fluendo.com>
12484
12485         * check/Makefile.am:
12486         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
12487         * gst/gststructure.c: (gst_structure_set_valist),
12488         (gst_structure_copy_conditional):
12489         Activated more tests.
12490         Added message test.
12491         Added G_TYPE_POINTER to GstStructure.
12492         
12493
12494 2005-03-22  Wim Taymans  <wim@fluendo.com>
12495
12496         * docs/design/part-TODO.txt:
12497         * docs/design/part-events.txt:
12498         * docs/design/part-gstbin.txt:
12499         * docs/design/part-gstbus.txt:
12500         * docs/design/part-gstpipeline.txt:
12501         * docs/design/part-messages.txt:
12502         * gst/gstbus.c:
12503         * gst/gstmessage.c:
12504         Docs updates
12505
12506 2005-03-21  Wim Taymans  <wim@fluendo.com>
12507
12508         * gst/gstbus.c: (gst_bus_post):
12509         Fix copy-and-paste error.
12510
12511 2005-03-21  Wim Taymans  <wim@fluendo.com>
12512
12513         * check/Makefile.am:
12514         * gst/Makefile.am:
12515         * gst/elements/Makefile.am:
12516         * gst/elements/gstelements.c:
12517         * gst/elements/gstfakesink.c: (gst_fakesink_init),
12518         (gst_fakesink_event), (gst_fakesink_chain):
12519         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12520         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
12521         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
12522         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
12523         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
12524         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
12525         (gst_fakesrc_loop), (gst_fakesrc_activate),
12526         (gst_fakesrc_change_state):
12527         * gst/elements/gstfakesrc.h:
12528         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12529         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
12530         (gst_filesrc_open_file), (gst_filesrc_loop),
12531         (gst_filesrc_activate), (gst_filesrc_change_state),
12532         (filesrc_find_peek), (filesrc_find_suggest),
12533         (gst_filesrc_type_find):
12534         * gst/elements/gstidentity.c: (gst_identity_finalize),
12535         (gst_identity_class_init), (gst_identity_init),
12536         (gst_identity_proxy_getcaps), (identity_queue_push),
12537         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
12538         (gst_identity_getrange), (gst_identity_chain),
12539         (gst_identity_sink_loop), (gst_identity_src_loop),
12540         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
12541         (gst_identity_set_property), (gst_identity_get_property),
12542         (gst_identity_change_state):
12543         * gst/elements/gstidentity.h:
12544         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
12545         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
12546         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
12547         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
12548         (gst_tee_sink_activate):
12549         * gst/elements/gsttee.h:
12550         * gst/gst.c: (gst_register_core_elements), (init_post):
12551         * gst/gst.h:
12552         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
12553         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
12554         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
12555         (gst_bin_change_state):
12556         * gst/gstbin.h:
12557         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
12558         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
12559         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
12560         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
12561         (gst_bus_set_sync_handler), (gst_bus_create_watch),
12562         (bus_watch_callback), (bus_watch_destroy),
12563         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
12564         (poll_timeout), (gst_bus_poll):
12565         * gst/gstbus.h:
12566         * gst/gstcaps.h:
12567         * gst/gstdata.h:
12568         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12569         (gst_element_post_message), (gst_element_message_full),
12570         (gst_element_get_state_func), (gst_element_get_state),
12571         (gst_element_abort_state), (gst_element_commit_state),
12572         (gst_element_lost_state), (gst_element_set_state),
12573         (gst_element_pads_activate), (gst_element_change_state),
12574         (gst_element_dispose), (gst_element_set_manager_func),
12575         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
12576         (gst_element_set_manager), (gst_element_get_manager),
12577         (gst_element_set_bus), (gst_element_get_bus),
12578         (gst_element_set_scheduler), (gst_element_get_scheduler):
12579         * gst/gstelement.h:
12580         * gst/gstevent.c: (gst_event_new_segment_seek),
12581         (gst_event_new_flush):
12582         * gst/gstevent.h:
12583         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
12584         (_gst_message_free), (gst_message_get_type), (gst_message_new),
12585         (gst_message_new_eos), (gst_message_new_error),
12586         (gst_message_new_warning), (gst_message_new_tag),
12587         (gst_message_new_state_changed), (gst_message_new_application),
12588         (gst_message_get_structure), (gst_message_parse_tag),
12589         (gst_message_parse_state_changed), (gst_message_parse_error),
12590         (gst_message_parse_warning):
12591         * gst/gstmessage.h:
12592         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
12593         (gst_real_pad_set_property), (gst_pad_set_active),
12594         (gst_pad_is_active), (gst_pad_set_blocked_async),
12595         (gst_pad_set_blocked), (gst_pad_is_blocked),
12596         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
12597         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
12598         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
12599         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
12600         (gst_pad_link_filtered), (gst_pad_relink_filtered),
12601         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
12602         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
12603         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
12604         (gst_pad_set_caps), (gst_pad_configure_sink),
12605         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
12606         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
12607         (gst_real_pad_dispose), (gst_real_pad_finalize),
12608         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
12609         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12610         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
12611         * gst/gstpad.h:
12612         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
12613         (pipeline_bus_handler), (gst_pipeline_change_state),
12614         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
12615         * gst/gstpipeline.h:
12616         * gst/gstprobe.h:
12617         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
12618         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
12619         (gst_queue_link_src), (gst_queue_bufferalloc),
12620         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
12621         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
12622         (gst_queue_loop), (gst_queue_handle_src_event),
12623         (gst_queue_handle_src_query), (gst_queue_src_activate),
12624         (gst_queue_change_state):
12625         * gst/gstqueue.h:
12626         * gst/gstscheduler.c: (gst_scheduler_init),
12627         (gst_scheduler_dispose), (gst_scheduler_create_task),
12628         (gst_scheduler_factory_create):
12629         * gst/gstscheduler.h:
12630         * gst/gststructure.c: (gst_structure_get_type),
12631         (gst_structure_copy_conditional):
12632         * gst/gststructure.h:
12633         * gst/gsttaginterface.h:
12634         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
12635         (gst_task_init), (gst_task_dispose), (gst_task_create),
12636         (gst_task_get_state), (gst_task_start), (gst_task_stop),
12637         (gst_task_pause):
12638         * gst/gsttask.h:
12639         * gst/gstthread.c:
12640         * gst/gstthread.h:
12641         * gst/gsttypes.h:
12642         * gst/schedulers/Makefile.am:
12643         * gst/schedulers/cothreads_compat.h:
12644         * gst/schedulers/entryscheduler.c:
12645         * gst/schedulers/faircothreads.c:
12646         * gst/schedulers/faircothreads.h:
12647         * gst/schedulers/fairscheduler.c:
12648         * gst/schedulers/gstbasicscheduler.c:
12649         * gst/schedulers/gstoptimalscheduler.c:
12650         * gst/schedulers/gthread-cothreads.h:
12651         * gst/schedulers/threadscheduler.c:
12652         (gst_thread_scheduler_task_get_type),
12653         (gst_thread_scheduler_task_class_init),
12654         (gst_thread_scheduler_task_init),
12655         (gst_thread_scheduler_task_start),
12656         (gst_thread_scheduler_task_stop),
12657         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
12658         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
12659         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
12660         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
12661         (plugin_init):
12662         * libs/gst/Makefile.am:
12663         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
12664         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
12665         (gst_file_pad_parent_set):
12666         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12667         (gst_dp_event_from_packet):
12668         * tests/complexity.c: (main):
12669         * tests/mass_elements.c: (main):
12670         * testsuite/states/locked.c: (message_received), (main):
12671         * testsuite/states/parent.c: (main):
12672         * tools/gst-inspect.c: (print_element_flag_info),
12673         (print_implementation_info), (print_pad_info):
12674         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
12675         (main):
12676         * tools/gst-md5sum.c: (event_loop), (main):
12677         * tools/gst-typefind.c: (main):
12678         * tools/gst-xmlinspect.c: (print_element_info):
12679         Next big merge.
12680         Added GstBus for mainloop integration.
12681         Added GstMessage for sending notifications on the bus.
12682         Added GstTask as an abstraction for pipeline entry points.
12683         Removed GstThread.
12684         Removed Schedulers.
12685         Simplified GstQueue for multithreaded core.
12686         Made _link threadsafe, removed old capsnego.
12687         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
12688         Added pad blocking functions.
12689         Reworked scheduling functions in GstPad to prepare for
12690         scheduling updates soon.
12691         Moved events out of data stream.
12692         Simplified GstEvent types.
12693         Added return values to push/pull.
12694         Removed clocking from GstElement.
12695         Added prototypes for state change function for next merge.
12696         Removed iterate from bins and state change management.
12697         Fixed some elements, disabled others for now.
12698         Fixed -inspect and -launch.
12699         Added check for GstBus.
12700
12701 2005-03-10  Wim Taymans  <wim@fluendo.com>
12702
12703         * docs/design/part-MT-refcounting.txt:
12704         * docs/design/part-clocks.txt:
12705         * docs/design/part-gstelement.txt:
12706         * docs/design/part-gstobject.txt:
12707         * docs/design/part-standards.txt:
12708         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12709         (gst_bin_remove_func), (gst_bin_remove):
12710         * gst/gstbin.h:
12711         * gst/gstbuffer.c:
12712         * gst/gstcaps.h:
12713         * testsuite/clock/clock1.c: (main):
12714         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
12715         (main):
12716         * testsuite/dlopen/loadgst.c: (do_test):
12717         * testsuite/refcounting/bin.c: (add_remove_test1),
12718         (add_remove_test2), (main):
12719         * testsuite/refcounting/element.c: (main):
12720         * testsuite/refcounting/element_pad.c: (main):
12721         * testsuite/refcounting/pad.c: (main):
12722         * tools/gst-launch.c: (sigint_handler_sighandler):
12723         * tools/gst-typefind.c: (main):
12724         Doc updates.
12725         Added doc about clock.
12726         removed gst_bin_iterate_recurse_up(), marked methods
12727         for removal.
12728         Fix more testsuites.
12729
12730 2005-03-09  Wim Taymans  <wim@fluendo.com>
12731
12732         * gst/gstpad.c: (gst_pad_get_direction),
12733         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
12734         (gst_pad_collect_valist):
12735         * testsuite/bins/interface.c: (main):
12736         * testsuite/caps/audioscale.c: (test_caps):
12737         * testsuite/caps/caps.c: (test1), (test2), (test3):
12738         * testsuite/caps/deserialize.c: (main):
12739         * testsuite/caps/enumcaps.c: (main):
12740         * testsuite/caps/filtercaps.c: (main):
12741         * testsuite/caps/intersect2.c: (main):
12742         * testsuite/caps/random.c: (main):
12743         * testsuite/caps/renegotiate.c: (my_fixate), (main):
12744         * testsuite/caps/sets.c: (check_caps):
12745         * testsuite/caps/simplify.c: (check_caps), (main):
12746         * testsuite/caps/subtract.c: (check_caps):
12747         Fix _pad_get_direction wrt ghostpads.
12748         Fix caps testsuite.
12749
12750 2005-03-09  Wim Taymans  <wim@fluendo.com>
12751
12752         * check/Makefile.am:
12753         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
12754         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
12755         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
12756         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
12757         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
12758         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
12759         (gst_bin_remove), (gst_bin_iterate_recurse_up),
12760         (bin_element_is_sink), (gst_bin_iterate_sinks),
12761         (gst_bin_iterate_all_by_interface):
12762         * gst/gstbin.h:
12763         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
12764         (gst_element_change_state), (gst_element_dispose),
12765         (gst_element_finalize), (gst_element_set_loop_function):
12766         * gst/gstelement.h:
12767         * gst/gstiterator.c: (find_custom_fold_func):
12768         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12769         (gst_pad_collectv), (gst_pad_collect_valist),
12770         (gst_pad_template_new):
12771         * gst/gstpipeline.c: (gst_pipeline_class_init),
12772         (gst_pipeline_dispose), (gst_pipeline_set_property),
12773         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
12774         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
12775         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
12776         * gst/gstutils.h:
12777         * gst/schedulers/entryscheduler.c:
12778         * gst/schedulers/gstbasicscheduler.c:
12779         (gst_basic_scheduler_cothreaded_chain),
12780         (gst_basic_scheduler_chain_add_element):
12781         * testsuite/bins/interface.c: (main):
12782         Added GstBin test.
12783         Added GstSystemClock test.
12784         Implemented clock distribution code in GstBin.
12785         Implemented iterate sinks method for future use.
12786         Rearranged gstelement.h
12787         Fix GstIterator comparison bug.
12788         Moved some code to GstPipeline, mostly clocking related.
12789
12790 2005-03-09  Wim Taymans  <wim@fluendo.com>
12791
12792         * configure.ac:
12793         * gst/gst_private.h:
12794         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12795         (gst_bin_remove_func), (gst_bin_remove),
12796         (gst_bin_get_by_name_recurse_up):
12797         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
12798         (gst_clock_id_compare_func), (gst_clock_id_wait),
12799         (gst_clock_id_wait_async), (gst_clock_init),
12800         (gst_clock_adjust_unlocked), (gst_clock_get_time):
12801         * gst/gstelement.h:
12802         * gst/gstinfo.c: (_gst_debug_init):
12803         * gst/gstobject.h:
12804         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12805         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
12806         * gst/gstpad.h:
12807         Bump version number, we're now 0.9.0
12808         Add future debugging category.
12809         Fix NULL _unref() in _get_by_name_recurse_up
12810         Rearrange gstpad.h.
12811         Update some docs.
12812
12813 2005-03-08  Wim Taymans  <wim@fluendo.com>
12814
12815         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
12816         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
12817         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
12818         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
12819         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
12820         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
12821         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
12822         * gst/elements/gstidentity.c: (gst_identity_class_init):
12823         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
12824         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12825         * gst/elements/gstshaper.c: (gst_shaper_class_init):
12826         * gst/elements/gststatistics.c: (gst_statistics_class_init):
12827         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
12828         (gst_tee_link):
12829         * gst/gstelement.c: (gst_element_class_init),
12830         (gst_element_base_class_init), (gst_element_init),
12831         (gst_element_get_random_pad), (gst_element_wait_state_change),
12832         (gst_element_change_state), (gst_element_dispose),
12833         (gst_element_finalize), (gst_element_set_loop_function):
12834         * gst/gstelement.h:
12835         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
12836         * gst/gstthread.c: (gst_thread_class_init),
12837         (gst_thread_release_children_locks), (gst_thread_change_state):
12838         * gst/schedulers/gstbasicscheduler.c:
12839         (gst_basic_scheduler_loopfunc_wrapper),
12840         (gst_basic_scheduler_chain_wrapper),
12841         (gst_basic_scheduler_src_wrapper),
12842         (gst_basic_scheduler_remove_element):
12843         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
12844         Remove threadsafe properties. Fix elements because GObject
12845         complains when installing a property before declaring a
12846         set/get_property handler.
12847         Rearrange gstelement.h file, use STATE macros for state locks.
12848         Free mutexes in the finalize method instead of dispose.
12849
12850 2005-03-08  Wim Taymans  <wim@fluendo.com>
12851
12852         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12853         * gst/gstthread.c: (gst_thread_release_children_locks):
12854         Added parentage check.
12855         Fix build og GstThread again.
12856
12857 2005-03-08  Wim Taymans  <wim@fluendo.com>
12858
12859         * docs/design/part-MT-refcounting.txt:
12860         * docs/design/part-conventions.txt:
12861         * docs/design/part-gstobject.txt:
12862         * docs/design/part-relations.txt:
12863         * docs/design/part-standards.txt:
12864         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12865         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
12866         (gst_bin_get_by_name), (gst_bin_get_by_interface),
12867         (gst_bin_iterate_all_by_interface):
12868         * gst/gstbuffer.h:
12869         * gst/gstclock.h:
12870         * gst/gstelement.c: (gst_element_class_init),
12871         (gst_element_change_state), (gst_element_set_loop_function):
12872         * gst/gstelement.h:
12873         * gst/gstiterator.c:
12874         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
12875         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
12876         (gst_object_dispatch_properties_changed), (gst_object_set_name),
12877         (gst_object_set_parent), (gst_object_unparent),
12878         (gst_object_check_uniqueness):
12879         * gst/gstobject.h:
12880         Docs updates, clean up some headers.
12881
12882 2005-03-07  Wim Taymans  <wim@fluendo.com>
12883
12884         * check/.cvsignore:
12885         * check/Makefile.am:
12886         * check/gst-libs/.cvsignore:
12887         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
12888         * check/gst/.cvsignore:
12889         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
12890         (START_TEST), (gstbus_suite), (main):
12891         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
12892         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
12893         (gst_data_suite), (main):
12894         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
12895         (add_fold_func), (gstiterator_suite), (main):
12896         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
12897         (thread_name_object), (thread_name_object_default),
12898         (gst_object_name_compare), (gst_object_suite), (main):
12899         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
12900         (gst_pad_suite), (main):
12901         * check/gstcheck.c: (gst_check_log_message_func),
12902         (gst_check_log_critical_func), (gst_check_init):
12903         * check/gstcheck.h:
12904         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
12905         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
12906         Added checks.
12907
12908 2005-03-07  Wim Taymans  <wim@fluendo.com>
12909
12910         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
12911         (gst_list_iterator_next), (gst_list_iterator_resync),
12912         (gst_list_iterator_free), (gst_iterator_new_list),
12913         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
12914         (gst_iterator_free), (gst_iterator_push), (filter_next),
12915         (filter_resync), (filter_uninit), (filter_free),
12916         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
12917         (gst_iterator_foreach), (find_custom_fold_func),
12918         (gst_iterator_find_custom):
12919         * gst/gstiterator.h:
12920         Added missing files.
12921
12922 2005-03-07  Wim Taymans  <wim@fluendo.com>
12923
12924         * Makefile.am:
12925         * configure.ac:
12926         * docs/design/part-MT-refcounting.txt:
12927         * docs/design/part-conventions.txt:
12928         * docs/design/part-gstobject.txt:
12929         * docs/design/part-relations.txt:
12930         * examples/mixer/mixer.c: (main):
12931         * examples/thread/thread.c: (eos), (main):
12932         * gst/Makefile.am:
12933         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
12934         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
12935         (gst_spider_plug_from_srcpad):
12936         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
12937         (gst_spider_identity_change_state),
12938         (gst_spider_identity_sink_loop_type_finding):
12939         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
12940         * gst/elements/gstidentity.c: (gst_identity_init):
12941         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
12942         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
12943         * gst/elements/gsttypefindelement.c: (free_entry):
12944         * gst/gst.c:
12945         * gst/gst.h:
12946         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
12947         (gst_bin_set_clock_func), (gst_bin_auto_clock),
12948         (gst_bin_set_index), (gst_bin_set_element_sched),
12949         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
12950         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
12951         (gst_bin_iterate_elements), (iterate_child_recurse),
12952         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
12953         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
12954         (compare_interface), (gst_bin_get_by_interface),
12955         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
12956         * gst/gstbin.h:
12957         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
12958         (gst_buffer_default_free), (gst_buffer_default_copy),
12959         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
12960         (gst_buffer_create_sub):
12961         * gst/gstbuffer.h:
12962         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
12963         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
12964         (gst_caps_unref), (gst_static_caps_get),
12965         (gst_caps_remove_and_get_structure), (gst_caps_append),
12966         (gst_caps_append_structure), (gst_caps_remove_structure),
12967         (gst_caps_copy_nth), (gst_caps_set_simple),
12968         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
12969         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
12970         (gst_caps_structure_intersect_field), (gst_caps_intersect),
12971         (gst_caps_structure_subtract_field), (gst_caps_subtract),
12972         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
12973         (gst_caps_structure_figure_out_union),
12974         (gst_caps_switch_structures), (gst_caps_do_simplify),
12975         (gst_caps_replace), (gst_caps_from_string),
12976         (gst_caps_copy_conditional):
12977         * gst/gstcaps.h:
12978         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
12979         (_gst_clock_id_free), (gst_clock_id_unref),
12980         (gst_clock_id_compare_func), (gst_clock_id_wait),
12981         (gst_clock_id_wait_async), (gst_clock_class_init),
12982         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
12983         (gst_clock_get_time), (gst_clock_set_time_adjust),
12984         (gst_clock_set_property), (gst_clock_get_property):
12985         * gst/gstclock.h:
12986         * gst/gstcompat.h:
12987         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
12988         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
12989         * gst/gstdata.h:
12990         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12991         (gst_element_requires_clock), (gst_element_provides_clock),
12992         (gst_element_set_clock), (gst_element_clock_wait),
12993         (gst_element_wait), (gst_element_set_time_delay),
12994         (gst_element_is_indexable), (gst_element_add_pad),
12995         (gst_element_add_ghost_pad), (gst_element_remove_pad),
12996         (pad_compare_name), (gst_element_get_static_pad),
12997         (gst_element_request_pad), (gst_element_get_request_pad),
12998         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
12999         (gst_element_class_get_pad_template_list),
13000         (gst_element_class_get_pad_template), (gst_element_error_func),
13001         (gst_element_get_random_pad), (gst_element_get_event_masks),
13002         (gst_element_send_event), (gst_element_seek),
13003         (gst_element_get_query_types), (gst_element_query),
13004         (gst_element_get_formats), (gst_element_convert),
13005         (gst_element_is_locked_state), (gst_element_set_locked_state),
13006         (gst_element_sync_state_with_parent), (gst_element_change_state),
13007         (gst_element_finalize), (gst_element_yield),
13008         (gst_element_interrupt), (gst_element_set_scheduler),
13009         (gst_element_get_scheduler), (gst_element_set_loop_function):
13010         * gst/gstelement.h:
13011         * gst/gstevent.h:
13012         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
13013         (gst_format_get_by_nick), (gst_format_get_details),
13014         (gst_format_iterate_definitions):
13015         * gst/gstformat.h:
13016         * gst/gstindex.c: (gst_index_gtype_resolver):
13017         * gst/gstinfo.c:
13018         * gst/gstinfo.h:
13019         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
13020         (gst_mem_chunk_free):
13021         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
13022         (gst_object_ref), (gst_object_unref), (gst_object_sink),
13023         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
13024         (gst_object_dispatch_properties_changed),
13025         (gst_object_set_name_default), (gst_object_set_name),
13026         (gst_object_get_name), (gst_object_set_name_prefix),
13027         (gst_object_get_name_prefix), (gst_object_set_parent),
13028         (gst_object_get_parent), (gst_object_unparent),
13029         (gst_object_check_uniqueness), (gst_object_save_thyself),
13030         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
13031         (gst_object_set_property), (gst_object_get_property),
13032         (gst_object_get_path_string):
13033         * gst/gstobject.h:
13034         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13035         (gst_real_pad_init), (gst_real_pad_get_property),
13036         (gst_pad_custom_new), (gst_pad_get_direction),
13037         (gst_pad_set_active), (gst_pad_is_active),
13038         (gst_pad_set_event_function), (gst_pad_is_linked),
13039         (gst_pad_link_free), (gst_pad_link_intersect),
13040         (gst_pad_link_fixate), (gst_pad_set_caps),
13041         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
13042         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
13043         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
13044         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
13045         (gst_pad_get_caps), (gst_pad_peer_get_caps),
13046         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
13047         (gst_pad_realize), (gst_pad_get_allowed_caps),
13048         (gst_real_pad_dispose), (gst_real_pad_finalize),
13049         (gst_pad_collectv), (gst_pad_collect_valist),
13050         (gst_pad_template_dispose), (gst_pad_template_new),
13051         (gst_pad_get_internal_links):
13052         * gst/gstpad.h:
13053         * gst/gstpipeline.c: (gst_pipeline_dispose),
13054         (gst_pipeline_change_state):
13055         * gst/gstpipeline.h:
13056         * gst/gstplugin.c:
13057         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
13058         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
13059         * gst/gstpluginfeature.h:
13060         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
13061         * gst/gstquery.c: (_gst_query_type_initialize),
13062         (gst_query_type_register), (gst_query_type_get_by_nick),
13063         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
13064         * gst/gstquery.h:
13065         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
13066         * gst/gstscheduler.c: (gst_scheduler_add_element),
13067         (gst_scheduler_factory_create):
13068         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13069         (gst_structure_free), (gst_structure_set_name),
13070         (gst_structure_id_set_value), (gst_structure_set_value),
13071         (gst_structure_set_valist), (gst_structure_remove_field),
13072         (gst_structure_remove_fields),
13073         (gst_structure_remove_fields_valist),
13074         (gst_structure_remove_all_fields), (gst_structure_foreach),
13075         (gst_structure_map_in_place),
13076         (gst_caps_structure_fixate_field_nearest_int),
13077         (gst_caps_structure_fixate_field_nearest_double):
13078         * gst/gststructure.h:
13079         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13080         (gst_system_clock_init), (gst_system_clock_dispose),
13081         (gst_system_clock_async_thread),
13082         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
13083         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
13084         * gst/gstsystemclock.h:
13085         * gst/gsttag.c: (gst_tag_list_add_value_internal),
13086         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
13087         * gst/gsttaginterface.c:
13088         * gst/gstthread.c: (gst_thread_dispose),
13089         (gst_thread_release_children_locks), (gst_thread_change_state),
13090         (gst_thread_main_loop):
13091         * gst/gsttrashstack.h:
13092         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
13093         * gst/gsttypes.h:
13094         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13095         (gst_element_request_pad), (gst_element_get_pad_from_template),
13096         (gst_element_request_compatible_pad),
13097         (gst_element_get_compatible_pad_filtered),
13098         (gst_element_get_compatible_pad), (gst_element_state_get_name),
13099         (gst_element_link_pads_filtered), (gst_element_link_filtered),
13100         (gst_element_link_many), (gst_element_link),
13101         (gst_element_link_pads), (gst_element_unlink_pads),
13102         (gst_element_unlink_many), (gst_element_unlink),
13103         (gst_pad_can_link_filtered), (gst_pad_can_link),
13104         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
13105         (gst_object_default_error), (gst_bin_add_many),
13106         (gst_bin_remove_many), (gst_element_populate_std_props),
13107         (gst_element_class_install_std_props), (gst_buffer_merge),
13108         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
13109         (link_fold_func), (gst_pad_proxy_setcaps):
13110         * gst/gstutils.h:
13111         * gst/gstvalue.c: (gst_value_deserialize_string):
13112         * gst/parse/grammar.y:
13113         * gst/schedulers/gstbasicscheduler.c:
13114         (gst_basic_scheduler_cothreaded_chain),
13115         (gst_basic_scheduler_chain_recursive_add),
13116         (gst_basic_scheduler_pad_link):
13117         * gst/schedulers/gstoptimalscheduler.c:
13118         (get_group_schedule_function),
13119         (gst_opt_scheduler_state_transition),
13120         (gst_opt_scheduler_add_element), (element_get_reachables_func):
13121         * libs/gst/bytestream/bytestream.c:
13122         * libs/gst/dataprotocol/dataprotocol.c:
13123         (gst_dp_header_from_buffer):
13124         * po/nb.po:
13125         * po/ru.po:
13126         * tests/threadstate/threadstate2.c: (eos):
13127         * tools/gst-compprep.c: (main):
13128         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
13129         (print_pad_info), (print_children_info):
13130         * tools/gst-launch.c: (idle_func), (main):
13131         * tools/gst-md5sum.c: (idle_func), (main):
13132         * tools/gst-xmlinspect.c: (print_element_info):
13133         First THREADED backport attempt, focusing on adding locks and
13134         making sure the API is threadsafe. Needs more work. More docs
13135         follow this week.
13136
13137 2005-02-24  Andy Wingo  <wingo@pobox.com>
13138
13139         * tests/bench-complexity.scm:
13140         * tests/complexity.gnuplot: New files, good for running complexity
13141         benchmarks.
13142
13143         * tests/Makefile.am:
13144         * tests/complexity.c: New test, sets up N elements, at each level
13145         teeing into M streams per element. Eeeenteresting.
13146
13147         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
13148         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
13149         running bench-mass_elements.scm.
13150
13151         * tests/bench-mass_elements.scm: New script, runs mass_elements
13152         for various numbers of identities, outputting the results to a
13153         file. Requires guile 1.6. Just for testing.
13154
13155 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13156
13157         * gst/schedulers/fairscheduler.c:
13158           compile with debug disabled
13159
13160 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13161
13162         * configure.ac:
13163           hunting season on 0.9 is now OPEN