po/: added Chinese (Traditional) translation
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
2
3         submitted by: Funda Wang <fundawang@linux.net.cn>
4
5         * po/LINGUAS:
6         * po/zh_CN.po:
7           added Chinese (Traditional) translation
8
9 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10
11         * docs/gst/gstreamer-sections.txt:
12         * docs/libs/tmpl/gstdataprotocol.sgml:
13         * docs/random/thomasvs/TODO:
14         * gst/gstutils.c:
15         * gst/gstutils.h:
16           fix docs
17
18 2005-12-05  Andy Wingo  <wingo@pobox.com>
19
20         patch by: Wim Taymans <wim@fluendo.com>
21
22         * libs/gst/base/gstbasetransform.c
23         (gst_base_transform_prepare_output_buf)
24         (gst_base_transform_buffer_alloc):
25         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
26         alloc_buffer_and_set_caps.
27
28         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
29         set_caps on the source pad.
30         (gst_pad_alloc_buffer_and_set_caps): New function, does what
31         alloc_buffer used to do. Fixes #322874.
32
33         * docs/gst/gstreamer-sections.txt: 
34         * docs/design/part-negotiation.txt: 
35         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
36         changes.
37
38 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
39
40         patch by: Sebastien Moutte
41
42         * win32/MANIFEST:
43         * win32/common/config.h.in:
44         * win32/vs6/libgstcontroller.dsp:
45           win32 build fixes
46
47 2005-12-05  Wim Taymans  <wim@fluendo.com>
48
49         * gst/gstcaps.c: (gst_caps_is_equal):
50         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
51         (gst_fake_src_create):
52         Back out previous code changes, leave doc updates, file bugs 
53         instead. 
54
55 2005-12-05  Wim Taymans  <wim@fluendo.com>
56
57         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
58         (gst_fake_src_get_times), (gst_fake_src_create):
59         * plugins/elements/gstfakesrc.h:
60         Fix broken sync code.
61
62 2005-12-05  Wim Taymans  <wim@fluendo.com>
63
64         * gst/gstcaps.c: (gst_caps_is_equal):
65         Comparing NULL against !NULL yields different caps, not a
66         failure.
67
68 2005-12-05  Wim Taymans  <wim@fluendo.com>
69
70         * gst/gstpipeline.c:
71         Fix small typo in docs.
72
73 2005-12-05  Andy Wingo  <wingo@pobox.com>
74
75         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
76
77         * gst/gst.c (init_post): remove hard-coded 0.9 location for
78         registries/plugins with a MAJORMINOR one.
79         (plugin_desc): Rename library from gstcoreleements to
80         staticelements. Fixes #323222.
81
82 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
83
84         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
85           Change debug category to 'collectpads' from 'collect_pads'
86           (fixes #323250).
87
88 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
89
90         patch by: Sebastien Moutte
91
92         * libs/gst/controller/gstinterpolation.c:
93           use convert function for uint64/double
94         * win32/vs6/libgstcontroller.dsp:
95           link to GLib
96
97 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
98
99         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
100         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
101         * gst/gstutils.h:
102         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
103           add tests that seem to show that the guint64/gdouble conversions
104           are correct.
105
106 2005-12-02  Wim Taymans  <wim@fluendo.com>
107
108         * gst/gstregistry.c: (gst_registry_add_path):
109         * gst/gstregistry.h:
110         * gst/gstregistryxml.c:
111         Fix docs again.
112
113 2005-12-02  Wim Taymans  <wim@fluendo.com>
114
115         * gst/gstutils.c: (gst_util_uint64_scale_int64),
116         (gst_util_uint64_scale_int):
117         Small cleanup.
118
119         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
120         Add debug log line.
121
122         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
123         Add FIXME.
124
125 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
126
127         * win32/MANIFEST:
128         * win32/common/config.h:
129         * win32/vs6/gstreamer.dsw:
130         * win32/vs6/libgstcoreelements.dsp:
131         * win32/vs6/libgstelements.dsp:
132           renamed core elements plugin
133
134 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
135
136         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
137         (get_candidates):
138           do piece-wise major/minor comparison so 0.9 < 0.10
139           also allow .exe extensions for tools
140
141 2005-12-02  Michael Smith  <msmith@fluendo.com>
142
143         * gst/gst.c:
144           Escape a % to make gtkdoc happier; bug 322958.
145
146 === release 0.9.7 ===
147
148 2005-12-01   <thomas (at) apestaart (dot) org>
149
150         * configure.ac:
151           releasing 0.9.7, "My Dog Has No Nose"
152
153 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
154
155         * common/gst-xmlinspect.py:
156         * configure.ac:
157         * docs/libs/tmpl/gstdataprotocol.sgml:
158         * docs/random/release:
159         * po/af.po:
160         * po/az.po:
161         * po/bg.po:
162         * po/ca.po:
163         * po/cs.po:
164         * po/de.po:
165         * po/en_GB.po:
166         * po/fr.po:
167         * po/it.po:
168         * po/nb.po:
169         * po/nl.po:
170         * po/ru.po:
171         * po/sq.po:
172         * po/sr.po:
173         * po/sv.po:
174         * po/tr.po:
175         * po/uk.po:
176         * po/vi.po:
177         * win32/common/config.h:
178         * win32/common/config.h.in:
179         * win32/vs6/gst_inspect.dsp:
180         * win32/vs6/gst_launch.dsp:
181         * win32/vs6/libgstbase.dsp:
182         * win32/vs6/libgstelements.dsp:
183         * win32/vs6/libgstreamer.dsp:
184         * win32/vs7/GStreamer.vcproj:
185         * win32/vs7/gst-inspect.vcproj:
186         * win32/vs7/gst-launch.vcproj:
187         * win32/vs7/libgstbase.vcproj:
188           bump GST_MAJORMINOR to 0.10
189           reset libtool version
190
191 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
192
193         * po/LINGUAS:
194         * po/bg.po:
195           Added Bulgarian translation by (Alexander Shopov)
196
197 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
198
199         * tests/check/gst/gstplugin.c:
200           fix test
201
202 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
203
204         * common/gst-xmlinspect.py:
205         * common/gtk-doc-plugins.mak:
206         * configure.ac:
207         * docs/Makefile.am:
208         * docs/gst/Makefile.am:
209         * docs/gst/gstreamer-docs.sgml:
210         * docs/gst/gstreamer-sections.txt:
211         * docs/gst/gstreamer.types:
212         * docs/gst/gstreamer.types.in:
213         * docs/plugins/Makefile.am:
214         * docs/plugins/gstreamer-plugins-docs.sgml:
215         * docs/plugins/gstreamer-plugins-sections.txt:
216         * docs/plugins/gstreamer-plugins.types:
217         * docs/plugins/inspect.stamp:
218         * docs/plugins/inspect/plugin-coreelements.xml:
219         * docs/plugins/inspect/plugin-coreindexers.xml:
220         * docs/plugins/scanobj-build.stamp:
221         * gstreamer.spec.in:
222         * plugins/elements/Makefile.am:
223         * plugins/elements/gstelements.c:
224         * plugins/elements/gstfakesink.c:
225         * plugins/elements/gstfakesrc.c:
226         * plugins/elements/gstfilesink.c:
227         * plugins/elements/gstfilesrc.c:
228         * plugins/elements/gstqueue.c:
229         * plugins/indexers/Makefile.am:
230         * plugins/indexers/gstindexers.c:
231           document core plugins in a separate document just like all the
232           others
233           rename these plugins to something starting with core
234
235 2005-12-01  Andy Wingo  <wingo@pobox.com>
236
237         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
238         padding here before, but it missed the commit.
239
240 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
241
242         * libs/gst/controller/gstinterpolation.c:
243           whitespace prices have crashed, we should feel free to use some now
244           use gst_guint64_to_gdouble
245
246 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
247
248         * libs/gst/controller/gstcontroller.c:
249         * libs/gst/controller/gsthelper.c:
250         * libs/gst/controller/gstinterpolation.c:
251         * libs/gst/controller/lib.c:
252           wrap config.h include
253
254 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
255
256         * docs/gst/gstreamer-sections.txt:
257           update docs
258
259 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
260
261         * plugins/elements/gstelements.c:
262         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
263         (gst_fd_sink__class_init), (gst_fd_sink__init),
264         (gst_fd_sink__chain), (gst_fd_sink__set_property),
265         (gst_fd_sink__get_property):
266         * plugins/elements/gstfdsink.h:
267         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
268         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
269         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
270         (gst_fd_src_unlock), (gst_fd_src_set_property),
271         (gst_fd_src_get_property), (gst_fd_src_create),
272         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
273         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
274         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
275         (gst_fd_src_uri_handler_init):
276         * plugins/elements/gstfdsrc.h:
277         * plugins/elements/gstqueue.c: (gst_queue_get_type):
278           more anal cleanup
279
280 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
281
282         * docs/gst/Makefile.am:
283         * docs/gst/gstreamer.types.in:
284         * gst/Makefile.am:
285           fix the docs build
286
287 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
288
289         * configure.ac:
290         * gst/Makefile.am:
291         * gst/gst.c:
292         * gst/gstplugin.h:
293         * gst/gstregistry.h:
294         * tests/benchmarks/complexity.c:
295         * tests/benchmarks/mass-elements.c:
296         * tests/check/Makefile.am:
297         * tools/Makefile.am:
298         * tools/gst-inspect.c:
299         * tools/gst-xmlinspect.c:
300           various fixes to make
301           --disable-nls --disable-registry --disable-loadsave
302           --disable-parse --disable-gst-debug
303           work and get the core .so down to 360444 bytes after stripping
304
305 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
306
307         * Makefile.am:
308         * configure.ac:
309           descend into tests
310         * docs/random/thomasvs/TODO:
311         * tests/Makefile.am:
312         * tests/README:
313           add a README
314
315 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
316
317         * win32/GStreamer.vcproj:
318         * win32/MANIFEST:
319         * win32/Makefile:
320         * win32/Makefile.inspect:
321         * win32/Makefile.launch:
322         * win32/Makefile.register:
323         * win32/README.txt:
324         * win32/gst-inspect.vcproj:
325         * win32/gst-launch.vcproj:
326         * win32/gst-register.vcproj:
327         * win32/gstelements.vcproj:
328         * win32/gstgetbits.def:
329         * win32/gstgetbits.vcproj:
330         * win32/gstreamer-dbg.def:
331         * win32/gstreamer.def:
332         * win32/libgstbase.def:
333         * win32/libgstbase.vcproj:
334         * win32/link_oldruntime.c:
335         * win32/mman.c:
336         * win32/mman.h:
337         * win32/mman.inl:
338         * win32/msvc71.sln:
339           move even more stuff, win32/ is nice and clean now
340
341 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
342
343         * libs/gst/control/.cvsignore:
344         * win32/MANIFEST:
345         * win32/config.h:
346         * win32/dirent.c:
347         * win32/dirent.h:
348         * win32/gstbytestream.def:
349         * win32/gstbytestream.vcproj:
350         * win32/gstconfig.h:
351         * win32/gstenumtypes.c:
352         * win32/gstenumtypes.h:
353         * win32/gstoptimalscheduler.vcproj:
354         * win32/gstversion.h:
355         * win32/gtchar.h:
356         * win32/testsuite/bins.vcproj:
357         * win32/testsuite/bytestream.vcproj:
358         * win32/testsuite/caps.vcproj:
359         * win32/testsuite/cleanup.vcproj:
360         * win32/testsuite/clock.vcproj:
361         * win32/testsuite/debug.vcproj:
362         * win32/testsuite/dlopen.vcproj:
363         * win32/testsuite/dynparams.vcproj:
364         * win32/testsuite/elements.vcproj:
365         * win32/testsuite/ghostpads.vcproj:
366         * win32/testsuite/indexers.vcproj:
367         * win32/testsuite/negotiation.vcproj:
368         * win32/testsuite/parse.vcproj:
369         * win32/testsuite/plugin.vcproj:
370         * win32/testsuite/refcounting.vcproj:
371         * win32/testsuite/schedulers.vcproj:
372         * win32/testsuite/states.vcproj:
373         * win32/testsuite/tags.vcproj:
374         * win32/testsuite/threads.vcproj:
375           remove old win32 stuff that isn't maintained and should be
376           reorganized
377
378 2005-11-30  Andy Wingo  <wingo@pobox.com>
379
380         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
381         loading the gst.interfaces python module bork.
382
383         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
384         available since GLib 2.2. Fixes #318031.
385
386 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
387
388         * Makefile.am:
389         * check/.cvsignore:
390         * check/Makefile.am:
391         * check/elements/.cvsignore:
392         * check/elements/fakesrc.c:
393         * check/elements/fdsrc.c:
394         * check/elements/identity.c:
395         * check/generic/.cvsignore:
396         * check/generic/states.c:
397         * check/gst-libs/.cvsignore:
398         * check/gst-libs/controller.c:
399         * check/gst-libs/gdp.c:
400         * check/gst/.cvsignore:
401         * check/gst/capslist.h:
402         * check/gst/gst.c:
403         * check/gst/gstbin.c:
404         * check/gst/gstbuffer.c:
405         * check/gst/gstbus.c:
406         * check/gst/gstcaps.c:
407         * check/gst/gstelement.c:
408         * check/gst/gstevent.c:
409         * check/gst/gstghostpad.c:
410         * check/gst/gstiterator.c:
411         * check/gst/gstmessage.c:
412         * check/gst/gstminiobject.c:
413         * check/gst/gstobject.c:
414         * check/gst/gstpad.c:
415         * check/gst/gstpipeline.c:
416         * check/gst/gstplugin.c:
417         * check/gst/gstsegment.c:
418         * check/gst/gststructure.c:
419         * check/gst/gstsystemclock.c:
420         * check/gst/gsttag.c:
421         * check/gst/gstutils.c:
422         * check/gst/gstvalue.c:
423         * check/net/.cvsignore:
424         * check/net/gstnetclientclock.c:
425         * check/net/gstnettimeprovider.c:
426         * check/pipelines/.cvsignore:
427         * check/pipelines/cleanup.c:
428         * check/pipelines/simple_launch_lines.c:
429         * check/pipelines/stress.c:
430         * check/states/.cvsignore:
431         * check/states/sinks.c:
432         * configure.ac:
433         * examples/Makefile.am:
434         * examples/appreader/.cvsignore:
435         * examples/appreader/Makefile.am:
436         * examples/appreader/appreader.c:
437         * examples/controller/.cvsignore:
438         * examples/controller/Makefile.am:
439         * examples/controller/audio-example.c:
440         * examples/cutter/.cvsignore:
441         * examples/cutter/Makefile.am:
442         * examples/cutter/cutter.c:
443         * examples/cutter/cutter.h:
444         * examples/events/Makefile.am:
445         * examples/events/seek.c:
446         * examples/helloworld/.cvsignore:
447         * examples/helloworld/Makefile.am:
448         * examples/helloworld/helloworld.c:
449         * examples/helloworld2/.cvsignore:
450         * examples/helloworld2/Makefile.am:
451         * examples/helloworld2/helloworld2.c:
452         * examples/launch/.cvsignore:
453         * examples/launch/Makefile.am:
454         * examples/launch/mp3parselaunch.c:
455         * examples/launch/mp3play:
456         * examples/manual/.cvsignore:
457         * examples/manual/Makefile.am:
458         * examples/manual/extract.pl:
459         * examples/metadata/Makefile.am:
460         * examples/metadata/read-metadata.c:
461         * examples/mixer/.cvsignore:
462         * examples/mixer/Makefile.am:
463         * examples/mixer/mixer.c:
464         * examples/mixer/mixer.h:
465         * examples/pingpong/.cvsignore:
466         * examples/pingpong/Makefile.am:
467         * examples/pingpong/pingpong.c:
468         * examples/plugins/.cvsignore:
469         * examples/plugins/Makefile.am:
470         * examples/plugins/example.c:
471         * examples/plugins/example.h:
472         * examples/pwg/.cvsignore:
473         * examples/pwg/Makefile.am:
474         * examples/pwg/extract.pl:
475         * examples/queue/.cvsignore:
476         * examples/queue/Makefile.am:
477         * examples/queue/queue.c:
478         * examples/queue2/.cvsignore:
479         * examples/queue2/Makefile.am:
480         * examples/queue2/queue2.c:
481         * examples/queue3/.cvsignore:
482         * examples/queue3/Makefile.am:
483         * examples/queue3/queue3.c:
484         * examples/queue4/.cvsignore:
485         * examples/queue4/Makefile.am:
486         * examples/queue4/queue4.c:
487         * examples/retag/.cvsignore:
488         * examples/retag/Makefile.am:
489         * examples/retag/retag.c:
490         * examples/retag/transcode.c:
491         * examples/thread/.cvsignore:
492         * examples/thread/Makefile.am:
493         * examples/thread/thread.c:
494         * examples/typefind/.cvsignore:
495         * examples/typefind/Makefile.am:
496         * examples/typefind/typefind.c:
497         * examples/xml/.cvsignore:
498         * examples/xml/Makefile.am:
499         * examples/xml/createxml.c:
500         * examples/xml/runxml.c:
501         * tests/Makefile.am:
502         * tests/check/Makefile.am:
503         * testsuite/.cvsignore:
504         * testsuite/Makefile.am:
505         * testsuite/Rules:
506         * testsuite/caps/.cvsignore:
507         * testsuite/caps/Makefile.am:
508         * testsuite/caps/app_fixate.c:
509         * testsuite/caps/audioscale.c:
510         * testsuite/caps/caps.c:
511         * testsuite/caps/caps.h:
512         * testsuite/caps/caps_strings:
513         * testsuite/caps/compatibility.c:
514         * testsuite/caps/deserialize.c:
515         * testsuite/caps/enumcaps.c:
516         * testsuite/caps/eratosthenes.c:
517         * testsuite/caps/filtercaps.c:
518         * testsuite/caps/fixed.c:
519         * testsuite/caps/fraction-convert.c:
520         * testsuite/caps/fraction-multiply-and-zero.c:
521         * testsuite/caps/intersect2.c:
522         * testsuite/caps/intersection.c:
523         * testsuite/caps/normalisation.c:
524         * testsuite/caps/random.c:
525         * testsuite/caps/renegotiate.c:
526         * testsuite/caps/sets.c:
527         * testsuite/caps/simplify.c:
528         * testsuite/caps/string-conversions.c:
529         * testsuite/caps/structure.c:
530         * testsuite/caps/subtract.c:
531         * testsuite/caps/union.c:
532         * testsuite/debug/.cvsignore:
533         * testsuite/debug/Makefile.am:
534         * testsuite/debug/category.c:
535         * testsuite/debug/commandline.c:
536         * testsuite/debug/global.c:
537         * testsuite/debug/output.c:
538         * testsuite/debug/printf_extension.c:
539         * testsuite/dlopen/.cvsignore:
540         * testsuite/dlopen/Makefile.am:
541         * testsuite/dlopen/dlopen_gst.c:
542         * testsuite/dlopen/loadgst.c:
543         * testsuite/elements/.cvsignore:
544         * testsuite/elements/Makefile.am:
545         * testsuite/elements/gst-inspect-check.in:
546         * testsuite/elements/struct_i386.h:
547         * testsuite/elements/struct_size.c:
548         * testsuite/indexers/.cvsignore:
549         * testsuite/indexers/Makefile.am:
550         * testsuite/indexers/cache1.c:
551         * testsuite/indexers/indexdump.c:
552         * testsuite/parse/.cvsignore:
553         * testsuite/parse/Makefile.am:
554         * testsuite/parse/parse1.c:
555         * testsuite/parse/parse2.c:
556         * testsuite/plugin/.cvsignore:
557         * testsuite/plugin/Makefile.am:
558         * testsuite/plugin/README:
559         * testsuite/plugin/dynamic.c:
560         * testsuite/plugin/linked.c:
561         * testsuite/plugin/loading.c:
562         * testsuite/plugin/registry.c:
563         * testsuite/plugin/static.c:
564         * testsuite/plugin/static2.c:
565         * testsuite/plugin/testplugin.c:
566         * testsuite/plugin/testplugin2.c:
567         * testsuite/plugin/testplugin2_s.c:
568         * testsuite/plugin/testplugin_s.c:
569         * testsuite/refcounting/.cvsignore:
570         * testsuite/refcounting/Makefile.am:
571         * testsuite/refcounting/bin.c:
572         * testsuite/refcounting/element.c:
573         * testsuite/refcounting/element_pad.c:
574         * testsuite/refcounting/mainloop.c:
575         * testsuite/refcounting/mem.c:
576         * testsuite/refcounting/mem.h:
577         * testsuite/refcounting/object.c:
578         * testsuite/refcounting/pad.c:
579         * testsuite/refcounting/sched.c:
580         * testsuite/refcounting/thread.c:
581         * testsuite/states/.cvsignore:
582         * testsuite/states/Makefile.am:
583         * testsuite/states/bin.c:
584         * testsuite/states/locked.c:
585         * testsuite/states/parent.c:
586         * testsuite/threads/.cvsignore:
587         * testsuite/threads/159566.c:
588         * testsuite/threads/159852.c:
589         * testsuite/threads/Makefile.am:
590         * testsuite/threads/queue.c:
591         * testsuite/threads/signals.c:
592         * testsuite/threads/staticrec.c:
593         * testsuite/threads/thread.c:
594         * testsuite/threads/threadb.c:
595         * testsuite/threads/threadc.c:
596         * testsuite/threads/threadd.c:
597         * testsuite/threads/threade.c:
598         * testsuite/threads/threadf.c:
599         * testsuite/threads/threadg.c:
600         * testsuite/threads/threadh.c:
601         * testsuite/threads/threadi.c:
602           move all of these under tests
603
604 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
605
606         * configure.ac:
607         * tests/Makefile.am:
608           fix distcheck
609
610 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
611
612         * docs/gst/gstreamer-sections.txt:
613         * tests/sched/.cvsignore:
614         * tests/sched/Makefile.am:
615         * tests/sched/cases/(fs-fs).xml:
616         * tests/sched/cases/(fs-i-fs).xml:
617         * tests/sched/cases/(fs-i-i-fs).xml:
618         * tests/sched/cases/(fs-i-q[i-fs]).xml:
619         * tests/sched/dynamic-pipeline.c:
620         * tests/sched/interrupt1.c:
621         * tests/sched/interrupt2.c:
622         * tests/sched/interrupt3.c:
623         * tests/sched/runtestcases:
624         * tests/sched/runxml.c:
625         * tests/sched/sched-stress.c:
626         * tests/sched/sort.c:
627         * tests/sched/testcases:
628         * tests/sched/testcases1.tc:
629         * tests/seeking/.cvsignore:
630         * tests/seeking/Makefile.am:
631         * tests/seeking/seeking1.c:
632         * tests/threadstate/.cvsignore:
633         * tests/threadstate/Makefile.am:
634         * tests/threadstate/test1.c:
635         * tests/threadstate/test2.c:
636         * tests/threadstate/threadstate1.c:
637         * tests/threadstate/threadstate2.c:
638         * tests/threadstate/threadstate3.c:
639         * tests/threadstate/threadstate4.c:
640         * tests/threadstate/threadstate5.c:
641           remove obsolete tests
642         * configure.ac:
643         * tests/bench-complexity.scm:
644         * tests/bench-mass_elements.scm:
645         * tests/complexity.c:
646         * tests/complexity.gnuplot:
647         * tests/instantiate/.cvsignore:
648         * tests/instantiate/Makefile.am:
649         * tests/instantiate/caps.c:
650         * tests/mass_elements.c:
651         * tests/network-clock-utils.scm:
652         * tests/network-clock.scm:
653         * tests/plot-data:
654         First pass at cleaning up tests/ dir before moving the rest
655         Combined with CVS surgery
656
657 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
658
659         * po/POTFILES.in:
660           queue has moved, update
661
662 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
663
664         * docs/gst/gstreamer-sections.txt:
665           remove double entries from the docs
666         * gst/gst_private.h:
667         * gst/gstinfo.c: (_gst_debug_init):
668           remove the THREAD debug category
669         * gst/Makefile.am:
670         * gst/gstqueue.c:
671         * gst/gstqueue.h:
672         * docs/gst/gstreamer.types:
673         * plugins/elements/gstqueue.c: (gst_queue_get_type),
674         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
675           completely move queue and fix up debugging categories
676
677 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
678
679         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
680           make initialization portable, using LL is not
681
682 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
683
684         * win32/common/gstconfig.h:
685           add large padding
686
687 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
688
689         * win32/common/libgstreamer.def:
690           rename symbols; sort base section
691
692 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
693
694         * gst/gstclock.c: (do_linear_regression):
695           remove crack non-portable handrolled DEBUG macro
696
697 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
698
699         * docs/random/release:
700           update notes
701         * win32/common/gstenumtypes.c: (register_gst_object_flags),
702         (gst_object_flags_get_type), (register_gst_bin_flags),
703         (gst_bin_flags_get_type), (register_gst_buffer_flag),
704         (gst_buffer_flag_get_type), (register_gst_bus_flags),
705         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
706         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
707         (gst_caps_flags_get_type), (register_gst_clock_return),
708         (gst_clock_return_get_type), (register_gst_clock_entry_type),
709         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
710         (gst_clock_flags_get_type), (register_gst_state),
711         (gst_state_get_type), (register_gst_state_change_return),
712         (gst_state_change_return_get_type), (register_gst_state_change),
713         (gst_state_change_get_type), (register_gst_element_flags),
714         (gst_element_flags_get_type), (register_gst_core_error),
715         (gst_core_error_get_type), (register_gst_library_error),
716         (gst_library_error_get_type), (register_gst_resource_error),
717         (gst_resource_error_get_type), (register_gst_stream_error),
718         (gst_stream_error_get_type), (register_gst_event_type_flags),
719         (gst_event_type_flags_get_type), (register_gst_event_type),
720         (gst_event_type_get_type), (register_gst_seek_type),
721         (gst_seek_type_get_type), (register_gst_seek_flags),
722         (gst_seek_flags_get_type), (register_gst_format),
723         (gst_format_get_type), (register_gst_index_certainty),
724         (gst_index_certainty_get_type), (register_gst_index_entry_type),
725         (gst_index_entry_type_get_type),
726         (register_gst_index_lookup_method),
727         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
728         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
729         (gst_index_resolver_method_get_type), (register_gst_index_flags),
730         (gst_index_flags_get_type), (register_gst_debug_level),
731         (gst_debug_level_get_type), (register_gst_debug_color_flags),
732         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
733         (gst_iterator_result_get_type), (register_gst_iterator_item),
734         (gst_iterator_item_get_type), (register_gst_message_type),
735         (gst_message_type_get_type), (register_gst_mini_object_flags),
736         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
737         (gst_pad_link_return_get_type), (register_gst_flow_return),
738         (gst_flow_return_get_type), (register_gst_activate_mode),
739         (gst_activate_mode_get_type), (register_gst_pad_direction),
740         (gst_pad_direction_get_type), (register_gst_pad_flags),
741         (gst_pad_flags_get_type), (register_gst_pad_presence),
742         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
743         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
744         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
745         (gst_plugin_error_get_type), (register_gst_plugin_flags),
746         (gst_plugin_flags_get_type), (register_gst_rank),
747         (gst_rank_get_type), (register_gst_query_type),
748         (gst_query_type_get_type), (register_gst_tag_merge_mode),
749         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
750         (gst_tag_flag_get_type), (register_gst_task_state),
751         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
752         (gst_alloc_trace_flags_get_type),
753         (register_gst_type_find_probability),
754         (gst_type_find_probability_get_type), (register_gst_uri_type),
755         (gst_uri_type_get_type), (register_gst_parse_error),
756         (gst_parse_error_get_type):
757         * win32/common/gstenumtypes.h:
758         * win32/common/gstversion.h:
759           update visual studio generated files
760
761 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
762
763         * win32/vs6/libgstbase.dsp:
764         * win32/vs6/libgstelements.dsp:
765           update project files for new locations
766
767 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
768
769         * Makefile.am:
770           remove some files
771         * README:
772           reinstate and update
773         * DEVEL:
774         * REQUIREMENTS:
775           removed
776         * LICENSE:
777         * docs/random/LICENSE:
778           moved to random
779
780 2005-11-30  Edward Hervey  <edward@fluendo.com>
781
782         * gst/gsttypefind.c: (gst_type_find_register):
783         * gst/gsttypefind.h:
784         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
785         (gst_type_find_factory_dispose):
786         * gst/gsttypefindfactory.h:
787         Fix memory leak in GstTypeFindFactory.
788
789 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
790
791         * gst/gst.c:
792         * plugins/elements/Makefile.am:
793         * plugins/elements/gstelements.c:
794         * plugins/elements/gstqueue.c:
795           move queue from core to the elements plugin
796
797 2005-11-29  Andy Wingo  <wingo@pobox.com>
798
799         * libs/gst/base/gstbasetransform.h: 
800         * libs/gst/base/gstbasesrc.h: 
801         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
802
803         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
804         of pointers by which to pad very extensible base classes (like the
805         ones in libs/gst/base).
806
807 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
808
809         * docs/gst/gstreamer-docs.sgml:
810         * docs/gst/gstreamer-sections.txt:
811         * docs/libs/gstreamer-libs-docs.sgml:
812         * docs/libs/gstreamer-libs-sections.txt:
813           moving documentation from core to lib
814
815 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
816
817         * check/Makefile.am:
818         * configure.ac:
819         * docs/gst/Makefile.am:
820         * gst/Makefile.am:
821         * gst/base/.cvsignore:
822         * gst/base/Makefile.am:
823         * gst/base/README:
824         * gst/base/gstadapter.c:
825         * gst/base/gstadapter.h:
826         * gst/base/gstbasesink.c:
827         * gst/base/gstbasesink.h:
828         * gst/base/gstbasesrc.c:
829         * gst/base/gstbasesrc.h:
830         * gst/base/gstbasetransform.c:
831         * gst/base/gstbasetransform.h:
832         * gst/base/gstcollectpads.c:
833         * gst/base/gstcollectpads.h:
834         * gst/base/gstpushsrc.c:
835         * gst/base/gstpushsrc.h:
836         * gst/base/gsttypefindhelper.c:
837         * gst/base/gsttypefindhelper.h:
838         * gst/check/Makefile.am:
839         * gst/check/gstcheck.c:
840         * gst/check/gstcheck.h:
841         * gst/net/Makefile.am:
842         * gst/net/gstnet.h:
843         * gst/net/gstnetclientclock.c:
844         * gst/net/gstnetclientclock.h:
845         * gst/net/gstnettimepacket.c:
846         * gst/net/gstnettimepacket.h:
847         * gst/net/gstnettimeprovider.c:
848         * gst/net/gstnettimeprovider.h:
849         * libs/gst/Makefile.am:
850         * libs/gst/base/Makefile.am:
851         * libs/gst/base/gstbasetransform.c:
852         * libs/gst/check/Makefile.am:
853         * plugins/elements/Makefile.am:
854         * po/POTFILES.in:
855           CVS surgery + support to move base, check, and net out of gst
856           and into libs/gst
857
858 2005-11-29  Andy Wingo  <wingo@pobox.com>
859
860         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
861
862         * gst/gststructure.h (struct _GstStructure): Only one pointer of
863         padding.
864
865         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
866
867         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
868
869         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
870
871         * gst/gstobject.h: (struct _GstObject): Only one pointer of
872         padding; reduces object size by about 30%. We don't expect
873         anything else to go into gstobject.
874
875         * gst/gstminiobject.h (struct _GstMiniObject)
876         (struct _GstMiniObjectClass): Only one pointer of padding; the
877         payload is only a pointer and two ints anyway. For the class there
878         are only two methods as well.
879         
880         * gst/gstelement.h (struct _GstElementClass): Removed
881         the state_changed signal callback, it is not used.
882
883 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
884
885         * docs/gst/gstreamer.types:
886           fix includes, though they are a little dinky
887
888 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
889
890         * check/Makefile.am:
891           look in the right place for elements, a lot more chance of
892           success
893         * gst/Makefile.am:
894           remove indexers and elements subdirs
895         * plugins/Makefile.am:
896           make indexers conditional
897
898 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
899
900         * Makefile.am:
901         * configure.ac:
902         * plugins/elements/Makefile.am:
903         * plugins/elements/gstcapsfilter.c:
904         * plugins/elements/gstfilesink.c:
905         * plugins/elements/gstfilesrc.c:
906         * plugins/elements/gstidentity.c:
907         * plugins/indexers/Makefile.am:
908           do CVS surgery and related build fixery to move elements
909           and indexers in a new gstreamer/plugins directory, out of the
910           gst/ directory
911
912 2005-11-29  Andy Wingo  <wingo@pobox.com>
913
914         * check/Makefile.am:
915         * pkgconfig/gstreamer-net-uninstalled.pc.in:
916         * pkgconfig/gstreamer-net.pc.in:
917         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
918         #322257.
919
920 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
921
922         * tools/Makefile.am:
923         * tools/gst-complete.1.in:
924         * tools/gst-complete.c:
925         * tools/gst-compprep.1.in:
926         * tools/gst-compprep.c:
927           removing -compprep and -complete
928
929 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
930
931         * gst/gstevent.c: (gst_event_new_new_segment),
932         (gst_event_parse_new_segment):
933         * gst/gstevent.h:
934           fix #320529 - clean up new_segment API and structure.
935           Let's hope everyone was using the methods, and not the structure.
936
937 2005-11-29  Edward Hervey  <edward@fluendo.com>
938
939         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
940         (gst_base_sink_event), (gst_base_sink_do_sync),
941         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
942         Properly handle non GST_FORMAT_TIME segment
943         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
944         Properly handle non GST_FORMAT_TIME segment
945         * gst/gstsegment.c:
946         This function is valid if the accumulator is 0 and the format
947         is different from the requested format.
948         
949 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
950
951         * docs/gst/gstreamer-sections.txt:
952         Add gst_query_new_seeking and gst_query_parse_seeking to the
953         docs.
954
955 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
956
957         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
958           Treat a pad alloc with new caps the same as if we were not
959           negotiated, in order to allow a changing upstream output
960           to produce a new format of data.
961
962 2005-11-29  Edward Hervey  <edward@fluendo.com>
963
964         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
965         (gst_base_transform_event), (gst_base_transform_eventfunc):
966         The event virtual method is now properly implemented, with a default
967         handler
968         Sub classes should call the parent_class event method. They should
969         return FALSE if they had a problem handling the given event, or don't
970         want GstBaseTransform to send that even downstream
971         * gst/elements/gstidentity.c: (gst_identity_class_init),
972         (gst_identity_init), (gst_identity_event),
973         (gst_identity_transform_ip), (gst_identity_set_property),
974         (gst_identity_get_property):
975         * gst/elements/gstidentity.h:
976         Added the single-segment boolean property.
977         If set to TRUE, it will output a single segment of data, starting from
978         0, will eat up all incoming newsegment, and modify the timestamp of the
979         buffers accordingly
980
981 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
982
983         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
984           Don't ref NULL target pad (#322751). Improve docs.
985
986 2005-11-29  Michael Smith  <msmith@fluendo.com>
987
988         * gst/gstregistryxml.c: (load_plugin):
989           Don't crash if we failed to load a feature from a plugin. 
990
991 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
992
993         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
994         (GST_START_TEST):
995           use more check API and less GLib API
996
997 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
998
999         * Makefile.am:
1000           don't run checks if we don't have check
1001         * common/check.mak:
1002           remove the registry when running make torture
1003         * docs/gst/gstreamer-sections.txt:
1004           remove second multiply
1005         * gst/gstqueue.c: (gst_queue_loop):
1006           fix a compile warning when disabling debug
1007
1008 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1009
1010         * gst/gstinfo.h:
1011         Hey! Let's print the pad name if the pointer != NULL instead
1012         of when it == NULL :-)
1013
1014 2005-11-28  Wim Taymans  <wim@fluendo.com>
1015
1016         * check/gst/gstutils.c: (GST_START_TEST):
1017         Updated check, add some scaling accuracy checking code.
1018
1019         * gst/gstutils.c: (gst_util_div128_64),
1020         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
1021         (gst_util_uint64_scale_int):
1022         Fix 6 times faster division code. Optimize for common 
1023         1/1 and less common X/1 cases.
1024
1025 2005-11-28  Wim Taymans  <wim@fluendo.com>
1026
1027         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1028         More checks.
1029
1030         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
1031         (do_linear_regression), (gst_clock_add_observation):
1032         Cleanups.
1033         Release lock when the clock cannot be slaved.
1034         Catch the case where the regression returned an invalid denominator.
1035
1036         * gst/gstutils.c: (gst_util_div128_64_iterate),
1037         (gst_util_div128_64), (gst_util_uint64_scale_int64),
1038         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1039         Add protentially more performant non-iterative 128/64 divide function
1040         that unfortunatly does not work yet.
1041         Shortcut the trivial 0/X = 0 case.
1042         Remove the warnings on overflow.
1043
1044 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1045
1046         * gst/gstplugin.c: (gst_plugin_register_func):
1047           everything causing a plugin not to load should be at least a WARNING
1048
1049 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
1050
1051         * docs/random/ensonic/dparams.txt:
1052           some TODOs for the next dev cycle
1053         * libs/gst/controller/gstcontroller.c:
1054         (gst_controlled_property_set_interpolation_mode),
1055         (gst_controlled_property_new):
1056         * libs/gst/controller/gstcontroller.h:
1057           use base type to assign acccessor functions
1058
1059 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1060
1061         * check/Makefile.am:
1062         Oops, that should have been top_srcdir
1063
1064 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1065
1066         * check/Makefile.am:
1067         * check/elements/fdsrc.c: (GST_START_TEST):
1068         Use a cmdline define to specify the location of a file to use for
1069         testing, to avoid breaking distcheck.
1070
1071 2005-11-28  Andy Wingo  <wingo@pobox.com>
1072
1073         * gst/gstpad.c (fixate_value): Use array functions for arrays.
1074
1075 2005-11-28  Edward Hervey  <edward@fluendo.com>
1076
1077         * tools/gst-launch.c: (main):
1078         Clarify the output strings, makes it easier to translate.
1079         Fixes #322626
1080
1081 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1082
1083         * gst/Makefile.am:
1084           don't try and build net if we don't even have <sys/socket.h>
1085
1086 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
1087
1088         * check/Makefile.am:
1089         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
1090         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
1091           Add tests for fdsrc seekability
1092
1093         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
1094         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
1095         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
1096         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
1097         * gst/elements/gstfdsrc.h:
1098           fdsrc should not be a 'live' source.
1099           Implement seeking on seekable fd's.
1100
1101         * gst/gstquery.c: (gst_query_new_seeking),
1102         (gst_query_parse_seeking):
1103         * gst/gstquery.h:
1104           Implement SEEKING query functions: 
1105             *_new_seeking and *_parse_seeking
1106
1107 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
1108
1109         * gst/gstelement.c: (gst_element_dispose):
1110           don't loop forever
1111
1112         * gst/gstiterator.c:
1113         * gst/gststructure.c:
1114           doc fixes
1115
1116         * libs/gst/controller/gstcontroller.c:
1117         (gst_controlled_property_set_interpolation_mode):
1118         * libs/gst/controller/gstcontroller.h:
1119         * libs/gst/controller/gstinterpolation.c:
1120         (interpolate_none_get_enum_value_array):
1121           support controlling enums
1122
1123 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1124
1125         * gst/gstvalue.c:
1126           Improve documentation for gst_value_union().
1127
1128         * gst/gstvalue.h:
1129           Change return value for union, intersect and subtract functions
1130           from gint to gboolean.
1131
1132 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1133
1134         * gst/gstvalue.c: (gst_value_serialize_any_list),
1135         (gst_value_transform_any_list_string),
1136         (gst_value_deserialize_list), (gst_value_deserialize_array),
1137         (gst_value_set_int_range), (gst_value_deserialize_int_range),
1138         (gst_value_set_double_range), (gst_value_deserialize_double_range),
1139         (gst_value_set_fraction_range_full),
1140         (gst_value_deserialize_fraction_range),
1141         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
1142         (gst_value_deserialize_boolean),
1143         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
1144         (gst_value_serialize_float), (gst_value_deserialize_float),
1145         (gst_string_wrap), (gst_value_deserialize_string),
1146         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
1147         (gst_value_union_int_range_int_range),
1148         (gst_value_intersect_int_range_int_range),
1149         (gst_value_intersect_double_range_double_range),
1150         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
1151         (gst_value_subtract_int_range_int_range),
1152         (gst_value_subtract_double_double_range),
1153         (gst_value_subtract_double_range_double_range),
1154         (gst_value_deserialize_fraction):
1155         * gst/gstvalue.h:
1156           Use gint, gdouble and gchar in our API instead of int, double and
1157           char (and make usage in gstvalue.c more consistent).
1158
1159 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1160
1161         * check/Makefile.am:
1162         * libs/gst/controller/Makefile.am:
1163         * libs/gst/dataprotocol/Makefile.am:
1164           fix up Makefile.am and remove GST_ENABLE_NEW
1165
1166 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1167
1168         * configure.ac:
1169         * gst/Makefile.am:
1170         * gst/base/Makefile.am:
1171         * gst/check/Makefile.am:
1172         * gst/elements/Makefile.am:
1173         * gst/net/Makefile.am:
1174           update LDFLAGS use some more
1175
1176 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1177
1178         * common/m4/gst-doc.m4:
1179           Fixes #312589
1180
1181 2005-11-26  Edward Hervey  <edward@fluendo.com>
1182
1183         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1184         This shouldn't issue a g_warning since it returns NULL if it
1185         couldn't find the plugin, and all functions using this behave
1186         properly on a NULL return. Switching to a GST_WARNING.
1187
1188 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
1189
1190         * gst/gstbin.c: (gst_bin_handle_message_func):
1191         Don't leak clock messages.
1192
1193 2005-11-25  Wim Taymans  <wim@fluendo.com>
1194
1195         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1196         (gst_util_uint64_scale_int):
1197         Optimisations, remove unneeded vars.
1198
1199 2005-11-25  Wim Taymans  <wim@fluendo.com>
1200
1201         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1202         Added more checks for the high precision uint64 cases.
1203
1204         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1205         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1206         Implement high precision (guint64 * guint64) / guint64.
1207
1208 2005-11-24  Wim Taymans  <wim@fluendo.com>
1209
1210         * gst/base/gstbasesrc.c: (gst_base_src_query):
1211         Fix wrong percentage query.
1212
1213         * gst/gstutils.c: (gst_util_uint64_scale),
1214         (gst_util_uint64_scale_int):
1215         Add some more common cases that can be handled 
1216         efficiently to _scale.
1217
1218 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1219
1220         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
1221         (gst_mini_object_suite):
1222           don't use check calls from threads; check probably isn't
1223           threadsafe and using a lock to make it threadsafe would
1224           defeat the purpose of this check
1225         * gst/check/gstcheck.c:
1226         * gst/check/gstcheck.h:
1227           use GST_DEBUG some more
1228
1229 2005-11-24  Wim Taymans  <wim@fluendo.com>
1230
1231         * gst/gstutils.c: (gst_util_uint64_scale),
1232         (gst_util_uint64_scale_int):
1233         Chain trivial case to _scale_int.
1234
1235 2005-11-24  Wim Taymans  <wim@fluendo.com>
1236
1237         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1238         Added test for scaling.
1239
1240         * gst/gstclock.h:
1241         Small doc fix.
1242
1243         * gst/gstutils.c: (gst_util_uint64_scale_int):
1244         Implemented high precision scaling code.
1245
1246 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
1247
1248         * gst/gstinfo.h:
1249           do not crash on pad==NULL
1250
1251 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1252
1253         Patch by: Stefan Kost
1254
1255         * common/gtk-doc.mak:
1256         * docs/gst/Makefile.am:
1257         * docs/libs/Makefile.am:
1258           Fix distcheck issues for the libraries docs build
1259           Closes #319599.
1260
1261 2005-11-24  Michael Smith <msmith@fluendo.com>
1262
1263         * docs/manual/basics-helloworld.xml:
1264           Fix bug #315027: memory leak in example code in docs.
1265
1266 2005-11-24  Michael Smith <msmith@fluendo.com>
1267
1268         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1269           Unlock the PREROLL_LOCK in a failure case.
1270
1271 2005-11-24  Wim Taymans  <wim@fluendo.com>
1272
1273         * docs/gst/gstreamer-sections.txt:
1274         * gst/base/gstadapter.h:
1275         * gst/base/gstbasesink.h:
1276         * gst/base/gstbasesrc.h:
1277         * gst/base/gstbasetransform.h:
1278         * gst/base/gstpushsrc.h:
1279         * gst/elements/gstfakesink.h:
1280         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1281         * gst/elements/gstfakesrc.h:
1282         * gst/elements/gstfilesink.h:
1283         * gst/elements/gstfilesrc.h:
1284         * gst/gst.c:
1285         * gst/gstbin.c:
1286         * gst/gstbuffer.c: (_gst_buffer_copy):
1287         * gst/gstbus.h:
1288         * gst/gstcaps.c:
1289         * gst/gstchildproxy.c:
1290         * gst/gstclock.c:
1291         * gst/gstelement.c:
1292         * gst/gstelementfactory.c:
1293         * gst/gstelementfactory.h:
1294         * gst/gstevent.c:
1295         * gst/gstghostpad.h:
1296         * gst/gstindex.h:
1297         * gst/gstinterface.h:
1298         * gst/gstminiobject.c:
1299         * gst/gstminiobject.h:
1300         * gst/gstpad.c:
1301         * gst/gstpad.h:
1302         * gst/gstpadtemplate.h:
1303         * gst/gstpipeline.h:
1304         * gst/gstpluginfeature.h:
1305         * gst/gstquery.h:
1306         * gst/gstqueue.h:
1307         * gst/gsttaglist.c:
1308         * gst/gsttaglist.h:
1309         * gst/gsttagsetter.c:
1310         * gst/gsttagsetter.h:
1311         * gst/gsttrace.c:
1312         * gst/gsttrace.h:
1313         * gst/gsttypefind.h:
1314         * gst/gsturi.h:
1315         * gst/gstvalue.c:
1316         * gst/net/gstnetclientclock.c:
1317         * gst/net/gstnetclientclock.h:
1318         * gst/net/gstnettimepacket.c:
1319         * gst/net/gstnettimeprovider.c:
1320         * gst/net/gstnettimeprovider.h:
1321         Doc fixes.
1322
1323 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1324
1325         * configure.ac: back to HEAD
1326
1327 === release 0.9.6 ===
1328
1329 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
1330
1331         * configure.ac:
1332           releasing 0.9.6, "Always On Time"
1333
1334 2005-11-23  Wim Taymans  <wim@fluendo.com>
1335
1336         * docs/gst/gstreamer-sections.txt:
1337         * gst/glib-compat.c:
1338         * gst/gsttagsetter.c:
1339         * gst/gstvalue.c:
1340         * gst/net/gstnetclientclock.c:
1341         * gst/net/gstnettimepacket.h:
1342         Doc updates.
1343
1344 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1345
1346         * docs/faq/using.xml:
1347         * docs/libs/tmpl/gstcontrol.sgml:
1348         * docs/manual/advanced-dparams.xml:
1349         * docs/manual/appendix-checklist.xml:
1350         * docs/manual/basics-elements.xml:
1351         * docs/pwg/other-source.xml:
1352         * docs/random/moving-plugins:
1353         * gst/gstpad.c:
1354         * tools/gst-launch.1.in:
1355           remove mentions of sinesrc
1356
1357 2005-11-23  Michael Smith <msmith@fluendo.com>
1358
1359         * docs/gst/gstreamer-sections.txt:
1360           Update for new API and API changes.
1361         * gst/gstobject.h:
1362           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1363         * gst/gstvalue.c:
1364           Documentation typo fix.
1365         * gst/net/gstnettimepacket.c:
1366           Documentation fixes for arguments.
1367
1368 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
1369
1370         * gst/gststructure.c: (gst_structure_get_fraction),
1371         (gst_structure_parse_value),
1372         (gst_structure_fixate_field_nearest_fraction):
1373         * gst/gststructure.h:
1374         * gst/gstutils.c: (gst_util_uint64_scale_int):
1375         * gst/gstutils.h:
1376         * scripts/update-funcnames:
1377         API Changes. 
1378         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1379         Make gst_structure_fixate_field_nearest_fraction take a numerator
1380         and denominator argument instead of a GValue
1381         add gst_structure_get_fraction helper function.
1382
1383 2005-11-23  Wim Taymans  <wim@fluendo.com>
1384
1385         * docs/design/part-TODO.txt:
1386         Update TODO.
1387
1388         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1389         * gst/net/gstnetclientclock.h:
1390         Use parent fields for timeout and window_size.
1391
1392 2005-11-23  Andy Wingo  <wingo@pobox.com>
1393
1394         * check/net/gstnetclientclock.c (test_functioning): Adjust to
1395         rate_num/rate_denom change.
1396
1397         * gst/net/gstnetclientclock.c
1398         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1399         OBJECT_LOCK. Don't call add_observation with the lock.
1400
1401         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1402         fraction.
1403         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1404         rate fraction.
1405         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1406         deal with rate as a fraction whose numerator and denominator are
1407         GstClockTime values.
1408         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1409         master; the other fields are protected by the SLAVE_LOCK.
1410         (do_linear_regression): Note that this must be called with the
1411         SLAVE_LOCK.
1412         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1413         OBJECT_LOCK. Call set_calibration instead of touching the
1414         variables directly.
1415         (gst_clock_set_property, gst_clock_get_property): Protect
1416         master/slave parameters with the SLAVE_LOCK.
1417
1418         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1419         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1420         note that all of the instance variables that add_observation and
1421         the set_master functions use are protected by that lock and not
1422         the OBJECT_LOCK.
1423         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1424
1425         * gst/gstclock.c (gst_clock_add_observation): No longer requires
1426         the caller to take the object lock.
1427
1428 2005-11-23  Wim Taymans  <wim@fluendo.com>
1429
1430         * gst/gsterror.c: (_gst_core_errors_init):
1431         * gst/gsterror.h:
1432         Add error for clock stuff.
1433
1434         * gst/gstpipeline.c: (gst_pipeline_change_state),
1435         (gst_pipeline_set_clock):
1436         Post clock error when clock cannot be used in a pipeline.
1437
1438 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
1439
1440         * docs/gst/gstreamer-sections.txt:
1441           make two symbols from gstinfo private for the docs
1442         * gst/base/gstcollectpads.h:
1443         * gst/gstutils.c:
1444           fix doc typos, update docs
1445
1446 2005-11-22  Wim Taymans  <wim@fluendo.com>
1447
1448         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1449         (gst_base_sink_wait), (gst_base_sink_do_sync),
1450         (gst_base_sink_handle_event):
1451         * gst/base/gstbasesink.h:
1452         No need to store the clock, the parent element class already
1453         has it.
1454
1455         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
1456         Updates for clock_set returning a gboolean
1457
1458         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
1459         (gst_clock_id_wait_async), (gst_clock_class_init),
1460         (gst_clock_init), (gst_clock_finalize),
1461         (gst_clock_get_internal_time), (gst_clock_get_time),
1462         (gst_clock_slave_callback), (gst_clock_set_master),
1463         (gst_clock_get_master), (do_linear_regression),
1464         (gst_clock_add_observation), (gst_clock_set_property),
1465         (gst_clock_get_property):
1466         * gst/gstclock.h:
1467         Implement master/slave. When setting a clock as a slave, a
1468         periodic timeout is scheduled to sample master and slave times.
1469         Then the slave clock is recalibrated to match offset and rate
1470         of the master clock.
1471         Update logging a bit.
1472         Add flag so that a clock can state that is cannot be slaved to
1473         another clock.
1474
1475         * gst/gstelement.c: (gst_element_set_clock):
1476         * gst/gstelement.h:
1477         The set clock returns a gboolean for when an element cannot
1478         deal with the selected clock in the pipeline. 
1479
1480         * gst/gstpipeline.c: (gst_pipeline_change_state),
1481         (gst_pipeline_set_clock):
1482         * gst/gstpipeline.h:
1483         Handle the case where the selected clock cannot be set on
1484         the pipeline.
1485
1486         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
1487         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1488         (gst_net_client_clock_set_property),
1489         (gst_net_client_clock_get_property),
1490         (gst_net_client_clock_observe_times):
1491         * gst/net/gstnetclientclock.h:
1492         Use regression code in GstClock parent, remove duplicated
1493         functionality.
1494
1495 2005-11-22  Michael Smith <msmith@fluendo.com>
1496
1497         * gst/gstutils.c: (gst_util_clock_time_scale):
1498         * gst/gstutils.h:
1499         * docs/gst/gstreamer-sections.txt:
1500           Rename method to have extra underscore.
1501
1502 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1503
1504         * gst/elements/Makefile.am:
1505         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
1506         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1507         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1508         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
1509         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
1510         * gst/elements/gstfakesrc.h:
1511         * gst/gstqueue.c: (queue_leaky_get_type):
1512           correctly fix GEnumValues so that nick is the short lowercase
1513           dashed tag
1514         * tools/gst-inspect.c: (print_element_properties_info):
1515           also show the nick, since it's useful to use from parse_launch
1516           syntax
1517           Fixes #322139
1518
1519 2005-11-22  Michael Smith <msmith@fluendo.com>
1520
1521         * gst/gstutils.c: (gst_util_clocktime_scale):
1522         * gst/gstutils.h:
1523         * docs/gst/gstreamer-sections.txt:
1524           Add util method for scaling a clocktime by a fraction. Useful 
1525           implementation is left as an exercise for the reader.
1526
1527 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1528
1529         * gst/gstvalue.c: (gst_value_collect_fraction_range):
1530         If needed, allocate storage in the destination value during
1531         collection.
1532
1533 2005-11-22  Edward Hervey  <edward@fluendo.com>
1534
1535         * docs/gst/gstreamer-sections.txt:
1536         * gst/Makefile.am:
1537         * gst/gst.h:
1538         * gst/gsturitype.c:
1539         * gst/gsturitype.h:
1540         * gst/gstutils.c: (gst_util_set_object_arg):
1541         * tools/gst-compprep.c: (main):
1542         * tools/gst-inspect.c: (print_element_properties_info):
1543         Removed GstURI, closes bug #321061
1544
1545 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1546
1547         * check/gst/gststructure.c: (GST_START_TEST):
1548         * gst/gststructure.c: (gst_structure_parse_value):
1549           Oops, broke automatic string type parsing.
1550           Add a test to catch it in future.
1551
1552 2005-11-22  Andy Wingo  <wingo@pobox.com>
1553
1554         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
1555         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
1556         Actually rename the function implementations. Grr.
1557
1558 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1559
1560         * check/gst/capslist.h:
1561           Comment test cases
1562         * check/gst/gststructure.c: (GST_START_TEST),
1563         (gst_structure_suite):
1564           Test automatic value type detection in gst_structure_from_string.
1565         * gst/gststructure.c: (gst_structure_parse_value):
1566           Add fraction as a type we try and guess automatically in
1567           caps/structure strings.
1568
1569 2005-11-22  Andy Wingo  <wingo@pobox.com>
1570
1571         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
1572
1573         * gst/gsttagsetter.h:
1574         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
1575         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
1576         (gst_tag_setter_add_tag_valist)
1577         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
1578         _add_values, _add_valist, and _add_valist_values. Since this is an
1579         interface the function suffixes should be more explicit so
1580         language binding don't end up with element.add_valist ->
1581         gst_tag_setter_add_valist, for example. Fixes #322069.
1582
1583 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1584
1585         * check/gst/gstcaps.c: (GST_START_TEST):
1586           Extend caps string tests to check that a caps to string
1587           conversion is reversible and produces the same caps.
1588
1589         * gst/gststructure.c: (gst_structure_value_get_generic_type):
1590           Output "fraction" as the generic type fraction range, so caps
1591           serialisation and deserialisation works.
1592         * check/gst/capslist.h:
1593         * gst/gstvalue.c: (gst_value_deserialize_fraction):
1594           Support 'MIN' and 'MAX' for deserialising fractions.
1595
1596 2005-11-22  Andy Wingo  <wingo@pobox.com>
1597
1598         * gst/gstevent.h (gst_event_new_new_segment)
1599         (gst_event_parse_new_segment, gst_event_new_buffer_size)
1600         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
1601         Renamed from *_newsegment, *_buffersize, *_notarget.
1602
1603         * scripts/update-funcnames: New script, performs the changes
1604         listed above.
1605
1606 2005-11-22  Wim Taymans  <wim@fluendo.com>
1607
1608         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1609         Make sure the GstFlowReturn is returned.
1610
1611         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
1612         (gst_bus_add_signal_watch):
1613         * gst/gstbus.h:
1614         add gst_bus_add_signal_watch_full.
1615
1616         * gst/gstplugin.c: (gst_plugin_load_file):
1617         Small style cleanup.
1618
1619 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1620
1621         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
1622           Block the fakesrc srcpad when we send an event, to avoid
1623           contention on the stream_lock causing random test failures.
1624
1625 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1626
1627         * check/gst/gstvalue.c: (GST_START_TEST):
1628         * gst/gstvalue.c: (gst_value_fraction_subtract):
1629           Fix subtraction.
1630
1631 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
1632
1633         * gst/gst.h:
1634           include "gstchildproxy.h"
1635         * gst/gstchildproxy.h:
1636         * libs/gst/controller/gstcontroller.h:
1637           use G_GNUC_NULL_TERMINATED
1638
1639 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1640
1641         * check/gst/capslist.h:
1642         * check/gst/gstcaps.c: (GST_START_TEST):
1643         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1644         * gst/gststructure.c: (gst_structure_parse_range),
1645         (gst_structure_fixate_field_nearest_fraction):
1646         * gst/gststructure.h:
1647         * gst/gstvalue.c: (gst_value_init_fraction_range),
1648         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
1649         (gst_value_collect_fraction_range),
1650         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
1651         (gst_value_set_fraction_range_full),
1652         (gst_value_get_fraction_range_min),
1653         (gst_value_get_fraction_range_max),
1654         (gst_value_serialize_fraction_range),
1655         (gst_value_transform_fraction_range_string),
1656         (gst_value_compare_fraction_range),
1657         (gst_value_deserialize_fraction_range),
1658         (gst_value_intersect_fraction_fraction_range),
1659         (gst_value_intersect_fraction_range_fraction_range),
1660         (gst_value_subtract_fraction_fraction_range),
1661         (gst_value_subtract_fraction_range_fraction),
1662         (gst_value_subtract_fraction_range_fraction_range),
1663         (gst_value_collect_fraction), (gst_value_fraction_multiply),
1664         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
1665         (gst_value_transform_string_fraction), (_gst_value_initialize):
1666         * gst/gstvalue.h:
1667           Implement fraction ranges and extend GstFraction to support
1668           arithmetic subtraction, as well as deserialization from integer
1669           strings such as "100"
1670           Add a testsuite as for int and double range set operations
1671
1672 2005-11-21  Andy Wingo  <wingo@pobox.com>
1673
1674         * gst/gsttaglist.h: 
1675         * gst/gstcaps.h: 
1676         * gst/gststructure.h: Add glib-compat.h.
1677
1678 2005-11-21  Wim Taymans  <wim@fluendo.com>
1679
1680         * gst/gstbin.c: (gst_bin_change_state_func):
1681         Fix for #321595
1682
1683 2005-11-21  Wim Taymans  <wim@fluendo.com>
1684
1685         * gst/gstsegment.h:
1686         And add a nice define too.
1687
1688 2005-11-21  Wim Taymans  <wim@fluendo.com>
1689
1690         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
1691         (gst_segment_new), (gst_segment_free), (gst_segment_init),
1692         (gst_segment_set_duration), (gst_segment_set_last_stop),
1693         (gst_segment_set_seek), (gst_segment_set_newsegment),
1694         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1695         (gst_segment_clip):
1696         * gst/gstsegment.h:
1697         Make binding friendly.
1698
1699 2005-11-21  Andy Wingo  <wingo@pobox.com>
1700
1701         * gst/gsttagsetter.h: 
1702         * gst/gsttaglist.h: 
1703         * gst/gststructure.h: 
1704         * gst/gstcaps.h: 
1705         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
1706         #319940.
1707
1708         * gst/gsterror.c (_gst_core_errors_init):
1709         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
1710         category.
1711
1712         * gst/Makefile.am (gst_headers): Add glib-compat.h.
1713         (noinst_HEADERS): noinst the -private.
1714
1715 2005-11-21  Michael Smith <msmith@fluendo.com>
1716
1717         * gst/gstplugin.h:
1718         * gst/gstregistry.h:
1719           Remove unimplemented declarations for which we can see no sensible
1720           use.
1721
1722 2005-11-21  Andy Wingo  <wingo@pobox.com>
1723
1724         * gst/gst.h: Include glib-compat.h.
1725
1726         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
1727
1728         * gst/glib-compat.c: Include the public and the private header.
1729
1730         * gst/glib-compat-private.h: Copied here from glib-compat.h.
1731
1732         * gst/gstvalue.c: 
1733         * gst/gstpad.c: 
1734         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
1735
1736         * check/gst/gstevent.c (create_custom_events): Check that
1737         FLUSH_STOP is serialized.
1738
1739         * check/elements/identity.c (event_func): 
1740         * check/elements/fakesrc.c (event_func): No stream lock, the core
1741         takes it.
1742
1743         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
1744         stream lock taking, yay.
1745
1746         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
1747         ensure that core takes the stream lock.
1748
1749         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
1750         lock name change.
1751
1752         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
1753         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
1754         it already. For the flush start we do take it though so we get the
1755         right preroll state change messages.
1756
1757         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
1758         the stream lock here, the core does it for us.
1759
1760         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
1761         GST_STREAM_GET_LOCK.
1762         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
1763         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
1764         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
1765         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
1766         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
1767         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
1768
1769         * gst/gstpad.c: Update for stream lock name change.
1770
1771         * gst/base/gstbasesink.c: Update for preroll lock name change.
1772
1773 2005-11-21  Wim Taymans  <wim@fluendo.com>
1774
1775         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
1776         (gst_clock_get_master):
1777         * gst/gstclock.h:
1778         * gst/gstsystemclock.c: (gst_system_clock_init):
1779         Convert Clock flags to object flags.
1780         Added methods to manage master/slave clocks.
1781
1782 2005-11-21  Wim Taymans  <wim@fluendo.com>
1783
1784         * check/gst/gstsegment.c: (GST_START_TEST):
1785         * docs/design/part-TODO.txt:
1786         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1787         (gst_base_sink_event), (gst_base_sink_do_sync),
1788         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
1789         (gst_base_sink_query), (gst_base_sink_change_state):
1790         * gst/base/gstbasesink.h:
1791         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
1792         (gst_base_src_default_newsegment),
1793         (gst_base_src_configure_segment), (gst_base_src_do_seek),
1794         (gst_base_src_get_range), (gst_base_src_loop),
1795         (gst_base_src_change_state):
1796         * gst/base/gstbasesrc.h:
1797         * gst/base/gstbasetransform.c:
1798         (gst_base_transform_prepare_output_buf),
1799         (gst_base_transform_event), (gst_base_transform_change_state):
1800         * gst/base/gstbasetransform.h:
1801         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1802         (gst_collect_pads_event):
1803         * gst/base/gstcollectpads.h:
1804         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
1805         (gst_fake_src_create):
1806         * gst/elements/gstfakesrc.h:
1807         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1808         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1809         (gst_segment_set_last_stop), (gst_segment_set_seek),
1810         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
1811         (gst_segment_to_running_time), (gst_segment_clip):
1812         * gst/gstsegment.h:
1813         More segment updates, replace code in plugins with segment
1814         helper functions.
1815
1816 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1817
1818         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
1819         Don't ignore sscanf results
1820
1821 2005-11-21  Andy Wingo  <wingo@pobox.com>
1822
1823         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
1824
1825         * *.h:
1826         * *.c: Ran scripts/update-macros. Oh yes.
1827
1828         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
1829         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
1830         GST_GET_LOCK, etc.
1831
1832         * scripts/update-macros: New script. Run it on your files to
1833         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
1834         well.
1835
1836 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1837
1838         * docs/gst/Makefile.am:
1839         * docs/gst/gstreamer-docs.sgml:
1840         * docs/gst/gstreamer-sections.txt:
1841         * docs/gst/gstreamer.types:
1842         * gst/gstinfo.h:
1843           more docs fixes, add new api to the docs
1844
1845 2005-11-21  Andy Wingo  <wingo@pobox.com>
1846
1847         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
1848         state_broadcast call.
1849
1850         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
1851
1852 2005-11-21  Julien MOUTTE  <julien@moutte.net>
1853
1854         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
1855         function calls for arrays.
1856
1857 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1858
1859         * docs/random/ensonic/media-device-daemon.txt:
1860           wild idea, can this be done?
1861         * docs/gst/gstreamer-sections.txt:
1862         * gst/gsterror.h:
1863         * gst/gstfilter.c:
1864         * gst/gstfilter.h:
1865         * gst/gstplugin.h:
1866         * gst/gstpluginfeature.c:
1867         * gst/gsttrace.c:
1868         * gst/gstvalue.c:
1869         * gst/gstvalue.h:
1870           doc fixes and additions
1871
1872 2005-11-21  Andy Wingo  <wingo@pobox.com>
1873
1874         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
1875         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
1876         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
1877         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
1878         private to the basesrc implementation.
1879
1880         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
1881         behalf of event function if necessary. It should no longer be
1882         necessary to take the stream lock in pad's event functions. Fixes
1883         #320299.
1884
1885 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1886         * docs/gst/gstreamer-sections.txt:
1887         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
1888         (gst_structure_fixate_field_nearest_double),
1889         (gst_structure_fixate_field_boolean):
1890         * gst/gststructure.h:
1891         * win32/common/libgstreamer.def:
1892         * win32/gstreamer.def:
1893
1894         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
1895         (#322027)
1896
1897 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1898
1899         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
1900         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
1901         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
1902         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
1903         (gst_fdsrc_uri_handler_init):
1904         * gst/elements/gstfdsrc.h:
1905           Port fd:// URI handler from 0.8 to fdsrc
1906
1907 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1908
1909         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
1910         (gst_value_serialize_fourcc):
1911         * gst/gstvalue.h:
1912           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
1913           consistent with our other format defines (#320324).
1914
1915 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1916
1917         * gst/gstvalue.c: (gst_value_is_fixed):
1918           Revert previous commit. Value lists are by definition
1919           not fixed, as they are a list of possible values.
1920
1921 2005-11-21  Andy Wingo  <wingo@pobox.com>
1922
1923         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
1924         during the stable series if we need it. Fixes #319178.
1925
1926         * gst/gstevent.c (gst_event_new_filler): Removed.
1927
1928         * check/gst/gstevent.c: Update comment about filler events.
1929
1930 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1931
1932         * gst/gstvalue.c: (gst_value_is_fixed):
1933           Should handle both value arrays and value lists.
1934
1935 2005-11-21  Andy Wingo  <wingo@pobox.com>
1936
1937         patch by: Alessandro Dessina <alessandro nnva org>
1938
1939         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
1940         functions to access arrays. Fixes #321962.
1941
1942 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1943
1944         * docs/gst/gstreamer.types:
1945           gst_collectpads_get_type => gst_collect_pads_get_type.
1946           
1947         * gst/base/gstbasetransform.c:
1948           Remove unused SIGNAL_HANDOFF enum.
1949
1950 2005-11-21  Andy Wingo  <wingo@pobox.com>
1951
1952         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
1953         the event type (upstream, downstream, serialized). Renamed
1954         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
1955         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
1956         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
1957
1958         * gst/gstevent.c: Update for new CUSTOM event names.
1959
1960         * check/gst/gstevent.c: Update check for new CUSTOM event names.
1961
1962         * gst/gstevent.h:
1963         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
1964         bug #319392.
1965
1966 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1967
1968         * docs/gst/gstreamer-sections.txt:
1969         * win32/common/libgstbase.def:
1970         * win32/libgstbase.def:
1971         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1972         (gst_collect_pads_class_init), (gst_collect_pads_init),
1973         (gst_collect_pads_finalize), (gst_collect_pads_new),
1974         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
1975         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
1976         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
1977         (gst_collect_pads_start), (gst_collect_pads_stop),
1978         (gst_collect_pads_peek), (gst_collect_pads_pop),
1979         (gst_collect_pads_available), (gst_collect_pads_read),
1980         (gst_collect_pads_flush), (gst_collect_pads_event),
1981         (gst_collect_pads_chain):
1982         * gst/base/gstcollectpads.h:
1983           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
1984           unimplemented functions as unimplemented. Add padding to
1985           GstCollectData. (#320766, #320423)
1986
1987 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1988
1989         * gst/gstmessage.c:
1990           Improve docs for DURATION message (usage of duration parameter)
1991           (#320113)
1992
1993 2005-11-20  Wim Taymans  <wim@fluendo.com>
1994
1995         * check/Makefile.am:
1996         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
1997         (main):
1998         * gst/Makefile.am:
1999         * gst/gst.h:
2000         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2001         (gst_segment_set_seek), (gst_segment_set_newsegment),
2002         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2003         (gst_segment_clip):
2004         * gst/gstsegment.h:
2005         Added segment helper structure and methods. Not fully implemented
2006         yet.
2007         Added segment check.
2008
2009 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
2010
2011         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2012           Add a deserialisation test for fractions
2013         * examples/metadata/read-metadata.c: (message_loop),
2014         (make_pipeline), (main):
2015           Fix up metadata reading sample.
2016         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2017           Debug format fix
2018         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2019           Don't try and fixate empty caps
2020         * gst/gst_private.h:
2021           Wrap in G_BEGIN_DECLS/G_END_DECLS
2022         * gst/gstvalue.c: (gst_value_collect_fraction),
2023         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
2024         (gst_value_transform_string_fraction),
2025         (gst_value_compare_fraction):
2026           Add some extra guards to ensure that we don't end up 
2027           with an invalid denominator of 0 in a gstfraction and
2028           that fractions always get reduced.
2029
2030 2005-11-20  Wim Taymans  <wim@fluendo.com>
2031
2032         * docs/gst/gstreamer-sections.txt:
2033         * gst/gstbuffer.h:
2034         * gst/gstelement.c:
2035         * gst/gstformat.c:
2036         * gst/gstformat.h:
2037         * gst/gstindex.h:
2038         * gst/gstquery.c:
2039         * gst/gstquery.h:
2040         * gst/gstvalue.c:
2041         Doc fixes.
2042
2043 2005-11-20  Wim Taymans  <wim@fluendo.com>
2044
2045         * docs/design/part-TODO.txt:
2046         * gst/gstcaps.h:
2047         Make a proper enum of the flag.
2048
2049 2005-11-19  Wim Taymans  <wim@fluendo.com>
2050
2051         * docs/design/part-TODO.txt:
2052         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
2053         (gst_format_to_quark), (gst_format_register):
2054         * gst/gstformat.h:
2055         * gst/gstquery.c: (_gst_query_initialize),
2056         (gst_query_type_get_name), (gst_query_type_to_quark),
2057         (gst_query_type_register):
2058         * gst/gstquery.h:
2059         Add type to quark and type to string conversions.
2060
2061 2005-11-19  Andy Wingo  <wingo@pobox.com>
2062
2063         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
2064         #320097.
2065
2066 2005-11-19  Wim Taymans  <wim@fluendo.com>
2067
2068         * docs/design/part-TODO.txt:
2069         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
2070         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
2071         (gst_bin_handle_message_func):
2072         * gst/gstbin.h:
2073         Make message handling overridable.
2074
2075 2005-11-19  Andy Wingo  <wingo@pobox.com>
2076
2077         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
2078
2079         * gst/gstclock.h:
2080         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
2081         be a GstClockTime.
2082         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
2083         is a GstClockTime. Fixes #321710.
2084
2085         * gst/gstclock.h (GstClock): Remove offset property. Add
2086         internal_calibration and external_calibration. Fix padding. Pad
2087         also by GstClockTime so we don't run into problems.
2088
2089         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
2090         (gst_clock_get_rate_offset): Remove.
2091         (gst_clock_set_time_adjust): Remove. Fixes #321712.
2092
2093         * gst/gstutils.h:
2094         * gst/gstutils.c (g_static_rec_cond_wait)
2095         (g_static_rec_cond_timed_wait): Removed, no longer needed.
2096
2097         * gst/gstbin.c: Remove terrible continue_state prototype.
2098
2099         * gst/gstelement.h (gst_element_continue_state): Make public.
2100
2101         * gst/gstelement.h:
2102         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
2103         by continue_state. Fixes #319389.
2104
2105         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
2106         Really fixes #168438. However I don't see anywhere where the
2107         filter function is called... stupid GStreamer...
2108         
2109         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
2110         don't have a dispose function, so it won't get called when the
2111         object is unreffed, but oh well!
2112
2113         * gst/gstindex.c (gst_index_set_filter_full): New API function,
2114         allows a destroy function to be set so user_data can be freed.
2115         Fixes #168438.
2116         (gst_index_set_filter): Call gst_index_set_filter_full.
2117
2118         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
2119
2120         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
2121         string should produce an error, given the lack of a way to
2122         represent NULL strings. Fixes #165650.
2123         
2124         * gst/gstvalue.h: 
2125         * gst/gstvalue.c (gst_value_array_append_value) 
2126         (gst_value_array_prepend_value, gst_value_array_get_size) 
2127         (gst_value_array_get_value): New API, copied from
2128         gst_value_list_*, only operates on arrays.
2129         (gst_value_list_append_value, gst_value_list_prepend_value) 
2130         (gst_value_list_concat, gst_value_list_get_size) 
2131         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
2132
2133         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
2134         init_list, because it works on both.
2135         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
2136         (gst_value_copy_list_or_array): Renamed from copy_list.
2137         (gst_value_free_list_or_array): Renamed from free_list.
2138         (gst_value_collect_list_or_array): Renamed from collect_list.
2139         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
2140         (gst_value_list_or_array_peek_pointer): Renamed from
2141         list_peek_pointer.
2142         (_gst_value_array_value_table, _gst_value_list_value_table):
2143         Update value table functions.
2144         (gst_value_compare_list_or_array): Renamed from compare_list.
2145
2146         * gsttaglist.h: Whoops, foreach function returns void. Also fix
2147         some constness.
2148
2149         * gst/gsttaglist.c:
2150         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
2151         GstTagList*. Fixes #143472.
2152
2153         * gst/gststructure.h: Clarify what the foreach/map functions can
2154         or can't do to their arguments.
2155
2156 2005-11-18  Wim Taymans  <wim@fluendo.com>
2157
2158         * gst/gstclock.c: (gst_clock_set_calibration),
2159         (gst_clock_get_calibration):
2160         Doc and API fixes.
2161         Calibration can be set with internal time equal to current
2162         internal time too.
2163
2164 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2165
2166         * gst/gsterror.c:
2167         * gst/gsterror.h:
2168           document
2169
2170 2005-11-18  Andy Wingo  <wingo@pobox.com>
2171
2172         * configure.ac: 
2173         * pkgconfig/gstreamer-net.pc.in:
2174         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2175         * pkgconfig/Makefile.am: Add net pkgconfig files.
2176
2177 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
2178
2179         * gst/gstcaps.c:
2180         * gst/gstghostpad.c:
2181         * gst/gsttrace.c:
2182         * gst/gstvalue.c:
2183         * gst/gstvalue.h:
2184           docs fixes
2185
2186 2005-11-18  Andy Wingo  <wingo@pobox.com>
2187
2188         * gst/net/gstnetclientclock.c: Turn off debugging.
2189
2190         * check/net/gstnetclientclock.c (test_functioning): Assert that the
2191         times connverge somewhat. Can't make a real test.
2192
2193         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
2194         integer arithmetic. Return the minimum of the domain, which can be
2195         set as "internal" for gst_clock_set_calibration.
2196         (gst_net_client_clock_observe_times): Call _set_calibration.
2197         (gst_net_client_clock_new): Call _set_calibration instead of
2198         rate_offset.
2199
2200         * check/net/gstnetclientclock.c (test_functioning): Use the right
2201         adjustment api.
2202
2203         * gst/gstclock.h:
2204         * gst/gstclock.c (gst_clock_get_calibration) 
2205         (gst_clock_set_calibration): New functions, obsolete the ones I
2206         added yesterday. Doh. Precision issues mean we have to extrapolate
2207         from a point in the more recent past than 1970.
2208         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
2209         obsolete.
2210         (gst_clock_adjust_unlocked): Use the right calibration data.
2211
2212 2005-11-18  Edward Hervey  <edward@fluendo.com>
2213
2214         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
2215         Also reset the ->current_* values in READY->PAUSED
2216
2217 2005-11-18  Andy Wingo  <wingo@pobox.com>
2218
2219         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
2220         Whoops, check the right fd. Also add some debugging.
2221         (gst_net_client_clock_observe_times): Adjust for int64 offset.
2222         (do_linear_regression): Add a crapload of debugging. Subtract off
2223         the minimum values from the input series to discard unneeded bits.
2224         Use only int arithmetic. There is still double arithmetic when
2225         calculating the intercept that needs fixing. Return boolean to
2226         indicate success; FALSE would mean the domain or range is too
2227         great. Still needs fixes.
2228
2229 2005-11-18  Wim Taymans  <wim@fluendo.com>
2230
2231         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2232         For the current position in stream time, we need to subtract
2233         accumulated time.
2234         
2235         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2236         Release lock before calling the callback function of async
2237         entries.
2238
2239 2005-11-18  Andy Wingo  <wingo@pobox.com>
2240
2241         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
2242         Port goes all the way to MAXUINT16.
2243
2244         * gst/net/gstnettimeprovider.c: Make the port range the same as
2245         for the kernel: 0 assigns, otherwise ports are less than
2246         MAXUINT16.
2247
2248         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
2249         port change.
2250
2251         * check/net/gstnetclientclock.c (test_functioning): Add the start
2252         of another test. 
2253
2254 2005-11-18  Wim Taymans  <wim@fluendo.com>
2255
2256         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2257         (gst_bin_remove_func), (bin_bus_handler):
2258         * gst/gstbin.h:
2259         Removing a clock provider from a bin, triggers a clock lost message
2260         so that a new clock will be selected.
2261         Adding a clock to a bin triggers a clock provider message.
2262         Make sure we reselect a clock when we received a clock lost message.
2263         Keep a reference to the element that provided the clock.
2264
2265 2005-11-18  Andy Wingo  <wingo@pobox.com>
2266
2267         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2268         the clock initially so it produces values around the base time.
2269         (gst_net_client_clock_class_init): Typo fix.
2270         (gst_net_client_clock_thread): Add note on when the socket gets
2271         closed.
2272
2273 2005-11-17  Wim Taymans  <wim@fluendo.com>
2274
2275         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2276         Free remote and local time arrays.
2277
2278 2005-11-17  Wim Taymans  <wim@fluendo.com>
2279
2280         * gst/net/gstnetclientclock.c: (do_linear_regression),
2281         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2282         Fix compilation, uninitialized vars and a forgotten continue.
2283
2284 2005-11-17  Andy Wingo  <wingo@pobox.com>
2285
2286         * check/Makefile.am (check_PROGRAMS): 
2287         * check/net/gstnetclientclock.c: Add a most minimal test for the
2288         net client clock. More to come later.
2289
2290         * gst/net/gstnet.h: 
2291         * gst/net/Makefile.am: Add netclientclock.
2292
2293         * gst/net/gstnetclientclock.h:
2294         * gst/net/gstnetclientclock.c: New files, implement an untested
2295         GstClock that takes its time from a network time provider.
2296         Implements the algorithm in network-clock.scm.
2297
2298         * tests/network-clock.scm (*window-size*): Rename from
2299         *queue-length*.
2300         * tests/network-clock.scm (network-time): 
2301         * tests/network-clock-utils.scm (q-push): Update callers.
2302
2303 2005-11-17  Wim Taymans  <wim@fluendo.com>
2304
2305         * gst/gstbin.c: (gst_bin_provide_clock_func),
2306         (gst_bin_sort_iterator_new):
2307         And unref the child too..
2308
2309 2005-11-17  Wim Taymans  <wim@fluendo.com>
2310
2311         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2312         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2313         Refactor the sort iterator so it can be used while holding the
2314         LOCK too.
2315         Make clock selection select a clock closest to the source.
2316
2317 2005-11-17  Michael Smith <msmith@fluendo.com>
2318
2319         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2320         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2321         * gst/gstclock.h:
2322           Anonymous structs are a gcc (and some other compilers) extension, so
2323           don't use them. Since this is only for ABI-compatibility, and our
2324           API/ABI freeze is over in a few days, this whole thing will only
2325           last a few days, so don't bother trying to think up a meaningful
2326           name for the struct.
2327
2328 2005-11-17  Andy Wingo  <wingo@pobox.com>
2329
2330         * gst/gstclock.h (GstClock): Add rate and offset properties,
2331         preserving ABI stability. Add rate/offset accessors. Will file bug
2332         for the freeze break.
2333
2334         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2335         and offset, trying to keep precision and avoiding
2336         underflow/overflow.
2337         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2338         functions. Make gst_clock_set_time_adjust obsolete.
2339         (gst_clock_set_time_adjust): Note that this function is obsolete.
2340         Will file bug soon.
2341
2342         * gst/base/gstbasetransform.h: Make the ABI-stability hack
2343         greppable by using GST_PADDING-1+1.
2344
2345 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
2346
2347         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2348
2349         * gst/gstmessage.c: (gst_message_parse_clock_lost):
2350           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2351
2352         * gst/gstpadtemplate.h:
2353         * gst/gstpluginfeature.h:
2354           Don't use c++ style comments in headers (#321638).
2355
2356 2005-11-16  Andy Wingo  <wingo@pobox.com>
2357
2358         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2359         buffer.
2360
2361         * check/net/gstnettimeprovider.c: Check to see that the time
2362         provider actually provides times. Works, yo!
2363
2364 2005-11-16  Wim Taymans  <wim@fluendo.com>
2365
2366         * check/Makefile.am:
2367         Enable more tests.
2368
2369         * check/elements/fakesrc.c: (GST_START_TEST):
2370         Set element to NULL before disposing it.
2371
2372 2005-11-16  Andy Wingo  <wingo@pobox.com>
2373
2374         * gst/net/Makefile.am:
2375         * gst/net/gstnet.h:
2376         * gst/net/gstnettimeprovider.c: 
2377         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2378         provider, include it from gstnet.h, and add it to the build.
2379
2380         * gst/net/gstnettimepacket.h: 
2381         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2382         sending and receiving.
2383
2384 2005-11-16  Wim Taymans  <wim@fluendo.com>
2385
2386         * check/Makefile.am:
2387         Enable valgrind check.
2388
2389         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2390         (gst_fake_src_alloc_buffer):
2391         Fix memleak.
2392
2393 2005-11-16  Wim Taymans  <wim@fluendo.com>
2394
2395         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2396         Call parent finalize too.
2397
2398 2005-11-16  Wim Taymans  <wim@fluendo.com>
2399
2400         * check/Makefile.am:
2401         Enable valgrind check that should work fine now.
2402
2403         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2404         * gst/gstqueue.c: (gst_queue_init):
2405         Fix memleaks in pad allocation.
2406
2407 2005-11-16  Andy Wingo  <wingo@pobox.com>
2408
2409         * gst/net/Makefile.am:
2410         * gst/net/gstnet.h: New part of core to hold network elements and
2411         objects. Put in core because it exposes API that applications want
2412         to use. The library is named libgstnet-tempname right now because
2413         of the existing libgstnet in gst-plugins-base. Solution is
2414         probably to rename the one in plugins-base; will file a bug for
2415         the freeze break.
2416
2417         * gst/net/gstnettimeprovider.c: 
2418         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2419         get_time call over the network.
2420
2421         * configure.ac: 
2422         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2423
2424         * check/Makefile.am:
2425         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2426         get additions shortly.
2427
2428 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2429
2430         * gst/gstpad.c: (gst_pad_new_from_static_template):
2431         * gst/gstpad.h:
2432           add gst_pad_new_from_static_template functions
2433         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2434         (gst_check_setup_sink_pad):
2435         * gst/elements/gsttee.c: (gst_tee_init):
2436           and use them
2437
2438 2005-11-16  Wim Taymans  <wim@fluendo.com>
2439
2440         * gst/gstpad.c: (gst_pad_pause_task):
2441         Removed warning, it's not really an error either.
2442
2443 2005-11-16  Wim Taymans  <wim@fluendo.com>
2444
2445         * gst/base/gstbasetransform.c:
2446         (gst_base_transform_prepare_output_buf),
2447         (gst_base_transform_event):
2448         Check if the caps are NULL, this can happen if the element
2449         is shutting down and the pad caps are set to NULL.
2450
2451 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2452
2453         * gst/elements/gsttee.c: (gst_tee_init):
2454           fix pad template leak in tee
2455
2456 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2457
2458         * gst/glib-compat.c: (g_value_dup_gst_object):
2459         * gst/glib-compat.h:
2460         * gst/gstpad.c: (gst_pad_set_property):
2461           use gst_object_ref when setting the pad template; this will
2462           trigger the pad template leaks on GLib 2.6 and the slaves
2463
2464 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2465
2466         * gst/glib-compat.c: (gst_flags_get_first_value):
2467         * gst/glib-compat.h:
2468         * gst/gstregistryxml.c:
2469           remove functions copied from GLib 2.6
2470
2471 2005-11-16  Michael Smith <msmith@fluendo.com>
2472
2473         * gst/Makefile.am:
2474           Don't link against VALGRIND_LIBS. That was always the wrong thing to
2475           do, but only breaks with newer valgrind versions. We're not a
2476           valgrind tool, we have no link-time dependencies on libcoregrind.
2477
2478 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2479
2480         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2481           some debug changes
2482         * gst/gstmessage.h:
2483           typo fixes
2484
2485 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2486
2487         * gst/base/gstbasesrc.c: (gst_base_src_init):
2488         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2489         * gst/gstqueue.c: (gst_queue_init):
2490         * gst/gstregistryxml.c: (load_feature):
2491           Revert all these unrefs, they don't even pass make check !
2492
2493 2005-11-15  Johan Dahlin  <johan@gnome.org>
2494
2495         * gst/base/gstbasesrc.c: (gst_base_src_init):
2496         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2497         * gst/gstqueue.c: (gst_queue_init): 
2498         Free pad templates, fixes a couple of leaks.
2499
2500 2005-11-15  Daniel Fischer  <dan at f3c dot com>
2501
2502         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2503
2504         * gst/gstpad.c: (gst_pad_get_property):
2505           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
2506           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
2507           (#321452)
2508
2509 2005-11-15  Wim Taymans  <wim@fluendo.com>
2510
2511         * gst/gstevent.c:
2512         Small doc update.
2513
2514 2005-11-15  Andy Wingo  <wingo@pobox.com>
2515
2516         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
2517
2518         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
2519         using GST_CLOCK_TIME_NONE to disable base time management.
2520         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
2521         time if it was NONE before.
2522         (gst_pipeline_change_state): Only munge the base time if
2523         stream_time != GST_CLOCK_TIME_NONE.
2524
2525         * check/gst/gstpipeline.c (test_base_time): Punt around the
2526         problem of the probe not being called, because that's not the
2527         issue I'm looking at. Add a check that setting stream_time to NONE
2528         disables base time management.
2529         
2530 2005-11-15  Wim Taymans  <wim@fluendo.com>
2531
2532         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2533         segment_stop == -1 at startup.
2534
2535         * gst/base/gstbasetransform.c: (gst_base_transform_event),
2536         (gst_base_transform_change_state):
2537         Init segment values at start.
2538
2539 2005-11-15  Wim Taymans  <wim@fluendo.com>
2540
2541         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2542         0 segment values are 0 in any format.
2543
2544         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2545         * gst/base/gstbasetransform.h:
2546         Parse newsegment correctly in basetransform
2547
2548         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2549         Sync to clock using updated segment values.
2550
2551 2005-11-15  Andy Wingo  <wingo@pobox.com>
2552
2553         * check/gst/gstpipeline.c (test_base_time): Add check that the
2554         base time and stream time are reset correctly.
2555
2556 2005-11-15  Wim Taymans  <wim@fluendo.com>
2557
2558         * docs/design/part-TODO.txt:
2559         Some more TODO items.
2560
2561 2005-11-15  Andy Wingo  <wingo@pobox.com>
2562
2563         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
2564         error if the user selected "no clock" as the clocking method.
2565
2566         * check/gst/gstpipeline.c (test_base_time): New test for buffer
2567         timestamps with live capture.
2568
2569         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
2570         is 0 but we are a live source, timestamp the buffers using the
2571         element's clock.
2572
2573 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
2574
2575         * docs/gst/gstreamer-sections.txt:
2576         * gst/gsterror.c:
2577         * gst/gstghostpad.c:
2578         * gst/gstobject.h:
2579         * gst/gstxml.c:
2580           more section docs
2581
2582 2005-11-14  Wim Taymans  <wim@fluendo.com>
2583
2584         * common/gst.supp:
2585           add suppressions from Wim's Debian machine
2586
2587 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2588
2589         * common/gst.supp:
2590           add suppressions from Andy's AMD64 Ubuntu machine
2591
2592 2005-11-14  Andy Wingo  <wingo@pobox.com>
2593
2594         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
2595         STATE_LOCK not necessary. Fixes #311489.
2596
2597         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
2598         #305291.
2599
2600         * gst/gstindex.c (gst_index_add_object): Note in the docs that
2601         this function is not implemented.
2602
2603 2005-11-14  Julien MOUTTE  <julien@moutte.net>
2604
2605         * gst/base/gstbasetransform.c:
2606         (gst_base_transform_prepare_output_buf):
2607         Ref the source pad caps while we need them.
2608         Fixes (#321386)
2609
2610 2005-11-11  Wim Taymans  <wim@fluendo.com>
2611
2612         * docs/gst/gstreamer-sections.txt:
2613         Added some docs for GstCollectData.
2614
2615         * gst/base/gstadapter.c:
2616         Some small code example fix.
2617
2618         * gst/base/gstcollectpads.c:
2619         * gst/base/gstcollectpads.h:
2620         Document some more.
2621
2622 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2623
2624         * configure.ac: back to HEAD
2625
2626 === release 0.9.5 ===
2627
2628 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
2629
2630         * configure.ac:
2631           releasing 0.9.5, "Bike Lunch Day"
2632
2633 2005-11-11  Wim Taymans  <wim@fluendo.com>
2634
2635         * gst/gstbuffer.c: (_gst_buffer_copy):
2636         Copy more flags.
2637
2638         * gst/gstcaps.c: (gst_caps_is_equal):
2639         Fix some docs.
2640         Make _is_equal fast in the trivial cases.
2641
2642         * gst/gstminiobject.c:
2643         * gst/gstminiobject.h:
2644         More docs. Spifify .h file.
2645
2646         * gst/gstutils.c:
2647         Small doc update.
2648
2649 2005-11-11  Wim Taymans  <wim@fluendo.com>
2650
2651         * gst/base/gstbasetransform.c:
2652         (gst_base_transform_prepare_output_buf),
2653         (gst_base_transform_handle_buffer):
2654         Small cleanups.
2655         If we're processing a buffer and need to allocate an output
2656         buffer, we cannot accept a format change. If we did get a 
2657         format change, we have to alloc a buffer ourselves of the 
2658         right size.
2659
2660 2005-11-11  Wim Taymans  <wim@fluendo.com>
2661
2662         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
2663         While checking the flag for reentrancy in the gstcaps function
2664         is nice to detect recursive invocations, it also makes it 
2665         impossible to call getcaps from multiple threads, which must be
2666         possible. So, checking for recursive calls has to go.
2667
2668 2005-11-11  Michael Smith <msmith@fluendo.com>
2669
2670         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2671           Don't sync on buffers that fall partially outside our current
2672           segment. Prevents an assertion failure/abort playing some files.
2673
2674 2005-11-10  Andy Wingo  <wingo@pobox.com>
2675
2676         * check/gst/gstbin.c (test_message_state_changed_children): Style
2677         fix..
2678
2679         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
2680         gst_bus_poll with the signal watch. Ensures that poll and a signal
2681         watch see the same messages.
2682
2683         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
2684         a poll and a watch at the same time get the same messages.
2685
2686 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2687
2688         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
2689         * gst/gstcaps.c: (gst_caps_intersect):
2690           Don't call gst_caps_do_simplify - it doesn't respect order of caps
2691           and it's not needed.
2692
2693 2005-11-10  Wim Taymans  <wim@fluendo.com>
2694
2695         * docs/design/part-TODO.txt:
2696         Updated todo.
2697
2698 2005-11-10  Wim Taymans  <wim@fluendo.com>
2699
2700         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2701         * gst/base/gstbasesrc.c: (gst_base_src_wait),
2702         (gst_base_src_do_sync), (gst_base_src_get_range):
2703         Implement clock sync in base class.
2704
2705 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2706
2707         patch by: Tim-Philipp Müller <tim at centricular dot net>
2708
2709         * gst/gststructure.c: (gst_structure_parse_field),
2710         (gst_structure_from_string):
2711           Forward-port a 0.8 patch to handle escaped spaces in structure string,
2712           so that gst_parse_launch() can deal with spaces in filtered link
2713           caps (fixes #164479)
2714         * check/gst/capslist.h:
2715         * check/gst/gststructure.c: (GST_START_TEST):
2716           add unit tests for this change
2717
2718 2005-11-10  Wim Taymans  <wim@fluendo.com>
2719
2720         * docs/gst/gstreamer-sections.txt:
2721         * gst/gstelement.c:
2722         * gst/gstelement.h:
2723         Fix docs, move some STATE macros to private.
2724
2725 2005-11-10  Wim Taymans  <wim@fluendo.com>
2726
2727         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
2728         Added check for bug #317341
2729
2730         * gst/gstbuffer.c:
2731         * gst/gstbuffer.h:
2732         Some more spiffifying.
2733
2734         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
2735         Call peer linkfunction if we are a source pad. Totally fixes
2736         #317341
2737
2738         * gst/gstpad.c:
2739         Update docs, source pads should call the peer linkfunction
2740         so they can atomically perform the pad link.
2741
2742 2005-11-09  Wim Taymans  <wim@fluendo.com>
2743
2744         * gst/gstbuffer.c:
2745         * gst/gstbuffer.h:
2746         Uber-spiffy-spiffify some more.
2747
2748 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
2749
2750         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
2751         * gst/elements/gstfilesink.c: (gst_file_sink_init):
2752         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2753         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
2754         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
2755         * gst/gstpad.c: (gst_pad_init):
2756           Use GST_DEBUG_FUNCPTR() more extensively.
2757
2758 2005-11-09  Wim Taymans  <wim@fluendo.com>
2759
2760         * gst/gstobject.c: (gst_object_class_init):
2761         * gst/gstobject.h:
2762         Documentation fixes.
2763
2764 2005-11-09  Edward Hervey  <edward@fluendo.com>
2765
2766         * gst/gsttypefindfactory.c:
2767         Fix docs.
2768         
2769 2005-11-09  Edward Hervey  <edward@fluendo.com>
2770
2771         * gst/base/gsttypefindhelper.c:
2772         * gst/gsttypefind.c:
2773         * gst/gsttypefind.h:
2774         Fix docs.
2775
2776 2005-11-09  Wim Taymans  <wim@fluendo.com>
2777
2778         * gst/gstiterator.c:
2779         Fix revision data.
2780
2781         * gst/gsttask.c:
2782         * gst/gsttask.h:
2783         Fix docs.
2784
2785 2005-11-09  Wim Taymans  <wim@fluendo.com>
2786
2787         * gst/gstevent.h:
2788         * gst/gsturi.h:
2789         Fix docs.
2790
2791 2005-11-09  Wim Taymans  <wim@fluendo.com>
2792
2793         * docs/gst/gstreamer-sections.txt:
2794         Moved the message async delivery private lock and cond
2795         to the private section.
2796
2797         * gst/gstmessage.c:
2798         * gst/gstmessage.h:
2799         Fixed docs.
2800
2801 2005-11-09  Edward Hervey  <edward@fluendo.com>
2802
2803         * docs/gst/gstreamer-sections.txt:
2804         * gst/gsturi.c:
2805         * gst/gsturi.h:
2806         Document GstURIHandler
2807
2808 2005-11-09  Wim Taymans  <wim@fluendo.com>
2809
2810         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
2811         (gst_iterator_find_custom):
2812         * gst/gstiterator.h:
2813         Fix iterator docs.
2814
2815 2005-11-09  Wim Taymans  <wim@fluendo.com>
2816
2817         * gst/gstbin.h:
2818         Document another field.
2819
2820         * gst/gststructure.c:
2821         * gst/gststructure.h:
2822         Document.
2823
2824 2005-11-09  Wim Taymans  <wim@fluendo.com>
2825
2826         * gst/gstbin.h:
2827         Documented structs.
2828
2829 2005-11-09  Wim Taymans  <wim@fluendo.com>
2830
2831         * docs/gst/gstreamer-sections.txt:
2832         Added some new macros.
2833
2834         * gst/gstclock.c:
2835         * gst/gstclock.h:
2836         * gst/gstobject.h:
2837         Docs updates.
2838
2839 2005-11-09  Wim Taymans  <wim@fluendo.com>
2840
2841         * docs/design/part-TODO.txt:
2842         Some more items for the TODO
2843
2844         * gst/gstcaps.c:
2845         * gst/gstcaps.h:
2846         Document GstCaps.
2847
2848 2005-11-09  Andy Wingo  <wingo@pobox.com>
2849
2850         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
2851         to work on something else now tho...
2852
2853         * gst/base/gstadapter.c: More adapter docs.
2854
2855         * gst/elements/gstfilesink.c (gst_file_sink_start) 
2856         (gst_file_sink_stop): New functions, replace the state change
2857         handler.
2858         (gst_file_sink_class_init): Hook up the start and stop functions.
2859         (gst_file_sink_base_init): Don't set the state change handler any
2860         more. It was a bit ugly too, being set from here...
2861         (gst_file_sink_get_property, gst_file_sink_set_property):
2862         Cleanups...
2863         (gst_file_sink_set_location): More robust check that doesn't call
2864         GST_STATE. Ugggggg.
2865
2866 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
2867
2868         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2869           Hold STREAM_LOCK while pushing newsegment or tag events as well.
2870
2871 2005-11-08  Wim Taymans  <wim@fluendo.com>
2872
2873         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2874         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
2875         (gst_base_sink_chain), (gst_base_sink_change_state):
2876         * gst/base/gstbasesink.h:
2877         * gst/base/gstbasesrc.h:
2878         * gst/gstelement.h:
2879         * gst/gstevent.h:
2880         Avoid excessive typechecking in macros.
2881
2882         * gst/gstminiobject.c: (gst_mini_object_get_type),
2883         (gst_mini_object_init), (gst_mini_object_new),
2884         (gst_mini_object_free):
2885         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
2886         (gst_object_finalize):
2887         Remove cruft code, optimize alloc_trace.
2888
2889 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2890
2891         * docs/faq/gst-uninstalled:
2892           fix up PS1 for systems that try to reset it
2893
2894 2005-11-07  Wim Taymans  <wim@fluendo.com>
2895
2896         * gst/base/gstbasesrc.c: (gst_base_src_init),
2897         (gst_base_src_get_range):
2898         Set the segment_end to -1 initially. Fixed typefind.
2899
2900 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2901
2902         * gst/base/gstadapter.c:
2903           Debug category should be 'adapter', not 'GstAdapter'.
2904           
2905         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
2906         (gst_collectpads_class_init), (gst_collectpads_init),
2907         (gst_collectpads_peek), (gst_collectpads_pop),
2908         (gst_collectpads_event), (gst_collectpads_chain):
2909           Add debug category and some debugging output. Use boilerplate
2910           macros. Remove some extraneous words from docs.
2911
2912 2005-11-05  Andy Wingo  <wingo@pobox.com>
2913
2914         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
2915         macro.
2916
2917 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2918
2919         * docs/gst/gstreamer-sections.txt:
2920         * gst/gstcaps.h:
2921         * gst/gstinfo.c:
2922         * gst/gstminiobject.h:
2923         * gst/gstobject.h:
2924         * gst/gstutils.h:
2925           more docs added
2926
2927 2005-11-04  Wim Taymans  <wim@fluendo.com>
2928
2929         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2930         Small update to stop at the configured segment_end
2931         position.
2932
2933 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2934
2935         * gst/gstregistry.c:
2936         * gst/gstregistry.h:
2937           added missing docs
2938
2939 2005-11-04  Edward Hervey  <edward@fluendo.com>
2940
2941         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2942         Check if we are doing a segment seek and have arrived at the
2943         end of that segment.
2944
2945 2005-11-04  Wim Taymans  <wim@fluendo.com>
2946
2947         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
2948         Don't leak a mutex unlock in case of an error.
2949
2950         * gst/gstbus.h:
2951         Doc fixes.
2952
2953 2005-11-04  Wim Taymans  <wim@fluendo.com>
2954
2955         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
2956         (gst_bus_post):
2957         Get the context to wake up only once.
2958
2959 2005-11-03  Wim Taymans  <wim@fluendo.com>
2960
2961         * check/states/sinks.c: (GST_START_TEST):
2962         Uncomment fixed check.
2963
2964         * docs/design/part-TODO.txt:
2965         Updated TODO.
2966
2967         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2968         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2969         (gst_base_sink_get_position):
2970         If we are going to PLAYING, post the right pending state
2971         when we post the intermediate paused message.
2972
2973         * gst/gstelement.c: (gst_element_continue_state),
2974         (gst_element_set_state_func), (gst_element_change_state):
2975         Don't post state changes that were between the same state
2976         and were not ASYNC.
2977
2978 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2979
2980         * docs/gst/gstreamer-sections.txt:
2981         * gst/gstcaps.h:
2982         * gst/gstinfo.c:
2983         * gst/gstminiobject.h:
2984         * gst/gstobject.h:
2985         * gst/gstutils.h:
2986           more docs and doc style fixes
2987
2988 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2989
2990         * docs/gst/gstreamer-sections.txt:
2991         * gst/gstelement.c:
2992         * gst/gstminiobject.c:
2993         doc fixes
2994
2995 2005-11-03  Andy Wingo  <wingo@pobox.com>
2996
2997         * check/states/sinks.c (test_livesrc_sink): Add checks that the
2998         state-changed messages actually have the right order and the right
2999         values.
3000
3001 2005-11-03  Wim Taymans  <wim@fluendo.com>
3002
3003         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3004         Added some more checks. Specifically the case where NO_PREROLL
3005         elements are in the pipeline.
3006
3007         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3008         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3009         (gst_base_sink_get_position):
3010         Post READY->PAUSED state change messages too.
3011         Fix bug where VOID was posted as pending state...
3012
3013         * gst/gstbin.c: (gst_bin_recalc_state):
3014         use _element_continue_state() to continue the state change.
3015
3016         * gst/gstelement.c: (gst_element_continue_state),
3017         (gst_element_commit_state), (gst_element_set_state_func),
3018         (gst_element_change_state), (gst_element_change_state_func):
3019         Lots of state change cleanups, assign the STATE_RETURN in
3020         a new continue_state() function that also propagates the
3021         last return value from a state change to the app.
3022         Update some debug statements with proper category.
3023
3024 2005-11-03  Wim Taymans  <wim@fluendo.com>
3025
3026         * docs/design/part-events.txt:
3027         * docs/design/part-gstpipeline.txt:
3028         * docs/design/part-messages.txt:
3029         * docs/design/part-overview.txt:
3030         * docs/design/part-seeking.txt:
3031         * docs/design/part-states.txt:
3032         * docs/design/part-trickmodes.txt:
3033         * docs/manual/advanced-position.xml:
3034         Small docs updates.
3035
3036         * gst/gstobject.h:
3037         People think !! is ugly, this looks better.
3038
3039         * gst/gstpad.c: (gst_pad_set_blocked_async):
3040         Remove !! since it's fixed elsewhere now.
3041
3042 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3043
3044         * gst/gstminiobject.h:
3045         * gst/gstobject.h:
3046           Add !! to _FLAG_IS_SET macros to make the result boolean.
3047
3048 2005-11-03  Edward Hervey  <edward@fluendo.com>
3049
3050         * gst/gstpad.c: (gst_pad_set_blocked_async):
3051         comparing a flag and a gboolean rarely returns coherent results...
3052         Added two characters (!!) to make that work correctly.
3053         
3054 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3055
3056         * gst/gstbus.c: (gst_bus_class_init):
3057           Fix some typos.
3058           
3059         * gst/gstqueue.c: (gst_queue_loop):
3060           Don't assume a miniobject that isn't a buffer is an
3061           event (it could be that there is a refcounting
3062           problem somewhere and the pointer is stale and
3063           refers to an already destroyed miniobject).
3064
3065 2005-11-03  Julien MOUTTE  <julien@moutte.net>
3066
3067         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
3068
3069 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3070
3071         * docs/manual/advanced-position.xml:
3072           Update seek example and explanations to current 0.9 API.
3073
3074         * gst/elements/gsttypefindelement.c:
3075         (gst_type_find_element_activate):
3076           Remove FIXME comment now that the found caps
3077           are unreffed.
3078
3079 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3080
3081         * gst/gstregistryxml.c: (load_feature):
3082           Add another GST_STR_NULL instance
3083
3084 2005-11-02  Edward Hervey  <edward@fluendo.com>
3085
3086         * gst/gstpad.c: (handle_pad_block):
3087         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
3088         
3089 2005-11-02  Wim Taymans  <wim@fluendo.com>
3090
3091         * gst/gstbin.c:
3092         Fix typo in docs.
3093
3094         * gst/gstelement.c: (gst_element_commit_state):
3095         Remove unused value.
3096
3097         * gst/gstiterator.c:
3098         Mention that the returned element is reffed in the docs.
3099
3100 2005-11-02  Wim Taymans  <wim@fluendo.com>
3101
3102         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
3103         (gst_pad_push), (gst_pad_push_event):
3104         Unlock blocked pads when they are flushed.
3105
3106 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3107
3108         * docs/README:
3109         * docs/gst/gstreamer-sections.txt:
3110         * gst/gstbin.c:
3111           doc updates
3112         * gst/gstregistry.c: (gst_registry_scan_path_level):
3113           fix for a nasty little missed situation where an installed plug-in
3114           which was in the cache did not get overridden by an uninstalled one
3115           which was earlier in the plugin path because the newly created plugin
3116           for the uninstalled one (not in the registry) didn't get its
3117           ->registered set to TRUE
3118
3119 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3120
3121         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
3122         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
3123         (gst_collectpads_is_active), (gst_collectpads_collect),
3124         (gst_collectpads_collect_range), (gst_collectpads_start),
3125         (gst_collectpads_stop), (gst_collectpads_peek),
3126         (gst_collectpads_pop), (gst_collectpads_available),
3127         (gst_collectpads_read), (gst_collectpads_flush):
3128           Guard public API with assertions.
3129         
3130         * gst/gstpad.c:
3131           Fix docs for gst_pad_set_link_function().
3132
3133 2005-11-02  Johan Dahlin  <johan@gnome.org>
3134
3135         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
3136         Unref found_caps after we used it.
3137
3138 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3139
3140         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
3141           Don't try to ref NULL.
3142
3143 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3144
3145         * win32/common/config.h.in:
3146           provide a GST_FUNCTION that just gives a string for now
3147
3148 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3149
3150         * win32/common/gstenumtypes.c: (register_gst_object_flags),
3151         (gst_object_flags_get_type), (register_gst_bin_flags),
3152         (gst_bin_flags_get_type), (register_gst_buffer_flag),
3153         (gst_buffer_flag_get_type), (register_gst_bus_flags),
3154         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3155         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
3156         (gst_clock_return_get_type), (register_gst_clock_entry_type),
3157         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3158         (gst_clock_flags_get_type), (register_gst_state),
3159         (gst_state_get_type), (register_gst_state_change_return),
3160         (gst_state_change_return_get_type), (register_gst_state_change),
3161         (gst_state_change_get_type), (register_gst_element_flags),
3162         (gst_element_flags_get_type), (register_gst_core_error),
3163         (gst_core_error_get_type), (register_gst_library_error),
3164         (gst_library_error_get_type), (register_gst_resource_error),
3165         (gst_resource_error_get_type), (register_gst_stream_error),
3166         (gst_stream_error_get_type), (register_gst_event_type),
3167         (gst_event_type_get_type), (register_gst_seek_type),
3168         (gst_seek_type_get_type), (register_gst_seek_flags),
3169         (gst_seek_flags_get_type), (register_gst_format),
3170         (gst_format_get_type), (register_gst_index_certainty),
3171         (gst_index_certainty_get_type), (register_gst_index_entry_type),
3172         (gst_index_entry_type_get_type),
3173         (register_gst_index_lookup_method),
3174         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3175         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3176         (gst_index_resolver_method_get_type), (register_gst_index_flags),
3177         (gst_index_flags_get_type), (register_gst_debug_level),
3178         (gst_debug_level_get_type), (register_gst_debug_color_flags),
3179         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3180         (gst_iterator_result_get_type), (register_gst_iterator_item),
3181         (gst_iterator_item_get_type), (register_gst_message_type),
3182         (gst_message_type_get_type), (register_gst_mini_object_flags),
3183         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3184         (gst_pad_link_return_get_type), (register_gst_flow_return),
3185         (gst_flow_return_get_type), (register_gst_activate_mode),
3186         (gst_activate_mode_get_type), (register_gst_pad_direction),
3187         (gst_pad_direction_get_type), (register_gst_pad_flags),
3188         (gst_pad_flags_get_type), (register_gst_pad_presence),
3189         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3190         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3191         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3192         (gst_plugin_error_get_type), (register_gst_plugin_flags),
3193         (gst_plugin_flags_get_type), (register_gst_rank),
3194         (gst_rank_get_type), (register_gst_query_type),
3195         (gst_query_type_get_type), (register_gst_tag_merge_mode),
3196         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3197         (gst_tag_flag_get_type), (register_gst_task_state),
3198         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3199         (gst_alloc_trace_flags_get_type),
3200         (register_gst_type_find_probability),
3201         (gst_type_find_probability_get_type), (register_gst_uri_type),
3202         (gst_uri_type_get_type), (register_gst_parse_error),
3203         (gst_parse_error_get_type):
3204         * win32/common/gstversion.h:
3205           update win32 copies
3206
3207 2005-11-01  Luca Ognibene  <luogni@tin.it>
3208
3209         * gst/gst.c:
3210           fix docs. popt is dead, long live GOption.
3211
3212 2005-10-31  Wim Taymans  <wim@fluendo.com>
3213
3214         * gst/gstbuffer.h:
3215         Small doc fix.
3216
3217 2005-10-31  Andy Wingo  <wingo@pobox.com>
3218
3219         * Boo!
3220
3221         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
3222
3223         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
3224         need to serialize property notifications on GLib 2.8. GLib 2.6 has
3225         the possibility of deadlocks here if code calling notify() or
3226         set() has a lock that can be taken in another notify handler (ABBA
3227         with class lock and e.g. python GIL state lock).
3228
3229 2005-10-28  Julien MOUTTE  <julien@moutte.net>
3230
3231         * gst/gstbus.c: Doc updates.
3232
3233 2005-10-28  Wim Taymans  <wim@fluendo.com>
3234
3235         * docs/design/part-TODO.txt:
3236         * gst/gstiterator.c:
3237         * gst/gstsystemclock.c:
3238         * gst/gstsystemclock.h:
3239         Doc updates.
3240
3241 2005-10-28  Edward Hervey  <edward@fluendo.com>
3242
3243         * docs/gst/gstreamer-docs.sgml:
3244         * docs/gst/gstreamer-sections.txt:
3245         the GstURIType documentation page is private, it only defines GstURIType
3246         which should be defined in the GstURIHandler page
3247         
3248 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3249
3250         * gst/gstbin.c: (gst_bin_class_init):
3251         * gst/gstbin.h:
3252         * gst/gstutils.c:
3253         Documentation updates.
3254
3255 2005-10-28  Wim Taymans  <wim@fluendo.com>
3256
3257         * docs/gst/gstreamer-sections.txt:
3258         * gst/gstclock.c:
3259         * gst/gstclock.h:
3260         Documented the clocks.
3261
3262 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
3263
3264         * docs/gst/gstreamer-sections.txt:
3265           move some macros to private sections
3266         * gst/gstminiobject.c:
3267         * gst/gstminiobject.h:
3268           add descriptions provided by ds and some more
3269         * gst/gstpad.h:
3270           mark macro as to be removed
3271
3272 2005-10-28  Wim Taymans  <wim@fluendo.com>
3273
3274         * docs/design/part-TODO.txt:
3275         Add an item to TODO.
3276
3277         * gst/gstiterator.c: (gst_iterator_fold),
3278         (gst_iterator_find_custom):
3279         * gst/gstiterator.h:
3280         Add iterator docs.
3281
3282 2005-10-28  Wim Taymans  <wim@fluendo.com>
3283
3284         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3285         (gst_base_transform_init):
3286         Don't leak class.
3287
3288         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3289         An EOS event marks the queue as completely filled.
3290
3291 2005-10-27  Wim Taymans  <wim@fluendo.com>
3292
3293         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3294         (gst_base_sink_do_sync), (gst_base_sink_get_position):
3295         Some more debugging.
3296
3297         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3298         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3299         (gst_base_transform_event), (gst_base_transform_getrange),
3300         (gst_base_transform_chain):
3301         * gst/base/gstbasetransform.h:
3302         Fix debugging,
3303         Protect transform and concurrent buffer alloc with a new lock.
3304         Try not to break ABI/API.
3305
3306 2005-10-27  Wim Taymans  <wim@fluendo.com>
3307
3308         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3309         (gst_base_src_init), (gst_base_src_query),
3310         (gst_base_src_default_newsegment),
3311         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3312         (gst_base_src_send_event), (gst_base_src_event_handler),
3313         (gst_base_src_pad_get_range), (gst_base_src_loop),
3314         (gst_base_src_unlock), (gst_base_src_default_negotiate),
3315         (gst_base_src_start), (gst_base_src_deactivate),
3316         (gst_base_src_activate_push), (gst_base_src_change_state):
3317         Move some stuff around and cleanup things.
3318
3319 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
3320
3321         * gst/base/gstbasesrc.c: (gst_base_src_query):
3322           Add missing break statements.
3323
3324 2005-10-27  Wim Taymans  <wim@fluendo.com>
3325
3326         * check/gst/gstbin.c: (GST_START_TEST):
3327         An extra refcount is taken in basesrc.
3328
3329         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3330         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3331         (gst_base_src_loop):
3332         Small cleanups, check for flushing after being unlocked from the 
3333         LIVE_LOCK. take refcounts correctly (not yet everywhere).
3334         Don't send out EOS when going to READY.
3335
3336 2005-10-27  Wim Taymans  <wim@fluendo.com>
3337
3338         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3339         (gst_base_sink_get_position):
3340         Some more debug.
3341
3342         * gst/gstbin.c: (message_check), (bin_replace_message),
3343         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3344         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3345         (bin_query_duration_init), (bin_query_duration_fold),
3346         (bin_query_duration_done), (bin_query_generic_fold),
3347         (gst_bin_query):
3348         * tools/gst-launch.c: (main):
3349         Remove old option.
3350
3351 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
3352
3353         * examples/controller/audio-example.c: (main):
3354         * examples/queue/queue.c: (event_loop):
3355         * gst/base/gstbasetransform.h:
3356         * gst/gstelement.c: (gst_element_send_event):
3357         * gst/gstevent.h:
3358         * gst/gstpad.c: (gst_pad_send_event):
3359           fixing examples
3360           fixing docs typos
3361           changing log priority in error situations
3362
3363 2005-10-25  Wim Taymans  <wim@fluendo.com>
3364
3365         * gst/gstbin.c: (message_check), (bin_replace_message),
3366         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3367         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3368         (bin_query_duration_init), (bin_query_duration_fold),
3369         (bin_query_duration_done), (bin_query_generic_fold),
3370         (gst_bin_query):
3371         Some doc and debug updates.
3372         Cache previously requested query DURATION for speed. invalidate
3373         cached duration if element posts a DURATION message.
3374
3375 2005-10-25  Wim Taymans  <wim@fluendo.com>
3376
3377         * docs/design/part-TODO.txt:
3378         Update TODO.
3379
3380         * gst/gstbin.c: (message_check), (bin_replace_message),
3381         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3382         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3383         (bin_query_duration_init), (bin_query_duration_fold),
3384         (bin_query_duration_done), (bin_query_generic_fold),
3385         (gst_bin_query):
3386         Handle SEGMENT_START/DONE messages correctly.
3387         More evolved query algorithm that handles duration queries
3388         correctly.
3389
3390         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3391         (gst_element_get_state_func), (gst_element_abort_state),
3392         (gst_element_commit_state), (gst_element_lost_state):
3393         Some more debugging.
3394
3395         * gst/gstmessage.h:
3396         Added doc.
3397
3398 2005-10-25  Wim Taymans  <wim@fluendo.com>
3399
3400         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3401         Don't use invalid stream_time.
3402
3403         * gst/gstevent.c: (gst_event_new_newsegment):
3404         stream_time in newsegment cannot be undefined.
3405
3406 2005-10-24  Wim Taymans  <wim@fluendo.com>
3407
3408         * gst/gstbus.c:
3409         Doc fix.
3410
3411         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3412         (gst_queue_loop):
3413         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3414
3415 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
3416
3417         * docs/libs/tmpl/gstdparam.sgml:
3418         * docs/libs/tmpl/gstdplinint.sgml:
3419         * docs/libs/tmpl/gstdpman.sgml:
3420         * docs/libs/tmpl/gstdpsmooth.sgml:
3421         * docs/libs/tmpl/gstunitconvert.sgml:
3422           these are obsolete
3423
3424 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3425
3426         * configure.ac:
3427           back to HEAD
3428
3429 === release 0.9.4 ===
3430
3431 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3432
3433         * configure.ac:
3434           releasing 0.9.4, "Tyrannosaurus Rex"
3435
3436 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
3437
3438         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3439         (gst_file_sink_get_current_offset):
3440           Use fseeko() and ftello() if available. When falling back on
3441           lseek() to get the current offset, fflush() first to make sure
3442           everything is up-to-date and we get the right offset.
3443
3444 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3445
3446         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3447         * gst/base/gstbasesrc.c: (gst_base_src_loop):
3448         * gst/gsterror.c: (_gst_stream_errors_init):
3449         * gst/gsterror.h:
3450         * gst/gstqueue.c: (gst_queue_loop):
3451         * po/POTFILES.in:
3452           remove prematurely added error category and clean up the instances
3453
3454 2005-10-21  Wim Taymans  <wim@fluendo.com>
3455
3456         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3457         (gst_base_sink_get_position), (gst_base_sink_query),
3458         (gst_base_sink_change_state):
3459         Simply set the right flag when going to playing, that's all
3460         we need to do instead of calling a function inside the object
3461         lock (that could take the lock as well and deadlock)
3462
3463 2005-10-21  Wim Taymans  <wim@fluendo.com>
3464
3465         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
3466         (gst_base_src_loop):
3467         Don't warn, the peer element knows what to do best when
3468         the seek failed, it might try something else.
3469
3470 2005-10-21  Wim Taymans  <wim@fluendo.com>
3471
3472         * gst/base/gstbasesrc.c: (gst_base_src_init),
3473         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3474         Fix seeking.
3475
3476 2005-10-21  Wim Taymans  <wim@fluendo.com>
3477
3478         * docs/design/part-segments.txt:
3479         More docs.
3480
3481         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3482         Correctly set caps, even on the subbufer.
3483
3484 2005-10-21  Wim Taymans  <wim@fluendo.com>
3485
3486         * docs/gst/gstreamer-docs.sgml:
3487         * docs/gst/gstreamer-sections.txt:
3488         * gst/gstelement.h:
3489         * gst/gstevent.c:
3490         * gst/gstevent.h:
3491         * gst/gstmessage.h:
3492         * gst/gstpad.h:
3493         * gst/gstparse.h:
3494         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
3495         * gst/gsttask.h:
3496         * gst/gstutils.c:
3497         * gst/gstutils.h:
3498         And 2% more doc coverage.
3499
3500 2005-10-21  Andy Wingo  <wingo@pobox.com>
3501
3502         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
3503         position reporting.
3504
3505 2005-10-20  Wim Taymans  <wim@fluendo.com>
3506
3507         * gst/gsterror.c: (gst_error_get_message):
3508         * gst/gstparse.h:
3509         * gst/gstquery.h:
3510         * gst/gststructure.c:
3511         * gst/gsttrace.c:
3512         * gst/gstutils.c:
3513         More docs.
3514
3515 2005-10-20  Wim Taymans  <wim@fluendo.com>
3516
3517         * gst/gstbuffer.h:
3518         * gst/gstpad.c:
3519         * gst/gstparse.c:
3520         Another 1% more coverage.
3521
3522 2005-10-20  Wim Taymans  <wim@fluendo.com>
3523
3524         * docs/gst/gstreamer-sections.txt:
3525         * gst/gstelement.c: (gst_element_get_state_func),
3526         (gst_element_abort_state), (gst_element_commit_state),
3527         (gst_element_lost_state):
3528         * gst/gstevent.h:
3529         * gst/gstquery.c: (gst_query_set_position),
3530         (gst_query_parse_position), (gst_query_set_duration),
3531         (gst_query_parse_duration), (gst_query_new_convert):
3532         * gst/gstutils.c:
3533         Yay! 1% more docs coverage.
3534
3535 2005-10-20  Wim Taymans  <wim@fluendo.com>
3536
3537         * gst/gstpad.h:
3538         * gst/gstquery.c: (gst_query_set_position),
3539         (gst_query_parse_position), (gst_query_set_duration),
3540         (gst_query_parse_duration), (gst_query_new_convert):
3541         * gst/gstquery.h:
3542         * gst/gstutils.c: (gst_element_query_convert):
3543         * gst/gstutils.h:
3544         Docs and consistency fixes.
3545
3546 2005-10-20  Wim Taymans  <wim@fluendo.com>
3547
3548         * gst/gsttask.c:
3549         * gst/gsttask.h:
3550         More docs.
3551
3552 2005-10-20  Wim Taymans  <wim@fluendo.com>
3553
3554         * gst/gstbin.c: (message_check), (bin_replace_message),
3555         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3556         (update_degree), (gst_bin_sort_iterator_next),
3557         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
3558         Reworked the message handling a bit, cache the messages instead of
3559         only the senders. alows us to do more in the future.
3560
3561 2005-10-20  Wim Taymans  <wim@fluendo.com>
3562
3563         * docs/design/part-TODO.txt:
3564         Update TODO
3565
3566         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3567         (gst_base_sink_query):
3568         Don't use clock time to report position when in EOS.
3569
3570 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
3571
3572         * tools/gst-inspect.c: (print_interfaces),
3573         (print_element_properties_info), (print_element_info):
3574           Fix interface output with gst-inspect -a; don't print
3575           newlines after double/float properties.
3576
3577 2005-10-20  Wim Taymans  <wim@fluendo.com>
3578
3579         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3580         (gst_base_sink_query):
3581         Speed up current position calculation.
3582
3583         * gst/base/gstbasesrc.c: (gst_base_src_query),
3584         (gst_base_src_default_newsegment):
3585         Correctly set stream position in newsegment.
3586
3587         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
3588         (update_degree), (gst_bin_sort_iterator_next),
3589         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
3590         * gst/gstmessage.c: (gst_message_new_custom):
3591         Clean up debugging info
3592
3593         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
3594         (gst_queue_loop), (gst_queue_handle_src_query):
3595         Pause task faster.
3596
3597 2005-10-19  Wim Taymans  <wim@fluendo.com>
3598
3599         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3600         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3601         Fix query handling again.
3602
3603 2005-10-19  Wim Taymans  <wim@fluendo.com>
3604
3605         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3606         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3607         * gst/base/gstbasesrc.c: (gst_base_src_query):
3608         * gst/elements/gstfilesink.c: (gst_file_sink_query):
3609         * gst/elements/gsttypefindelement.c:
3610         (gst_type_find_handle_src_query), (find_element_get_length),
3611         (gst_type_find_element_activate):
3612         API change fix.
3613
3614         * gst/gstquery.c: (gst_query_new_position),
3615         (gst_query_set_position), (gst_query_parse_position),
3616         (gst_query_new_duration), (gst_query_set_duration),
3617         (gst_query_parse_duration), (gst_query_set_segment),
3618         (gst_query_parse_segment):
3619         * gst/gstquery.h:
3620         Bundling query position/duration is not a good idea since duration
3621         does not change much and we don't want to recalculate it for every
3622         position query, so they are separated again..
3623         Base value in segment query is not needed.
3624
3625         * gst/gstqueue.c: (gst_queue_handle_src_query):
3626         * gst/gstutils.c: (gst_element_query_position),
3627         (gst_element_query_duration), (gst_pad_query_position),
3628         (gst_pad_query_duration):
3629         * gst/gstutils.h:
3630         Updates for query API change.
3631         Added some docs here and there.
3632
3633 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3634
3635         * check/gst/gstbin.c: (GST_START_TEST):
3636         * check/gst/gstghostpad.c: (GST_START_TEST):
3637         * check/pipelines/cleanup.c: (GST_START_TEST):
3638           wait on thread to die so we can check refcount correctly
3639
3640 2005-10-18  Wim Taymans  <wim@fluendo.com>
3641
3642         * check/pipelines/stress.c: (GST_START_TEST):
3643         Make check a little more time consuming.
3644
3645 2005-10-18  Wim Taymans  <wim@fluendo.com>
3646
3647         * check/Makefile.am:
3648         * check/pipelines/stress.c: (GST_START_TEST),
3649         (simple_launch_lines_suite), (main):
3650         Small state change torture test.
3651
3652         * docs/design/part-states.txt:
3653         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3654         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
3655         (gst_base_sink_change_state):
3656         Never take state lock from streaming thread, clean up ugly
3657         hacks. Unfortunatly core does not yet support nice ways to
3658         async commit state.
3659         
3660         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
3661         (bin_bus_handler):
3662         Start state recalc if a STATE_DIRTY message is posted, but only
3663         on the toplevel bin.
3664
3665         * gst/gstelement.c: (gst_element_sync_state_with_parent),
3666         (gst_element_get_state_func), (gst_element_abort_state),
3667         (gst_element_commit_state), (gst_element_lost_state),
3668         (gst_element_set_state_func), (gst_element_change_state):
3669         * gst/gstelement.h:
3670         State variables are now protected with the LOCK, the state
3671         lock is only used to serialize _set_state().
3672
3673 2005-10-18  Wim Taymans  <wim@fluendo.com>
3674
3675         * check/gst/gstbin.c: (GST_START_TEST):
3676         * check/gst/gstmessage.c: (GST_START_TEST):
3677         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3678         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
3679         (bin_bus_handler):
3680         * gst/gstelement.c: (gst_element_abort_state),
3681         (gst_element_commit_state), (gst_element_lost_state):
3682         * gst/gstmessage.c: (gst_message_new_state_changed),
3683         (gst_message_new_state_dirty), (gst_message_new_segment_start),
3684         (gst_message_new_segment_done), (gst_message_new_duration),
3685         (gst_message_parse_state_changed),
3686         (gst_message_parse_segment_start),
3687         (gst_message_parse_segment_done), (gst_message_parse_duration):
3688         * gst/gstmessage.h:
3689         * tools/gst-launch.c: (event_loop):
3690         Seriously, this is better than a previous commit as we only need
3691         to notify the fact that an element changed state in a streaming
3692         thread, marking the state of the parents dirty, hence the 
3693         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
3694         message.
3695
3696 2005-10-18  Wim Taymans  <wim@fluendo.com>
3697
3698         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
3699         (gst_bin_recalc_func):
3700         * gst/gstelement.c: (gst_element_set_clock),
3701         (gst_element_abort_state), (gst_element_lost_state):
3702         Cleanups, prepare for state change fixes.
3703
3704 2005-10-18  Wim Taymans  <wim@fluendo.com>
3705
3706         * gst/gstbin.h:
3707         * gst/gstelement.c: (gst_element_class_init),
3708         (gst_element_set_state), (gst_element_set_state_func):
3709         * gst/gstelement.h:
3710         Pending ABI changes.
3711         GThreadPool in GstBinClass to monitor async state changes.
3712         state_cookie in GstElement to detect concurrent gst/set state.
3713         set_state is now virtual too in case a very complicated element
3714         has to be constructed.
3715
3716 2005-10-18  Wim Taymans  <wim@fluendo.com>
3717
3718         * check/gst/gstbin.c: (GST_START_TEST):
3719         * check/gst/gstmessage.c: (GST_START_TEST):
3720         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3721         * gst/gstbin.c: (bin_bus_handler):
3722         * gst/gstelement.c: (gst_element_commit_state),
3723         (gst_element_lost_state):
3724         * gst/gstmessage.c: (gst_message_new_state_changed),
3725         (gst_message_new_segment_start), (gst_message_new_segment_done),
3726         (gst_message_new_duration), (gst_message_parse_state_changed),
3727         (gst_message_parse_segment_start),
3728         (gst_message_parse_segment_done), (gst_message_parse_duration):
3729         * gst/gstmessage.h:
3730         * tools/gst-launch.c: (event_loop):
3731         Make messages future proof.
3732         state-change gets a flag if it was a message comming from the
3733         streaming thread.
3734         segment-start/stop can also be specified in other formats.
3735         A message to notify an app that a pipeline changed playback 
3736         duration.
3737         Also fix a GstMessage leak in -launch
3738
3739 2005-10-18  Andy Wingo  <wingo@pobox.com>
3740
3741         * gst/gstelement.c (gst_element_dispose): More helpful message.
3742
3743 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3744
3745         reviewed by: <delete if not using a buddy>
3746
3747         * common/gtk-doc.mak:
3748
3749 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3750
3751         * gst/gstregistry.c: (gst_registry_scan_path_level):
3752           unref a plug-in we get that was already initialized
3753
3754 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
3755
3756         * docs/gst/gstreamer-sections.txt:
3757         * docs/libs/gstreamer-libs-sections.txt:
3758         * gst/gstelement.h:
3759           add new api entries
3760           hide internal macro
3761
3762 2005-10-17  Andy Wingo  <wingo@pobox.com>
3763
3764         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
3765         cleanup.
3766
3767         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
3768
3769         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
3770
3771         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
3772         (gst_element_get_state_func): Better debug message.
3773         (gst_element_commit_state): s/INFO/DEBUG/.
3774         (gst_element_lost_state, gst_element_change_state): 
3775
3776         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
3777         (gst_message_new_custom): s/INFO/LOG/.
3778
3779 2005-10-17  Michael Smith <msmith@fluendo.com>
3780
3781         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3782           Check if end time is valid using end time, not start time.
3783
3784 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
3785
3786         * check/gst-libs/controller.c: (GST_START_TEST),
3787         (gst_controller_suite):
3788         * libs/gst/controller/gstcontroller.c:
3789         (gst_controlled_property_set_interpolation_mode):
3790         * libs/gst/controller/gstcontroller.h:
3791         * libs/gst/controller/gstinterpolation.c:
3792         * testsuite/controller/.cvsignore:
3793         * testsuite/controller/Makefile.am:
3794         * testsuite/controller/interpolator.c:
3795           merge controller testsuites
3796           fix broken tests
3797           remove mem-chunk from docs
3798
3799 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3800
3801         * gst/gstmemchunk.c:
3802         * gst/gstmemchunk.h:
3803         * gst/gsttrashstack.c:
3804         * gst/gsttrashstack.h:
3805           out.  get out.  you're fired.  to the Attic !
3806
3807 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3808
3809         * gst/gstcaps.c: (gst_caps_intersect):
3810           fix signedness issues in a (hopefully) correct way
3811         * gst/gstelement.c: (gst_element_pads_activate):
3812           some debugging
3813         * gst/gstobject.c: (gst_object_set_parent):
3814           some debugging
3815
3816 2005-10-17  Julien MOUTTE  <julien@moutte.net>
3817
3818         * gst/gstvalue.h: Fix prototypes.
3819
3820 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3821
3822         * docs/gst/gstreamer-sections.txt:
3823         * gst/gst.c: (gst_version_string):
3824         * gst/gst.h:
3825         * gst/gstversion.h.in:
3826         * win32/common/libgstreamer.def:
3827           add gst_version_string ()
3828
3829 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3830
3831         * configure.ac:
3832           clean up further
3833         * gst/gst.c: (init_post):
3834         * win32/common/config.h.in:
3835           it's PLUGINDIR now
3836         * gst/gstcaps.c: (gst_caps_intersect):
3837           use gint64, the range could be bigger than a guint
3838
3839 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3840
3841         * gst/gstclock.h:
3842           document potential problem in 2038
3843
3844 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3845
3846         * gst/gstcaps.c: (gst_caps_intersect):
3847           Fix guint j diving under 0
3848
3849 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3850
3851         * configure.ac:
3852         * win32/common/config.h:
3853         * win32/common/config.h.in:
3854           check for process.h, declares getpid() on Windows
3855         * gst/gstinfo.c:
3856           include process.h if we have it
3857         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
3858         * gst/gstmemchunk.h:
3859           fix signedness issues
3860         * win32/common/libgstreamer.def:
3861           fix get_type's
3862
3863 2005-10-16  Julien MOUTTE  <julien@moutte.net>
3864
3865         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
3866         fix. Because of unsigned ints, caps intersection was going nuts and
3867         trying to access structures with G_MAXUINT index. That fixes
3868         videotestsrc ! ffmpegcolorspace ! fakesink
3869         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
3870         consistency.
3871
3872 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3873
3874         * configure.ac:
3875           use the gettext macro
3876         * gst/elements/gstelements.c:
3877         * gst/gst.c:
3878         * gst/indexers/gstindexers.c:
3879           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
3880         * win32/common/config.h:
3881           updated config.h
3882         * win32/common/config.h.in:
3883           add the template to generate config.h
3884         * win32/common/gstenumtypes.c:
3885         * win32/common/gstversion.h:
3886           updated copies
3887
3888 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3889
3890         * gst/gst.c: (gst_version):
3891         * gst/gstversion.h.in:
3892           add the nano
3893
3894 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3895
3896         * gst/gstevent.h:
3897           Oops, add missing closing bracket.
3898
3899 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3900
3901         * configure.ac:
3902           use common m4's for argument checking
3903
3904 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3905
3906         * docs/gst/gstreamer-sections.txt:
3907         * gst/gstevent.h:
3908           Add GST_EVENT_TYPE_NAME() macro.
3909
3910 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3911
3912         * gst/gstinfo.c:
3913         * gst/gstpluginfeature.c:
3914         * gst/gsttask.c:
3915           privatize more symbols
3916
3917 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3918
3919         * configure.ac:
3920           add srcdir, builddir includes to GST_ALL_CFLAGS, since
3921           everything that uses GStreamer API should have the includes
3922
3923 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3924
3925         * docs/gst/gstreamer-sections.txt:
3926         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
3927         * gst/gstvalue.h:
3928           give each value a _get_type, removes the DATA exports
3929
3930 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3931
3932         * gst/gst.c:
3933         * gst/gst.h:
3934           remove _gst_registry_auto_load, not used anymore
3935         * gst/gstbin.c: (gst_bin_get_type):
3936         * gst/gstbin.h:
3937         * gst/gstelement.c: (gst_element_get_type):
3938         * gst/gstelement.h:
3939         * gst/gstobject.c: (gst_object_get_type):
3940         * gst/gstobject.h:
3941         * gst/gstpad.c: (gst_pad_get_type):
3942         * gst/gstpad.h:
3943           make _get_type functions similar, fixes data export from library
3944
3945 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3946
3947         * configure.ac:
3948           correctly make conditionals
3949         * gst/elements/Makefile.am:
3950         * gst/elements/gstelements.c:
3951           fix typo causing fdsrc not to build
3952
3953 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3954
3955         * testsuite/Makefile.am:
3956         * testsuite/bytestream/.cvsignore:
3957         * testsuite/bytestream/Makefile.am:
3958         * testsuite/bytestream/filepadsink.c:
3959         * testsuite/bytestream/gstbstest.c:
3960         * testsuite/bytestream/test1.c:
3961         * testsuite/bytestream/testfile1:
3962         * testsuite/caps/normalisation.c:
3963         * testsuite/caps/random.c: (main):
3964         * testsuite/cleanup/.cvsignore:
3965         * testsuite/cleanup/Makefile.am:
3966         * testsuite/cleanup/cleanup1.c:
3967         * testsuite/cleanup/cleanup2.c:
3968         * testsuite/cleanup/cleanup3.c:
3969         * testsuite/cleanup/cleanup4.c:
3970         * testsuite/cleanup/cleanup5.c:
3971         * testsuite/controller/interpolator.c:
3972         * testsuite/debug/printf_extension.c: (main):
3973         * testsuite/elements/tee.c:
3974         * testsuite/negotiation/.cvsignore:
3975         * testsuite/negotiation/Makefile.am:
3976         * testsuite/negotiation/pad_link.c:
3977         * testsuite/pad/Makefile.am:
3978         * testsuite/pad/chainnopull.c:
3979         * testsuite/pad/getnopush.c:
3980         * testsuite/pad/link.c:
3981         * testsuite/refcounting/sched.c: (create_pipeline):
3982         * testsuite/registry/Makefile.am:
3983         * testsuite/registry/gst-print-formats.c:
3984         * testsuite/schedulers/.cvsignore:
3985         * testsuite/schedulers/142183-2.c:
3986         * testsuite/schedulers/142183.c:
3987         * testsuite/schedulers/143777-2.c:
3988         * testsuite/schedulers/143777.c:
3989         * testsuite/schedulers/147713.c:
3990         * testsuite/schedulers/147819.c:
3991         * testsuite/schedulers/147894-2.c:
3992         * testsuite/schedulers/147894.c:
3993         * testsuite/schedulers/Makefile.am:
3994         * testsuite/schedulers/group_link.c:
3995         * testsuite/schedulers/queue_link.c:
3996         * testsuite/schedulers/relink.c:
3997         * testsuite/schedulers/unlink.c:
3998         * testsuite/schedulers/unref.c:
3999         * testsuite/schedulers/useless_iteration.c:
4000         * testsuite/states/bin.c:
4001           clean out/remove some stuff from the testsuite directories
4002
4003 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4004
4005         * configure.ac:
4006           check for some headers
4007         * gst/elements/Makefile.am:
4008         * gst/elements/gstelements.c:
4009           don't compile fdsrc without sys/socket.h
4010         * gst/indexers/Makefile.am:
4011         * gst/indexers/gstindexers.c: (plugin_init):
4012           don't compile fileindex without mmap
4013
4014 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4015
4016         * configure.ac:
4017           reorganize
4018           clean up
4019           document more
4020           remove cruft
4021         * check/Makefile.am:
4022         * docs/gst/Makefile.am:
4023         * examples/helloworld/Makefile.am:
4024         * gst/Makefile.am:
4025         * gst/base/Makefile.am:
4026         * gst/check/Makefile.am:
4027         * gst/elements/Makefile.am:
4028         * gst/indexers/Makefile.am:
4029         * gst/parse/Makefile.am:
4030         * libs/gst/controller/Makefile.am:
4031         * libs/gst/dataprotocol/Makefile.am:
4032         * examples/helloworld/helloworld.c: (event_loop):
4033           compile fixes, though it's not being compiled currently
4034
4035 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4036
4037         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
4038           Add some simple tests for the new taglist date API.
4039
4040 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4041
4042         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
4043         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
4044           Beautify 'last-message' output: print 'none' for buffer timestamps
4045           and durations if none is set; improve alignment with next messages.
4046
4047 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4048
4049         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
4050         * gst/gstpluginfeature.h:
4051         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
4052         * gst/gstregistry.h:
4053         * docs/gst/gstreamer-sections.txt:
4054           Add new API to check plugin feature version requirements.
4055
4056         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
4057           Some basic tests for the above.         
4058
4059 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4060
4061         * gst/gststructure.c: (gst_structure_to_string):
4062           guard against NULL printf - happens when for example
4063           a message structure with GstClock gets serialized
4064
4065 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4066
4067         * gst/base/gstcollectpads.c: (gst_collectpads_event):
4068           Fix presumable copy'n'pasto.
4069
4070 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4071
4072         * gst/elements/gstfakesrc.h:
4073         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
4074         * gst/elements/gsttypefindelement.c:
4075           fix some signedness
4076         * gst/elements/gstfilesink.c: (gst_file_sink_render):
4077           I wonder if this could actually write +2GB files before
4078
4079 2005-10-13  Andy Wingo  <wingo@pobox.com>
4080
4081         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
4082         Fix Timmeke Waymans bug.
4083         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
4084         string of the proper length to gst_caps_from_string. There's a
4085         potential for, before this fix, that this could cause someone
4086         connecting over the network to cause a segfault if the payload is
4087         not NUL-terminated.
4088
4089 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4090
4091         * docs/design/draft-push-pull.txt:
4092         * docs/design/part-overview.txt:
4093         * docs/random/TODO-pre-0.9:
4094         * docs/random/old/ChangeLog.gstreamer:
4095         * gst/base/gstpushsrc.c:
4096         * gst/gstclock.c:
4097           fixed typos
4098
4099 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4100
4101         * gst/glib-compat.c: (gst_flags_get_first_value):
4102         * gst/glib-compat.h:
4103         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
4104         (gst_value_compare_double), (gst_value_serialize_flags):
4105           GLib 2.6 g_flags_get_first_value has a bug that triggers an
4106           infinite loop
4107
4108 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4109
4110         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4111         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4112           fix up debugging
4113         * tools/gst-launch.c: (event_loop):
4114           print out clock nicely
4115
4116 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4117
4118         * docs/gst/gstreamer-sections.txt:
4119         * gst/gsttaglist.h:
4120         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
4121         (gst_tag_list_get_date_index):
4122           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
4123           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
4124
4125 2005-10-13  Julien MOUTTE  <julien@moutte.net>
4126
4127         * gst/base/gstcollectpads.c: (gst_collectpads_event),
4128         (gst_collectpads_chain):
4129         * gst/base/gstcollectpads.h: Handle newsegment and store informations
4130         in CollectData.
4131
4132 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4133
4134         * docs/gst/gstreamer-sections.txt:
4135         * gst/gst.c:
4136         * gst/gsterror.h:
4137         * tools/gst-inspect.c: (main):
4138         * tools/gst-launch.c: (main):
4139         * tools/gst-run.c: (main):
4140         * tools/gst-xmlinspect.c: (main):
4141           fix GOption context leaks
4142           doc fixes
4143
4144 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4145
4146         * gst/gstbus.c:
4147           use HAVE_UNISTD_H
4148         * win32/common/config.h:
4149           update config
4150         * win32/vs6/grammar.dsp:
4151         * win32/vs6/libgstelements.dsp:
4152         * win32/vs6/libgstreamer.dsp:
4153           update vs6 files
4154
4155 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4156
4157         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4158         * gst/base/gstbasesrc.c: (gst_base_src_query):
4159           fix more guint64<->gdouble conversions
4160
4161 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4162
4163         * Makefile.am:
4164           add win32-update target
4165         * win32/common/gstconfig.h:
4166         * win32/common/gstenumtypes.c:
4167         * win32/common/gstenumtypes.h:
4168         * win32/common/gstversion.h:
4169           add files that visual studio can't generate
4170
4171 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4172
4173         * Makefile.am:
4174           add a win32-update target
4175         * configure.ac:
4176
4177 2005-10-12  Wim Taymans  <wim@fluendo.com>
4178
4179         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4180         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
4181         * gst/gstelement.c: (gst_element_commit_state),
4182         (gst_element_set_state):
4183         Protect flags with proper lock.
4184         unref provided cached clock in dispose.
4185
4186 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4187
4188         * gst/gst.c:
4189         * gst/gstminiobject.h:
4190         * gst/gstpad.h:
4191         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
4192           removed unused flags from miniobject
4193           doc fixes
4194
4195 2005-10-12  Wim Taymans  <wim@fluendo.com>
4196
4197         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4198         (gst_file_sink_event), (gst_file_sink_render):
4199         Flush before seeking.
4200
4201 2005-10-12  Andy Wingo  <wingo@pobox.com>
4202
4203         * gst/gst.c (gst_init_check): Ignore unknown options, as has
4204         always been the case.
4205
4206 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4207
4208         * check/gst/gstbin.c: (GST_START_TEST):
4209         * docs/gst/gstreamer-sections.txt:
4210         * gst/base/gstbasesink.c: (gst_base_sink_init):
4211         * gst/base/gstbasesrc.c: (gst_base_src_init),
4212         (gst_base_src_get_range), (gst_base_src_check_get_range),
4213         (gst_base_src_start), (gst_base_src_stop):
4214         * gst/base/gstbasesrc.h:
4215         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
4216         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4217         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
4218         (bin_bus_handler):
4219         * gst/gstbin.h:
4220         * gst/gstbuffer.h:
4221         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
4222         * gst/gstbus.h:
4223         * gst/gstelement.c: (gst_element_is_locked_state),
4224         (gst_element_set_locked_state), (gst_element_commit_state),
4225         (gst_element_set_state):
4226         * gst/gstelement.h:
4227         * gst/gstindex.c: (gst_index_init):
4228         * gst/gstindex.h:
4229         * gst/gstminiobject.h:
4230         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
4231         (gst_object_set_parent):
4232         * gst/gstobject.h:
4233         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4234         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4235         * gst/gstpad.h:
4236         * gst/gstpadtemplate.h:
4237         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4238         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4239         * gst/gstpipeline.h:
4240         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4241         (gst_file_index_commit):
4242         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4243         * testsuite/pad/link.c: (gst_test_src_init),
4244         (gst_test_filter_init), (gst_test_sink_init):
4245         * testsuite/states/locked.c: (main):
4246           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
4247           moved bitshift from macro to enum definition
4248
4249 2005-10-12  Wim Taymans  <wim@fluendo.com>
4250
4251         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
4252         * gst/elements/gstfilesink.c: (gst_file_sink_event),
4253         (gst_file_sink_render):
4254         Some more debugging info.
4255
4256 2005-10-12  Wim Taymans  <wim@fluendo.com>
4257
4258         * docs/design/part-states.txt:
4259         * tools/gst-launch.c: (main):
4260         Some doc updates.
4261         Revert non-intentional change.
4262
4263 2005-10-12  Wim Taymans  <wim@fluendo.com>
4264
4265         * check/gst/gstbin.c: (GST_START_TEST):
4266         * check/gst/gstelement.c: (GST_START_TEST):
4267         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4268         * check/gst/gstghostpad.c: (GST_START_TEST):
4269         * check/gst/gstpipeline.c: (GST_START_TEST):
4270         * check/pipelines/simple_launch_lines.c: (run_pipeline):
4271         * check/states/sinks.c: (GST_START_TEST):
4272         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4273         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4274         (gst_bin_remove_func), (gst_bin_get_state_func),
4275         (gst_bin_recalc_state), (gst_bin_change_state_func),
4276         (bin_bus_handler):
4277         * gst/gstelement.c: (gst_element_get_state_func),
4278         (gst_element_get_state), (gst_element_abort_state),
4279         (gst_element_commit_state), (gst_element_set_state),
4280         (gst_element_change_state), (gst_element_change_state_func):
4281         * gst/gstelement.h:
4282         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4283         (gst_pipeline_provide_clock_func):
4284         * gst/gstutils.c: (gst_element_link_pads_filtered):
4285         * tools/gst-launch.c: (main):
4286         * tools/gst-typefind.c: (main):
4287         Use GstClockTime in _get_state() instead of GTimeVal.
4288         Remove old code in gstutils.c
4289
4290 2005-10-12  Andy Wingo  <wingo@pobox.com>
4291
4292         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4293         removed.
4294
4295         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4296         there is no task. Shouldn't affect any code, as nothing in our
4297         plugins checks this return value.
4298         (gst_pad_stop_task): Also take the stream lock if the pad has no
4299         task. Docs updated.
4300
4301 2005-10-12  Wim Taymans  <wim@fluendo.com>
4302
4303         * gst/gstpad.c: (pre_activate), (post_activate),
4304         (gst_pad_activate_pull), (gst_pad_activate_push):
4305         Cleanup activation code. Reset old state if
4306         activation failed.
4307
4308 2005-10-12  Wim Taymans  <wim@fluendo.com>
4309
4310         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4311         (gst_base_sink_change_state):
4312         No need to prerol after receiving EOS.
4313
4314         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4315         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4316         * gst/elements/gstidentity.c: (gst_identity_event):
4317         Print events more verbosely.
4318
4319 2005-10-12  Wim Taymans  <wim@fluendo.com>
4320
4321         * check/Makefile.am:
4322         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4323         * check/states/sinks2.c:
4324         Moved sinks2 testcode in sinks check.
4325
4326         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4327         (gst_bin_remove_func), (gst_bin_recalc_state),
4328         (gst_bin_change_state_func), (bin_bus_handler):
4329         Fix potential race condition when _get_state() iterated over an
4330         ASYNC element right before it posted a state completion.
4331
4332         * gst/gstclock.h:
4333         Do proper cast here.
4334
4335         * gst/gstevent.c: (gst_event_new_newsegment),
4336         (gst_event_parse_newsegment):
4337         A playback rate of 0.0 is not allowed.
4338
4339 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4340
4341         * win32/common/config.h:
4342         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4343         (_trewinddir), (_ttelldir), (_tseekdir):
4344         * win32/common/dirent.h:
4345         * win32/common/gtchar.h:
4346         * win32/common/libgstbase.def:
4347         * win32/common/libgstreamer.def:
4348         * win32/vs6/grammar.dsp:
4349         * win32/vs6/gst_inspect.dsp:
4350         * win32/vs6/gst_launch.dsp:
4351         * win32/vs6/gstreamer.dsw:
4352         * win32/vs6/libgstbase.dsp:
4353         * win32/vs6/libgstelements.dsp:
4354         * win32/vs6/libgstreamer.dsp:
4355           Visual Studio 6 project files, and a new common directory.
4356           Phear.
4357
4358 2005-10-11  Wim Taymans  <wim@fluendo.com>
4359
4360         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4361         (gst_base_sink_do_sync), (gst_base_sink_query),
4362         (gst_base_sink_change_state):
4363         * gst/base/gstbasesink.h:
4364         Correctly parse newsegment info.
4365
4366 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4367
4368         * gst/gst.c: (init_post):
4369           split plugin paths correctly
4370
4371 2005-10-11  Wim Taymans  <wim@fluendo.com>
4372
4373         * check/gst/gstevent.c: (GST_START_TEST):
4374         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4375         (gst_base_sink_change_state):
4376         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4377         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4378         * gst/elements/gstfilesink.c: (gst_file_sink_event):
4379         * gst/gstevent.c: (gst_event_new_newsegment),
4380         (gst_event_parse_newsegment):
4381         * gst/gstevent.h:
4382         Added extra flag to newsegment for future API freeze.
4383         Updated check and base elements.
4384
4385 2005-10-11  Julien MOUTTE  <julien@moutte.net>
4386
4387         * gst/base/gstcollectpads.c: (gst_collectpads_init),
4388         (gst_collectpads_add_pad), (gst_collectpads_pop),
4389         (gst_collectpads_event), (gst_collectpads_chain):
4390         * gst/base/gstcollectpads.h: Handle EOS correctly.
4391
4392 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4393
4394         * tools/gst-launch.c: (main):
4395           more null protecting
4396
4397 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4398
4399         * gst/gst-i18n-lib.h:
4400           check for ENABLE_NLS, not GETTEXT_PACKAGE
4401         * gst/gstregistry.c: (gst_registry_add_plugin),
4402         (gst_registry_scan_path_level),
4403         (_gst_registry_remove_cache_plugins):
4404           protect possibly NULL strings
4405         * gst/parse/types.h:
4406           config.h already included before
4407         * tools/gst-inspect.c: (main):
4408           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4409           check for ENABLE_NLS, not GETTEXT_PACKAGE
4410         * tools/gst-launch.c: (main):
4411           check for ENABLE_NLS, not GETTEXT_PACKAGE
4412
4413 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4414
4415         * configure.ac:
4416           if we don't have glib, fail before testing 2.8
4417         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4418           fix a leak, should fix plugins-base testsuite
4419
4420 2005-10-11  Andy Wingo  <wingo@pobox.com>
4421
4422         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4423         take the mode we're going to as an arg. Go head and set the mode
4424         and flushing flags now, so that if the activate function starts a
4425         thread all the flags will be in the right state.
4426         (post_activate): Renamed also. Just handle making sure streaming
4427         finishes for the deactivation case, and setting the deactivated
4428         mode.
4429         (gst_pad_set_active): Complain loudly if deactivation fails.
4430         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4431         (gst_pad_activate_push): Adapt to pre/post_activate changes,
4432         remove the terrible hack.
4433
4434 2005-10-11  Wim Taymans  <wim@fluendo.com>
4435
4436         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4437         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4438         (gst_bin_recalc_state), (gst_bin_change_state_func),
4439         (gst_bin_dispose), (bin_bus_handler):
4440         * gst/gstbin.h:
4441         Prepare to make current EOS message queue more generic.
4442         Fix some typos.
4443
4444         * gst/gstevent.c: (gst_event_new_newsegment),
4445         (gst_event_parse_newsegment):
4446         * gst/gstevent.h:
4447         Rename base to stream_time.
4448
4449         * gst/gstmessage.h:
4450         Fix typo in docs.
4451
4452 2005-10-11  Wim Taymans  <wim@fluendo.com>
4453
4454         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4455         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
4456         (gst_bin_change_state_func), (bin_bus_handler):
4457         * gst/gstbin.h:
4458         Work on proper clock selection.
4459
4460 2005-10-11  Edward Hervey  <edward@fluendo.com>
4461
4462         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
4463         * libs/gst/controller/gstcontroller.h:
4464         Added GList* version of _remove_properties() in order to be able to wrap
4465         it in bindings.
4466
4467 2005-10-11  Wim Taymans  <wim@fluendo.com>
4468
4469         * docs/design/part-states.txt:
4470         Some more docs.
4471
4472         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
4473         (gst_bin_change_state_func), (bin_bus_handler):
4474         Doc updates. Don't distribute the same clock over and over again.
4475
4476         * gst/gstclock.c:
4477         * gst/gstclock.h:
4478         Doc updates.
4479
4480         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
4481         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
4482         (gst_pad_send_event):
4483         * gst/gstpad.h:
4484         Make probe emission threadsafe again.
4485         Register quarks and move _get_name() from utils.
4486         Doc updates.
4487
4488         * gst/gstpipeline.c: (gst_pipeline_class_init),
4489         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4490         Only redistribute the clock of it changed.
4491
4492         * gst/gstsystemclock.h:
4493         Doc updates. 
4494
4495         * gst/gstutils.c:
4496         * gst/gstutils.h:
4497         Moved the _flow_get_name() to GstPad.
4498
4499 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4500
4501         * check/gst-libs/gdp.c: (GST_START_TEST):
4502         * check/gst/gstcaps.c: (GST_START_TEST):
4503         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
4504         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
4505         (gst_dp_packet_from_caps):
4506           fix more valgrind warnings before turning up the heat
4507
4508 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4509
4510         * gst/parse/grammar.y:
4511           some cleanup before the hacking
4512
4513 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4514
4515         * gst/base/gstbasesrc.c: (gst_base_src_query):
4516           use conversions
4517         * gst/gstutils.c: (gst_guint64_to_gdouble),
4518         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
4519         * gst/gstutils.h:
4520           externalize, basesrc uses it
4521           obviously the implementation needs testing
4522
4523 2005-10-10  Wim Taymans  <wim@fluendo.com>
4524
4525         * tests/sched/Makefile.am:
4526         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
4527         (make_pipeline3), (make_pipeline4), (print_elem), (main):
4528
4529 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4530
4531         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
4532           apparently converting from guint64 to double is not implemented
4533           on MSVC
4534
4535 2005-10-10  Wim Taymans  <wim@fluendo.com>
4536
4537         * check/Makefile.am:
4538         * check/generic/states.c: (GST_START_TEST):
4539         * check/gst/gstbin.c: (GST_START_TEST):
4540         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4541         * check/states/sinks.c: (GST_START_TEST):
4542         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
4543         (main):
4544         Check fixes, use API as stated in design docs, remove hacks.
4545
4546         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4547         (gst_base_sink_change_state):
4548         Catch stopping our task while we're shutting down.
4549
4550         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
4551         (gst_bin_remove_func), (gst_bin_get_state_func),
4552         (gst_bin_recalc_state), (gst_bin_change_state_func),
4553         (bin_bus_handler):
4554         * gst/gstbin.h:
4555         * gst/gstelement.c: (gst_element_init),
4556         (gst_element_get_state_func), (gst_element_abort_state),
4557         (gst_element_commit_state), (gst_element_lost_state),
4558         (gst_element_set_state), (gst_element_change_state),
4559         (gst_element_change_state_func):
4560         * gst/gstelement.h:
4561         New state change algorithm (see #318116)
4562
4563         * gst/gstpipeline.c: (gst_pipeline_class_init),
4564         (gst_pipeline_init), (gst_pipeline_set_property),
4565         (gst_pipeline_get_property), (do_pipeline_seek),
4566         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4567         * gst/gstpipeline.h:
4568         Remove crude state change hacks.
4569
4570         * gst/gstutils.h:
4571         Remove crude hacks.
4572
4573         * tools/gst-launch.c: (main):
4574         Fixes for state change. Needs some more work to fully use the
4575         new stuff.
4576
4577 2005-10-10  Andy Wingo  <wingo@pobox.com>
4578
4579         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
4580
4581         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
4582         this flag, but it's not even in GLib 2.6. Odd. Hack around the
4583         issue.
4584
4585 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4586
4587         * gst/gstiterator.c: (gst_iterator_new):
4588           Fix my previous commit: GTypes passed to gst_iterator_new()
4589           can be fundamental types.
4590
4591 2005-10-10  Wim Taymans  <wim@fluendo.com>
4592
4593         * gst/gstelement.c: (gst_element_iterate_pad_list),
4594         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
4595         (gst_element_iterate_sink_pads):
4596         Use src/sink pads lists for the respective iterators instead
4597         of filtering.
4598
4599 2005-10-10  Andy Wingo  <wingo@pobox.com>
4600
4601         Merged in popt removal + GOption addition patch from Ronald, bug
4602         #169772.
4603
4604         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
4605         GstElement macros around, remove popt-related symbols, add goption
4606         stuff.
4607
4608         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
4609         
4610         * docs/gst/Makefile.am:
4611         * docs/libs/Makefile.am: No POPT_CFLAGS.
4612         
4613         * examples/manual/Makefile.am:
4614         * docs/manual/basics-init.xml: Doc updates with an example.
4615         
4616         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4617         (gst_init), (parse_one_option), (parse_goption_arg):
4618         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
4619         bit of hand merging and debugging to get the GOption stuff working
4620         tho.
4621         
4622         * tests/Makefile.am:
4623         * tools/Makefile.am:
4624         * tools/gst-inspect.c: (main):
4625         * tools/gst-launch.c: (main):
4626         * tools/gst-run.c: (main):
4627         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
4628
4629 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4630
4631         * gst/gstiterator.c: (gst_iterator_new):
4632           Add assertions to make sure passed GType is likely to really
4633           be a GType (as the compiler won't catch it if the size and
4634           GType arguments get mixed up, see #318447).
4635
4636 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
4637
4638         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4639
4640         * gst/gstbin.c: (gst_bin_iterate_sorted):
4641           Pass GType and size arguments to gst_iterator_new() in the right
4642           order (maybe we should make _new() take the GType as first argument
4643           just like _new_list()?) (#318447).
4644           
4645
4646 2005-10-10  Wim Taymans  <wim@fluendo.com>
4647
4648         * gst/gstelement.c: (gst_element_finalize):
4649         And free the GStaticRecMutex too
4650
4651 2005-10-10  Andy Wingo  <wingo@pobox.com>
4652
4653         * gst/gstelement.c (gst_element_init, gst_element_finalize):
4654         Allocate and free the mutex properly.
4655
4656         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
4657         New macros.
4658         (GstElement): The state_lock is now recursive. Rebuild your
4659         plugins, suckers. Old macros adapted.
4660
4661         * docs/gst/gstreamer-sections.txt: Doc updates.
4662
4663         * gst/gstutils.h:
4664         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
4665         (g_static_rec_cond_wait): Ported from state changes patch, while
4666         we wait on bug #317802 to be solved in a well-distributed GLib.
4667
4668         * gst/gstelement.c (gst_element_change_state_func): Renamed from
4669         gst_element_change_state, variable name changes.
4670         (gst_element_change_state): Split out of gst_element_set_state in
4671         preparation for the state change merge. Doesn't pay attention to
4672         the 'transition' argument.
4673         (gst_element_set_state): Updates, hopefully purely cosmetic.
4674         (gst_element_sync_state_with_parent): MT-safety. Ported from the
4675         state change patch.
4676         (gst_element_get_state_func): Renamed from get_state, cosmetic
4677         changes.
4678
4679 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4680
4681         * gst/elements/gstelements.c:
4682         * win32/GStreamer.vcproj:
4683         * win32/config.h:
4684         * win32/dirent.c: (_tseekdir):
4685         * win32/gst-inspect.vcproj:
4686         * win32/gst-launch.vcproj:
4687         * win32/gstconfig.h:
4688         * win32/gstelements.vcproj:
4689         * win32/gstenumtypes.c: (gst_object_flags_get_type):
4690         * win32/gstreamer.def:
4691         * win32/msvc71.sln:
4692           updates for the win32 build (patch from Sebastien Moutte)
4693
4694 2005-10-10  Andy Wingo  <wingo@pobox.com>
4695
4696         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
4697         gst_bin_get_state, cleaned up (but no logic changes).
4698         (bin_element_is_sink): Comment updates.
4699         (sink_iterator_filter): Remove needless cast.
4700         (gst_bin_iterate_sinks): Doc update.
4701         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
4702         cleaned up (but no logic changes).
4703
4704         * check/states/sinks.c (test_src_sink): Cleanups from the state
4705         change patch.
4706         (test_livesrc_sink): Sync on the state.
4707
4708         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
4709         the state change patch.
4710
4711         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
4712         change patch.
4713
4714         * check/gst/gstbin.c: Merge in some style fixes and additional
4715         checks from Wim's state change patch.
4716
4717 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4718
4719         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4720         (gst_type_find_helper):
4721           Check whether we have the requested data already in our list of
4722           cached buffers before pulling a new buffer; also make the buffer
4723           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
4724
4725 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4726
4727         * gst/gstcaps.c:
4728         * gst/gstevent.c:
4729           doc updates
4730         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
4731           don't use long long, it's not portable.  Replacing with
4732           gint64 seems to work; let's hope no skeletons fall out of the closet.
4733
4734 2005-10-10  Andy Wingo  <wingo@pobox.com>
4735
4736         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
4737
4738 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
4739
4740         * docs/gst/gstreamer-sections.txt:
4741         * gst/gstevent.c:
4742         * gst/gstevent.h:
4743         * gst/gstinfo.c:
4744         * gst/gstinfo.h:
4745         * gst/gstmessage.c: (gst_message_parse_state_changed):
4746         * gst/gstpad.c:
4747         * gst/gstpad.h:
4748           more docs, fix compilation
4749
4750 2005-10-09  Philippe Khalaf <burger@speedy.org>
4751         * gst/gstmessage.c:
4752           Fixed a few forgotten variables on previous commit
4753
4754 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4755
4756         * gst/base/gsttypefindhelper.c: (helper_find_peek):
4757           Fix evil typefind crasher: getrange() might return a short
4758           buffer at the end of a file, but gst_type_find_peek() must
4759           either return the full data as requested or NULL, but
4760           never a short buffer.
4761
4762 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4763
4764         * gst/gstmessage.c: (gst_message_new_state_changed),
4765         (gst_message_parse_state_changed):
4766         * gst/gstmessage.h:
4767           don't use "new", it's a C++ keyword
4768
4769 2005-10-08  Wim Taymans  <wim@fluendo.com>
4770
4771         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
4772         * gst/gstelement.c: (gst_element_post_message):
4773         * gst/gstpipeline.c: (gst_pipeline_change_state):
4774         Small docs and debug updates.
4775
4776 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4777
4778         * docs/gst/gstreamer-sections.txt:
4779         * gst/gstelementfactory.c:
4780         * gst/gstevent.c:
4781         * gst/gsttaglist.c:
4782           more docs
4783
4784 2005-10-08  Wim Taymans  <wim@fluendo.com>
4785
4786         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
4787         (gst_bin_dispose), (bin_bus_handler):
4788         Fix typos, add comments.
4789         Clear EOS list when going to PAUSED from any direction and do it
4790         in a threadsafe way.
4791         Get base time in a threadsafe way too.
4792         Fix confusing debug in the change_state function.
4793         Various other small cleanups.
4794         
4795         * gst/gstelement.c: (gst_element_post_message):
4796         Fix very verbose bus posting code.
4797
4798         * gst/gstpipeline.c: (gst_pipeline_class_init),
4799         (gst_pipeline_set_property), (gst_pipeline_get_property),
4800         (gst_pipeline_change_state):
4801         Small ARG_ -> PROP_ cleanup
4802
4803 2005-10-08  Wim Taymans  <wim@fluendo.com>
4804
4805         * gst/gstbin.c: (is_eos), (bin_bus_handler):
4806         Do a less CPU demanding EOS check because we can.
4807
4808 2005-10-08  Wim Taymans  <wim@fluendo.com>
4809
4810         * libs/gst/dataprotocol/dataprotocol.c:
4811         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
4812         (gst_dp_packet_from_event):
4813         * libs/gst/dataprotocol/dataprotocol.h:
4814         * libs/gst/dataprotocol/dp-private.h:
4815         It's about time we bump the version number.
4816         Since event types don't fit in the guint8 anymore describing
4817         the payload type, make payload type 16 bits wide.
4818
4819 2005-10-08  Wim Taymans  <wim@fluendo.com>
4820
4821         * docs/design/part-TODO.txt:
4822         * docs/design/part-clocks.txt:
4823         * docs/design/part-events.txt:
4824         * docs/design/part-gstbin.txt:
4825         * docs/design/part-gstelement.txt:
4826         * docs/design/part-gstpipeline.txt:
4827         * docs/design/part-live-source.txt:
4828         * docs/design/part-messages.txt:
4829         * docs/design/part-overview.txt:
4830         * docs/design/part-states.txt:
4831         Many doc updates.
4832
4833 2005-10-08  Wim Taymans  <wim@fluendo.com>
4834
4835         * gst/gstevent.c:
4836         * gst/gstevent.h:
4837         Fix event quark registration.
4838         Add some space between events so we can insert them in the
4839         right groups.
4840
4841 2005-10-08  Wim Taymans  <wim@fluendo.com>
4842
4843         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4844         (gst_base_sink_handle_buffer):
4845         Better log message.
4846
4847         * gst/gstbus.h:
4848         * gst/gstelement.h:
4849         More docs.
4850
4851         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4852         (gst_queue_set_property), (gst_queue_get_property):
4853         * gst/gstqueue.h:
4854         Remove old unused properties.
4855
4856 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4857         * docs/gst/gstreamer-sections.txt:
4858         * gst/gstmessage.c:
4859         * gst/gstmessage.h:
4860         * gst/gstminiobject.c:
4861         * gst/gstminiobject.h:
4862         * gst/gstobject.h:
4863         * gst/gstpad.h:
4864         * gst/gstutils.h:
4865           lots of new docs and doc fixes
4866
4867 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4868
4869         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
4870         * gst/gstplugin.h:
4871         * gst/gstregistry.c: (gst_registry_lookup_locked),
4872         (gst_registry_scan_path_level):
4873         * gst/gstregistryxml.c: (load_plugin):
4874           Only ever load one plugin for a given plugin basename.
4875           This ensures correct overriding of GST_PLUGIN_PATH over
4876           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
4877           system installed plugins.
4878
4879 2005-10-08  Wim Taymans  <wim@fluendo.com>
4880
4881         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4882         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
4883         Prepare for doing QOS.
4884
4885 2005-10-08  Wim Taymans  <wim@fluendo.com>
4886
4887         * check/gst/gstbin.c: (GST_START_TEST):
4888         * check/pipelines/cleanup.c: (GST_START_TEST):
4889         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
4890         Allow new clock message too.
4891
4892 2005-10-08  Wim Taymans  <wim@fluendo.com>
4893
4894         * gst/gstmessage.c: (gst_message_new_error),
4895         (gst_message_new_warning), (gst_message_new_tag),
4896         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4897         (gst_message_new_clock_lost), (gst_message_new_new_clock),
4898         (gst_message_new_segment_start), (gst_message_new_segment_done),
4899         (gst_message_parse_state_changed),
4900         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
4901         (gst_message_parse_new_clock):
4902         * gst/gstmessage.h:
4903         Also carry the clock in question.
4904
4905 2005-10-08  Wim Taymans  <wim@fluendo.com>
4906
4907         * gst/gstmessage.c: (gst_message_new_custom),
4908         (gst_message_new_eos), (gst_message_new_error),
4909         (gst_message_new_warning), (gst_message_new_tag),
4910         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4911         (gst_message_new_new_clock), (gst_message_new_segment_start),
4912         (gst_message_new_segment_done), (gst_message_parse_state_changed),
4913         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
4914         * gst/gstmessage.h:
4915         Clean up.
4916         Added clock related messages.
4917
4918         * gst/gstpipeline.c: (gst_pipeline_change_state):
4919         Post message when the clock changed.
4920
4921         * tools/gst-launch.c: (event_loop):
4922         Print new clock.
4923
4924 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
4925
4926         * tools/gst-inspect.c: (print_element_properties_info):
4927           Can't pass NULL strings to g_print() on windows.
4928
4929 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4930
4931         * docs/Makefile.am:
4932         * docs/gst/Makefile.am:
4933         * docs/gst/gstreamer-docs.sgml:
4934         * docs/gst/running.xml:
4935         * docs/version.entities.in:
4936           add a chapter on running GStreamer.
4937           document GST_DEBUG and GST_PLUGIN* env vars
4938
4939 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4940
4941         * Makefile.am:
4942           remove include dir
4943         * configure.ac:
4944           remove PLUGINS_BUILDDIR stuff
4945         * gst/gst.c: (init_post):
4946           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
4947         * idiottest.mak:
4948           remove, it was condescending and not needed
4949
4950 2005-10-08  Wim Taymans  <wim@fluendo.com>
4951
4952         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
4953         (gst_base_sink_handle_object), (gst_base_sink_event),
4954         (gst_base_sink_wait), (gst_base_sink_handle_event),
4955         (gst_base_sink_change_state):
4956         * gst/base/gstbasesink.h:
4957         Repost EOS message while going to PLAYING if still EOS.
4958         Make sure that when receiving a FLUSH_START we don't attempt
4959         to sync on the clock anymore.
4960
4961 2005-10-08  Wim Taymans  <wim@fluendo.com>
4962
4963         * tools/gst-launch.c: (event_loop):
4964         Better message printout.
4965
4966 2005-10-08  Wim Taymans  <wim@fluendo.com>
4967
4968         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
4969         (gst_bin_child_proxy_get_children_count):
4970         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
4971         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
4972         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
4973         (gst_child_proxy_set_valist):
4974         * gst/parse/grammar.y:
4975         Make ChildProxy threadsafe and fix mem leaks.
4976
4977 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4978
4979         * gst/gst.c: (init_post):
4980           debug the GST_PLUGIN_ env vars
4981
4982 2005-10-08  Wim Taymans  <wim@fluendo.com>
4983
4984         * check/gst/gstbin.c: (GST_START_TEST):
4985         * check/gst/gstmessage.c: (GST_START_TEST):
4986         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4987         * gst/gstelement.c: (gst_element_commit_state),
4988         (gst_element_lost_state):
4989         * gst/gstmessage.c: (gst_message_new_state_changed),
4990         (gst_message_parse_state_changed):
4991         * gst/gstmessage.h:
4992         * tools/gst-launch.c: (event_loop):
4993         Added extra field to STATE_CHANGE message with the pending
4994         state, which will be different from the new state soon.
4995
4996 2005-10-08  Wim Taymans  <wim@fluendo.com>
4997
4998         * gst/gstbus.c: (gst_bus_pop):
4999         * gst/gstclock.c:
5000         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
5001         Small cleanups and doc updates.
5002
5003 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5004
5005         * gst/gst.c: (init_pre):
5006         * gst/gstbin.c: (gst_bin_add_func):
5007           log distributing clocks and base time
5008         * gst/gstregistry.c: (gst_registry_add_plugin),
5009         (gst_registry_scan_path_level), (gst_registry_scan_path):
5010           clean up the debugging output a little
5011         * gst/gstutils.c: (gst_element_state_get_name):
5012           warn about a memleak (I've actually seen this be used, though
5013           it was probably a bug)
5014
5015 2005-10-07  Wim Taymans  <wim@fluendo.com>
5016
5017         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5018         (gst_base_src_init), (gst_base_src_default_newsegment),
5019         (gst_base_src_newsegment), (gst_base_src_do_seek),
5020         (gst_base_src_loop), (gst_base_src_start):
5021         * gst/base/gstbasesrc.h:
5022         Make the newsegment event customizable by subclasses.
5023
5024 2005-10-07  Wim Taymans  <wim@fluendo.com>
5025
5026         * gst/gstevent.c: (gst_event_new_buffersize),
5027         (gst_event_parse_buffersize):
5028         * gst/gstevent.h:
5029         New event for future idea.
5030
5031 2005-10-07  Andy Wingo  <wingo@pobox.com>
5032
5033         * gst/gstelement.c (gst_element_post_message): Doc update.
5034
5035         * docs/gst/gstreamer-sections.txt: Update.
5036
5037         * gst/gstmessage.c (gst_message_new_application): Made into a
5038         function like honest API calls.
5039         (gst_message_new_element): New message type.
5040
5041         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
5042
5043         * check/elements/fakesrc.c (test_no_preroll): New check, checks
5044         that setting a live fakesrc to PAUSED returns NO_PREROLL both
5045         times.
5046
5047         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
5048         NO_PREROLL from gst_element_change_state to fall through.
5049
5050 2005-10-07  Wim Taymans  <wim@fluendo.com>
5051
5052         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
5053         (gst_ghost_pad_do_activate_push):
5054         Activating a ghostpad with no internal pad in push mode
5055         is ok.
5056
5057 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5058
5059         * gst/gstobject.h:
5060           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
5061           Fixes compilation on Windows.
5062
5063 2005-10-07  Michael Smith <msmith@fluendo.com>
5064
5065         * tools/gst-inspect.c:
5066           Print out feature and plugin count at the end when printing out
5067           all features.
5068
5069 2005-10-04  Michael Smith <msmith@fluendo.com>
5070
5071         * gst/gsterror.c: (_gst_stream_errors_init):
5072           Add another error string used in a few existing plugins.
5073
5074         * gst/gstplugin.c:
5075         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5076         * tools/gst-inspect.c: (print_element_info):
5077           When a feature disappears from a plugin (and the feature exists in
5078           the cached registry file), things went horribly wrong. This isn't a
5079           complete fix, we should actually be removing the 'missing' features
5080           from the features list when we load the actual plugin. That's not
5081           yet implemented. 
5082
5083 2005-10-04  Johan Dahlin  <johan@gnome.org>
5084
5085         * check/gst/gstiterator.c: (GST_START_TEST):
5086         * gst/gstbin.c: (gst_bin_iterate_elements),
5087         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
5088         * gst/gstelement.c: (gst_element_iterate_pads):
5089         * gst/gstformat.c: (gst_format_iterate_definitions):
5090         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5091         (gst_iterator_new_list), (gst_iterator_filter):
5092         * gst/gstiterator.h:
5093         * gst/gstquery.c: (gst_query_type_iterate_definitions):
5094         Add a GType to GstIterator, update callsites and tests.
5095
5096 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5097
5098         * gst/gstpad.c: (gst_pad_event_default_dispatch):
5099           give events a chance to be handled by event probes when the pad
5100           is not linked
5101
5102 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5103
5104         * gst/gstevent.c: (gst_event_type_get_name),
5105         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
5106         * gst/gstevent.h:
5107           add string representations for event types
5108
5109 2005-10-06  Wim Taymans  <wim@fluendo.com>
5110
5111         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
5112         Don't use NULL pointers.
5113
5114 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5115
5116         * gst/gst_private.h:
5117         * gst/gstbus.c:
5118         * gst/gstelement.c:
5119         * gst/gstinfo.c:
5120         * gst/gstpluginfeature.c:
5121           widen the debug category in output to fit the biggest one we have
5122           add a bus category and use it
5123           play with the colors
5124           fix up some categories
5125
5126 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5127
5128         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
5129           add push activation of sink ghost pads.
5130           Andye, please verify
5131
5132 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5133
5134         * gst/gstutils.c: (gst_element_link_pads):
5135           fix a bug in the case where neither element has a pad
5136         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5137           add a test for that case
5138
5139 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5140
5141         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
5142           emit have-data before checking for peers.  This allows
5143           for probe handlers to connect elements.  This helps autopluggers.
5144         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
5145         (gst_pad_suite):
5146           add six checks, linked/unlinked with no/true/false probe
5147
5148 2005-10-04  Wim Taymans  <wim@fluendo.com>
5149
5150         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
5151         (gst_fake_sink_event), (gst_fake_sink_preroll),
5152         (gst_fake_sink_render), (gst_fake_sink_change_state):
5153         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
5154         (gst_fake_src_get_property), (gst_fake_src_create),
5155         (gst_fake_src_stop):
5156         * gst/elements/gstidentity.c: (gst_identity_stop):
5157         Protect last_message with lock.
5158
5159 2005-10-04  Edward Hervey  <edward@fluendo.com>
5160
5161         * gst/gstformat.h: 
5162         Added precision in the comments for GST_FORMAT_DEFAULT
5163
5164 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
5165
5166         * tools/gst-launch.c: (main):
5167           Don't try to run erroneous pipelines.
5168
5169 2005-10-04  Julien MOUTTE  <julien@moutte.net>
5170
5171         * gst/gstbus.c: We don't need this header.
5172
5173 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5174
5175         * configure.ac:
5176           back to development
5177
5178 === release 0.9.3 ===
5179
5180 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5181
5182         * README:
5183         * configure.ac:
5184           Releasing 0.9.3, "Unregistered"
5185
5186 2005-10-03  Andy Wingo  <wingo@pobox.com>
5187
5188         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
5189         whereby calling a pad's activatepush() function can start a thread
5190         that starts to push or pull before the pad gets the FLUSHING flag
5191         unset. Hack around it by holding the stream lock until the flag is
5192         set. Need to replace this with a proper solution. Together with
5193         the ghost pad fixes, this fixes mp3 playing/tagreading.
5194
5195         * docs/design/part-gstghostpad.txt: Add a note about activation of
5196         proxy pads outside of ghost pads.
5197
5198         * gst/gstghostpad.c: Implement the ghost pad activation design.
5199
5200 2005-10-02  Andy Wingo  <wingo@pobox.com>
5201
5202         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
5203         It is volatile, after all.
5204
5205         * docs/design/part-gstghostpad.txt: Flesh out activation with
5206         ghost pads.
5207
5208         * gst/base/gstbasesrc.c (gst_base_src_init): Use
5209         GST_DEBUG_FUNCPTR.
5210
5211 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5212
5213         * configure.ac:
5214           Fix (unused) AM_CONDITIONAL tests.
5215
5216 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
5217
5218         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5219
5220         * gst/gstutils.c: (gst_pad_query_convert):
5221           Add assertion that makes sure src_val is >=0, just like
5222           gst_query_new_convert() has. (#315895)
5223
5224 2005-09-30  Edward Hervey  <edward@fluendo.com>
5225
5226         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
5227         Let's not iterate pads we're not interested in, it avoids getting 
5228         sky-high refcounts on sinkpad.
5229
5230 2005-09-30  Wim Taymans  <wim@fluendo.com>
5231
5232         * gst/gstelement.c: (gst_element_set_state),
5233         (gst_element_change_state):
5234         Small tweak, element in ASYNC remains ASYNC.
5235
5236 2005-09-30  Wim Taymans  <wim@fluendo.com>
5237
5238         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5239         Only error is an error.
5240
5241         * gst/gstbin.c: (gst_bin_change_state):
5242         Better debugging.
5243
5244         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
5245         Also call pad_block in pad alloc.
5246
5247         * gst/gstutils.c: (gst_flow_get_name):
5248         Better debugging.
5249
5250 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5251
5252         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5253         (gst_base_src_get_range):
5254           Fix documentation typos. Add some more debug info.
5255
5256 2005-09-29  David Schleef  <ds@schleef.org>
5257
5258         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5259           more end-user friendly.
5260         * tools/gst-inspect.c: (main): Check if command-line argument is
5261           a file and attempt to load that file as a plugin.
5262
5263 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5264
5265         * check/gst/gstbin.c:
5266         * check/states/sinks.c:
5267           fix tests for the new warning
5268         * check/gst/gstpipeline.c:
5269           add a test for pipeline and bus interaction
5270         * gst/gstelement.c:
5271           elements should be NULL if they get disposed; add a warning if not
5272
5273 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5274
5275         * gst/gstobject.c:
5276           for 2.6 refcounting, make debug log more correct by printing
5277           the actual refcounts at the time of swap (Wim)
5278
5279 2005-09-29  Andy Wingo  <wingo@pobox.com>
5280
5281         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5282         removes signal watches previously added via
5283         gst_bus_add_signal_watch.
5284         (gst_bus_add_signal_watch): Don't return the source id, just store
5285         it on the bus if there wasn't an id already.
5286
5287         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5288         add_signal_watch and remove_signal_watch.
5289
5290 2005-09-29  Edward Hervey  <edward@fluendo.com>
5291
5292         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
5293         Better if we actually iterate the list :)
5294
5295 2005-09-29  Wim Taymans  <wim@fluendo.com>
5296
5297         * check/gst/gstbin.c: (GST_START_TEST):
5298         Change for new bus API.
5299
5300         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5301         (send_messages), (GST_START_TEST), (gstbus_suite):
5302         Change for new bus signal API.
5303
5304         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5305         (gst_bus_source_prepare), (gst_bus_source_check),
5306         (gst_bus_create_watch), (gst_bus_add_watch_full),
5307         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5308         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5309         * gst/gstbus.h:
5310         Remove support for multiple GSources operating on different
5311         message types as it is too complex and unneeded when using
5312         signals.
5313         Added support for receiving signals from the bus.
5314
5315 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5316
5317         * docs/libs/tmpl/gstdataprotocol.sgml:
5318         * docs/manual/advanced-dataaccess.xml:
5319         * gst/elements/gstcapsfilter.c:
5320         * gst/gstutils.c:
5321           rename filter-caps to caps property
5322
5323 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5324
5325         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5326           More robust fraction string parsing.
5327
5328         * docs/pwg/appendix-porting.xml:
5329           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5330
5331 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5332
5333         * gst/gstcaps.c: (gst_caps_do_simplify):
5334           Thou shalt not free a structure and then continue using it
5335           in the next loop iteration.
5336
5337         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5338         (gst_caps_suite):
5339           Add test case for caps simplification.
5340
5341 2005-09-29  Wim Taymans  <wim@fluendo.com>
5342
5343         * check/gst/gstbin.c: (GST_START_TEST):
5344         Oops.
5345
5346 2005-09-29  Wim Taymans  <wim@fluendo.com>
5347
5348         * check/gst/gstbin.c: (GST_START_TEST):
5349         Add bus to bin.
5350
5351         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5352         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5353         (find_element), (gst_bin_sort_iterator_next),
5354         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5355         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5356         (gst_bin_change_state), (gst_bin_dispose):
5357         A bin does not have a bus, it gets the bus from the parent.
5358
5359         * gst/gstelement.c: (gst_element_requires_clock),
5360         (gst_element_provides_clock), (gst_element_is_indexable),
5361         (gst_element_is_locked_state), (gst_element_change_state),
5362         (gst_element_set_bus_func):
5363         Small cleanups.
5364
5365         * gst/gstpipeline.c: (gst_pipeline_class_init),
5366         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5367         The pipeline provides a bus.
5368
5369 2005-09-28  Johan Dahlin  <johan@gnome.org>
5370
5371         * gst/gstmessage.c (gst_message_parse_state_changed): Use
5372         gst_structure_get_enum instead of gst_structure_get_int
5373
5374         * gst/gststructure.c (gst_structure_get_enum): Impl.
5375
5376         * gst/gststructure.h (gst_structure_get_enum): Add
5377
5378         * docs/gst/gstreamer-sections.txt: Ditto
5379
5380         * gst/gstmessage.c (gst_message_new_state_changed): Use
5381         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5382         which does introspection.
5383         Reviewed by Christian Schaller
5384
5385 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5386
5387         * gst/gstinfo.c: (gst_debug_log_default):
5388           don't do dummy g_strdup()s
5389         * libs/gst/controller/gstcontroller.c:
5390         (on_object_controlled_property_changed),
5391         (gst_controlled_property_new), (gst_controller_new_valist),
5392         (gst_controller_new_list),
5393         (gst_controller_remove_properties_valist), (gst_controller_set),
5394         (gst_controller_get), (gst_controller_sync_values),
5395         (gst_controller_get_value_array), (_gst_controller_class_init),
5396         (gst_controller_get_type):
5397         * libs/gst/controller/gstcontroller.h:
5398         * libs/gst/controller/gstinterpolation.c:
5399         (gst_controlled_property_find_timed_value_node):
5400           convert // to /**/ comments
5401
5402 2005-09-28  Wim Taymans  <wim@fluendo.com>
5403
5404         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5405         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5406         (gst_bus_sync_signal_handler):
5407         * gst/gstbus.h:
5408         Added async-message and sync-message signals to the bus.
5409         Added helper BusFunc to emit signals for all posted messages.
5410
5411         * gst/gstmessage.c: (gst_message_type_get_name),
5412         (gst_message_type_to_quark), (gst_message_get_type):
5413         * gst/gstmessage.h:
5414         Register quarks for message names.
5415
5416 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5417
5418         * docs/libs/gstreamer-libs-sections.txt:
5419         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5420         (gst_controller_new_list):
5421         * libs/gst/controller/gstcontroller.h:
5422           added another constructor for language bindings
5423
5424 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5425
5426         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5427           add another check
5428         * gst/gstbus.c:
5429           add some doc
5430         * gst/gstinfo.c: (_gst_debug_init):
5431           slightly more readable color for refcount debugging
5432
5433 2005-09-28  Wim Taymans  <wim@fluendo.com>
5434
5435         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5436         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5437         (find_element), (gst_bin_sort_iterator_next),
5438         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5439         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5440         (gst_bin_change_state), (gst_bin_dispose):
5441         Small doc fixes. get_clock -> provide_clock.
5442
5443         * gst/gstelement.c: (gst_element_class_init),
5444         (gst_element_provides_clock), (gst_element_provide_clock),
5445         (gst_element_get_clock), (gst_element_commit_state),
5446         (gst_element_lost_state):
5447         * gst/gstelement.h:
5448         Make get/set_clock() symetric. Add provide_clock vmethod since
5449         that is actually what this function does.
5450
5451         * gst/gstpipeline.c: (gst_pipeline_class_init),
5452         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
5453         (gst_pipeline_get_clock):
5454         get_clock -> provide_clock.
5455
5456 2005-09-28  Andy Wingo  <wingo@pobox.com>
5457
5458         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
5459         lieu of real docs...
5460
5461         * gst/elements/gstfdsrc.c: Cleaned up a bit.
5462
5463 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
5464
5465         * gst/elements/gstcapsfilter.c:
5466         * gst/elements/gstfakesink.c:
5467         * gst/elements/gstfakesrc.c:
5468         * gst/elements/gstfdsink.c:
5469         * gst/elements/gstfdsrc.c:
5470         * gst/elements/gstfilesink.c:
5471         * gst/elements/gstfilesrc.c:
5472         * gst/elements/gstidentity.c:
5473         * gst/elements/gsttee.c:
5474         * gst/elements/gsttypefindelement.c:
5475           Make element details static.
5476
5477 2005-09-28  Wim Taymans  <wim@fluendo.com>
5478
5479         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5480         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5481         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5482         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5483         (gst_bin_change_state), (gst_bin_dispose):
5484         Some documentation updates.
5485         Clean up dispose handlers.
5486
5487         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
5488         * gst/gstpad.c: (gst_pad_dispose):
5489         Clean up dispose handler.
5490
5491         * gst/gstpipeline.c: (gst_pipeline_change_state):
5492         Removed spurious UNLOCK.
5493
5494 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
5495
5496         * docs/gst/gstreamer-sections.txt:
5497         * gst/base/gstbasesrc.h:
5498         * gst/gstelement.h:
5499         * gst/gstevent.h:
5500         * gst/gstobject.h:
5501         * gst/gstpad.h:
5502         * gst/gstpipeline.c:
5503         * gst/gstpipeline.h:
5504         * gst/gstutils.h:
5505         * gst/gstxml.h:
5506           added two new functions to the docs
5507                 documents all undocumented GstXXXFlags
5508                 completed some incomplete docs 
5509
5510 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5511
5512         * gst/gstbin.c: (gst_bin_dispose):
5513         * gst/gstelement.c: (gst_element_dispose):
5514           remove now useless and leaky resurrection code in dispose
5515         * gst/base/gstbasesrc.c: (gst_base_src_init):
5516         * gst/gstelementfactory.c: (gst_element_factory_create):
5517         * gst/gstobject.c: (gst_object_set_parent):
5518           add some debugging
5519
5520 2005-09-27  Wim Taymans  <wim@fluendo.com>
5521
5522         * docs/design/part-TODO.txt:
5523         Update TODO.
5524
5525         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5526         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5527         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5528         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5529         (gst_bin_change_state):
5530         * gst/gstelement.h:
5531         Remove element variable, we keep element info in the iterator now.
5532
5533 2005-09-27  Andy Wingo  <wingo@pobox.com>
5534
5535         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
5536         values.
5537
5538 2005-09-27  Wim Taymans  <wim@fluendo.com>
5539
5540         * check/gst/gstbin.c: (GST_START_TEST):
5541         Enable check that works now.
5542
5543         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5544         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5545         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5546         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5547         (gst_bin_change_state):
5548         * gst/gstbin.h:
5549         Redid the state change algorithm using a topological sort algo.
5550         Handles all cases correctly.
5551         Exposed iterator for state change order.
5552
5553         * gst/gstelement.h:
5554         Temp storage for state changes. Need to get rid of this soon.
5555
5556 2005-09-27  Wim Taymans  <wim@fluendo.com>
5557
5558         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
5559         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
5560         (link_fold_func), (gst_pad_proxy_setcaps):
5561         Leak fixes, the fold functions need to unref the passed object and
5562         _get_parent_*() returns ref to parent.
5563
5564 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5565
5566         * check/gst/gstbuffer.c: (test_make_writable):
5567           Plug leak in test case and fix 'make check-valgrind'
5568
5569 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5570
5571         * gst/gstbuffer.c: (gst_subbuffer_init):
5572           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
5573           works correctly in all circumstances (we could have just copied
5574           the parent buffer's readonly flag, but conceptually it seems
5575           cleaner to mark all subbuffers as read-only). (based on patch
5576           by Alessandro Decina, #314710).
5577         
5578         * check/gst/gstbuffer.c: (create_read_only_buffer),
5579         (test_make_writable), (test_subbuffer_make_writable),
5580         (gst_test_suite):
5581           Add some tests for gst_buffer_make_writable().
5582
5583 2005-09-27  Wim Taymans  <wim@fluendo.com>
5584
5585         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
5586         use gst_object_has_ancestor().
5587
5588         * gst/gstobject.c: (gst_object_has_ancestor):
5589         * gst/gstobject.h:
5590         gst_object_has_ancestor() copied from gstbin.c as it is a
5591         usefull function.
5592
5593         * tests/instantiate/create.c: (create_all_elements):
5594         * tests/lat.c: (handoff_src), (handoff_sink):
5595         * tests/sched/runxml.c: (main):
5596         * tests/seeking/seeking1.c: (main):
5597         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
5598         (main):
5599         Fix compilation of some tests.
5600
5601 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5602
5603         * gst/gsterror.h:
5604           Remove comment. GST_TYPE_G_ERROR is here to stay,
5605           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
5606           (#316961, #300610).
5607
5608 2005-09-26  Wim Taymans  <wim@fluendo.com>
5609
5610         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5611         Added check that shows error in state change order.
5612
5613 2005-09-26  Wim Taymans  <wim@fluendo.com>
5614
5615         * gst/gstbin.c: (gst_bin_change_state):
5616         Make state change function use 3 queues again, we were
5617         adding elements in the wrong order.
5618
5619         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
5620         Some debug info,
5621
5622         * gst/gstpad.c: (gst_pad_dispose):
5623         Added some debug info first.
5624
5625 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
5626
5627         * docs/design/draft-push-pull.txt:
5628         * docs/design/part-events.txt:
5629         * docs/design/part-overview.txt:
5630         * docs/design/part-scheduling.txt:
5631           Replace all _pull_region() with _pull_range()
5632           
5633 2005-09-26  Andy Wingo  <wingo@pobox.com>
5634
5635         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
5636
5637         * check/gst-libs/controller.c: Update for controller api change.
5638
5639         * configure.ac: 
5640         * tests/Makefile.am:
5641         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
5642         over by GLib bug 118439.
5643         
5644         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
5645         routines to a function.
5646
5647         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
5648
5649         * libs/gst/controller/gsthelper.c:
5650         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
5651         (gst_object_sync_values): Renamed from sink_values. Ugh.
5652
5653         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
5654
5655         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
5656         Renamed from controller_key, as it is exported.
5657
5658         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
5659
5660 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5661
5662         * gst/Makefile.am:
5663         * gst/gst.h:
5664         * gst/gstpad.h:
5665         * gst/gstpadtemplate.h:
5666         * gst/gstquery.c:
5667         * gst/gstquery.h:
5668         * gst/gstqueryutils.c:
5669         * gst/gstqueryutils.h:
5670           remove queryutils headers after moving the two used functions
5671           to gstquery.  also fixes build problem for gstsiddec
5672
5673 2005-09-26  Michael Smith <msmith@fluendo.com>
5674
5675         * tools/gst-launch.1.in:
5676         Correct documentation in manpage of debug syntax
5677
5678 2005-09-26  Wim Taymans  <wim@fluendo.com>
5679
5680         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
5681         (gst_base_src_is_seekable), (gst_base_src_change_state):
5682         Some more debugging info.
5683
5684 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5685
5686         * docs/gst/gstreamer-sections.txt:
5687         * gst/base/gstbasetransform.h:
5688         * gst/gstindex.h:
5689           added more docs
5690
5691 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5692
5693         * docs/gst/.cvsignore:
5694         * docs/gst/tmpl/.cvsignore:
5695         * docs/gst/tmpl/gstpipeline.sgml:
5696         * docs/gst/tmpl/gstplugin.sgml:
5697         * gst/gstpipeline.c:
5698         * gst/gstplugin.c:
5699         * gst/gstplugin.h:
5700           inlined the last two docs files
5701           removed the tmpl directory from cvs (no more conflicts here!)
5702
5703 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5704
5705         * docs/gst/gstreamer-sections.txt:
5706         * docs/gst/tmpl/.cvsignore:
5707         * docs/gst/tmpl/gstpad.sgml:
5708         * docs/gst/tmpl/gstpadtemplate.sgml:
5709         * gst/Makefile.am:
5710         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
5711         (gst_pad_finalize), (gst_pad_set_pad_template):
5712         * gst/gstpad.h:
5713         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5714         (gst_pad_template_class_init), (gst_pad_template_init),
5715         (gst_pad_template_dispose), (name_is_valid),
5716         (gst_static_pad_template_get), (gst_pad_template_new),
5717         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
5718         (gst_pad_template_pad_created):
5719         * gst/gstpadtemplate.h:
5720           inlined two more docs
5721           factored gstpadtemplate out of gstpad
5722
5723 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
5724
5725         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5726         (test_children_state_change_order_semi_sink):
5727           Fix test case: we can't rely on a fixed state change order when
5728           going from READY => PAUSED because the sink might commit its 
5729           new state first when the first buffer created by the source 
5730           reaches the sink before the source has finished its change state.
5731           (Test case still fails at times, see #316856, comment 5 onwards)
5732
5733 2005-09-24  Wim Taymans  <wim@fluendo.com>
5734
5735         * docs/design/part-events.txt:
5736         * docs/design/part-gstbus.txt:
5737         * docs/design/part-gstpipeline.txt:
5738         * docs/design/part-messages.txt:
5739         * docs/design/part-overview.txt:
5740         * docs/design/part-segments.txt:
5741         * gst/gstbin.c:
5742         * gst/gstbuffer.c:
5743         * gst/gstclock.c:
5744         * gst/gstelement.c:
5745         * gst/gstevent.c:
5746         * gst/gstfilter.c:
5747         * gst/gstiterator.c:
5748         Various documentation updates.
5749
5750 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5751
5752         * gst/gstclock.h:
5753           Well, that's embarassing.  Luckily we weren't using
5754           GST_CLOCK_DIFF anywhere.
5755
5756 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5757
5758         * common/gtk-doc.mak:
5759           don't fail on building XML, FC4 slave shows a bunch of doc
5760           missing bits that I don't get
5761         * gst/gstpad.c:
5762         * gst/gstpipeline.c:
5763         * gst/gststructure.c:
5764           some doc updates
5765
5766 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5767
5768         * docs/design/part-gstbin.txt:
5769         * docs/design/part-gstbus.txt:
5770         * gst/gstbus.c:
5771           Add blurb about how the bus goes into flushing mode and
5772           drops all messages when its bin goes from READY into NULL 
5773           state.
5774
5775 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5776
5777         * docs/gst/gstreamer-sections.txt:
5778         * gst/gststructure.c: (gst_structure_get_clock_time):
5779         * gst/gststructure.h:
5780           add a method to get a GstClockTime out of a structure
5781
5782 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5783
5784         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5785         (test_children_state_change_order_semi_sink), (gst_bin_suite):
5786           Added test to check state change order in bins (can still be made
5787           to fail here under heavy disk load; bails out with 'Push on pad
5788           fakesink:sink0, but it was not activated in push mode').
5789
5790         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
5791           Fix state change order when there is only a semi sink (#316856)
5792
5793         * gst/gstbus.c: (gst_bus_class_init):
5794           Use _class_peek_parent(), not _class_ref(); fix docs to say
5795           'default main context' instead of 'mainloop' where that is
5796           what's meant.
5797
5798         * gst/gstelement.c: (gst_element_commit_state),
5799         (gst_element_set_state):
5800           Fix typos in debug messages
5801
5802 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5803
5804         * docs/README:
5805         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
5806         * gst/gstpluginfeature.c:
5807         * gst/gstutils.c:
5808           various doc updates
5809         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5810           change an assert into an error until it gets fixed properly
5811
5812 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
5813
5814         * docs/gst/gstreamer-sections.txt:
5815         * docs/gst/tmpl/.cvsignore:
5816         * docs/gst/tmpl/gstelement.sgml:
5817         * docs/gst/tmpl/gstinfo.sgml:
5818         * docs/gst/tmpl/gstobject.sgml:
5819         * gst/gstelement.c:
5820         * gst/gstelement.h:
5821         * gst/gstinfo.c:
5822         * gst/gstinfo.h:
5823         * gst/gstobject.c: (gst_object_class_init):
5824         * gst/gstobject.h:
5825           inlined 3 more biiiig doc files and added some missing docs on the fly
5826
5827 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5828
5829         * check/gst/.cvsignore:
5830         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
5831         * gst/gstregistryxml.c: (load_plugin),
5832         (gst_registry_xml_save_plugin):
5833           put back source in registry.  add checks for find_plugin.
5834         * testsuite/states/bin.c: (assert_state), (empty_bin),
5835         (test_adding_one_element), (main):
5836         * testsuite/states/locked.c: (main):
5837           some compile/run fixes
5838
5839 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5840
5841         * check/gst/gstvalue.c: (GST_START_TEST):
5842           fix leaks in the test itself
5843
5844 2005-09-22  Wim Taymans  <wim@fluendo.com>
5845
5846         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5847         (gst_base_sink_send_event), (gst_base_sink_peer_query),
5848         (gst_base_sink_query):
5849         Prepare for more accurate position reporting and query
5850         handling.
5851
5852         * gst/gstelement.c: (gst_element_send_event),
5853         (gst_element_set_state):
5854         Add some comment.
5855
5856 2005-09-22  Wim Taymans  <wim@fluendo.com>
5857
5858         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
5859         (gst_query_parse_segment):
5860         * gst/gstquery.h:
5861         More documentation.
5862         Add segment query for future use.
5863
5864 2005-09-22  Wim Taymans  <wim@fluendo.com>
5865
5866         * gst/gstbin.c: (gst_bin_add_func):
5867         Some more debug info.
5868
5869         * gst/gstelement.c: (gst_element_send_event):
5870         Simplify send_event
5871
5872         * gst/gstelement.h:
5873         Don't know how flags got broken.
5874
5875         * gst/gstquery.h:
5876         Added new query.
5877
5878 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5879
5880         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
5881           Add simplistic test suite for GST_TYPE_DATE serialisation and
5882           deserialisation.
5883
5884 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5885
5886         * docs/gst/gstreamer-sections.txt:
5887         * gst/gststructure.c: (gst_structure_set_valist),
5888         (gst_structure_get_date):
5889         * gst/gststructure.h:
5890         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
5891         (gst_date_copy), (gst_value_compare_date),
5892         (gst_value_serialize_date), (gst_value_deserialize_date),
5893         (gst_value_transform_date_string),
5894         (gst_value_transform_string_date), (_gst_value_initialize):
5895         * gst/gstvalue.h:
5896           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
5897           bunch of utility functions along with a hack that checks that
5898           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
5899           is required. Part of the grand scheme in #170777.
5900
5901 2005-09-22  Andy Wingo  <wingo@pobox.com>
5902
5903         * gst/gstconfig.h.in: Psych out gtk-doc.
5904
5905         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
5906
5907         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
5908
5909         * tools/gst-inspect.c (print_element_list): Plug some
5910         inconsequential leaks.
5911
5912         * gst/gstregistry.c (gst_registry_get_default): Doc.
5913
5914         * check/gst/gstplugin.c: 
5915         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
5916         * gst/gstelementfactory.c (gst_element_factory_create): 
5917         * gst/gstindexfactory.c (gst_index_factory_create): Update for
5918         refcount changes.
5919
5920         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
5921         (gst_plugin_feature_load): Doc, don't eat refs.
5922
5923         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
5924         (gst_plugin_list_free): Doc.
5925         (gst_plugin_load_file): Doc updates.
5926
5927         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
5928         accessors returning refcounted objects, return a ref.
5929
5930         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
5931         accessor for caps. IDEMPOTENCE. Oh yes.
5932
5933 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
5934
5935         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5936
5937         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
5938         (_gst_debug_register_funcptr):
5939           Add mutex to serialise access to the hash table with
5940           the function pointer => function name string mapping;
5941           make that hash table static scope (#316809).
5942
5943         * gst/registries/.cvsignore:
5944           Remove left-over file.
5945
5946 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5947
5948         * docs/pwg/appendix-porting.xml:
5949           And something about newsegment events and caps-on-buffers to
5950           the porting guide (feel free to improve).
5951
5952 2005-09-21  Andy Wingo  <wingo@pobox.com>
5953
5954         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
5955         data and event probes on the same pad.
5956         (test_buffer_probe_once): Test that removing probes from within
5957         the probe functions works.
5958
5959 2005-09-21  Andy Wingo  <wingo@pobox.com>
5960
5961         * check/gst/gstutils.c: New file.
5962         (test_buffer_probe_n_times): A simple buffer probe test. More to
5963         come, foolios.
5964
5965         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
5966         have-data::buffer, not have-data.
5967         (gst_pad_add_event_probe): Likewise for have-data::event.
5968         (gst_pad_add_data_probe): More docs. The part about 'resolving the
5969         peer' isn't quite right yet though.
5970         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
5971         (gst_pad_remove_data_probe): Change to take the guint handler_id
5972         as their arg, not the function+data, which is more glib-like.
5973
5974         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
5975         the signal emission to indicate if the data is a buffer or an
5976         event.
5977         (gst_pad_get_type): Initialize buffer and event quarks.
5978         (gst_pad_class_init): have-data is now a detailed signal, yes it
5979         is.
5980
5981 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5982
5983         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
5984         * gst/gstutils.c: (gst_util_set_value_from_string),
5985         (gst_util_set_object_arg):
5986           Don't put functional code in g_return_if_fail() or
5987           g_return_val_if_fail() statements, otherwise things will 
5988           break when G_DISABLE_CHECKS is defined during compilation.
5989
5990 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5991
5992         * docs/gst/tmpl/.cvsignore:
5993         * docs/gst/tmpl/gstvalue.sgml:
5994         * gst/gstvalue.c:
5995         * gst/gstvalue.h:
5996           inlied another one and added  some obvious docs
5997
5998 2005-09-21  Wim Taymans  <wim@fluendo.com>
5999
6000         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6001         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
6002         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
6003         (gst_fdsrc_get_property), (gst_fdsrc_create):
6004         * gst/elements/gstfdsrc.h:
6005         Properly implement fdsrc. Removed signal and timeout,
6006         better implemented somewhere else.
6007
6008 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6009
6010         * docs/gst/tmpl/.cvsignore:
6011         * docs/gst/tmpl/gstimplementsinterface.sgml:
6012         * gst/gstinterface.c:
6013           inlined more docs
6014
6015 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6016
6017         * docs/gst/gstreamer-sections.txt:
6018         * docs/gst/tmpl/.cvsignore:
6019         * docs/gst/tmpl/gstenumtypes.sgml:
6020           remove obsolete doc file
6021
6022 2005-09-21  David Schleef  <ds@schleef.org>
6023
6024         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
6025         little beer, fix a little leak.
6026
6027 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6028
6029         * docs/gst/gstreamer-docs.sgml:
6030         * docs/gst/gstreamer-sections.txt:
6031         * docs/gst/tmpl/.cvsignore:
6032         * gst/Makefile.am:
6033         * gst/gst.h:
6034         * gst/gstbin.c:
6035         * gst/gstelement.h:
6036         * gst/gstindex.c: (gst_index_class_init):
6037         * gst/gstindex.h:
6038         * gst/gstindexfactory.c: (gst_index_factory_get_type),
6039         (gst_index_factory_class_init), (gst_index_factory_init),
6040         (gst_index_factory_finalize), (gst_index_factory_new),
6041         (gst_index_factory_destroy), (gst_index_factory_find),
6042         (gst_index_factory_create), (gst_index_factory_make):
6043         * gst/gstindexfactory.h:
6044         * gst/gstpluginfeature.c:
6045         * gst/gstpluginfeature.h:
6046         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6047           more docs inlined, splitted gstindex.{c,h}
6048
6049 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6050
6051         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6052           fix a leak
6053
6054 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6055
6056         * gst/elements/gstfilesink.c: (gst_file_sink_init):
6057           Set sync to FALSE by default.
6058
6059 2005-09-20  Wim Taymans  <wim@fluendo.com>
6060
6061         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6062         (gst_base_sink_init):
6063         Make sync property settable from subclass.
6064
6065         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6066         (gst_fake_sink_change_state):
6067         Set sync to FALSE by default.
6068
6069 2005-09-20  Wim Taymans  <wim@fluendo.com>
6070
6071         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
6072         * tools/gst-launch.c: (main):
6073         The timeout handler should have lower priority than the source
6074         so we don't timeout before popping a message with 0 timeout.
6075         Dump error messages after failed state change.
6076
6077 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6078
6079         * tools/gst-inspect.c: (print_element_properties_info):
6080           Fix two typos.
6081
6082 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6083
6084         * check/gst/gstevent.c:
6085         * gst/elements/gstfakesink.c:
6086         * gst/elements/gstfakesink.h:
6087           remove the sync property from fakesink.
6088           has the side effect of setting sync TRUE
6089           for fakesink, which is a change.  Anyone who knows how
6090           to fix this nicely in a GObject-y way, feel free.
6091
6092 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6093
6094         * docs/gst/gstreamer-docs.sgml:
6095           remove probe refsection
6096
6097 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6098
6099         * check/Makefile.am:
6100           disable valgrinding the controller test again
6101         * docs/gst/gstreamer-sections.txt:
6102           update for api-changes
6103
6104 2005-09-20  Wim Taymans  <wim@fluendo.com>
6105
6106         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6107         (gst_base_sink_set_property), (gst_base_sink_get_property),
6108         (gst_base_sink_do_sync):
6109         * gst/base/gstbasesink.h:
6110         Added sync property to basesink to disable clock sync.
6111
6112 2005-09-20  Andy Wingo  <wingo@pobox.com>
6113
6114         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
6115         eating the caller's refcount.
6116
6117         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
6118         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
6119         refcount.
6120
6121         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
6122         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
6123         of GLib 2.8 public, so we can know which refcount to check in
6124         tests.
6125
6126         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
6127         (gst_object_init): Only set the gst refcount if we're going ahead
6128         with the refcount hack.
6129
6130 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6131
6132         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6133         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6134           more leaks plumbed, added more debug-logging
6135         * gst/gstmacros.h:
6136           whitespace fix
6137
6138 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6139
6140         * gst/gstmessage.c:
6141           remove include of gstmemchunk.h
6142
6143 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6144
6145         * gst/gstclock.c: (_gst_clock_id_free):
6146           Commit from the Political Party For More Atomic CVS Commits,
6147           so that people don't waste too much of their day fishing
6148           out obvious leaks out of massive commits.
6149           Oh, and fix a pretty damn obvious leak in the memchunk
6150           removal code.
6151
6152 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6153
6154         * check/Makefile.am:
6155         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6156           plug mem-leak, re-add to valgrindable tests
6157
6158 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6159
6160         * gst/gstplugin.h:
6161           unbreak the build for those who have chronic arthritis
6162           and typing "make check" is just too taxing on the hands
6163
6164 2005-09-20  Andy Wingo  <wingo@pobox.com>
6165
6166         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
6167         really want it out, you should fix plugins at the same time.
6168
6169 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
6170
6171         * configure.ac:
6172         * docs/gst/gstreamer-sections.txt:
6173         * gst/gstobject.c:
6174           added missing symbols to api docs
6175           disable ref-count hack if we have glib >= 2.8
6176
6177 2005-09-19  David Schleef  <ds@schleef.org>
6178
6179         * docs/gst/Makefile.am: Ignore a few more internal headers
6180         * docs/gst/gstreamer-docs.sgml: Remove old sections
6181         * docs/gst/gstreamer-sections.txt: Remove old sections
6182         * docs/gst/tmpl/gstobject.sgml: update
6183         * docs/gst/tmpl/gstplugin.sgml: update
6184         * docs/gst/tmpl/gstpluginfeature.sgml: update
6185         * docs/random/ds/0.9-suggested-changes: update.
6186         * gst/Makefile.am: remove memchunk and trashstack, since they're
6187           not used.
6188         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
6189         * gst/gst.h: don't include some headers
6190         * gst/gstchildproxy.c: add gstmarshal.h
6191         * gst/gstclock.c: Don't use memchunks
6192         * gst/gstminiobject.c: Add some docs
6193         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
6194         * gst/gstobject.h: same
6195         * gst/gstplugin.c: include gstmacros.h
6196         * gst/gstplugin.h: don't include gstmacros.h, since it's private
6197         * gst/gstquery.c: don't use memchunks
6198         * gst/gstregistry.c: rename gst_registry_deinit()
6199         * gst/gstregistry.h: same
6200
6201 2005-09-19  David Schleef  <ds@schleef.org>
6202
6203         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
6204         * docs/libs/gstreamer-libs-sections.txt:
6205         * docs/libs/tmpl/gstgetbits.sgml:
6206         * docs/libs/tmpl/gstputbits.sgml:
6207
6208 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6209
6210         * win32/gstenumtypes.c:
6211         * win32/gstenumtypes.h:
6212           Update.
6213
6214 2005-09-19  Wim Taymans  <wim@fluendo.com>
6215
6216         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
6217         Automatically PAUSE and RESUME a pipeline when a flushing seek
6218         is performed.
6219
6220 2005-09-19  Andy Wingo  <wingo@pobox.com>
6221
6222         * gst/gstregistry.h: Spacing fixen.
6223
6224 2005-09-19  Wim Taymans  <wim@fluendo.com>
6225
6226         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
6227         Handle state change failure more correctly.
6228
6229 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6230
6231         * check/Makefile.am:
6232         * check/pipelines/cleanup.c: (run_pipeline):
6233         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6234         (GST_START_TEST):
6235           enable cleanup again after fixing the leak
6236         * docs/README:
6237           some more info on docs
6238
6239 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6240
6241         * check/Makefile.am:
6242           re-enable tests now that leaks are plugged
6243         * check/gst/gst.c:
6244         * check/gst/gstbin.c:
6245         * check/gst/gstpipeline.c:
6246           add some more tests while fixing leaks
6247         * common/check.mak:
6248           make sure binaries are uptodate when valgrinding/gdbing
6249         * gst/gst.c:
6250         * gst/gstelementfactory.c:
6251           remove a ref too many, and add a FIXME for when we get
6252           round to disposing of classes
6253         * gst/gstplugin.c:
6254           fix the refcounting when loading a plugin from a file and
6255           the code pretends that the pointer is the same even though
6256           of course it can change
6257         * gst/gstpluginfeature.c:
6258           unref plugins marked cached (a bit confusing as a name)
6259           as the docs state should be done
6260           various doc additions to explain refcounting
6261         * gst/gstregistry.c:
6262         * gst/gstregistryxml.c:
6263           debugging
6264
6265 2005-09-19  Wim Taymans  <wim@fluendo.com>
6266
6267         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6268         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6269         (send_messages), (GST_START_TEST), (gstbus_suite):
6270         * check/gst/gstpipeline.c: (GST_START_TEST):
6271         * check/pipelines/cleanup.c: (run_pipeline):
6272         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6273         (GST_START_TEST):
6274         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6275         (gst_bus_source_check), (gst_bus_source_dispatch),
6276         (gst_bus_create_watch), (gst_bus_add_watch_full),
6277         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6278         * gst/gstbus.h:
6279         * tools/gst-launch.c: (event_loop):
6280         * tools/gst-md5sum.c: (event_loop):
6281         GstBusHandler -> GstBusFunc, return value has the same meaning as
6282         any other GSource (FALSE == remove source).
6283         _add_watch() and _add_watch_full() now take a MessageType mask to
6284         only handle specific types of messages.
6285         _poll() returns the GstMessage instead of the message type to avoid
6286         race conditions.
6287         _have_pending() takes a MessageType mask now too.
6288         Added testsuite for multiple bus watches.
6289         Fix testsuites and applications for new bus API.
6290
6291 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6292
6293         * check/Makefile.am:
6294           mark a bunch of the tests as to fix until we fix them
6295
6296 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6297
6298         * common/check.mak:
6299           use GST_PLUGIN settings for valgrind tests as well, so we're
6300           valgrinding the correct thing
6301         * gst/gst.c: (init_post):
6302           plug another leak
6303
6304 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6305
6306         * gst/gst.c: (init_post), (gst_deinit):
6307         * gst/gstelementfactory.c: (gst_element_factory_class_init),
6308         (gst_element_factory_finalize), (gst_element_factory_cleanup):
6309         * gst/gstindex.c: (gst_index_factory_class_init),
6310         (gst_index_factory_finalize):
6311         * gst/gstobject.c: (gst_object_dispose):
6312         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6313         (gst_plugin_load_file), (gst_plugin_desc_free):
6314         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6315         (gst_plugin_feature_finalize):
6316         * gst/gstregistry.c: (gst_registry_class_init),
6317         (gst_registry_init), (gst_registry_finalize),
6318         (gst_registry_get_default), (gst_registry_deinit):
6319         * gst/gstregistry.h:
6320         * gst/gstregistryxml.c: (load_feature), (load_plugin):
6321           various cleanups and memleak plugging.  make valgrind is happy now.
6322
6323 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6324
6325         * common/check.mak:
6326           add a check-valgrind target
6327
6328 2005-09-18  David Schleef  <ds@schleef.org>
6329
6330         * tools/gst-inspect.c: Revert the GOption code.
6331
6332 2005-09-17  David Schleef  <ds@schleef.org>
6333
6334         * check/Makefile.am: Fix environment variables.
6335         * check/gst/gstplugin.c: Fix for API changes.
6336         * tools/gst-inspect.c: Fix for API changes.
6337         * tools/gst-xmlinspect.c: Fix for API changes.
6338         * gst/gstelementfactory.c:
6339         * gst/gstplugin.c:
6340         * gst/gstplugin.h:
6341         * gst/gstpluginfeature.c:
6342         * gst/gstpluginfeature.h:
6343         * gst/gstregistry.c:
6344         * gst/gstregistry.h:
6345         * gst/gstregistryxml.c:
6346         * gst/gsttypefind.c:
6347         * gst/gsttypefindfactory.c:
6348         * gst/indexers/gstfileindex.c:
6349         * gst/indexers/gstmemindex.c:
6350         * gst/schedulers/Makefile.am:
6351           Change registry to keep track of both plugins and features,
6352           removing the feature tracking from plugins themselves.
6353
6354 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6355
6356         * check/Makefile.am:
6357         * tools/gst-register.1.in:
6358           remove gst-register
6359
6360 2005-09-15  David Schleef  <ds@schleef.org>
6361
6362         * check/gst/gstplugin.c:
6363         * gst/gstelementfactory.c:
6364         * gst/gstplugin.c:
6365         * gst/gstpluginfeature.c:
6366         * gst/gstregistry.c:
6367           Getting tired of debugging.  Disabled all the unreffing of
6368           plugins and features, which fixes the segfaults, but of
6369           course leaks like crazy.  At least playbin works.
6370
6371 2005-09-15  David Schleef  <ds@schleef.org>
6372
6373         * check/gst/gstplugin.c: (register_check_elements),
6374         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6375         More testing
6376         * gst/elements/gsttypefindelement.c: Fix refcounting.
6377         * gst/gsttypefind.c:
6378         * gst/gsttypefindfactory.c:
6379         * gst/gsttypefindfactory.h:
6380
6381 2005-09-15  David Schleef  <ds@schleef.org>
6382
6383         * gst/gstindex.c: get refcounting correct.
6384         * gst/gstregistry.c: Handle the case where a feature/plugin is
6385           not found.
6386
6387 2005-09-15  David Schleef  <ds@schleef.org>
6388
6389         * check/Makefile.am:
6390         * check/gst/gstplugin.c: Add test
6391         * gst/gstplugin.c: Fix problems noticed by testsuite
6392         * gst/gstplugin.h:
6393         * gst/gstregistry.c: 
6394         * gst/gstregistry.h:
6395
6396 2005-09-15  David Schleef  <ds@schleef.org>
6397
6398         * gst/gstplugin.c: Implement semi-decent recounting and locking
6399           in plugins and plugin features.
6400         * gst/gstplugin.h:
6401         * gst/gstpluginfeature.c:
6402         * gst/gstpluginfeature.h:
6403         * gst/gstregistry.c:
6404
6405 2005-09-15  Michael Smith <msmith@fluendo.com>
6406
6407         * gst/gstregistry.c: (gst_registry_get_feature_list):
6408           Implement this. Makes oggdemux work; decodebin still broken.
6409
6410 2005-09-14  David Schleef  <ds@schleef.org>
6411
6412         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6413           #316076)
6414         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6415         * gst/check/Makefile.am:
6416         * libs/gst/controller/Makefile.am:
6417         * libs/gst/dataprotocol/Makefile.am:
6418
6419 2005-09-14  David Schleef  <ds@schleef.org>
6420
6421         * configure.ac: Remove getbits library.  Nothing uses it, and
6422           it should be in something like liboil if someone did want
6423           to use it.
6424         * libs/gst/Makefile.am:
6425         * libs/gst/getbits/Makefile.am:
6426         * libs/gst/getbits/gbtest.c:
6427         * libs/gst/getbits/getbits.c:
6428         * libs/gst/getbits/getbits.h:
6429         * libs/gst/getbits/gstgetbits_generic.c:
6430         * libs/gst/getbits/gstgetbits_i386.s:
6431         * libs/gst/getbits/gstgetbits_inl.h:
6432
6433 2005-09-14  David Schleef  <ds@schleef.org>
6434
6435         * gst/Makefile.am: Dist glib-compat.h
6436
6437 2005-09-14  David Schleef  <ds@schleef.org>
6438
6439         * configure.ac: Remove gst/registries, since it's no longer used.
6440         * gst/registries/Makefile.am:
6441         * gst/registries/gstlibxmlregistry.c:
6442         * gst/registries/gstlibxmlregistry.h:
6443         * gst/registries/gstxmlregistry.c:
6444         * gst/registries/gstxmlregistry.h:
6445         * gst/registries/registrytest.c:
6446
6447 2005-09-14  David Schleef  <ds@schleef.org>
6448
6449         * gst/glib-compat.h:
6450         * gst/gstregistryxml.c:
6451           Convergence is near.  Seriously.
6452
6453 2005-09-14  David Schleef  <ds@schleef.org>
6454
6455         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6456         * gst/glib-compat.h:
6457           Attempt #4 to appease the buildbots.
6458
6459 2005-09-14  David Schleef  <ds@schleef.org>
6460
6461         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6462           Attempt #3.
6463
6464 2005-09-14  David Schleef  <ds@schleef.org>
6465
6466         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6467         Attempt #2.
6468
6469 2005-09-14  David Schleef  <ds@schleef.org>
6470
6471         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
6472           the new functions.
6473
6474 2005-09-14  David Schleef  <ds@schleef.org>
6475
6476         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6477         * gst/glib-compat.h: Add some functions that are in newer versions
6478           of glib than we care to require.
6479         * gst/gstregistryxml.c: Use them.
6480
6481 2005-09-14  David Schleef  <ds@schleef.org>
6482
6483         * po/POTFILES.in: remove gst-register.c
6484
6485 2005-09-14  David Schleef  <ds@schleef.org>
6486
6487         * docs/gst/gstreamer-docs.sgml:
6488         * docs/gst/gstreamer-sections.txt:
6489         * docs/gst/gstreamer.types:
6490         * docs/gst/tmpl/gstelement.sgml:
6491         * docs/gst/tmpl/gstplugin.sgml:
6492         * docs/gst/tmpl/gstpluginfeature.sgml:
6493           Documentation updates for registry changes.
6494
6495 2005-09-14  David Schleef  <ds@schleef.org>
6496
6497         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
6498           because we don't require glib-2.8.
6499
6500 2005-09-14  David Schleef  <ds@schleef.org>
6501
6502         * gst/gstregistryxml.c: Added.  Essentially moved out of the
6503           registries directory.
6504
6505 2005-09-14  David Schleef  <ds@schleef.org>
6506
6507         * check/Makefile.am:
6508         * check/generic/states.c:
6509         * gst/Makefile.am:
6510         * gst/gst.c:
6511         * gst/gst.h:
6512         * gst/gst_private.h:
6513         * gst/gstelementfactory.c:
6514         * gst/gstindex.c:
6515         * gst/gstinfo.c:
6516         * gst/gstplugin.c:
6517         * gst/gstplugin.h:
6518         * gst/gstpluginfeature.c:
6519         * gst/gstpluginfeature.h:
6520         * gst/gstregistry.c:
6521         * gst/gstregistry.h:
6522         * gst/gstregistrypool.c: remove
6523         * gst/gstregistrypool.h: remove
6524         * gst/gsttypefind.c:
6525         * gst/gsttypefindfactory.c:
6526         * gst/gsturi.c:
6527         * tools/Makefile.am:
6528         * tools/gst-compprep.c:
6529         * tools/gst-inspect.c:
6530         * tools/gst-register.c: remove
6531         * tools/gst-xmlinspect.c:
6532           Registry rewrite.  Changes registry from being a file created
6533           by a tool into a simple cache file created automatically by 
6534           libgstreamer.  Removed gst-register (because it's no longer
6535           needed).  Remove registry pools, because we only have one
6536           registry implementation (XML).  Fix up other subsystems as
6537           necessary.
6538
6539 2005-09-13  Michael Smith <msmith@fluendo.com>
6540
6541         * gst/gstconfig.h.in:
6542           Don't Use windows linking attributes for MinGW. Fixes #316157
6543
6544 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6545
6546         * gst/gstutils.c: (set_state_async_thread_func),
6547         (gst_element_set_state_async):
6548           Apparently people think it's better if this function doesn't
6549           try to set the state to whatever state was asked for on the first
6550           call to this function for any object.  Seriously.
6551
6552 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6553
6554         * check/gst/gstpipeline.c: (GST_START_TEST):
6555         * docs/gst/gstreamer-sections.txt:
6556         * gst/gstutils.c: (set_state_async_thread_func),
6557         (gst_element_set_state_async):
6558         * gst/gstutils.h:
6559           add a "gst_element_set_state_async" method that
6560           sets the state and starts a thread to make sure the state
6561           change completes as best as it can
6562
6563 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6564
6565         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6566           codify design+behaviour in testsuite after discussion
6567
6568 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6569
6570         * docs/gst/tmpl/gstelement.sgml:
6571         * docs/manual/appendix-quotes.xml:
6572           add a quote
6573         * gst/gstelement.c: (gst_element_set_state):
6574           add some debug
6575
6576 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
6577
6578         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6579         (gst_base_transform_prepare_output_buf),
6580         (gst_base_transform_handle_buffer):
6581         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
6582         (gst_capsfilter_prepare_buf):
6583           Remove the requirement for sub-classes to call the parent
6584           implementation of prepare_output_buffer with a wrapper function.
6585           
6586         * gst/gsttaglist.h:
6587         * gst/gsttagsetter.h:
6588           Fix #define wrapper
6589
6590 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
6591
6592         * docs/gst/gstreamer-sections.txt:
6593           more doc cleanups
6594
6595 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6596
6597         * docs/gst/gstreamer-sections.txt:
6598         * docs/gst/tmpl/gstelement.sgml:
6599         * docs/gst/tmpl/gstplugin.sgml:
6600         * gst/gstminiobject.c:
6601         * gst/gstvalue.h:
6602           docs now stop throwing warnings
6603
6604 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6605
6606         * docs/gst/gstreamer-sections.txt:
6607         * docs/gst/gstreamer.types:
6608         * docs/gst/tmpl/gstpad.sgml:
6609         * docs/gst/tmpl/gsttypes.sgml:
6610         * gst/base/gstadapter.h:
6611         * gst/base/gstbasesink.h:
6612         * gst/base/gstbasesrc.h:
6613         * gst/gstbin.h:
6614         * gst/gstbuffer.h:
6615         * gst/gstbus.h:
6616         * gst/gstcaps.h:
6617         * gst/gstclock.h:
6618         * gst/gstelement.h:
6619         * gst/gstevent.h:
6620         * gst/gstmessage.h:
6621         * gst/gstpad.h:
6622         * gst/gststructure.c:
6623         * gst/registries/gstlibxmlregistry.h:
6624           various documentation fixes
6625
6626 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6627
6628         * docs/gst/gstreamer-sections.txt:
6629         * docs/gst/tmpl/gstvalue.sgml:
6630           rearrange gstvalue section
6631         * gst/gstutils.c: (gst_element_state_get_name):
6632           NONE -> VOID
6633         * gst/gstvalue.c: (_gst_value_initialize):
6634         * gst/gstvalue.h:
6635           doc updates
6636
6637 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
6638
6639         * check/gst-libs/controller.c:
6640           Header include fix.
6641         * gst/base/gstbasetransform.c:
6642         (gst_base_transform_default_prepare_buf),
6643         (gst_base_transform_handle_buffer):
6644         * gst/base/gstbasetransform.h:
6645           Some more basetransform changes and fixes to enable sub-classes
6646           that modify buffer metadata only.
6647         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6648         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
6649         (gst_capsfilter_prepare_buf):
6650           If the output pad has fixed allowed caps and input buffers 
6651           don't have any, set the fixed caps on outgoing buffers.
6652
6653 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
6654         * check/elements/identity.c: (GST_START_TEST):
6655           Make the error a little clearer when the test fails because
6656           identity made a copy of the buffer.
6657         * docs/gst/gstreamer-sections.txt:
6658           New symbols in gstbasetransform.h
6659         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6660         (gst_base_transform_init), (gst_base_transform_transform_size),
6661         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6662         (gst_base_transform_default_prepare_buf),
6663         (gst_base_transform_get_unit_size),
6664         (gst_base_transform_buffer_alloc),
6665         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
6666         (gst_base_transform_change_state),
6667         (gst_base_transform_set_passthrough),
6668         (gst_base_transform_set_in_place),
6669         (gst_base_transform_is_in_place):
6670         * gst/base/gstbasetransform.h:
6671           Change BaseTransform to separate in_place operate from same_caps
6672           output. in_place implies that the element can perform the transform
6673           on incoming buffers in-place, even if the caps on the output are
6674           different.
6675           Sub-class elements can now implement special buffer allocation
6676           methods for outgoing buffers if they wish to.
6677           Big documentation addition.
6678         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
6679         * gst/elements/gstelements.c:
6680           Changes for basetransform modifications.
6681         * gst/elements/Makefile.am:
6682         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
6683           Compile fix. Extra debug output.
6684
6685 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6686
6687         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
6688         (gst_pad_suite):
6689           add tests for valid pad naming
6690         * gst/check/gstcheck.c: (gst_check_log_message_func),
6691         (gst_check_log_critical_func):
6692           add ASSERT_WARNING
6693           remove printing of code, it is fragile when the code contains
6694           % and the line number is enough info
6695         * gst/check/gstcheck.h:
6696         * gst/gstpad.c: (gst_pad_template_new):
6697           fix memleaks
6698
6699 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6700
6701         * configure.ac:
6702           say what CHECK flags we use
6703         * docs/libs/gstreamer-libs.types:
6704         * libs/gst/controller/Makefile.am:
6705         * libs/gst/controller/gst-controller.c:
6706         * libs/gst/controller/gst-controller.h:
6707         * libs/gst/controller/gst-helper.c:
6708         * libs/gst/controller/gst-interpolation.c:
6709         * libs/gst/controller/gstcontroller.c:
6710         * libs/gst/controller/gsthelper.c:
6711         * libs/gst/controller/gstinterpolation.c:
6712         * tools/gst-inspect.c: (print_plugin_info):
6713           we don't use dashes in header names
6714
6715 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6716
6717         * check/Makefile.am:
6718         * check/gst/.cvsignore:
6719         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
6720         (gst_pipeline_suite), (main):
6721           adding a test for pipelines and state changes
6722         * gst/gstutils.c: (get_state_func):
6723           add some debugging
6724         * gstreamer.spec.in:
6725           fix up spec file
6726
6727 2005-09-08  Michael Smith <msmith@fluendo.com>
6728
6729         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
6730         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
6731         (gst_file_src_is_seekable), (gst_file_src_get_size),
6732         (gst_file_src_start):
6733         * gst/elements/gstfilesrc.h:
6734           Various fixes for unseekable, unmmapable, and non-normal files, so
6735           that fallback to read() rather than mmap() works.
6736         * gst/gstevent.c: (gst_event_new_newsegment):
6737           Allow newsegment events with segment_start == segment_end, as will
6738           correctly happen if you use filesrc on a zero-size file, for
6739           example.
6740
6741 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6742
6743         * gst/gstplugin.c: (gst_plugin_load_file):
6744           Call g_module_close when we don't load the module
6745
6746         * gst/registries/gstlibxmlregistry.c:
6747         (gst_xml_registry_get_property):
6748           Port leak fix from 0.8
6749
6750 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6751
6752         * docs/gst/gstreamer-docs.sgml:
6753         * docs/gst/tmpl/.cvsignore:
6754         * docs/gst/tmpl/gsttrace.sgml:
6755         * docs/gst/tmpl/gsttrashstack.sgml:
6756         * gst/Makefile.am:
6757         * gst/gst.h:
6758         * gst/gstelement.h:
6759         * gst/gstevent.h:
6760         * gst/gstmessage.c:
6761         * gst/gstmessage.h:
6762         * gst/gsttag.c:
6763         * gst/gsttag.h:
6764         * gst/gsttaginterface.c:
6765         * gst/gsttaginterface.h:
6766         * gst/gsttaglist.c:
6767         * gst/gsttaglist.h:
6768         * gst/gsttagsetter.c:
6769         * gst/gsttagsetter.h:
6770         * gst/gsttrace.c:
6771         * gst/gsttrace.h:
6772         * gst/gsttrashstack.c:
6773           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
6774           inlined docs for gsttrace, gsttrashstack
6775
6776 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6777
6778         * gst/Makefile.am:
6779         * gst/elements/gstbufferstore.h:
6780         * gst/elements/gsttypefindelement.c:
6781         * gst/elements/gsttypefindelement.h:
6782         * gst/gst.h:
6783         * gst/gsttypefind.c:
6784         * gst/gsttypefind.h:
6785         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
6786         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
6787         (gst_type_find_factory_dispose),
6788         (gst_type_find_factory_unload_thyself),
6789         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
6790         (gst_type_find_factory_get_caps),
6791         (gst_type_find_factory_get_extensions),
6792         (gst_type_find_factory_call_function):
6793         * gst/gsttypefindfactory.h:
6794         * gst/registries/gstlibxmlregistry.c:
6795         * gst/registries/gstxmlregistry.c:
6796           splitted gsttypefind into gsttypefind, gsttypefindfactory
6797
6798 2005-09-07  Andy Wingo  <wingo@pobox.com>
6799
6800         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
6801         condition whereby the pad's task function is entered before the
6802         pad_mode variable was set.
6803
6804 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6805
6806         * gst/gstpad.c: (gst_pad_alloc_buffer):
6807           Catch misbehaving pad_alloc functions that don't
6808           set up caps and do it for them.
6809
6810 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6811
6812         * check/pipelines/simple_launch_lines.c: (run_pipeline):
6813           test for pipe!=NULL
6814         * docs/gst/tmpl/.cvsignore:
6815         * docs/gst/tmpl/gstmemchunk.sgml:
6816         * docs/gst/tmpl/gstparse.sgml:
6817         * docs/gst/tmpl/gsttaglist.sgml:
6818         * docs/gst/tmpl/gsttagsetter.sgml:
6819         * docs/gst/tmpl/gsttypefind.sgml:
6820         * docs/gst/tmpl/gsttypefindfactory.sgml:
6821         * gst/gstmemchunk.c:
6822         * gst/gstparse.c:
6823         * gst/gsttag.c:
6824         * gst/gsttaginterface.c:
6825         * gst/gsttypefind.c:
6826         * gst/gsttypefind.h:
6827           inlined more docs
6828
6829 === release 0.9.2 ===
6830
6831 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6832
6833         * NEWS:
6834         * RELEASE:
6835         * configure.ac:
6836           releasing 0.9.2, "South"
6837
6838 2005-09-05  Andy Wingo  <wingo@pobox.com>
6839
6840         * gst/registries/gstxmlregistry.h:
6841         * gst/registries/gstxmlregistry.c: Um... resurrect...
6842         
6843         * gst/registries/gstxmlregistry.h:
6844         * gst/registries/gstxmlregistry.c: and update to newer API.
6845         Incidentally they should be a bit faster now that they don't have
6846         to parse the caps.
6847         
6848 2005-09-05  Andy Wingo  <wingo@pobox.com>
6849
6850         * gst/registries/gstxmlregistry.h:
6851         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
6852         replaced by the libxml registry a while back
6853
6854 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6855
6856         * docs/gst/tmpl/gstplugin.sgml:
6857         * gst/elements/gstelements.c:
6858         * gst/gst.c:
6859         * gst/gstplugin.c: (gst_plugin_register_func),
6860         (gst_plugin_desc_copy), (gst_plugin_desc_free),
6861         (gst_plugin_get_source):
6862         * gst/gstplugin.h:
6863         * gst/registries/gstlibxmlregistry.c: (load_plugin),
6864         (gst_xml_registry_save_plugin):
6865         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
6866         (gst_xml_registry_save_plugin):
6867         * tools/gst-inspect.c: (print_plugin_info):
6868           add a "source" plugin description field, to represent the source
6869           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
6870           will set it to PACKAGE, which is automake's idea of the name of
6871           the source project.
6872
6873 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6874
6875         * Makefile.am:
6876         * autogen.sh:
6877         * configure.ac:
6878         * docs/Makefile.am:
6879         * docs/faq/Makefile.am:
6880         * docs/gst/tmpl/gstelement.sgml:
6881         * docs/gst/tmpl/gsttypes.sgml:
6882         * docs/htmlinstall.mak:
6883         * docs/manual/Makefile.am:
6884         * docs/pwg/Makefile.am:
6885           reorganize doc build a little
6886           split out docbook and gtk-doc stuff
6887           have two separate --enable's and enable them through autogen
6888           but disable by default in configure (to be similar to other
6889           projects)
6890         * gstreamer.spec.in:
6891           clean up docs install
6892         * po/af.po:
6893         * po/az.po:
6894         * po/ca.po:
6895         * po/cs.po:
6896         * po/de.po:
6897         * po/en_GB.po:
6898         * po/fr.po:
6899         * po/it.po:
6900         * po/nb.po:
6901         * po/nl.po:
6902         * po/ru.po:
6903         * po/sq.po:
6904         * po/sr.po:
6905         * po/sv.po:
6906         * po/tr.po:
6907         * po/uk.po:
6908         * po/vi.po:
6909           translation updates
6910
6911 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
6912
6913         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
6914           Add comment.
6915           
6916         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6917         (gst_fake_sink_change_state):
6918           Make state change function thread-safe.
6919           
6920         * gst/gstpad.c: (gst_pad_alloc_buffer):
6921           Set offset on generic buffer allocated by fallback.
6922
6923 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
6924
6925         * docs/gst/gstreamer-sections.txt:
6926         * docs/gst/tmpl/gstelement.sgml:
6927         * gst/gstpad.c:
6928         * libs/gst/controller/gst-controller.c:
6929         (gst_controlled_property_set_interpolation_mode),
6930         (gst_controlled_property_new),
6931         (gst_controller_find_controlled_property):
6932          run the wingo-magic script against the docs
6933
6934 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6935
6936         * docs/gst/gstreamer-docs.sgml:
6937         * docs/gst/gstreamer-sections.txt:
6938         * docs/gst/tmpl/.cvsignore:
6939         * docs/gst/tmpl/gstelementdetails.sgml:
6940         * docs/gst/tmpl/gstelementfactory.sgml:
6941         * gst/gst.c:
6942         * gst/gstbus.c:
6943         * gst/gstelementfactory.c:
6944         * gst/gstelementfactory.h:
6945           merged elementdetails docs into elementfactory docs
6946           inlined both
6947
6948 2005-09-02  Andy Wingo  <wingo@pobox.com>
6949
6950         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
6951         consider this enum an enum and not a flags.
6952
6953 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6954
6955         * docs/gst/gstreamer-docs.sgml:
6956         * docs/gst/tmpl/.cvsignore:
6957         * docs/gst/tmpl/gstghostpad.sgml:
6958         * docs/gst/tmpl/gstiterator.sgml:
6959         * docs/gst/tmpl/gstmacros.sgml:
6960         * docs/gst/tmpl/gstrealpad.sgml:
6961         * docs/gst/tmpl/gstregistry.sgml:
6962         * docs/gst/tmpl/gstregistrypool.sgml:
6963         * docs/gst/tmpl/gststructure.sgml:
6964         * docs/gst/tmpl/gstsystemclock.sgml:
6965         * docs/gst/tmpl/gsttrace.sgml:
6966         * gst/gstghostpad.c:
6967         * gst/gstmacros.h:
6968         * gst/gstmemchunk.c:
6969         * gst/gstmemchunk.h:
6970         * gst/gstqueue.c:
6971         * gst/gstregistry.c:
6972         * gst/gstregistrypool.c:
6973         * gst/gststructure.c:
6974         * gst/gstsystemclock.c:
6975           more docs inlined
6976
6977 2005-09-02  Andy Wingo  <wingo@pobox.com>
6978
6979         * gst/gstelement.h (GstState): Renamed from GstElementState,
6980         changed to be a normal enum instead of flags.
6981         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
6982         munged to be GST_STATE_CHANGE_*.
6983         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
6984         work with the new state representation.
6985         (GstStateChange): New enumeration of possible state transitions.
6986         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
6987         (GstElementClass::change_state): Pass the GstStateChange along as
6988         an argument. Helps language bindings, so they don't have to use
6989         tricky lock-needing macros like GST_STATE_CHANGE ().
6990
6991         * scripts/update-states (file): New script. Run it on a file to
6992         update it for state naming and API changes. Updates files in
6993         place.
6994
6995         * All files updated for the new API.
6996
6997 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6998
6999         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
7000         * gst/gstutils.c: (gst_util_set_value_from_string),
7001         (gst_util_set_object_arg):
7002           fix a bunch of unchecked return values
7003         * tools/gst-complete.c: (main):
7004         * gstreamer.spec.in:
7005           clean up a little
7006
7007 2005-09-01  Wim Taymans  <wim@fluendo.com>
7008
7009         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7010         (gst_base_sink_event), (gst_base_sink_do_sync),
7011         (gst_base_sink_handle_event):
7012         * gst/base/gstbasesink.h:
7013         Handle newsegments more correctly.
7014
7015         * gst/gstbus.c:
7016         Fix docs.
7017
7018         * gst/gstevent.c: (gst_event_new_newsegment):
7019         A newsegment cannot have a start_time of -1
7020
7021 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
7022
7023         * win32/gstenumtypes.c:
7024         * win32/gstenumtypes.h:
7025           Update
7026
7027 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7028
7029         * libs/gst/controller/gst-controller.c:
7030         (gst_controlled_property_set_interpolation_mode),
7031         (gst_controlled_property_new):
7032          fixed boolean again
7033
7034 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
7035
7036         * docs/faq/gst-uninstalled:
7037           add -good
7038         * gst/gstevent.c:
7039         * gst/gstevent.h:
7040           remove wrong docs
7041         * gst/gstutils.c: (gst_element_link_filtered):
7042         * gst/gstutils.h:
7043           add gst_element_link_filtered
7044
7045 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7046
7047         * docs/gst/gstreamer-docs.sgml:
7048         * docs/gst/gstreamer-sections.txt:
7049         * docs/gst/tmpl/.cvsignore:
7050         * docs/gst/tmpl/gsterror.sgml:
7051         * docs/gst/tmpl/gstfilter.sgml:
7052         * docs/gst/tmpl/gsturihandler.sgml:
7053         * docs/gst/tmpl/gsturitype.sgml:
7054         * docs/gst/tmpl/gstutils.sgml:
7055         * docs/gst/tmpl/gstxml.sgml:
7056         * gst/gsterror.c:
7057         * gst/gsterror.h:
7058         * gst/gstfilter.c:
7059         * gst/gsturi.c:
7060         * gst/gsturitype.c:
7061         * gst/gstutils.c:
7062         * gst/gstxml.c:
7063           inlined more docs, fixed double id-ref
7064
7065 2005-08-31  Wim Taymans  <wim@fluendo.com>
7066
7067         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7068         (gst_base_transform_handle_buffer):
7069         Passthrough elements don't need the caps as they don't care.
7070
7071 2005-08-31  Wim Taymans  <wim@fluendo.com>
7072
7073         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7074         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
7075         Don't leak refcounts on buffers.
7076
7077 2005-08-31  Wim Taymans  <wim@fluendo.com>
7078
7079         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
7080         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
7081         (gst_base_transform_chain), (gst_base_transform_change_state):
7082         * gst/base/gstbasetransform.h:
7083         Handle the case where we are not negotiated more gracefully.
7084
7085 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
7086
7087         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
7088         (gst_file_src_map_region):
7089           Set READONLY flag on mmap'ed buffers, otherwise
7090           gst_buffer_make_writable() won't work properly (#314708).
7091
7092 2005-08-31  Wim Taymans  <wim@fluendo.com>
7093
7094         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
7095         passthrough elements can even do inplace on non writable
7096         buffers (as they don't touch them).
7097
7098 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7099
7100         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7101         (gst_test_mono_source_set_property),
7102         (gst_test_mono_source_class_init), (GST_START_TEST),
7103         (gst_controller_suite):
7104           more tests (hehe I have the most)
7105         * gst/gstbus.c:
7106           describe popping messages whenusing mulltiple sources
7107         * libs/gst/controller/gst-controller.c:
7108         (gst_controlled_property_set_interpolation_mode),
7109         (gst_controlled_property_new):
7110         * libs/gst/controller/gst-controller.h:
7111         * libs/gst/controller/gst-interpolation.c:
7112           implement boolean properties
7113
7114 2005-08-31  Wim Taymans  <wim@fluendo.com>
7115
7116         * gst/gstminiobject.c: (gst_mini_object_ref):
7117         Cannot assert that the refcount has to be positive
7118         since a disposed object can be resurrected.
7119
7120 2005-08-31  Wim Taymans  <wim@fluendo.com>
7121
7122         * gst/gstpad.c: (gst_pad_init):
7123         Revert change, need to first fix badly behaving 
7124         apps.
7125
7126 2005-08-30  Wim Taymans  <wim@fluendo.com>
7127
7128         * check/elements/fakesrc.c: (setup_fakesrc):
7129         * check/elements/identity.c: (setup_identity):
7130         Activate pads before using them.
7131
7132 2005-08-30  Wim Taymans  <wim@fluendo.com>
7133
7134         * gst/base/gstadapter.c: (gst_adapter_flush):
7135         Flushing out 0 bytes is ok for this function.
7136
7137         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7138         no newsegment gives a warning and sets the start/stop to 
7139         invalid.
7140
7141         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
7142         (gst_base_transform_set_passthrough):
7143         Some debug info.
7144
7145         * gst/gstminiobject.c: (gst_mini_object_ref):
7146         Check refcount here too.
7147
7148         * gst/gstpad.c: (gst_pad_init):
7149         Pads are initially flushing and refusing data.
7150
7151         * gst/gstutils.c: (gst_element_link_pads_filtered):
7152         When adding a capsfilter element make sure it has the
7153         same state as the parent bin.
7154
7155 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7156
7157         * docs/gst/tmpl/.cvsignore:
7158         * docs/gst/tmpl/gstformat.sgml:
7159         * docs/gst/tmpl/gstversion.sgml:
7160         * gst/gstbus.h:
7161         * gst/gstformat.c:
7162         * gst/gstformat.h:
7163         * gst/gstversion.h.in:
7164           more docs and two more inlined
7165
7166 2005-08-30  Wim Taymans  <wim@fluendo.com>
7167
7168         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
7169         Don't sync to clock.
7170
7171 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7172
7173         * docs/gst/gstreamer-sections.txt:
7174           ultral33t func10ns deserve to appear in the docs actually
7175         * docs/gst/tmpl/.cvsignore:
7176         * docs/gst/tmpl/gstcompat.sgml:
7177         * docs/gst/tmpl/gstconfig.sgml:
7178         * gst/check/gstcheck.c:
7179         * gst/gstcompat.h:
7180         * gst/gstconfig.h.in:
7181           inlined more docs
7182
7183 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7184
7185         * docs/gst/tmpl/.cvsignore:
7186         * docs/gst/tmpl/gstquery.sgml:
7187         * docs/gst/tmpl/gstutils.sgml:
7188         * gst/gstquery.c:
7189         * gst/gstquery.h:
7190           inlined and extended docs
7191
7192 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7193
7194         * check/gst-libs/controller.c: (GST_START_TEST),
7195         (gst_controller_suite):
7196           more tests
7197         * docs/gst/tmpl/gstutils.sgml:
7198         * docs/libs/gstreamer-libs-sections.txt:
7199         * docs/libs/tmpl/gstdataprotocol.sgml:
7200           include path fixes
7201         * examples/controller/audio-example.c: (main):
7202           controller example works now
7203         * gst/gstclock.h:
7204           doc fixes
7205         * tools/gst-inspect.c: (print_element_properties_info):
7206           show param spec flags
7207
7208 2005-08-29  Andy Wingo  <wingo@pobox.com>
7209
7210         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
7211
7212 2005-08-28  Andy Wingo  <wingo@pobox.com>
7213
7214         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
7215         as having two arguments instead of just one. Allows superclasses
7216         to access information on subclasses -- see the terrible for() loop
7217         in gtype.c:g_type_create_instance for the reason why. All callers
7218         changed.
7219
7220 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7221
7222         * docs/design/part-messages.txt:
7223           update info
7224         * docs/gst/tmpl/.cvsignore:
7225         * docs/gst/tmpl/gstcaps.sgml:
7226         * docs/gst/tmpl/gstclock.sgml:
7227         * gst/gstbus.c:
7228         * gst/gstcaps.c:
7229         * gst/gstcaps.h:
7230         * gst/gstclock.c:
7231         * gst/gstclock.h:
7232         * gst/gstmessage.c:
7233           added descriptions for bus and message
7234           inline caps and clock docs
7235
7236 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7237
7238         * gst/gstmessage.c:
7239         * gst/gstmessage.h:
7240           doc fixes
7241
7242 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7243
7244         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7245           fix div-by-zero
7246
7247 2005-08-26  Andy Wingo  <wingo@pobox.com>
7248
7249         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
7250         element_set_state's return val.
7251         (test_2_elements): Add test that's been disabled for months.
7252
7253         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
7254         can-activate-pull properties.
7255
7256         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
7257         can-activate-pull properties. Implement is_seekable so fakesrc can
7258         operate in pull mode.
7259
7260         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7261         properties.
7262         (gst_base_sink_activate, gst_base_sink_activate_pull)
7263         (gst_base_sink_activate_push): Make activation mode choosing work.
7264         Cleanups.
7265         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7266         is right. Make pull mode work. Post an eos before pausing in pull
7267         mode.
7268         (gst_base_sink_change_state): Pay attention to the core's
7269         change_state() return val.
7270         
7271         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7272         has-getrange properties. Cleanups.
7273         
7274         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7275         has_getrange and replace with can_activate_pull and
7276         can_activate_push.
7277
7278         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7279         locking comments. Remove has_loop, has_chain and replace with
7280         can_activate_pull and can_activate_push.
7281
7282 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
7283
7284         * configure.ac:
7285         * examples/Makefile.am:
7286         * examples/metadata/Makefile.am:
7287         * examples/metadata/read-metadata.c: (message_loop),
7288         (have_pad_handler), (make_pipeline), (print_tag), (main):
7289           Add metadata reading example that loops over a list of filenames,
7290           dumping any tags found.
7291
7292         * gst/gstbus.c: (gst_bus_dispose):
7293         * gst/gstelement.c: (gst_element_dispose):
7294           Release a few potentially-held references in dispose.
7295
7296 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7297
7298         * docs/gst/tmpl/gstminiobject.sgml:
7299           do *not* add tmpl/*.sgml files to CVS!
7300
7301 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7302
7303         * libs/gst/bytestream/.cvsignore:
7304         * libs/gst/bytestream/Makefile.am:
7305         * libs/gst/bytestream/adapter.c:
7306         * libs/gst/bytestream/adapter.h:
7307         * libs/gst/bytestream/bytestream.c:
7308         * libs/gst/bytestream/bytestream.h:
7309         * libs/gst/bytestream/filepad.c:
7310         * libs/gst/bytestream/filepad.h:
7311           removing obsolete files
7312
7313 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7314
7315         * docs/gst/gstreamer-docs.sgml:
7316         * docs/libs/gstreamer-libs-docs.sgml:
7317           disabed additional index entries again, as this makes docs-gen just
7318           slow and they aren't useful yet
7319         * docs/libs/gstreamer-libs-sections.txt:
7320           little -section.txt cleanup for libs
7321
7322 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7323
7324         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7325         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7326           fix up some debugging
7327         (gst_base_transform_get_unit_size),
7328         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7329         (gst_base_transform_handle_buffer):
7330         * gst/base/gstbasetransform.h:
7331           handle and store timed NEWSEGMENT events so that subclasses that
7332           calculate time by counting samples have a segment_start time they
7333           need to add to their timestamps - see audioresample
7334
7335 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7336
7337         * gst/gstbin.h:
7338           removed ';' from the end of macro defs
7339         * docs/gst/gstreamer-docs.sgml:
7340         * docs/gst/gstreamer-sections.txt:
7341         * docs/gst/tmpl/.cvsignore:
7342         * gst/gstbus.h:
7343         * gst/gstelement.c: (gst_element_class_init),
7344         (gst_element_set_state), (activate_pads),
7345         (gst_element_save_thyself):
7346         * gst/gstevent.c: (gst_event_new_newsegment):
7347         * gst/gstevent.h:
7348         * gst/gstiterator.c:
7349         * gst/gstiterator.h:
7350         * gst/gstpad.c:
7351         * gst/gstprobe.h:
7352         * gst/gstutils.c: (gst_pad_query_convert):
7353         * gst/gstutils.h:
7354           fixed parameter name mismatches between source, header and docs
7355           added some more docs, resolved the last batch of unused elements in
7356           docs (now someone needs to doc them)
7357
7358 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7359
7360         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7361         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7362           don't walk through the plugins backwards.  Where is all this
7363           reversed logic coming from ?
7364
7365 2005-08-25  Wim Taymans  <wim@fluendo.com>
7366
7367         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7368         (gst_base_transform_transform_size),
7369         (gst_base_transform_configure_caps),
7370         (gst_base_transform_get_unit_size),
7371         (gst_base_transform_buffer_alloc),
7372         (gst_base_transform_change_state):
7373         * gst/base/gstbasetransform.h:
7374         Cache caps unit_size.
7375         Make sure we cannot negotiate up and downstream at the
7376         same time.
7377
7378 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7379
7380         * gst/gst.c: (init_pre), (init_post):
7381           register the installed plugin path after the env var
7382         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7383         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7384           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7385           directories, so the tests can prefer uninstalled over installed
7386
7387 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7388
7389         * gst/base/gstbasetransform.h:
7390           comment
7391         * gst/gstpad.c:
7392           add to docs
7393
7394 2005-08-25  Wim Taymans  <wim@fluendo.com>
7395
7396         * gst/gstbin.c: (bin_bus_handler):
7397         Be a bit more conservative about the posted message.
7398         
7399         * gst/gstbus.c: (gst_bus_post):
7400         Some cleanups, warn wrong return values.
7401
7402 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
7403
7404         * check/gst/gstbin.c: (GST_START_TEST):
7405         * gst/gstbin.c: (bin_bus_handler):
7406         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7407         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7408         (gst_message_new_warning), (gst_message_new_tag),
7409         (gst_message_new_state_changed), (gst_message_new_segment_start),
7410         (gst_message_new_segment_done), (gst_message_new_custom):
7411         * gst/gstmessage.h:
7412         * tools/gst-launch.c: (event_loop):
7413         * tools/gst-md5sum.c: (event_loop):
7414           Revert unpopular change for GST_MESSAGE_SRC to GObject.
7415
7416 2005-08-25  Wim Taymans  <wim@fluendo.com>
7417
7418         * check/generic/states.c: (GST_START_TEST):
7419         Cleanup can be done at the end.
7420
7421         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7422         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7423         (gst_task_get_state), (gst_task_start), (gst_task_pause):
7424         Oh boy.. Thanks for finding this, Thomas. 
7425
7426 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7427
7428         * docs/gst/gstreamer.types:
7429           added missing types
7430
7431 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7432
7433         * docs/gst/gstreamer-docs.sgml:
7434         * docs/gst/gstreamer-sections.txt:
7435         * docs/gst/tmpl/.cvsignore:
7436         * gst/gstbin.c:
7437         * gst/gstiterator.c:
7438         * gst/gstutils.c:
7439         * gst/registries/gstxmlregistry.h:
7440           added missing classes and symbols (123 more to go)
7441           removed removed symbols from section file
7442           fixed many doc-comments
7443
7444 2005-08-24  Wim Taymans  <wim@fluendo.com>
7445
7446         * check/generic/states.c: (GST_START_TEST):
7447         Make sure all tasks are stopped.
7448
7449         * check/gst/gstbin.c: (GST_START_TEST):
7450         Unref after usage for proper valgrinding.
7451
7452         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
7453         Really wait for the task to stop before destroying the
7454         mutex.
7455
7456         * gst/gstqueue.c: (gst_queue_sink_activate_push),
7457         (gst_queue_src_activate_push):
7458         Small cleanups. Don't stop the task when we did not start
7459         it.
7460
7461         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
7462         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7463         (gst_task_get_state), (gst_task_start), (gst_task_pause),
7464         (gst_task_join):
7465         * gst/gsttask.h:
7466         Protect the stream lock with the object lock.
7467         Disallow setting the stream lock when running.
7468         Add cleanup_all to wait for the threadpool to finish.
7469         Remove code to autoallocate a mutex if none was provided.
7470         Add _join() to wait for a task to stop.
7471         Protect the thread pool with a global lock.
7472
7473 2005-08-24  Wim Taymans  <wim@fluendo.com>
7474
7475         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7476         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7477         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
7478         * gst/base/gstbasesink.h:
7479         Handle newsegment events correctly.
7480         Drop buffers out of the segment range.
7481
7482 2005-08-22  Andy Wingo  <wingo@pobox.com>
7483
7484         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
7485         macro, implements an interface and gstimplementsinterface for a
7486         new type.
7487
7488 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7489
7490         * check/Makefile.am:
7491         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
7492           add a test that does a bunch of state changes on elements
7493           needs some fixing for valgrind
7494         * check/states/sinks.c: (gst_object_suite):
7495           whitespace
7496         * gst/gstcaps.h:
7497           add prototype for gst_caps_is_equal_fixed
7498         * gst/gstplugin.c:
7499         * gst/gstregistrypool.c:
7500           doc fixes
7501
7502 2005-08-24  Andy Wingo  <wingo@pobox.com>
7503
7504         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
7505         convert a negative value. Doesn't make much sense. Mostly this is
7506         here to force callers to ensure -1 maps to -1.
7507
7508 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7509
7510         * docs/pwg/advanced-types.xml:
7511           Well done to Michael for catching my deliberate introduction
7512           of this spelling mistake. 
7513         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
7514         * gst/gstelement.h:
7515           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
7516           unlink pads before removing the element from the bin.
7517
7518 2005-08-24  Andy Wingo  <wingo@pobox.com>
7519
7520         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
7521         the same thing as GST_DEBUG=*:4.
7522         (parse_debug_level, parse_debug_category): New helper parsers.
7523
7524 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7525
7526         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7527         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
7528         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
7529         (gst_base_transform_buffer_alloc),
7530         (gst_base_transform_handle_buffer):
7531           use gboolean return values and pointers to size so we can use the
7532           full GST_BUFFER_SIZE range (guint) for buffer sizes
7533           use GstPadDirection for transform_caps
7534         * gst/base/gstbasetransform.h:
7535           rename get_size to get_unit_size since that's what it is
7536         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
7537           use GstPadDirection for transform_caps
7538         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7539         * gst/gstutils.h:
7540           cleanup and debugging
7541
7542 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7543
7544         * gst/gstelement.c: (gst_element_class_init),
7545         (gst_element_set_state), (activate_pads),
7546         (gst_element_save_thyself):
7547         * tools/gst-compprep.c: (main):
7548         * tools/gst-inspect.c: (print_element_properties_info):
7549         * tools/gst-xmlinspect.c: (print_element_properties):
7550           Fixed long standing mem-leak
7551
7552 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7553
7554         * check/gst/gstbin.c: (GST_START_TEST):
7555         * gst/gstbin.c: (bin_bus_handler):
7556         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7557         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7558         (gst_message_new_warning), (gst_message_new_tag),
7559         (gst_message_new_state_changed), (gst_message_new_segment_start),
7560         (gst_message_new_segment_done), (gst_message_new_custom):
7561         * gst/gstmessage.h:
7562         * tools/gst-launch.c: (event_loop):
7563         * tools/gst-md5sum.c: (event_loop):
7564           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
7565           that applications can sensibly post custom messages with references
7566           to their own objects.
7567
7568 2005-08-24  Andy Wingo  <wingo@pobox.com>
7569
7570         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
7571         already.
7572
7573 2005-08-24  Wim Taymans  <wim@fluendo.com>
7574
7575         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7576         (gst_base_transform_transform_caps),
7577         (gst_base_transform_transform_size),
7578         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7579         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7580         (gst_base_transform_handle_buffer):
7581         * gst/base/gstbasetransform.h:
7582         Many fixes and new features added by Thomas. Can now also do
7583         transforms with variable sizes and a custom fixate_caps function.
7584
7585 2005-08-24  Wim Taymans  <wim@fluendo.com>
7586
7587         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7588         Some debugging.
7589
7590         * gst/gstclock.h:
7591         Cast to ClockTime before formatting to time.
7592
7593         * gst/gstutils.h:
7594         Cleanups.
7595
7596 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7597
7598         * check/gst-libs/controller.c: (GST_START_TEST),
7599         (gst_controller_suite):
7600         * docs/gst/tmpl/gstcaps.sgml:
7601         * docs/gst/tmpl/gstghostpad.sgml:
7602         * docs/gst/tmpl/gstquery.sgml:
7603         * docs/gst/tmpl/gstutils.sgml:
7604         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
7605         (gst_object_sink_values), (gst_object_get_value_arrays),
7606         (gst_object_get_value_array):
7607           gracefully handle helper method calls to objects that are not beeing
7608           controlled, added test case for that          
7609
7610 2005-08-23  Wim Taymans  <wim@fluendo.com>
7611
7612         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
7613         (gst_event_new_newsegment), (gst_event_parse_newsegment),
7614         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
7615         (gst_event_parse_qos), (gst_event_new_seek),
7616         (gst_event_parse_seek):
7617         * gst/gstevent.h:
7618         Some more debugging output and doc cleanups.
7619
7620         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7621         Fix possible deadlock.
7622
7623 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7624
7625         * docs/gst/gstreamer-docs.sgml:
7626         * docs/gst/gstreamer-sections.txt:
7627         * docs/gst/gstreamer.types:
7628         * docs/gst/tmpl/.cvsignore:
7629         * gst/gstbin.h:
7630         * gst/gstbus.c:
7631         * gst/gstelement.c:
7632         * gst/gstevent.h:
7633           added 100 symbols from gstreamer-unused.txt to the right sections
7634           fixed more broken comments
7635           added GstBus to docs
7636
7637 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7638
7639         * docs/gst/gstreamer-sections.txt:
7640         * docs/gst/tmpl/.cvsignore:
7641         * docs/gst/tmpl/gstbin.sgml:
7642         * docs/gst/tmpl/gstbuffer.sgml:
7643         * gst/base/gstbasesrc.c:
7644         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
7645         * gst/gstbuffer.c:
7646         * gst/gstbuffer.h:
7647         * tools/gst-launch.1.in:
7648           inlined more doc comments, added missing comments and fixed comments
7649           fixed typos
7650
7651 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7652
7653         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7654           some debugging
7655         * gst/gstcaps.h:
7656           whitespace fixes
7657         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
7658           more debugging
7659         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
7660         * gst/gststructure.h:
7661           add a fixate function for booleans; add a FIXME that these func
7662           names should probably be gst_structure_fixate_*
7663
7664 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7665
7666         * docs/gst/gstreamer-docs.sgml:
7667         * docs/gst/gstreamer-sections.txt:
7668         * gst/Makefile.am:
7669         * gst/gstbin.c: (gst_bin_get_type),
7670         (gst_bin_child_proxy_get_child_by_index),
7671         (gst_bin_child_proxy_get_children_count),
7672         (gst_bin_child_proxy_init):
7673         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
7674         (gst_child_proxy_get_child_by_index),
7675         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
7676         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
7677         (gst_child_proxy_get), (gst_child_proxy_set_property),
7678         (gst_child_proxy_set_valist), (gst_child_proxy_set),
7679         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
7680         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
7681         * gst/gstchildproxy.h:
7682         * gst/parse/grammar.y:
7683         * tools/gst-inspect.c: (print_interfaces),
7684         (print_element_properties_info), (print_element_info):
7685           ported gstchildproxy over from 0.8
7686           ported gst-inspect fixes and enhancements over from 0.8
7687
7688 2005-08-22  Wim Taymans  <wim@fluendo.com>
7689
7690         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7691         (gst_base_transform_handle_buffer):
7692         Also call the transform function if we have ANY caps.
7693
7694         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
7695         Fix debug info.
7696
7697 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7698
7699         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
7700           Don't pretend to handle seek events if the source is not seekable
7701
7702 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7703
7704         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7705           Remove extra parameter to debug output
7706
7707         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7708         (gst_base_src_do_seek), (gst_base_src_activate_push):
7709           Fix seek event handling.
7710
7711         * gst/gstpipeline.c: (gst_pipeline_change_state):
7712         * gst/gstqueue.c: (gst_queue_handle_sink_event),
7713         (gst_queue_src_activate_push):
7714           Don't start the src pad task on FLUSH_STOP if the pad
7715           isn't linked.
7716           Debug changes.
7717
7718 2005-08-22  Wim Taymans  <wim@fluendo.com>
7719
7720         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
7721         Added check for gst_static_caps_get() refcounting.
7722
7723 2005-08-22  Wim Taymans  <wim@fluendo.com>
7724
7725         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
7726         Make _static_caps_get() refcounting sane.
7727         
7728         * gst/gstelement.c: (gst_element_set_state):
7729         Add g_return_val_if_fail() to protect against segfaults.
7730
7731 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
7732
7733         * docs/gst/tmpl/gstevent.sgml:
7734         * gst/gstevent.c:
7735         * gst/gstevent.h:
7736           inlined remaining docs, added missing doc comments
7737
7738 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7739
7740         * check/gst/gstbin.c: (GST_START_TEST):
7741           since we don't know when preroll is done, use refcount range
7742           check for the sink
7743         * gst/check/gstcheck.h:
7744           add macro for checking refcount range
7745
7746 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7747
7748         * check/Makefile.am:
7749           clean up environment for when registry gets built versus
7750           when actual tests are run; valgrind seems to not report
7751           leaks if GST_PLUGIN_PATH is set to some specific values
7752         * check/gst/gstbin.c: (GST_START_TEST):
7753           add more refcounting checks; maybe this exposes a
7754           preroll lock bug ?
7755         * common/check.mak:
7756         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7757         * gst/check/gstcheck.h:
7758         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
7759         (gst_bin_change_state):
7760         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
7761           add/fix debugging/whitespace
7762
7763 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7764
7765         * check/gst/gstevent.c: (event_probe), (test_event),
7766         (GST_START_TEST):
7767          Er, don't call gst_bin_watch_for_state_change you idiot.
7768
7769 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7770
7771         * check/Makefile.am:
7772           Use CHECK_CFLAGS and CHECK_LIBS
7773         * check/gst/gstevent.c: (event_probe), (test_event),
7774         (GST_START_TEST):
7775           Don't leak events.
7776         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7777         (gst_base_src_start), (gst_base_src_stop),
7778         (gst_base_src_activate_push), (gst_base_src_activate_pull),
7779         (gst_base_src_change_state):
7780           Sprinkle gst_base_src_stop liberally around error paths to fix
7781           problems reusing a source after failed state changes.
7782         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7783         (helper_find_suggest), (gst_type_find_helper):
7784           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
7785         * gst/gstevent.h:
7786         * docs/gst/tmpl/gstevent.sgml:
7787           Migrate part of the docs from the SGML file. Wait for ensonic to
7788           tell me how I did it wrong ;)
7789         * tools/gst-typefind.c: (main):
7790           Extra robustness to state changes between files.
7791
7792 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7793
7794         * check/Makefile.am:
7795           don't valgrind the controller test - it's leaking - Stefan, HELP
7796         * gst/check/gstcheck.c: (gst_check_message_error),
7797         (gst_check_chain_func), (gst_check_setup_element),
7798         (gst_check_teardown_element), (gst_check_setup_src_pad),
7799         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
7800         (gst_check_teardown_sink_pad):
7801         * gst/check/gstcheck.h:
7802           add a bunch of methods to set up elements, and src and sink pads
7803         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
7804         * check/elements/identity.c: (setup_identity), (cleanup_identity),
7805         (GST_START_TEST):
7806           use them
7807         * gst/gstmessage.c:
7808         * gst/gsttag.h:
7809           whitespace/doc fixes
7810
7811 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7812
7813         * gst/gstelement.h:
7814           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
7815           be handled by the application and not always printed as well
7816
7817 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7818
7819         * check/Makefile.am:
7820           set GST_TOOLS_DIR
7821         * gst/check/gstcheck.c: (gst_check_message_error):
7822         * gst/check/gstcheck.h:
7823           add a fail_unless_equals_int
7824           add fail_unless for error messages
7825
7826 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7827
7828         * check/Makefile.am:
7829         * check/gst.supp:
7830         * common/Makefile.am:
7831         * common/check.mak:
7832         * common/gst.supp:
7833           factor out some of the common stuff so we can use it
7834
7835 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7836
7837         * check/Makefile.am:
7838         * check/gst/gstiterator.c: (GST_START_TEST):
7839         * check/gst/gstsystemclock.c: (GST_START_TEST),
7840         (gst_systemclock_suite):
7841         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7842         * gst/gstclock.c:
7843           valgrind more tests
7844
7845 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7846
7847         * check/elements/.cvsignore:
7848         * check/elements/gstfakesrc.c:
7849           rename to name of element
7850         * check/elements/identity.c: (chain_func), (event_func),
7851         (setup_identity), (cleanup_identity), (GST_START_TEST),
7852         (identity_suite), (main):
7853           add a test for identity
7854         * check/Makefile.am:
7855         * pkgconfig/Makefile.am:
7856         * pkgconfig/gstreamer-check.pc.in:
7857         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7858         * gst/check:
7859         * gst/Makefile.am:
7860         * configure.ac:
7861           move the check stuff to a library that gets installed
7862         * check/gst-libs/controller.c: (GST_START_TEST):
7863         * check/gst-libs/gdp.c:
7864         * check/gst/gst.c: (GST_START_TEST):
7865         * check/gst/gstbin.c:
7866         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7867         * check/gst/gstbus.c:
7868         * check/gst/gstcaps.c: (GST_START_TEST):
7869         * check/gst/gstelement.c:
7870         * check/gst/gstghostpad.c:
7871         * check/gst/gstiterator.c:
7872         * check/gst/gstmessage.c:
7873         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
7874         * check/gst/gstobject.c:
7875         * check/gst/gstpad.c: (GST_START_TEST):
7876         * check/gst/gststructure.c: (GST_START_TEST):
7877         * check/gst/gstsystemclock.c: (GST_START_TEST),
7878         (gst_systemclock_suite):
7879         * check/gst/gsttag.c: (gst_tag_suite):
7880         * check/gst/gstvalue.c:
7881         * check/pipelines/cleanup.c:
7882         * check/pipelines/simple_launch_lines.c:
7883         * check/states/sinks.c:
7884           change include statement
7885
7886         * docs/gst/gstreamer-sections.txt:
7887         * docs/gst/tmpl/gstpad.sgml:
7888           document more pad stuff
7889         * gst/gstminiobject.c: (gst_mini_object_ref),
7890         (gst_mini_object_unref):
7891           debug refcounting
7892
7893 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
7894
7895         * docs/gst/tmpl/gst.sgml:
7896         * gst/gst.c:
7897           eliminate another tmpl file, fix spelling in the long-description
7898
7899 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7900
7901         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7902         (test_event), (timediff), (gstevents_suite):
7903           Should fix build on 64-bit arch's
7904
7905 2005-08-18  Andy Wingo  <wingo@pobox.com>
7906
7907         Make sure that when a pipeline goes to PLAYING, that data has
7908         actually hit the sink.
7909
7910         * check/states/sinks.c (test_sink): A sink that doesn't get any
7911         data shouldn't return SUCCESS for going to either PLAYING or
7912         PAUSED. Test also the return values on the way back down.
7913
7914         * gst/gstelement.c (gst_element_set_state): When changing the
7915         state of an element currently changing state asynchronously, go to
7916         lost-state after commiting the pending state. Makes future calls
7917         to get_state continue to return ASYNC.
7918
7919         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
7920         ASYNC when going to PLAYING if we still don't have preroll, as can
7921         happen with live sources.
7922
7923 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7924
7925         * docs/pwg/advanced-types.xml:
7926           Hack long paragraph into 2 chunks as a workaround for buggy
7927           jadetex version in sid and breezy that loops infinitely and
7928           eats all RAM.
7929
7930 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7931
7932         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7933         (test_event), (timediff), (gstevents_suite):
7934           Provide more error margin in clock measurements to allow for 
7935           g_get_current_time inaccuracies.
7936
7937 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7938
7939         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7940         (test_event), (timediff), (gstevents_suite):
7941            Fix error message output so I might be able to tell why the
7942            test works here but fails on the build farm.
7943
7944 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7945
7946         * check/Makefile.am:
7947         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7948         (test_event), (timediff), (gstevents_suite), (main):
7949           I wrote a test!
7950
7951         * docs/design/part-seeking.txt:
7952           Spelling correction
7953
7954         * docs/gst/tmpl/gstevent.sgml:
7955         * docs/gst/tmpl/gstfakesrc.sgml:
7956           Docs updates.
7957
7958         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7959           Treat a buffer-without-newsegment the same as a receiving 
7960           a newsegment not in time format, and disable syncing to the clock
7961           with a warning.
7962
7963         * gst/gstbus.c: (gst_bus_set_sync_handler):
7964           Assert if anyone tries to replace the existing sync_handler for bus, 
7965           as only the owner should be setting it.
7966
7967         * gst/gstevent.h:
7968           Have a fixed set of custom event enums with events identified by
7969           their structure name (as in 0.8), rather than a free-for-all
7970           allowing collisions between enum values from different plugins.
7971
7972         * gst/gstpad.c: (gst_pad_class_init):
7973           Docs change.
7974           
7975         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7976           Handle out-of-band downstream events from the sending thread.
7977
7978 2005-08-17  Andy Wingo  <wingo@pobox.com>
7979
7980         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
7981         play-timeout==0 to mean no timeout at all. In that case, don't
7982         bother with a get_state or a warning, just return directly, even
7983         if it's ASYNC.
7984
7985         * gst/base/gstbasetransform.c: Debug changes.
7986
7987         * gst/gstutils.h:
7988         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
7989         ensure bins post state change messages. A bit of a hack but I can't
7990         think of a way to avoid it.
7991
7992         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
7993
7994 2005-08-16  Andy Wingo  <wingo@pobox.com>
7995
7996         * gst/base/gstadapter.h:
7997         * gst/base/gstadapter.c (gst_adapter_take): New function, like
7998         peek() but you own the data. Not terribly efficient atm.
7999
8000 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8001
8002         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
8003         (gst_element_found_tags):
8004         * gst/gstutils.h:
8005           Add two utility functions for tag handling.
8006
8007 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8008
8009         * docs/manual/advanced-dataaccess.xml:
8010         * docs/manual/basics-helloworld.xml:
8011           Fix docs to use _bin_add() before _link(), which fixes the examples
8012           with recent core versions (reported by Madhan Raj M
8013           <raj_madan@rediffmail.com>, #313199).
8014
8015 2005-08-16  Wim Taymans  <wim@fluendo.com>
8016
8017         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8018         Added subtract checks.
8019
8020         * docs/design/part-events.txt:
8021         Some more docs about newsegment
8022
8023         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8024         Fix FIXME
8025
8026         * gst/gstcaps.c: (gst_caps_to_string):
8027         Add comments, cleanups.
8028         
8029         * gst/gstelement.c: (gst_element_save_thyself):
8030         cleanups
8031         
8032         * gst/gstvalue.c: (gst_value_collect_int_range),
8033         (gst_string_unwrap), (gst_value_union_int_int_range),
8034         (gst_value_union_int_range_int_range),
8035         (gst_value_intersect_int_int_range),
8036         (gst_value_intersect_int_range_int_range),
8037         (gst_value_intersect_double_double_range),
8038         (gst_value_intersect_double_range_double_range),
8039         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
8040         (gst_value_subtract_int_range_int),
8041         (gst_value_subtract_double_range_double),
8042         (gst_value_subtract_double_range_double_range),
8043         (gst_value_subtract_from_list), (gst_value_subtract_list),
8044         (gst_value_can_compare), (gst_value_compare_fraction):
8045         Cleanups, add comments, remove unneeded asserts.
8046
8047 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8048
8049         * tools/gst-launch.c: (event_loop):
8050           don't convert NULL structures to strings
8051
8052 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
8053
8054         * docs/gst/gstreamer-sections.txt:
8055           made some defines private
8056         * docs/gst/tmpl/gstconfig.sgml:
8057         * docs/gst/tmpl/gstqueue.sgml:
8058         * docs/gst/tmpl/gsttaglist.sgml:
8059         * docs/gst/tmpl/gsttypes.sgml:
8060         * docs/gst/tmpl/gstutils.sgml:
8061         * docs/pwg/appendix-porting.xml:
8062         * gst/base/gstbasesink.h:
8063         * gst/base/gstbasesrc.c:
8064         * gst/base/gstbasesrc.h:
8065         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
8066         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
8067         * gst/gstelement.c: (gst_element_class_init):
8068         * gst/gstpad.c: (gst_pad_class_init):
8069         * gst/gstqueue.c: (gst_queue_class_init):
8070         * gst/gstxml.c: (gst_xml_class_init):
8071           documented all undocumented signal inline
8072         * libs/gst/controller/gst-controller.h:
8073           added padding
8074
8075 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8076
8077         * docs/pwg/appendix-porting.xml:
8078           Document _set_link_function -> _set_setcaps_function.
8079
8080 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8081
8082         * check/Makefile.am:
8083           add a .check target for running the check
8084         * check/gst-libs/controller.c: (GST_START_TEST):
8085           cosmetic fixups
8086         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8087           complete checks for gstbuffer; would be nice if I could get the
8088           gcov stuff to work so I can see if I actually completed gstbuffer.c
8089         * check/gstcheck.h:
8090           add ASSERT_BUFFER_REFCOUNT
8091
8092 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
8093
8094         * docs/gst/gstreamer-sections.txt:
8095         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
8096         * gst/gsttag.h:
8097           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
8098           spew out a warning if a tag that is already registered
8099           is re-registered, unless it is re-registered with a 
8100           different type (#308438).
8101
8102 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
8103
8104         * docs/pwg/appendix-porting.xml:
8105         * docs/pwg/building-state.xml:
8106           Add some paragraphs about state changes in 0.9 to the PWG
8107           and the porting guide, in particular about the new meaning
8108           of GST_STATE_PAUSED and how to write state change functions
8109           with concurrent access by multiple threads in mind.
8110
8111 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
8112
8113         * docs/gst/gstreamer-docs.sgml:
8114         * docs/libs/gstreamer-libs-docs.sgml:
8115           added deprecation and since indexes
8116         * libs/gst/controller/gst-controller.c:
8117         * libs/gst/controller/gst-helper.c:
8118           added since tags
8119
8120
8121 2005-08-11  Wim Taymans  <wim@fluendo.com>
8122
8123         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
8124         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
8125         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
8126         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
8127         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
8128         (gst_ghost_pad_set_target):
8129         Actually implement (re)setting the target on a ghostpad
8130         as described in the docs.
8131
8132 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8133
8134         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
8135           Check whether GST_DEBUG_NO_COLOR environment variable is
8136           set and disable coloured debug output if that is the case.
8137
8138 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8139
8140         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8141         (gst_type_find_helper):
8142           The memory returned by gst_type_find_peek() needs to
8143           stay valid until the end of a typefind function, and
8144           typefind functions may keep results from different 
8145           offsets around, so we can't just unref the buffer from
8146           the previous _peek(), but have to save all buffers 
8147           returned by _peek() until typefinding is done and only
8148           free them then.
8149
8150 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
8151
8152         * docs/gst/gstreamer-sections.txt:
8153         * gst/gstutils.h:
8154           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
8155
8156 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8157
8158         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8159           Fix a pretty good memleak.
8160
8161 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8162
8163         * gst/gstiterator.h:
8164           Fix wrong include and 'make distcheck'.
8165
8166 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8167
8168         * gst/gstbin.c: (bin_bus_handler):
8169           Use gst_element_post_message() instead.
8170
8171 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8172
8173         * gst/base/gstadapter.h:
8174         * gst/base/gstbasesink.h:
8175         * gst/base/gstbasesrc.h:
8176         * gst/base/gstbasetransform.h:
8177         * gst/base/gstcollectpads.h:
8178         * gst/base/gstpushsrc.h:
8179         * gst/gstiterator.h:
8180           Add padding to our base elements' class and instance structs and
8181           to GstIterator (you will need to rebuild all plugins and apps!)
8182
8183 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8184
8185         * gst/gstbin.c: (bin_bus_handler):
8186           Make default message forwarding from child->bus to bin->bus
8187           threadsafe and make it not emit warnings if the parent has no bus.
8188
8189 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8190
8191         * gst/gstelement.c: (activate_pads):
8192           On paused->ready, set pad->caps to NULL, as is the documented
8193           behaviour in this state change. Fixes playback of series of
8194           media files when visualization is enabled in Totem.
8195
8196 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8197
8198         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8199           Allow NULL as filter-caps (which means "any").
8200
8201 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8202
8203         * docs/libs/gstreamer-libs-sections.txt:
8204         * libs/gst/controller/gst-controller.c:
8205         * libs/gst/controller/gst-controller.h:
8206         * libs/gst/controller/gst-helper.c:
8207           adding more entries to the docs and fix small doc-bugs
8208
8209 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8210
8211         * docs/gst/gstreamer-docs.sgml:
8212         * docs/gst/gstreamer-sections.txt:
8213         * docs/gst/gstreamer.types:
8214         * docs/gst/tmpl/gstbasesink.sgml:
8215         * docs/gst/tmpl/gstbasesrc.sgml:
8216         * docs/gst/tmpl/gstbasetransform.sgml:
8217         * docs/gst/tmpl/gstfakesrc.sgml:
8218         * gst/base/gstcollectpads.c:
8219         * gst/base/gstcollectpads.h:
8220         * libs/gst/controller/gst-controller.c:
8221         * libs/gst/controller/gst-controller.h:
8222         * libs/gst/controller/gst-helper.c:
8223         * libs/gst/controller/gst-interpolation.c:
8224         * libs/gst/controller/lib.c:
8225           added long/short desc for controller docs
8226           added collectpads base class docs
8227           added correct includes to base-class docs
8228
8229 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8230
8231         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8232         (gst_test_mono_source_set_property),
8233         (gst_test_mono_source_class_init), (GST_START_TEST),
8234         (gst_controller_suite):
8235         * docs/gst/gstreamer-docs.sgml:
8236         * docs/gst/gstreamer-sections.txt:
8237         * docs/gst/gstreamer.types:
8238         * docs/libs/gstreamer-libs-docs.sgml:
8239         * docs/libs/gstreamer-libs-sections.txt:
8240         * gst/base/gstadapter.c:
8241         * libs/gst/controller/gst-controller.c:
8242         (gst_controlled_property_new), (gst_controlled_property_free),
8243         (gst_controller_new_valist),
8244         (gst_controller_remove_properties_valist),
8245         (gst_controller_sink_values), (_gst_controller_finalize):
8246         * libs/gst/controller/gst-controller.h:
8247         * libs/gst/controller/gst-helper.c:
8248         (gst_object_control_properties), (gst_object_uncontrol_properties),
8249         (gst_object_get_controller), (gst_object_set_controller),
8250         (gst_object_sink_values), (gst_object_get_value_arrays),
8251         (gst_object_get_value_array):
8252           more tests (and fixes) for the controller
8253           more docs for the controller
8254           integrated companies docs for the adapter 
8255
8256 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8257
8258         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8259         (GST_START_TEST), (fakesrc_suite):
8260           add tests for sizetype
8261
8262 2005-08-04  Andy Wingo  <wingo@pobox.com>
8263
8264         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8265         fixes buffer_alloc proxying among other things.
8266
8267         * gst/base/gstbasetransform.c:
8268         * gst/base/gstbasetransform.h:
8269         Revert patch to gstbasetransform from 7-28 removing
8270         delay_configure.
8271
8272         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8273         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8274         Semantics changed, should return not the size of the output buffer
8275         but the byte size of a buffer with a given caps.
8276
8277         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8278         debug object.
8279         (gst_base_transform_configure_caps): Don't set out_size here: (in,
8280         out) are not the pad caps until setcaps finishes.
8281         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8282         not-in-place case as well. Deal with changing from in-place to
8283         not-in-place within calling pad_alloc_buffer. Still a bit
8284         concerned about the overhead here...
8285
8286 2005-08-03  Andy Wingo  <wingo@pobox.com>
8287
8288         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8289         fixating is an error.
8290
8291 2005-08-04  Edward Hervey  <edward@fluendo.com>
8292
8293         * gst/base/gstadapter.h: 
8294         Added gst_adapter_get_type() to the header
8295
8296 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8297
8298         * check/Makefile.am:
8299         * check/gst-libs/controller.c:
8300         * libs/gst/controller/gst-controller.c:
8301         (gst_controller_new_valist):
8302           added check test suite for the controller
8303         * gst/base/gstpushsrc.c:
8304           fixed a doc typo
8305
8306 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8307
8308         * docs/gst/Makefile.am:
8309         * docs/gst/gstreamer-docs.sgml:
8310         * docs/gst/gstreamer-sections.txt:
8311         * docs/gst/gstreamer.types:
8312         * docs/gst/tmpl/gstfakesrc.sgml:
8313         * gst/base/README:
8314         * gst/base/gstbasesink.c:
8315         * gst/base/gstbasesink.h:
8316         * gst/base/gstbasesrc.c:
8317         * gst/base/gstbasesrc.h:
8318         * gst/base/gstbasetransform.c:
8319         * gst/base/gstpushsrc.c:
8320         * gst/base/gstpushsrc.h:
8321           add short/long description docs to base classes
8322           add pushsrc to the docs
8323           remove consolidated doc fragments
8324
8325 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8326
8327         * configure.ac:
8328         * docs/libs/Makefile.am:
8329         * docs/libs/gstreamer-libs-docs.sgml:
8330         * docs/libs/gstreamer-libs-sections.txt:
8331         * docs/libs/gstreamer-libs.types:
8332         * examples/Makefile.am:
8333         * examples/controller/.cvsignore:
8334         * examples/controller/Makefile.am:
8335         * examples/controller/audio-example.c: (main):
8336         * libs/gst/Makefile.am:
8337         * libs/gst/controller/.cvsignore:
8338         * libs/gst/controller/Makefile.am:
8339         * libs/gst/controller/gst-controller.c:
8340         (on_object_controlled_property_changed), (gst_timed_value_compare),
8341         (gst_timed_value_find),
8342         (gst_controlled_property_set_interpolation_mode),
8343         (gst_controlled_property_new), (gst_controlled_property_free),
8344         (gst_controller_find_controlled_property),
8345         (gst_controller_new_valist), (gst_controller_new),
8346         (gst_controller_remove_properties_valist),
8347         (gst_controller_remove_properties), (gst_controller_set),
8348         (gst_controller_set_from_list), (gst_controller_unset),
8349         (gst_controller_get), (gst_controller_get_all),
8350         (gst_controller_sink_values), (gst_controller_get_value_arrays),
8351         (gst_controller_get_value_array),
8352         (gst_controller_set_interpolation_mode),
8353         (_gst_controller_finalize), (_gst_controller_init),
8354         (_gst_controller_class_init), (gst_controller_get_type):
8355         * libs/gst/controller/gst-controller.h:
8356         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8357         (g_object_uncontrol_properties), (g_object_get_controller),
8358         (g_object_set_controller), (g_object_sink_values),
8359         (g_object_get_value_arrays), (g_object_get_value_array):
8360         * libs/gst/controller/gst-interpolation.c:
8361         (gst_controlled_property_find_timed_value_node),
8362         (interpolate_none_get), (interpolate_trigger_get),
8363         (interpolate_trigger_get_value_array):
8364         * libs/gst/controller/lib.c: (gst_controller_init):
8365         * pkgconfig/Makefile.am:
8366         * pkgconfig/gstreamer-control-uninstalled.pc.in:
8367         * pkgconfig/gstreamer-control.pc.in:
8368         * testsuite/Makefile.am:
8369         * testsuite/controller/.cvsignore:
8370         * testsuite/controller/Makefile.am:
8371         * testsuite/controller/interpolator.c: (main):
8372           added controller code
8373           removed dparam pc files
8374
8375 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8376         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8377         (gst_collectpads_stop):
8378           Broadcast the condition when shutting down, to make sure we wake all
8379           threads up. Shut down pads on finalize, for safety.
8380
8381 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8382         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8383         (gst_base_transform_handle_buffer),
8384         (gst_base_transform_change_state):
8385           Handle PAUSED->READY->PAUSED transition after negotiation
8386           occurred already.
8387         * gst/gstmessage.c: (gst_message_init):
8388           Extra piece of debug for new messages.
8389
8390 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
8391
8392         * configure.ac:
8393         * docs/gst/tmpl/gstbasesrc.sgml:
8394         * docs/gst/tmpl/gstelement.sgml:
8395         * docs/gst/tmpl/gstevent.sgml:
8396         * docs/gst/tmpl/gstfakesrc.sgml:
8397         * docs/gst/tmpl/gstformat.sgml:
8398         * docs/gst/tmpl/gstghostpad.sgml:
8399         * docs/gst/tmpl/gstpad.sgml:
8400         * docs/gst/tmpl/gstquery.sgml:
8401         * docs/gst/tmpl/gststructure.sgml:
8402         * docs/gst/tmpl/gsttaglist.sgml:
8403         * docs/gst/tmpl/gstvalue.sgml:
8404         * docs/libs/gstreamer-libs-docs.sgml:
8405         * docs/libs/gstreamer-libs-sections.txt:
8406         * docs/libs/gstreamer-libs.types:
8407         * libs/gst/Makefile.am:
8408         * libs/gst/control/.cvsignore:
8409         * libs/gst/control/Makefile.am:
8410         * libs/gst/control/control.c:
8411         * libs/gst/control/control.h:
8412         * libs/gst/control/dparam.c:
8413         * libs/gst/control/dparam.h:
8414         * libs/gst/control/dparam_smooth.c:
8415         * libs/gst/control/dparam_smooth.h:
8416         * libs/gst/control/dparamcommon.h:
8417         * libs/gst/control/dparammanager.c:
8418         * libs/gst/control/dparammanager.h:
8419         * libs/gst/control/dplinearinterp.c:
8420         * libs/gst/control/dplinearinterp.h:
8421         * libs/gst/control/unitconvert.c:
8422         * libs/gst/control/unitconvert.h:
8423         * testsuite/Makefile.am:
8424         * testsuite/dynparams/.cvsignore:
8425         * testsuite/dynparams/Makefile.am:
8426         * testsuite/dynparams/dparamstest.c:
8427         * tools/Makefile.am:
8428         * tools/gst-inspect.c: (print_element_info), (main):
8429         * tools/gst-xmlinspect.c: (print_element_info), (main):
8430           deactivate and remove dparams (libgstcontrol)
8431
8432 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8433
8434         * gst/elements/gsttypefindelement.c:
8435         (gst_type_find_element_have_type), (gst_type_find_element_init),
8436         (stop_typefinding), (gst_type_find_element_handle_event),
8437         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8438         * gst/elements/gsttypefindelement.h:
8439           Set caps on all outgoing buffers, not just the first one.
8440
8441 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8442
8443         * gst/elements/gsttypefindelement.c:
8444         (gst_type_find_element_have_type),
8445         (gst_type_find_element_check_set_buffer_caps),
8446         (gst_type_find_element_init), (stop_typefinding),
8447         (gst_type_find_element_handle_event),
8448         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8449         * gst/elements/gsttypefindelement.h:
8450           Set caps on first outgoing buffer when we've found the type.
8451
8452 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8453
8454         * docs/gst/gstreamer-docs.sgml:
8455         * docs/gst/gstreamer-sections.txt:
8456         * docs/gst/tmpl/gstscheduler.sgml:
8457         * docs/gst/tmpl/gstschedulerfactory.sgml:
8458           Remove some old cruft from docs.
8459
8460 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
8461
8462         * gst/gstpad.h:
8463           Fix inline docs for GstPadLinkReturn.
8464           
8465         * gst/gststructure.c: (gst_structure_has_name):
8466         * gst/gststructure.h:
8467         * docs/gst/gstreamer-sections.txt:
8468           New API: gst_structure_has_name().
8469
8470 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
8471
8472         * configure.ac:
8473           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
8474           and _LARGEFILE_SOURCE in config.h as required. Do not 
8475           export those flags in our .pc files any longer (#142209).
8476
8477           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
8478
8479         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
8480         (gst_file_sink_do_seek), (gst_file_sink_event),
8481         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8482           Redo seek/tell calls with large file support in mind; add some
8483           debugging messages; add log message that tells us when large
8484           file support is unavailable or not enabled for some reason.
8485
8486         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
8487           Add log message that tells us when large file support 
8488           is unavailable or not enabled for some reason.
8489
8490 2005-07-29  Wim Taymans  <wim@fluendo.com>
8491
8492         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8493         Added test for removing an element with ghostpad from a bin.
8494         Fixed test as current implementation does the right thing.
8495
8496         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
8497         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
8498         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
8499         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
8500         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
8501         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8502         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8503         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8504         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
8505         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
8506         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
8507         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
8508         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8509         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
8510         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
8511         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8512         * gst/gstghostpad.h:
8513         Clean up ghostpads, remove properties for internal stuff.
8514         Make threadsafe.
8515         Fix refcounting.
8516         Prepare for switching targets, not all use cases work yet.
8517
8518 2005-07-29  Wim Taymans  <wim@fluendo.com>
8519
8520         * docs/design/part-gstghostpad.txt:
8521         Small update.
8522
8523         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8524         (gst_bin_remove_func):
8525         Unlinking pads while holding the bin LOCK is not a good
8526         idea.
8527
8528         * gst/gstpad.c: (gst_pad_class_init),
8529         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
8530         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
8531         No prob setting template after creating the pad.
8532
8533 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
8534
8535         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
8536         (gst_bus_peek), (gst_bus_source_dispatch),
8537         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
8538         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
8539           gst_bus_poll may be called from other threads. Handle
8540           this nicely by not making poll_data disappear off the
8541           stack once gst_bus_poll returns.
8542           gst_bus_peek now increments the refcount on the returned
8543           message.
8544
8545 2005-07-29  Wim Taymans  <wim@fluendo.com>
8546
8547         * docs/design/part-gstghostpad.txt:
8548         Overview of current GhostPad datastructures and use
8549         cases for changing the target.
8550
8551 2005-07-28  Wim Taymans  <wim@fluendo.com>
8552
8553         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8554         Added checks for hierarchy consistency whan adding linked
8555         elements to bins.
8556
8557         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8558         Added check to test element scheduling without bin/pipeline.
8559
8560         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8561         First add elements to bin, then link.
8562         
8563         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8564         (gst_bin_remove_func):
8565         Unlink pads from elements added/removed from bin to maintain
8566         hierarchy consistency.
8567
8568 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8569
8570         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8571         (gst_base_transform_handle_buffer):
8572         * gst/base/gstbasetransform.h:
8573           Remove broken delay_configure (fixes renegotiation of software
8574           scaling pipelines); remove some leftover printf()s.
8575
8576 2005-07-28  Wim Taymans  <wim@fluendo.com>
8577
8578         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8579         Added some more tests for wrong hierarchy
8580
8581         * docs/design/part-overview.txt:
8582         Some updates.
8583
8584         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
8585         Cleanups.
8586
8587         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
8588         (gst_element_dispose):
8589         Some more cleanups.
8590
8591         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8592         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
8593         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8594         (gst_pad_set_caps), (gst_pad_send_event):
8595         Check for correct hierarchy when linking pads. Moving to
8596         strict requirement for ghostpads when linking elements in
8597         different bins.
8598
8599         * gst/gstpad.h:
8600         Clean ups. Added WRONG_HIERARCHY return value.
8601
8602 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8603
8604         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8605           Better debug if no transform is possible.
8606
8607 2005-07-27  Wim Taymans  <wim@fluendo.com>
8608
8609         * docs/random/wtay/network-transp:
8610         Some old doc I had.
8611
8612 2005-07-27  Wim Taymans  <wim@fluendo.com>
8613
8614         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8615         (gst_dp_event_from_packet):
8616         Fix serialization of seek events.
8617
8618 2005-07-27  Wim Taymans  <wim@fluendo.com>
8619
8620         * check/gst-libs/gdp.c: (GST_START_TEST):
8621         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8622         Fix compilation and fix event serialization.
8623
8624 2005-07-27  Wim Taymans  <wim@fluendo.com>
8625
8626         * CHANGES-0.9:
8627         * docs/design/part-TODO.txt:
8628         * docs/design/part-events.txt:
8629         Some docs updates
8630
8631         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8632         (gst_base_sink_event), (gst_base_sink_do_sync),
8633         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8634         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8635         (gst_base_src_do_seek), (gst_base_src_event_handler),
8636         (gst_base_src_loop):
8637         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8638         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8639         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8640         (gst_base_transform_event), (gst_base_transform_handle_buffer),
8641         (gst_base_transform_set_passthrough),
8642         (gst_base_transform_is_passthrough):
8643         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8644         * gst/elements/gstfilesink.c: (gst_file_sink_event):
8645         Event updates.
8646
8647         * gst/gstbuffer.h:
8648         Use faster casts.
8649
8650         * gst/gstelement.c: (gst_element_seek):
8651         * gst/gstelement.h:
8652         Update gst_element_seek.
8653
8654         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
8655         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
8656         (gst_event_new_flush_start), (gst_event_new_flush_stop),
8657         (gst_event_new_eos), (gst_event_new_newsegment),
8658         (gst_event_parse_newsegment), (gst_event_new_tag),
8659         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
8660         (gst_event_parse_qos), (gst_event_new_seek),
8661         (gst_event_parse_seek), (gst_event_new_navigation):
8662         * gst/gstevent.h:
8663         Make GstEvent use GstStructure. Add parsing code, make sure the
8664         API is sufficiently generic.
8665         Mark possible directions of events and serialization.
8666
8667         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
8668         (_gst_message_copy), (gst_message_new_segment_start),
8669         (gst_message_new_segment_done), (gst_message_new_custom),
8670         (gst_message_parse_segment_start),
8671         (gst_message_parse_segment_done):
8672         Small cleanups.
8673
8674         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8675         (gst_pad_set_caps), (gst_pad_send_event):
8676         Update for new events. 
8677         Catch events sent in wrong directions.
8678
8679         * gst/gstqueue.c: (gst_queue_link_src),
8680         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
8681         (gst_queue_handle_src_query):
8682         Event updates.
8683
8684         * gst/gsttag.c:
8685         * gst/gsttag.h:
8686         Remove event code from this file.
8687
8688         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8689         (gst_dp_event_from_packet):
8690         Event updates.
8691
8692 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8693
8694         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
8695         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8696         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
8697           Make debugging actually useful.
8698
8699 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8700
8701         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
8702         (gst_pad_fixate_caps):
8703           Implement default fixation once again, so that gst_pad_fixate()
8704           actually does anything at all. This probably needs to be some
8705           sort of a last resort, and use profile-based fixation first, but
8706           since that doesn't exist yet, this is the best we have. Fixes
8707           visualization in Totem.
8708
8709 2005-07-22  Wim Taymans  <wim@fluendo.com>
8710
8711         * docs/design/part-events.txt:
8712         Small update.
8713
8714         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8715         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
8716         (gst_base_sink_activate_pull):
8717         Some more comments.
8718
8719         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
8720         (gst_fake_src_create):
8721         Fix handoff marshall.
8722
8723         * gst/elements/gstidentity.c: (gst_identity_class_init),
8724         (gst_identity_transform_ip):
8725         We're a real inplace element.
8726
8727         * gst/gstbus.c: (gst_bus_post):
8728         Added some comments.
8729
8730         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
8731         * tests/muxing/case1.c: (main):
8732         * tests/sched/dynamic-pipeline.c: (main):
8733         * tests/sched/interrupt1.c: (main):
8734         * tests/sched/interrupt2.c: (main):
8735         * tests/sched/interrupt3.c: (main):
8736         * tests/sched/runxml.c: (main):
8737         * tests/sched/sched-stress.c: (main):
8738         * tests/seeking/seeking1.c: (event_received), (main):
8739         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
8740         (main):
8741         * tests/threadstate/threadstate3.c: (main):
8742         * tests/threadstate/threadstate4.c: (main):
8743         * tests/threadstate/threadstate5.c: (main):
8744         Fix the tests.
8745
8746 2005-07-21  Wim Taymans  <wim@fluendo.com>
8747
8748         * docs/design/part-seeking.txt:
8749         Some small additions.
8750
8751         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8752         (gst_base_sink_get_times), (gst_base_sink_do_sync),
8753         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8754         * gst/base/gstbasesink.h:
8755         discont values are gint64, handle the math correctly.
8756
8757         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8758         Make the basesrc report error if the source pad is not linked.
8759
8760         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8761         (gst_queue_loop), (gst_queue_handle_src_query),
8762         (gst_queue_src_activate_push):
8763         Make queue collect data even if the srcpad is not linked.
8764         Start pushing out data as soon as it is linked.
8765
8766         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
8767         * gst/gstutils.h:
8768         Added gst_flow_get_name() to ease error reporting.
8769
8770 2005-07-20  Wim Taymans  <wim@fluendo.com>
8771
8772         * gst/gstmessage.c: (gst_message_new_segment_start),
8773         (gst_message_new_segment_done), (gst_message_parse_segment_start),
8774         (gst_message_parse_segment_done):
8775         * gst/gstmessage.h:
8776         Added a bunch of messages for advanced seeking.
8777
8778         * gst/parse/grammar.y:
8779         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
8780         (gst_dpman_state_changed):
8781         Fix some new-pad -> pad-added signals
8782
8783 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8784
8785         * docs/manual/appendix-porting.xml:
8786         * docs/pwg/appendix-porting.xml:
8787           Document new-pad/state-change signal renames and the FixedList
8788           type rename.
8789
8790 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8791
8792         * docs/manual/advanced-autoplugging.xml:
8793         * docs/manual/basics-helloworld.xml:
8794         * docs/manual/basics-pads.xml:
8795         * docs/random/ds/0.9-suggested-changes:
8796         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
8797         * gst/gstelement.h:
8798         * gst/gstevent.h:
8799         * gst/gstformat.h:
8800         * gst/gstquery.h:
8801         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8802         (gst_structure_parse_array), (gst_structure_parse_value):
8803         * gst/gstvalue.c: (gst_type_is_fixed),
8804         (gst_value_list_prepend_value), (gst_value_list_append_value),
8805         (gst_value_list_get_size), (gst_value_list_get_value),
8806         (gst_value_transform_array_string), (gst_value_serialize_array),
8807         (gst_value_deserialize_array), (gst_value_intersect_array),
8808         (gst_value_is_fixed), (_gst_value_initialize):
8809         * gst/gstvalue.h:
8810           GstElement::new-pad -> pad-added, GstElement::state-change ->
8811           state-changed, GstValueFixedList -> GstValueArray, add format and
8812           flags as their own arguments in gst_element_seek() (should improve
8813           "bindeability"), remove function generators since they don't work
8814           under a whole bunch of compilers (they were deprecated already
8815           anyway).
8816
8817 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8818
8819         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
8820         (_gst_debug_register_funcptr):
8821         * gst/gstinfo.h:
8822           Fix illegal cast on some platforms (#309253).
8823
8824 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8825
8826         * gst/gstmessage.c: (gst_message_new_custom):
8827         * gst/gstmessage.h:
8828           Add _new_custom, make _new_application a macro to _new_custom.
8829
8830 2005-07-20  Wim Taymans  <wim@fluendo.com>
8831
8832         * gst/base/gstbasesrc.c: (gst_base_src_init),
8833         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8834         * gst/base/gstbasesrc.h:
8835         Add a gboolean to decide when to push out a discont.
8836
8837         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8838         (gst_queue_loop), (gst_queue_handle_src_query),
8839         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
8840         (gst_queue_set_property), (gst_queue_get_property):
8841         Some cleanups.
8842
8843         * tests/threadstate/threadstate1.c: (main):
8844         Make a thread test compile and run... very silly..
8845
8846
8847 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8848
8849         * docs/manual/appendix-porting.xml:
8850           Mention removal of libgstgconf-0.9.la and existence of gconf
8851           elements.
8852
8853 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8854
8855         * docs/pwg/advanced-clock.xml:
8856         * docs/pwg/appendix-porting.xml:
8857         * docs/pwg/intro-preface.xml:
8858         * docs/pwg/other-base.xml:
8859         * docs/pwg/other-manager.xml:
8860         * docs/pwg/other-nton.xml:
8861         * docs/pwg/other-ntoone.xml:
8862         * docs/pwg/other-oneton.xml:
8863         * docs/pwg/pwg.xml:
8864           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
8865           demuxer), remove n-to-n (was never written), fix some code examples
8866           and links and update the porting section to include all this.
8867
8868 2005-07-19  Wim Taymans  <wim@fluendo.com>
8869
8870         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
8871         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
8872         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
8873         (gst_queue_src_activate_push), (gst_queue_change_state),
8874         (gst_queue_get_property):
8875         * gst/gstqueue.h:
8876         Propagate GstFlowReturn more intelligently upstream and output
8877         an ERROR/EOS when streaming stopped due to fatal error.
8878
8879 2005-07-19  Wim Taymans  <wim@fluendo.com>
8880
8881         * tools/gst-launch.c: (check_intr), (event_loop), (main):
8882         Don't block forever for the state change to complete, the
8883         pipeline already did with a sensible timeout.
8884
8885 2005-07-19  Wim Taymans  <wim@fluendo.com>
8886
8887         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8888         Make sure we never call the create function is we
8889         got deactivated.
8890
8891 2005-07-19  Andy Wingo  <wingo@pobox.com>
8892
8893         * gst/parse/parse.l: Attempt to solve bug #172815.
8894
8895 2005-07-19  Wim Taymans  <wim@fluendo.com>
8896
8897         * docs/design/part-clocks.txt:
8898         * docs/design/part-events.txt:
8899         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
8900         Small docs updates.
8901         Only update the seeking values when we are not
8902         busy streaming.
8903
8904 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8905
8906         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8907           Oops, ignore the result of gst_pad_push_event here.
8908
8909 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8910
8911         * gst/base/gstbasesrc.c: (gst_base_src_loop),
8912         (gst_base_src_activate_push):
8913           Send discont event from the loop function, as pads
8914           aren't activated yet in the activate_push handler.
8915
8916         * gst/gstbin.c: (bin_bus_handler):
8917           Don't leak element name.
8918
8919 2005-07-18  Andy Wingo  <wingo@pobox.com>
8920
8921         * configure.ac: Use AS_LIBTOOL_TAGS.
8922
8923 2005-07-18  Wim Taymans  <wim@fluendo.com>
8924
8925         * docs/gst/gstreamer.types:
8926         Remove deleted types.
8927
8928 2005-07-18  Wim Taymans  <wim@fluendo.com>
8929
8930         * check/elements/gstfakesrc.c: (GST_START_TEST):
8931         * configure.ac:
8932         * gst/Makefile.am:
8933         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
8934         (init_popt_callback):
8935         * gst/gst.h:
8936         * gst/gst_private.h:
8937         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
8938         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
8939         * gst/gstbin.h:
8940         * gst/gstbus.h:
8941         * gst/gstconfig.h.in:
8942         * gst/gstelement.c: (gst_element_class_init),
8943         (gst_element_set_base_time), (gst_element_get_base_time),
8944         (iterator_fold_with_resync), (gst_element_change_state),
8945         (gst_element_dispose), (gst_element_get_bus):
8946         * gst/gstelement.h:
8947         * gst/gstelementfactory.h:
8948         * gst/gsterror.c: (_gst_core_errors_init):
8949         * gst/gsterror.h:
8950         * gst/gstevent.h:
8951         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8952         * gst/gstindex.c:
8953         * gst/gstinfo.c: (_gst_debug_init):
8954         * gst/gstmessage.c: (_gst_message_copy):
8955         * gst/gstmessage.h:
8956         * gst/gstminiobject.h:
8957         * gst/gstobject.c:
8958         * gst/gstobject.h:
8959         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8960         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
8961         * gst/gstpad.h:
8962         * gst/gstparse.h:
8963         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8964         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8965         (gst_pipeline_get_last_stream_time):
8966         * gst/gstpipeline.h:
8967         * gst/gstpluginfeature.h:
8968         * gst/gstquery.h:
8969         * gst/gstscheduler.c:
8970         * gst/gstscheduler.h:
8971         * gst/gststructure.h:
8972         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
8973         (gst_task_finalize), (gst_task_func), (gst_task_create),
8974         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
8975         (gst_task_stop), (gst_task_pause):
8976         * gst/gsttask.h:
8977         * gst/gsttypefind.h:
8978         * gst/gsttypes.h:
8979         * gst/registries/gstlibxmlregistry.c: (load_feature),
8980         (gst_xml_registry_load), (gst_xml_registry_save_feature):
8981         * gst/registries/gstxmlregistry.c:
8982         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
8983         * gst/schedulers/threadscheduler.c:
8984         * libs/gst/control/dparammanager.h:
8985         * tools/gst-inspect.c: (print_element_list),
8986         (print_plugin_features), (print_element_features):
8987         * tools/gst-xmlinspect.c: (print_element_list),
8988         (print_plugin_info), (main):
8989         Removed plugable schedulers.
8990         Removed Scheduler/Manager from elements.
8991         Removed gsttypes.h, rearranged includes.
8992         Removed dependency pad<->element, element<>pipeline, and
8993         various others,  fix includes.
8994         implement gst_pad_get_parent() with gst_object_get_parent()
8995         Make GstTask sefcontained.
8996         Fix _get_state() on GstBin, it did not return ASYNC with a 0
8997         timeout.
8998         Fix endless loop in iterator_fold_with_resync.
8999
9000
9001 2005-07-18  Wim Taymans  <wim@fluendo.com>
9002
9003         * gst/Makefile.am:
9004         * gst/gstarch.h:
9005         Remove old file.
9006
9007 2005-07-18  Wim Taymans  <wim@fluendo.com>
9008
9009         * gst/Makefile.am:
9010         No more cothreads.h
9011
9012 2005-07-18  Wim Taymans  <wim@fluendo.com>
9013
9014         * gst/cothreads.c:
9015         * gst/cothreads.h:
9016         Let's remove these.
9017
9018 2005-07-18  Wim Taymans  <wim@fluendo.com>
9019
9020         * docs/design/part-dynamic.txt:
9021         * docs/design/part-events.txt:
9022         * docs/design/part-seeking.txt:
9023         Some more docs in the works.
9024
9025         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9026         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
9027         (gst_base_transform_setcaps), (gst_base_transform_get_size),
9028         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
9029         (gst_base_transform_handle_buffer),
9030         (gst_base_transform_sink_activate_push),
9031         (gst_base_transform_src_activate_pull),
9032         (gst_base_transform_set_passthrough),
9033         (gst_base_transform_is_passthrough):
9034         Refcounting fixes.
9035
9036         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
9037         Cleanups.
9038
9039         * gst/gstevent.c: (gst_event_finalize):
9040         Set SRC to NULL.
9041
9042         * gst/gstutils.c: (gst_element_unlink),
9043         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
9044         (gst_pad_proxy_setcaps):
9045         * gst/gstutils.h:
9046         Add _get_parent_element() to get a pads parent as an element.
9047
9048 2005-07-18  Wim Taymans  <wim@fluendo.com>
9049
9050         * check/gst/gstbin.c: (GST_START_TEST):
9051         Remove bogus test.
9052
9053 2005-07-18  Wim Taymans  <wim@fluendo.com>
9054
9055         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9056         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9057         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9058         (gst_base_sink_event), (gst_base_sink_do_sync),
9059         (gst_base_sink_chain), (gst_base_sink_loop),
9060         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
9061         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
9062         Refcounting fixes.
9063         Fix logic for returning ASYNC when not prerolled.
9064
9065 2005-07-18  Wim Taymans  <wim@fluendo.com>
9066
9067         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9068         Fix nasty refcount bug.
9069
9070 2005-07-16 Philippe Khalaf <burger@speedy.org>
9071
9072         * gst/elements/gstfdsrc.c:
9073         * gst/elements/gstfdsrc.h:
9074         * gst/elements/gstelements.c:
9075         * gst/elements/Makefile.am:
9076         Ported fdsrc to 0.9.
9077
9078 2005-07-16  Wim Taymans  <wim@fluendo.com>
9079
9080         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9081         (gst_base_sink_do_sync):
9082         Fix compile error.
9083
9084 2005-07-16  Wim Taymans  <wim@fluendo.com>
9085
9086         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9087         (gst_base_sink_event), (gst_base_sink_get_times),
9088         (gst_base_sink_do_sync), (gst_base_sink_change_state):
9089         * gst/base/gstbasesink.h:
9090         Store and use discont values when syncing buffers as described
9091         in design docs.
9092         
9093         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9094         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
9095         (gst_base_src_activate_push):
9096         Push discont event when starting.
9097
9098         * gst/elements/gstidentity.c: (gst_identity_transform):
9099         Small cleanups.
9100
9101         * gst/gstbin.c: (gst_bin_change_state):
9102         Small cleanups in base_time  distribution.
9103
9104         * gst/gstelement.c: (gst_element_set_base_time),
9105         (gst_element_get_base_time), (gst_element_change_state):
9106         * gst/gstelement.h:
9107         Added methods for the base_time of the element.
9108         Some MT fixes.
9109
9110         * gst/gstpipeline.c: (gst_pipeline_send_event),
9111         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9112         (gst_pipeline_get_last_stream_time):
9113         * gst/gstpipeline.h:
9114         MT fixes.
9115         Handle seeking as described in design doc, remove stream_time
9116         hack.
9117         Cleanups clock and stream_time selection code. Added accessors
9118         for the stream_time.
9119         
9120
9121 2005-07-16  Andy Wingo  <wingo@pobox.com>
9122
9123         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
9124         (#305291).
9125
9126 2005-07-16  Wim Taymans  <wim@fluendo.com>
9127
9128         * check/gst/gstbin.c: (GST_START_TEST):
9129         Make elements silent as the deep_notify refs the
9130         parent, which might make the test fail.
9131
9132         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9133         Don't hold the lock for too long.
9134
9135 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
9136
9137         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9138           Don't unref the caps we passed to gst_caps_make_writable() after
9139           passing them. gst_caps_make_writable() will do that for us.
9140
9141 2005-07-15  Andy Wingo  <wingo@pobox.com>
9142
9143         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
9144         (#157311).
9145
9146         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
9147         own marshalling function for the handoff signal. Properly type the
9148         buffer as a buffer. Fixes some warnings. Should do a more general
9149         solution.
9150         (gst_identity_class_init): Plug into the right marshaller.
9151
9152 2005-07-15  Wim Taymans  <wim@fluendo.com>
9153
9154         * docs/design/part-TODO.txt:
9155         * docs/design/part-clocks.txt:
9156         * docs/design/part-element-sink.txt:
9157         * docs/design/part-events.txt:
9158         * docs/design/part-gstpipeline.txt:
9159         Updated docs, mostly DISCONT related.
9160
9161 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
9162
9163         * docs/pwg/building-pads.xml:
9164           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
9165
9166 2005-07-15  Andy Wingo  <wingo@pobox.com>
9167
9168         * tools/gst-typefind.c: Update, add copyright block.
9169
9170         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
9171         Normalize and truncate caps before fixation.
9172
9173         * gst/gstcaps.h:
9174         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
9175         discards all but the first structure from its argument.
9176
9177 2005-07-15  Wim Taymans  <wim@fluendo.com>
9178
9179         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9180         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
9181         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9182         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9183         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
9184         (gst_base_transform_chain), (gst_base_transform_change_state),
9185         (gst_base_transform_set_passthrough),
9186         (gst_base_transform_is_passthrough):
9187         * gst/base/gstbasetransform.h:
9188         Make passthrough work using the bufferpools.
9189         Changed API a bit, subclasses have to write into a buffer
9190         provided by the base class.
9191         More debug info in nego functions.
9192         
9193         * gst/elements/gstidentity.c: (gst_identity_init),
9194         (gst_identity_transform):
9195         Port to new base class.
9196
9197 2005-07-15  Wim Taymans  <wim@fluendo.com>
9198
9199         * gst/gstmessage.c: (gst_message_new_state_changed):
9200         * tools/gst-launch.c: (event_loop), (main):
9201         Totally dump messages in -launch with the -m option.
9202         Fix message name for State messages,
9203
9204 2005-07-14  Wim Taymans  <wim@fluendo.com>
9205
9206         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9207         Post error messages on errors.
9208
9209 2005-07-14  Wim Taymans  <wim@fluendo.com>
9210
9211         * gst/gstcaps.c: (gst_caps_do_simplify):
9212         Remove debug info.
9213
9214         * gst/gsterror.h:
9215         Define error for stream stopped.
9216
9217         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9218         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
9219         Do proper return values.
9220
9221         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9222         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
9223         (gst_pad_get_range):
9224         Better return values.
9225
9226         * gst/gstpad.h:
9227         Reorganise return values, add macro to check for fatal errors.
9228
9229         * gst/gstqueue.c: (gst_queue_chain):
9230         Return proper GstFlowReturn values,
9231
9232 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9233
9234         * docs/gst/gstreamer-sections.txt:
9235         * docs/gst/gstreamer.types:
9236         * docs/gst/tmpl/gst.sgml:
9237         * docs/gst/tmpl/gstbasesink.sgml:
9238         * docs/gst/tmpl/gstbasesrc.sgml:
9239         * docs/gst/tmpl/gstbasetransform.sgml:
9240         * docs/gst/tmpl/gstbin.sgml:
9241         * docs/gst/tmpl/gstbuffer.sgml:
9242         * docs/gst/tmpl/gstcaps.sgml:
9243         * docs/gst/tmpl/gstclock.sgml:
9244         * docs/gst/tmpl/gstcompat.sgml:
9245         * docs/gst/tmpl/gstconfig.sgml:
9246         * docs/gst/tmpl/gstelement.sgml:
9247         * docs/gst/tmpl/gstelementdetails.sgml:
9248         * docs/gst/tmpl/gstelementfactory.sgml:
9249         * docs/gst/tmpl/gstenumtypes.sgml:
9250         * docs/gst/tmpl/gsterror.sgml:
9251         * docs/gst/tmpl/gstevent.sgml:
9252         * docs/gst/tmpl/gstfakesink.sgml:
9253         * docs/gst/tmpl/gstfakesrc.sgml:
9254         * docs/gst/tmpl/gstfilesink.sgml:
9255         * docs/gst/tmpl/gstfilesrc.sgml:
9256         * docs/gst/tmpl/gstfilter.sgml:
9257         * docs/gst/tmpl/gstformat.sgml:
9258         * docs/gst/tmpl/gstghostpad.sgml:
9259         * docs/gst/tmpl/gstimplementsinterface.sgml:
9260         * docs/gst/tmpl/gstindex.sgml:
9261         * docs/gst/tmpl/gstindexfactory.sgml:
9262         * docs/gst/tmpl/gstinfo.sgml:
9263         * docs/gst/tmpl/gstiterator.sgml:
9264         * docs/gst/tmpl/gstmacros.sgml:
9265         * docs/gst/tmpl/gstmemchunk.sgml:
9266         * docs/gst/tmpl/gstminiobject.sgml:
9267         * docs/gst/tmpl/gstobject.sgml:
9268         * docs/gst/tmpl/gstpad.sgml:
9269         * docs/gst/tmpl/gstpadtemplate.sgml:
9270         * docs/gst/tmpl/gstparse.sgml:
9271         * docs/gst/tmpl/gstpipeline.sgml:
9272         * docs/gst/tmpl/gstplugin.sgml:
9273         * docs/gst/tmpl/gstpluginfeature.sgml:
9274         * docs/gst/tmpl/gstquery.sgml:
9275         * docs/gst/tmpl/gstqueue.sgml:
9276         * docs/gst/tmpl/gstregistry.sgml:
9277         * docs/gst/tmpl/gstregistrypool.sgml:
9278         * docs/gst/tmpl/gstscheduler.sgml:
9279         * docs/gst/tmpl/gstschedulerfactory.sgml:
9280         * docs/gst/tmpl/gststructure.sgml:
9281         * docs/gst/tmpl/gstsystemclock.sgml:
9282         * docs/gst/tmpl/gsttaglist.sgml:
9283         * docs/gst/tmpl/gsttagsetter.sgml:
9284         * docs/gst/tmpl/gsttrace.sgml:
9285         * docs/gst/tmpl/gsttrashstack.sgml:
9286         * docs/gst/tmpl/gsttypefind.sgml:
9287         * docs/gst/tmpl/gsttypefindfactory.sgml:
9288         * docs/gst/tmpl/gsttypes.sgml:
9289         * docs/gst/tmpl/gsturihandler.sgml:
9290         * docs/gst/tmpl/gsturitype.sgml:
9291         * docs/gst/tmpl/gstutils.sgml:
9292         * docs/gst/tmpl/gstvalue.sgml:
9293         * docs/gst/tmpl/gstversion.sgml:
9294         * docs/gst/tmpl/gstxml.sgml:
9295         * docs/libs/tmpl/gstcontrol.sgml:
9296         * docs/libs/tmpl/gstdataprotocol.sgml:
9297         * docs/libs/tmpl/gstdparam.sgml:
9298         * docs/libs/tmpl/gstdplinint.sgml:
9299         * docs/libs/tmpl/gstdpman.sgml:
9300         * docs/libs/tmpl/gstdpsmooth.sgml:
9301         * docs/libs/tmpl/gstgetbits.sgml:
9302         * docs/libs/tmpl/gstunitconvert.sgml:
9303         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9304         (gst_push_src_base_init), (gst_push_src_class_init),
9305         (gst_push_src_init), (gst_push_src_create):
9306         * gst/base/gstpushsrc.h:
9307         * gst/elements/gstelements.c:
9308         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9309         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9310         (gst_fake_sink_init), (gst_fake_sink_set_property),
9311         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9312         (gst_fake_sink_event), (gst_fake_sink_preroll),
9313         (gst_fake_sink_render), (gst_fake_sink_change_state):
9314         * gst/elements/gstfakesink.h:
9315         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9316         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9317         (gst_fake_src_base_init), (gst_fake_src_class_init),
9318         (gst_fake_src_init), (gst_fake_src_event_handler),
9319         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9320         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9321         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9322         (gst_fake_src_create_buffer), (gst_fake_src_create),
9323         (gst_fake_src_start), (gst_fake_src_stop):
9324         * gst/elements/gstfakesrc.h:
9325         * gst/elements/gstfilesink.c: (_do_init),
9326         (gst_file_sink_base_init), (gst_file_sink_class_init),
9327         (gst_file_sink_init), (gst_file_sink_dispose),
9328         (gst_file_sink_set_location), (gst_file_sink_set_property),
9329         (gst_file_sink_get_property), (gst_file_sink_open_file),
9330         (gst_file_sink_close_file), (gst_file_sink_query),
9331         (gst_file_sink_event), (gst_file_sink_render),
9332         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9333         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9334         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9335         * gst/elements/gstfilesink.h:
9336         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9337         (gst_file_src_class_init), (gst_file_src_init),
9338         (gst_file_src_finalize), (gst_file_src_set_location),
9339         (gst_file_src_set_property), (gst_file_src_get_property),
9340         (gst_file_src_map_region), (gst_file_src_map_small_region),
9341         (gst_file_src_create_mmap), (gst_file_src_create_read),
9342         (gst_file_src_create), (gst_file_src_is_seekable),
9343         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9344         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9345         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9346         (gst_file_src_uri_handler_init):
9347         * gst/elements/gstfilesrc.h:
9348           more autistic cleanliness in functions/names/defines
9349
9350 2005-07-13  Andy Wingo  <wingo@pobox.com>
9351
9352         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9353         source couldn't negotiate.
9354
9355         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9356         connections again.
9357
9358         * gst/gstutils.h:
9359         * gst/gstutils.c (gst_element_link_pads_filtered): New old
9360         function. I am channeling Hades. Put your boots on suckers!!!
9361
9362 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9363
9364         * testsuite/caps/Makefile.am:
9365         * testsuite/caps/value_compare.c:
9366         * testsuite/caps/value_intersect.c:
9367         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9368           move two testsuite apps over to the check dir
9369
9370 2005-07-12  Wim Taymans  <wim@fluendo.com>
9371
9372         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9373         Added more debug info in the negotiate process.
9374
9375         * gst/gstmessage.h:
9376         Prepare for segment playback.
9377
9378         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9379         Better debugging.
9380
9381         * gst/gstutils.c:
9382         Some more docs.
9383
9384         * tools/gst-launch.c: (main):
9385         NULL pipeline on errors.
9386
9387 2005-07-12  Andy Wingo  <wingo@pobox.com>
9388
9389         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9390         not it comes from a malloc region. Make sure our copy gets freed.
9391
9392 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9393
9394         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9395         * check/gst/gstmessage.c: (GST_START_TEST):
9396         * check/gst/gststructure.c: (GST_START_TEST),
9397         (gst_structure_suite), (main):
9398           more testing
9399         * gst/gstelement.c: (gst_element_message_full):
9400           clean up GError and debug string now that they get copied
9401         * gst/gstmessage.c: (gst_message_new_error),
9402         (gst_message_new_warning), (gst_message_parse_error),
9403         (gst_message_parse_warning):
9404           use GST_TYPE_G_ERROR for structure_new, and take copies of
9405           arguments, so that we don't mess up refcounting
9406
9407 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9408
9409         * check/Makefile.am:
9410           add per-test valgrind targets
9411         * check/gst-libs/gdp.c: (GST_START_TEST),
9412         (gst_data_protocol_suite), (main):
9413           clean up
9414
9415 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9416
9417         * check/Makefile.am:
9418           instate more valgrindable tests
9419         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9420         (GST_START_TEST), (fakesrc_suite):
9421         * check/gst/gstpad.c: (GST_START_TEST):
9422         * check/gst/gststructure.c: (GST_START_TEST):
9423           fix test leaks
9424         * docs/gst/tmpl/gstminiobject.sgml:
9425         * gst/gstpad.c: (gst_pad_finalize):
9426           fix the static mutex leak
9427
9428 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9429
9430         * check/Makefile.am:
9431           add two more tests for valgrinding
9432         * check/gst/gstvalue.c: (GST_START_TEST):
9433           test refcount of deserialized buffer, found a leak
9434         * docs/gst/gstreamer-docs.sgml:
9435         * docs/gst/gstreamer-sections.txt:
9436         * docs/gst/gstreamer.types:
9437         * docs/gst/tmpl/gstminiobject.sgml:
9438           add miniobject to docs
9439         * gst/gstminiobject.c:
9440           add some docs
9441         * gst/gstvalue.c: (gst_value_deserialize_buffer),
9442         (gst_string_unwrap):
9443           fix a hard-to-find invalid write for one of the tests
9444           fix a leak for deserialized buffers
9445
9446 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9447
9448         * docs/pwg/advanced-events.xml:
9449         * docs/pwg/advanced-request.xml:
9450         * docs/pwg/advanced-scheduling.xml:
9451         * docs/pwg/appendix-porting.xml:
9452         * docs/pwg/building-boiler.xml:
9453         * docs/pwg/intro-preface.xml:
9454         * docs/pwg/other-ntoone.xml:
9455           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
9456           of example code and explanation for pad activation, loop() and
9457           getrange() functions and a bit more. Remove old comments pointing
9458           to loop-functions.
9459         * examples/pwg/Makefile.am:
9460           Add loop/getrange examples.
9461
9462 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9463
9464         * configure.ac:
9465           check for valgrind binary + some fixes
9466         * check/gst.supp:
9467           valgrind suppressions for the tests
9468         * check/Makefile.am:
9469           add a valgrind: target that valgrinds the unit tests
9470         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
9471         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9472         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9473         * check/gst/gstghostpad.c:
9474           added some cleanup
9475         * check/gst/gstdata.c:
9476           removed
9477         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
9478         (thread_unref), (gst_mini_object_suite), (main):
9479           added
9480         * gst/gst.c: (gst_deinit):
9481         * gst/gst.h:
9482           add a method to clean up.
9483         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9484         (gst_system_clock_obtain):
9485           allow for disposing the system clock.
9486         * tools/gst-launch.c: (main):
9487           deinit
9488
9489 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9490
9491         * docs/gst/tmpl/gstbasesrc.sgml:
9492         * docs/gst/tmpl/gstfakesrc.sgml:
9493         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9494         (gst_base_src_init), (gst_base_src_set_property),
9495         (gst_base_src_get_property), (gst_base_src_get_range),
9496         (gst_base_src_start):
9497         * gst/base/gstbasesrc.h:
9498           add num-buffers property
9499         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9500         (gst_fakesrc_init), (gst_fakesrc_set_property),
9501         (gst_fakesrc_get_property), (gst_fakesrc_create),
9502         (gst_fakesrc_start):
9503           remove num-buffers property
9504
9505 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9506
9507         * docs/gst/gstreamer-sections.txt:
9508         * docs/gst/tmpl/gstbasesink.sgml:
9509         * docs/gst/tmpl/gstbasesrc.sgml:
9510         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9511         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9512         (gst_base_sink_finalize), (gst_base_sink_set_clock),
9513         (gst_base_sink_set_property), (gst_base_sink_get_property),
9514         (gst_base_sink_handle_object), (gst_base_sink_event),
9515         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9516         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
9517         (gst_base_sink_loop), (gst_base_sink_deactivate),
9518         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
9519         (gst_base_sink_change_state):
9520         * gst/base/gstbasesink.h:
9521         * gst/base/gstbasesrc.h:
9522         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
9523         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9524         (gst_filesink_init):
9525           more macro splitting
9526
9527 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9528
9529         * gst/gstelement.c: (gst_element_get_bus):
9530           add debug
9531         * tools/gst-launch.c: (check_intr), (event_loop):
9532           fix bus leaks
9533
9534 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9535
9536         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9537           fix a caps leak
9538
9539 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9540
9541         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9542         (gst_base_src_finalize):
9543           add finalize method and clean up properly
9544         * gst/gstpipeline.c: (gst_pipeline_dispose):
9545           add debug
9546
9547 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9548
9549         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
9550         (gst_bin_suite):
9551           add more things to check
9552         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9553         * gst/gstelement.c:
9554           more debug
9555
9556 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9557
9558         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9559         (GST_START_TEST), (fakesrc_suite):
9560         * check/gst-libs/gdp.c: (GST_START_TEST):
9561         * check/gst/gst.c: (GST_START_TEST):
9562         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9563         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9564         * check/gst/gstbus.c: (GST_START_TEST):
9565         * check/gst/gstcaps.c: (GST_START_TEST):
9566         * check/gst/gstdata.c: (GST_START_TEST):
9567         * check/gst/gstelement.c: (GST_START_TEST):
9568         * check/gst/gstghostpad.c: (GST_START_TEST):
9569         * check/gst/gstiterator.c: (GST_START_TEST):
9570         * check/gst/gstmessage.c: (GST_START_TEST):
9571         * check/gst/gstobject.c: (GST_START_TEST):
9572         * check/gst/gstpad.c: (GST_START_TEST):
9573         * check/gst/gststructure.c: (GST_START_TEST):
9574         * check/gst/gstsystemclock.c: (GST_START_TEST),
9575         (gst_systemclock_suite):
9576         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9577         * check/gst/gstvalue.c: (GST_START_TEST):
9578         * check/pipelines/cleanup.c: (GST_START_TEST):
9579         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9580         * check/states/sinks.c: (GST_START_TEST):
9581         * check/gstcheck.c: (gst_check_init):
9582         * check/gstcheck.h:
9583           add debugging category
9584           use GST_START_TEST now, so we add a debug line
9585
9586 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9587
9588         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
9589           add test for state change message on a bin
9590         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
9591           add another test
9592         * gst/gstbin.c: (gst_bin_init):
9593         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
9594         * gst/gstelement.c: (gst_element_post_message),
9595         (gst_element_set_state):
9596         * gst/gstelementfactory.c: (gst_element_factory_create):
9597         * gst/gstmessage.c: (gst_message_new):
9598         * gst/gstscheduler.c:
9599           various debugging additions and cleanups
9600
9601 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9602
9603         * check/Makefile.am:
9604         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
9605         (main):
9606           adding tests for elements
9607         * gst/gstelement.c: (gst_element_dispose):
9608
9609 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9610
9611         * gst/registries/gstlibxmlregistry.c: (load_feature):
9612           plug more leaks.  A simple gst_init() now is leakfree, yay.
9613
9614 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9615
9616         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
9617         (gst_xml_registry_load):
9618           plug another memleak
9619
9620 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9621
9622         * configure.ac:
9623           use GST_SET_ERROR_CFLAGS
9624         * docs/faq/cvs.xml:
9625           change to ERROR_CFLAGS
9626
9627 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9628
9629         * configure.ac:
9630           make GST_ERROR_CFLAGS overridable and re-enable Werror
9631         * docs/faq/cvs.xml:
9632           add a note about error CFLAGS
9633         * docs/gst/tmpl/gstfakesrc.sgml:
9634         * gst/elements/gstfakesrc.c:
9635           comment out some unused code
9636         * gst/gst.c: (split_and_iterate):
9637         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
9638         (load_feature):
9639           plug some memleaks
9640
9641 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9642
9643         * common/Makefile.am:
9644         * common/gtk-doc.mak:
9645         * docs/gst/Makefile.am:
9646           factor out gtk-doc.mak
9647
9648 2005-07-07  Wim Taymans  <wim@fluendo.com>
9649
9650         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
9651         (gst_thread_scheduler_dispose):
9652         Unlock the STREAM_LOCK completely.
9653
9654 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9655
9656         * check/Makefile.am:
9657         * check/elements/.cvsignore:
9658         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9659         (START_TEST), (fakesrc_suite), (main):
9660         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9661         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
9662         (gst_fakesrc_create), (gst_fakesrc_start):
9663         * gst/elements/gstfakesrc.h:
9664           adding a first element test
9665
9666 2005-07-07  Andy Wingo  <wingo@pobox.com>
9667
9668         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
9669         debug message.
9670
9671 2005-07-07  Wim Taymans  <wim@fluendo.com>
9672
9673         * gst/gstquery.c:
9674         * gst/gstquery.h:
9675         Remove old types
9676
9677 2005-07-07  Wim Taymans  <wim@fluendo.com>
9678
9679         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
9680         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
9681         Allow subclasses to implement their own negotiation.
9682
9683 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9684
9685         * docs/design/part-gstbin.txt:
9686         * docs/design/part-gstpipeline.txt:
9687           Update design notes to reflect the movement of
9688           responsibility for bus handling from GstPipeline to
9689           GstBin
9690
9691 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9692
9693         * configure.ac:
9694           Remove unnecessary queue2/3/4 examples.
9695
9696 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9697
9698         * examples/Makefile.am:
9699         * examples/helloworld/helloworld.c: (event_loop), (main):
9700         * examples/queue/queue.c: (event_loop), (main):
9701         * examples/queue2/queue2.c: (main):
9702           Update a couple of the examples to work again.
9703
9704         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9705         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
9706          Spelling corrections and extra debug.
9707         
9708         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
9709         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
9710         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
9711         * gst/gstbin.h:
9712         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9713         (gst_pipeline_change_state):
9714         * gst/gstpipeline.h:
9715           Move the bus handler for children to the GstBin, and create a
9716           separate bus for receiving messages from children to the one the
9717           bus sends 'upwards' on.
9718
9719 2005-07-06  Wim Taymans  <wim@fluendo.com>
9720
9721         * gst/base/README:
9722         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9723         (gst_base_sink_handle_object), (gst_base_sink_loop),
9724         (gst_base_sink_change_state):
9725         * gst/base/gstbasesink.h:
9726         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9727         (gst_base_src_init), (gst_base_src_setcaps),
9728         (gst_base_src_getcaps), (gst_base_src_loop),
9729         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
9730         (gst_base_src_start), (gst_base_src_change_state):
9731         * gst/base/gstbasesrc.h:
9732         Make basesrc negotiate.
9733         Handle the case where preroll fails in basesink.
9734         Update README.
9735
9736 2005-07-06  Wim Taymans  <wim@fluendo.com>
9737
9738         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
9739         Implement the fixate function.
9740         Clean up acceptcaps.
9741
9742 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9743
9744         * docs/pwg/building-filterfactory.xml:
9745         * docs/pwg/pwg.xml:
9746           Remove never-written filter-factory chapter; I'll add the various
9747           base classes to part 4 ("other element types") later on.
9748
9749 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9750
9751         * docs/pwg/advanced-negotiation.xml:
9752         * docs/pwg/building-boiler.xml:
9753         * docs/pwg/building-pads.xml:
9754         * docs/pwg/pwg.xml:
9755         * examples/pwg/Makefile.am:
9756           Add a chapter on caps negotiation, simplify the original code
9757           samples a bit w.r.t. caps negotiation, add link to the advanced
9758           section. Add a bunch of examples showing different use cases of
9759           different types of caps negotiation. Upstream renegotiation isn't
9760           fully documented yet since nobody knows how that works.
9761
9762 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9763
9764         * check/gst/gstpad.c:
9765         * check/gstcheck.c:
9766         * gst/gstpad.c: (gst_pad_get_internal_links_default):
9767           if pad has no parent, return NULL as list of internal links
9768
9769 2005-07-05  Andy Wingo  <wingo@pobox.com>
9770
9771         * gst/elements/gstfilesrc.c:
9772         * gst/elements/gstfakesrc.c: 
9773         * gst/base/gstpushsrc.c:
9774         * gst/base/gstbasesrc.h: 
9775         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
9776         
9777 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
9778
9779         * Makefile.am:
9780           better report generation target (lcov needs a patch)
9781
9782 2005-07-05  Andy Wingo  <wingo@pobox.com>
9783
9784         * gst/elements, testsuite: Null if we got it...
9785
9786 2005-07-05  Wim Taymans  <wim@fluendo.com>
9787
9788         * configure.ac:
9789         * libs/gst/dataprotocol/Makefile.am:
9790         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
9791         * libs/gst/dataprotocol/dataprotocol.h:
9792         * pkgconfig/Makefile.am:
9793         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
9794         * pkgconfig/gstreamer-dataprotocol.pc.in:
9795         Ported dataprotol to 0.9. 
9796         Added pkgconfig files.
9797
9798 2005-07-05  Andy Wingo  <wingo@pobox.com>
9799
9800         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
9801         Default to returning TRUE for the case when tranform_caps returns
9802         a fixed caps, like for identity or volume.
9803
9804         * check/gst/gstbus.c (pound_bus_with_messages): 
9805         * check/gst/gstmessage.c (START_TEST): 
9806         * check/pipelines/simple_launch_lines.c (got_handoff): Application
9807         message API change.
9808
9809         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
9810         logic weaks here: always run transform_caps, trying passthrough
9811         operation only if the original caps intersects with the transform.
9812
9813         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
9814         source and sink caps.
9815
9816         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
9817         Intersect the peer caps with the pad template before going into
9818         transform_caps.
9819         (gst_base_transform_transform_caps): More debugging.
9820
9821         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
9822         src argument.
9823
9824 2005-07-04  Edward Hervey  <edward@fluendo.com>
9825
9826         * gst/gstutils.c:
9827         * gst/gstutils.h:
9828         (gst_pad_add_*_probe): now returns the signal id for better wrapping
9829         in bindings.
9830
9831 2005-07-04  Andy Wingo  <wingo@pobox.com>
9832
9833         * check/gst/gstpad.c: Only set explicit caps on pads.
9834
9835 2005-07-01  Andy Wingo  <wingo@pobox.com>
9836
9837         * tests/network-clock.scm: Commentary update.
9838
9839         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
9840         Didn't really make sense, not implementable with basetransform,
9841         etc.
9842         (gst_identity_transform): Unref inbuf via make_writable. Feeble
9843         attempt at implementing the sync property, needs an unlock method.
9844
9845         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
9846         New func, by default returns the same caps (the identity
9847         transformation).
9848         (gst_base_transform_getcaps): Uses transform_caps to return
9849         something sensible.
9850         (gst_base_transform_setcaps): Complicated logic to get caps on
9851         both pads, even if they are different, and to call set_caps once
9852         for every time both pads get their caps set.
9853         (gst_base_transform_handle_buffer): Give the ref to the transform
9854         function. Allows in-place modification of the buffer.
9855
9856         * gst/base/gstbasetransform.h (transform_caps): New class method.
9857         Given caps on one side, what can I do on the other.
9858         (set_caps): Take two caps, one for each side of the element.
9859
9860         * gst/gstpad.h:
9861         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
9862         caps in place. This is safe because we can check the mutability of
9863         the caps, and a good idea because fixate functions are just called
9864         as a matter of last resort. (Not actually implemented.)
9865         (gst_pad_set_caps): If the caps we're setting is actually the same
9866         as the existing pad caps, just update the pointer without calling
9867         setcaps. Assert that caps is either NULL or fixed, as per the
9868         docs.
9869
9870         * gst/gstghostpad.c: Update for fixate changes.
9871
9872 2005-07-02  Andy Wingo  <wingo@pobox.com>
9873
9874         * gst/gstcaps.c:
9875         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
9876         two refcounts makes it immutable, which is enough. Doc more.
9877
9878 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
9879
9880         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
9881           Put the mini_object into GValue as a mini_object,
9882           not a gpointer, since that's how we declared
9883           the signal.
9884
9885 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9886
9887         * examples/pwg/Makefile.am:
9888           Fix buildbot again.
9889
9890 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9891
9892         * docs/pwg/building-testapp.xml:
9893           Add extra check.
9894         * examples/pwg/Makefile.am:
9895           Fix buildbot.
9896
9897 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9898
9899         * configure.ac:
9900         * examples/Makefile.am:
9901         * examples/pwg/Makefile.am:
9902         * examples/pwg/extract.pl:
9903           Enable building the PWG examples.
9904         * docs/pwg/advanced-interfaces.xml:
9905           Add URI interface stub.
9906         * docs/pwg/advanced-types.xml:
9907         * docs/pwg/other-autoplugger.xml:
9908         * docs/pwg/appendix-porting.xml:
9909         * docs/pwg/pwg.xml:
9910           Add porting guide (mostly stubs), remove autoplugging (see ADM).
9911         * docs/pwg/building-boiler.xml:
9912         * docs/pwg/building-chainfn.xml:
9913         * docs/pwg/building-pads.xml:
9914         * docs/pwg/building-props.xml:
9915         * docs/pwg/building-state.xml:
9916         * docs/pwg/building-testapp.xml:
9917           Update the building-*.xml parts for 0.9 changes. All examples
9918           code blocks compile in examples/pwg/*.
9919
9920 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9921
9922         * docs/manual/advanced-autoplugging.xml:
9923         * docs/manual/appendix-checklist.xml:
9924         * docs/manual/appendix-integration.xml:
9925         * docs/manual/highlevel-components.xml:
9926           Fix playbin/decodebin examples, update docs a bit, mention bus
9927           instead of signals in various places, mention kmplayer and
9928           kaffeine since they have a working GStreamer backend in the KDE
9929           section.
9930
9931 2005-06-30  Wim Taymans  <wim@fluendo.com>
9932
9933         * CHANGES-0.9:
9934         * docs/design/draft-ghostpads.txt:
9935         * docs/design/draft-push-pull.txt:
9936         * docs/design/draft-query.txt:
9937         * docs/design/part-TODO.txt:
9938         * docs/design/part-query.txt:
9939         Added CHANGES-0.9 doc, updated status of other docs.
9940         
9941         * gst/gstquery.h:
9942         Remove "hmm" macro
9943
9944 2005-06-30  Wim Taymans  <wim@fluendo.com>
9945
9946         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9947         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9948         (gst_base_sink_change_state):
9949         * gst/base/gstbasesink.h:
9950         Some tweaks, only EOS and a buffer complete a preroll.
9951
9952 2005-06-30  Andy Wingo  <wingo@pobox.com>
9953
9954         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
9955         activate_push down to the internal pad as well.
9956
9957 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
9958
9959         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9960
9961         * gst/gsttaginterface.c:
9962           Some documentation fixes (#307394 and #307397).
9963
9964 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
9965
9966         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9967
9968         * gst/gstvalue.c: (gst_value_intersect_list):
9969           Fix memleak (#309125).
9970
9971 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9972
9973         * docs/manual/advanced-dataaccess.xml:
9974           Fix fakesrc example to compile; doesn't work, bug somewhere...?
9975         * docs/manual/basics-pads.xml:
9976           Add reference for filtered caps to above chapter.
9977
9978 2005-06-30  Wim Taymans  <wim@fluendo.com>
9979
9980         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
9981         (gst_bin_change_state):
9982         Probes are gone.
9983         Lame attempt at making the state change function a bit
9984         more readable.
9985
9986 2005-06-30  Wim Taymans  <wim@fluendo.com>
9987
9988         * docs/design/part-clocks.txt:
9989         * docs/design/part-element-sink.txt:
9990         * docs/design/part-events.txt:
9991         * docs/design/part-preroll.txt:
9992         * docs/design/part-states.txt:
9993         Some more tweeks and additions to the docs.
9994
9995 2005-06-30  Wim Taymans  <wim@fluendo.com>
9996
9997         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9998         (default_have_data), (gst_pad_class_init), (gst_pad_init),
9999         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10000         (gst_pad_check_pull_range), (gst_pad_get_range),
10001         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
10002         * gst/gstpad.h:
10003         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
10004         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10005         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10006         (gst_pad_remove_buffer_probe):
10007         Removed atomic operations, use existing LOCK.
10008         Move exception handling out of main code path.
10009
10010 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10011
10012         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10013         (silly_return_true_function), (gst_pad_class_init),
10014         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10015         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
10016         (gst_pad_send_event):
10017           Fix accumulator, add default value by using _emitv() instead
10018           of _emit() for signal emission.
10019
10020 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10021
10022         * docs/manual/advanced-dataaccess.xml:
10023         * examples/manual/Makefile.am:
10024           Add probe example.
10025         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
10026           Make work (??).
10027
10028 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
10029
10030         * gst/elements/gstfilesink.c: (gst_filesink_render):
10031           Simplify code so that we don't have to handle short
10032           writes and return GST_FLOW_ERROR if an error occured.
10033
10034 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10035
10036         * docs/gst/gstreamer-docs.sgml:
10037           Remove probes more.
10038
10039 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10040
10041         * docs/gst/gstreamer-sections.txt:
10042         * docs/gst/tmpl/gstpad.sgml:
10043         * docs/gst/tmpl/gstprobe.sgml:
10044         * gst/Makefile.am:
10045         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10046         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
10047         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10048         (gst_pad_push_event), (gst_pad_send_event):
10049         * gst/gstpad.h:
10050         * gst/gstutils.c: (gst_pad_add_data_probe),
10051         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10052         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10053         (gst_pad_remove_buffer_probe):
10054         * gst/gstutils.h:
10055           Remove old probes, add new g-signal-based probes and some utility
10056           functions.
10057
10058 2005-06-29  Edward Hervey  <edward@fluendo.com>
10059
10060         * gst/gstelementfactory.c:
10061         * gst/gstutils.h:
10062         * gst/gstutils.c:
10063         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
10064         the definition to the header file.
10065
10066 2005-06-29  Andy Wingo  <wingo@pobox.com>
10067
10068         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
10069         plugins from the source directory.
10070
10071 2005-06-29  Wim Taymans  <wim@fluendo.com>
10072
10073         * docs/gst/tmpl/gstbuffer.sgml:
10074         * docs/gst/tmpl/gstclock.sgml:
10075         Some fixings for blantently wrong text.
10076
10077 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10078
10079         * check/Makefile.am:
10080         * gst/gst.c: (add_path_func), (init_pre):
10081         * gst/gstregistry.c: (gst_registry_add_path):
10082           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
10083           only scan the GST_PLUGIN_PATH locations, and not add
10084           system locations
10085
10086 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10087
10088         * docs/gst/gstreamer-sections.txt:
10089         * docs/gst/tmpl/gstbasesrc.sgml:
10090         * gst/gstelement.c:
10091         * gst/gstelement.h:
10092         * gst/gstevent.c:
10093         * gst/gstutils.c:
10094           doc fixes
10095
10096 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10097
10098         * docs/manual/advanced-autoplugging.xml:
10099           Fix autoplugging example.
10100
10101 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10102
10103         * docs/manual/advanced-autoplugging.xml:
10104         * docs/manual/mime-world.fig:
10105           Try to get autoplugging working, fix type detection. Fix text
10106           in hello-world image.
10107
10108 2005-06-29  Wim Taymans  <wim@fluendo.com>
10109
10110         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10111         (gst_base_sink_change_state):
10112         Small debug line.
10113
10114         * gst/gstclock.h:
10115         map SIGNAL and BROADCAST to the right function.
10116
10117         * gst/gstobject.h:
10118         Remove redundant braces.
10119
10120         * gst/gstpad.c: (gst_pad_set_caps):
10121         Don't call setcaps function when reseting caps to NULL.
10122
10123         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10124         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
10125         (gst_system_clock_id_unschedule):
10126         Use BROADCAST as this is what we do.
10127
10128 2005-06-29  Wim Taymans  <wim@fluendo.com>
10129
10130         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10131         We are actually prerolling before commiting the state
10132         change. 
10133
10134 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10135
10136         * docs/manual/advanced-clocks.xml:
10137         * docs/manual/advanced-interfaces.xml:
10138         * docs/manual/advanced-metadata.xml:
10139         * docs/manual/advanced-position.xml:
10140         * docs/manual/advanced-schedulers.xml:
10141         * docs/manual/advanced-threads.xml:
10142         * docs/manual/appendix-porting.xml:
10143         * docs/manual/basics-bins.xml:
10144         * docs/manual/basics-bus.xml:
10145         * docs/manual/basics-elements.xml:
10146         * docs/manual/basics-helloworld.xml:
10147         * docs/manual/basics-pads.xml:
10148         * docs/manual/highlevel-components.xml:
10149         * docs/manual/manual.xml:
10150         * docs/manual/thread.fig:
10151           Update (until threads/scheduling) Application Development Manual;
10152           remove GstThread, add GstBus, add simple porting checklist, add
10153           documentation for tag writing, clocks, make all examples until this
10154           part compile and run.
10155         * examples/manual/Makefile.am:
10156           Update from changes to Application Development Manual; add bus
10157           example, remove thread example.
10158
10159 2005-06-28  Wim Taymans  <wim@fluendo.com>
10160
10161         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
10162         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
10163         (gst_bus_source_dispatch):
10164         Add debugging messages.
10165         Make internal methods static.
10166         Handle the case where the bus is flushed in the handler.
10167         
10168         * gst/gstelement.c: (gst_element_get_bus):
10169         Fix refcount in _get_bus();
10170
10171         * gst/gstpipeline.c: (gst_pipeline_change_state),
10172         (gst_pipeline_get_clock_func):
10173         Clock refcounting fixes.
10174         Handle the case where preroll timed out more gracefully.
10175         
10176         * gst/gstsystemclock.c: (gst_system_clock_dispose):
10177         Clean up the internal thread in dispose. This is needed
10178         for subclasses that actually get disposed.
10179         
10180         * gst/schedulers/threadscheduler.c:
10181         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10182         (gst_thread_scheduler_dispose):
10183         Free thread pool in dispose.
10184
10185 2005-06-28  Andy Wingo  <wingo@pobox.com>
10186
10187         * tests/network-clock-utils.scm (debug, print-event): New utils.
10188
10189         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
10190         (*packet-loss*): Unified loss probability.
10191         (network-time): Report out-of-band events.
10192
10193         * tests/plot-data: Add support for out-of-band events. Hack it
10194         into this script instead of passing it down the pipe; should fix
10195         this later.
10196
10197 2005-06-28  Wim Taymans  <wim@fluendo.com>
10198
10199         * docs/gst/gstreamer.types:
10200         * docs/gst/tmpl/gstbasesrc.sgml:
10201         * docs/gst/tmpl/gstpad.sgml:
10202         Docs fixes.
10203
10204 2005-06-28  Wim Taymans  <wim@fluendo.com>
10205
10206         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10207         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
10208         (gst_proxy_pad_do_fixatecaps):
10209         Correctly proxy the check_pull_range function.
10210
10211 2005-06-28  Andy Wingo  <wingo@pobox.com>
10212
10213         * tests/network-clock.scm: Removed need for slib.
10214         
10215 2005-06-28  Wim Taymans  <wim@fluendo.com>
10216
10217         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
10218         (gst_basesink_preroll_queue_flush):
10219         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
10220         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
10221         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10222         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10223         (gst_proxy_pad_set_property):
10224         * gst/gstpad.c:
10225         * gst/gstpad.h:
10226         * gst/gstqueue.c: (gst_queue_init):
10227         The deprecated pad loop function is removed now.
10228
10229 2005-06-28  Andy Wingo  <wingo@pobox.com>
10230
10231         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
10232         New parameters, simulate network packet loss.
10233
10234         * tests/network-clock-utils.scm: Initialize the RNG.
10235
10236 2005-06-28  Wim Taymans  <wim@fluendo.com>
10237
10238         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
10239         (gst_basesink_event), (gst_basesink_deactivate):
10240         Flushing the preroll queue always needs to unlock the waiters.
10241
10242 2005-06-28  Edward Hervey  <edward@fluendo.com>
10243
10244         * gst/gstpipeline.c: (gst_pipeline_send_event): 
10245         Wheen a seek was successful on a pipeline, set the stream_time to the
10246         seek offset in order to have a synchronized stream_time.
10247
10248 2005-06-28  Wim Taymans  <wim@fluendo.com>
10249
10250         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10251         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10252         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
10253         (gst_proxy_pad_do_fixatecaps):
10254         Call wrapper function instead of just calling the function
10255         pointers. This takes care of any locking and whatmore.
10256
10257 2005-06-28  Wim Taymans  <wim@fluendo.com>
10258
10259         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10260         (gst_pad_pull_range):
10261         * gst/gstpad.h:
10262         CONNECTED -> LINKED.
10263
10264 2005-06-28  Andy Wingo  <wingo@pobox.com>
10265
10266         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10267         source-munging commit!!!
10268
10269         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
10270         (gst_object_sink): Take gpointer arguments, not GstObject --
10271         avoids casts. Like GLib.
10272
10273         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10274         activate.
10275
10276 2005-06-27  Andy Wingo  <wingo@pobox.com>
10277
10278         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10279         remaining buffer.
10280
10281         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10282         returns a sorted copy of the trace list.
10283         (gst_alloc_trace_print_live): New API, only prints traces with
10284         live objects. Sort the list.
10285         (gst_alloc_trace_print_all): Sort the list.
10286         (gst_alloc_trace_print): Align columns.
10287
10288         * gst/elements/gstttypefindelement.c:
10289         * gst/elements/gsttee.c:
10290         * gst/base/gstbasesrc.c:
10291         * gst/base/gstbasesink.c:
10292         * gst/base/gstbasetransform.c:
10293         * gst/gstqueue.c: Adapt for pad activation changes.
10294
10295         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10296         sched.
10297         (gst_pipeline_dispose): Drop ref on sched.
10298
10299         * gst/gstpad.c (gst_pad_init): Set the default activate func.
10300         (gst_pad_activate_default): Push mode by default.
10301         (pre_activate_switch, post_activate_switch): New stubs, things to
10302         do before and after switching activation modes on pads.
10303         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10304         the pad's activate function to choose which mode to activate.
10305         Shortcut on deactivation and call the right function directly.
10306         (gst_pad_activate_pull): New API, (de)activates a pad in pull
10307         mode.
10308         (gst_pad_activate_push): New API, same for push mode.
10309         (gst_pad_set_activate_function) 
10310         (gst_pad_set_activatepull_function) 
10311         (gst_pad_set_activatepush_function): Setters for new API.
10312
10313         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10314         Trace all miniobjects.
10315         (gst_mini_object_make_writable): Unref the arg if we copy, like
10316         gst_caps_make_writable.
10317
10318         * gst/gstmessage.c (_gst_message_initialize): No trace init.
10319
10320         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
10321         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10322         Adapt for new pad API.
10323
10324         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10325
10326         * gst/gstelement.h:
10327         * gst/gstelement.c (gst_element_iterate_src_pads) 
10328         (gst_element_iterate_sink_pads): New API functions.
10329         
10330         * gst/gstelement.c (iterator_fold_with_resync): New utility,
10331         should fold into gstiterator.c in some form.
10332         (gst_element_pads_activate): Simplified via use of fold and
10333         delegation of decisions to gstpad->activate.
10334
10335         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10336         help in debugging.
10337
10338         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10339         class once in init, like gstmessage. Didn't run into this issue
10340         but it seems correct. Don't initialize a trace, gstminiobject does
10341         that.
10342
10343         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10344         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10345         to the bus.
10346         (assert_live_count): New util function, uses alloc traces to check
10347         cleanup.
10348
10349         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10350         To be modified when unlink drops the internal pad.
10351
10352 2005-06-27  Wim Taymans  <wim@fluendo.com>
10353
10354         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10355         (gst_bin_change_state):
10356         Cleanup the get_state() function a little, make sure it
10357         iterates the same set of elements.
10358         Added stub iterate_state_order().
10359
10360 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10361
10362         * docs/gst/gstreamer-docs.sgml:
10363         * docs/gst/gstreamer-sections.txt:
10364         * docs/gst/gstreamer.types:
10365         * docs/gst/tmpl/gstbasesink.sgml:
10366         * docs/gst/tmpl/gstbasesrc.sgml:
10367         * docs/gst/tmpl/gstbasetransform.sgml:
10368         * docs/gst/tmpl/gstelement.sgml:
10369         * docs/gst/tmpl/gstiterator.sgml:
10370         * gst/base/gstbasesrc.c:
10371         * gst/base/gstbasesrc.h:
10372         * gst/base/gstbasetransform.h:
10373         * gst/gstelement.c:
10374         * gst/gstiterator.h:
10375           adding basetransform and iterator docs
10376
10377 2005-06-27  Andy Wingo  <wingo@pobox.com>
10378
10379         * docs/design/part-activation.txt: Notes on how activation should
10380         work -- not quite implemented yet.
10381
10382 2005-06-25  Wim Taymans  <wim@fluendo.com>
10383
10384         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10385         At least get the chain function correct, needs more
10386         fixing.
10387
10388 2005-06-25  Wim Taymans  <wim@fluendo.com>
10389
10390         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10391         (gst_basesink_handle_object), (gst_basesink_event),
10392         (gst_basesink_do_sync), (gst_basesink_handle_event),
10393         (gst_basesink_change_state):
10394         * gst/gsttask.h:
10395         Right, two problems here: ghostpads don't take locks and
10396         glib _rec_mutex_lock_full() with depth==0 still locks.
10397         Catch illegal locking and g_warn them.
10398
10399 2005-06-25  Wim Taymans  <wim@fluendo.com>
10400
10401         * check/states/sinks.c: (START_TEST), (gst_object_suite):
10402         Have to check for completion now...
10403
10404 2005-06-25  Wim Taymans  <wim@fluendo.com>
10405
10406         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10407         (gst_basesink_handle_object), (gst_basesink_event),
10408         (gst_basesink_do_sync), (gst_basesink_handle_event),
10409         (gst_basesink_change_state):
10410         * gst/gstpad.h:
10411         Unlock STREAM_LOCK whatever the recursion was.
10412
10413 2005-06-25  Wim Taymans  <wim@fluendo.com>
10414
10415         * gst/base/gstbasesink.c: (gst_basesink_set_property),
10416         (gst_basesink_preroll_queue_empty),
10417         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10418         (gst_basesink_event), (gst_basesink_do_sync),
10419         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10420         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10421         (gst_basesink_change_state):
10422         Reworked the base sink, handle event and buffer serialisation
10423         correctly and removed possible deadlock.
10424         Handle EOS correctly.
10425
10426 2005-06-25  Wim Taymans  <wim@fluendo.com>
10427
10428         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10429         (gst_pipeline_change_state):
10430         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10431         Allow elements to post EOS in the state change function.
10432         Fix up -launch, make it exit the poll loop when the
10433         pipeline actually changed state.
10434         Fix up warning parsing in -launch.
10435
10436 2005-06-25  Wim Taymans  <wim@fluendo.com>
10437
10438         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10439         (gst_tee_sink_activate):
10440         Core takes STREAM_LOCK for us now.
10441
10442 2005-06-25  Wim Taymans  <wim@fluendo.com>
10443
10444         * gst/gstelement.c: (gst_element_get_state_func),
10445         (gst_element_set_state):
10446         * gst/gstelement.h:
10447         * gst/gstmessage.c: (gst_message_parse_error),
10448         (gst_message_parse_warning):
10449         Keep track of current target state while performing a state
10450         change so that subclasses can do something interesting.
10451         Fix parsing of warning/error messages when GError is NULL.
10452
10453 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10454
10455         * docs/gst/Makefile.am:
10456         * docs/gst/gstreamer-docs.sgml:
10457         * docs/gst/gstreamer-sections.txt:
10458         * docs/gst/gstreamer.types:
10459         * docs/gst/tmpl/gstbasesink.sgml:
10460         * docs/gst/tmpl/gstbasesrc.sgml:
10461         * docs/gst/tmpl/gstbin.sgml:
10462         * docs/gst/tmpl/gstcompat.sgml:
10463         * docs/gst/tmpl/gstfakesink.sgml:
10464         * docs/gst/tmpl/gstfakesrc.sgml:
10465         * docs/gst/tmpl/gstfilesink.sgml:
10466         * docs/gst/tmpl/gstfilesrc.sgml:
10467         * docs/gst/tmpl/gstindex.sgml:
10468         * docs/manual/appendix-quotes.xml:
10469         * gst/base/gstbasesrc.h:
10470         * gst/elements/gstfakesrc.h:
10471         * gst/gstmessage.h:
10472           start pulling in base classes and elements in our docs
10473
10474 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
10475
10476         * docs/gst/Makefile.am:
10477         * docs/libs/Makefile.am:
10478           fixed make distcheck with gtk-doc 1.3
10479
10480 2005-06-23  Wim Taymans  <wim@fluendo.com>
10481
10482         * gst/gstelement.c: (gst_element_get_state_func),
10483         (gst_element_set_state), (gst_element_change_state):
10484         When the state did not change, also report NO_PREROLL
10485         when it matters.
10486
10487 2005-06-23  Wim Taymans  <wim@fluendo.com>
10488
10489         * gst/gstpad.c: (gst_pad_event_default):
10490         * gst/gstqueue.c: (gst_queue_loop):
10491         No unsafe task pausing please.
10492
10493 2005-06-23  Wim Taymans  <wim@fluendo.com>
10494
10495         * gst/schedulers/threadscheduler.c:
10496         (gst_thread_scheduler_task_start),
10497         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
10498         Ref the task before pushing it on the threadpool. This
10499         makes sure that we have a ref when the threadfunction is
10500         actually called.
10501
10502 2005-06-23  Andy Wingo  <wingo@pobox.com>
10503
10504         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
10505         offset is greater than the file's size.
10506
10507         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
10508         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
10509         * gst/gstobject.c (gst_object_class_init): Make the class lock
10510         recursive. Wim won't let me drop deep_notify. Decodebin works
10511         again, whoopdy doo.
10512
10513         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
10514         internal pad, and hacks accordingly. Doesn't do it on the target
10515         pad because we change its caps. Probably catches all cases of
10516         interest tho.
10517         (gst_ghost_pad_set_property): Connect to notify::caps as
10518         appropritate.
10519
10520         * tests/network-clock.scm (plot-simulation): Pipe data to the
10521         elite python skript.
10522
10523         * tests/network-clock-utils.scm (define-parameter): New macro,
10524         defines a parameter that can be set via the command line.
10525         (set-parameter!, parse-parameter-arguments): Command line args
10526         parser.
10527
10528         * tests/plot-data: Simple matplotlib-based plotter, takes input on
10529         stdin.
10530
10531 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
10532
10533         * gst/elements/gsttypefindelement.c:
10534         (gst_type_find_element_handle_event):
10535           Don't restart typefinding on a discont.
10536         * gst/gstelement.c: (gst_element_set_state):
10537           Debug spelling fix.
10538         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
10539           Allow changing mode of an active pad.
10540           Debug output fixes.
10541         * gst/registries/gstlibxmlregistry.c: (load_feature):
10542           Don't cast a static pad template to a normal pad template.
10543
10544 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10545
10546         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10547         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10548           remove gst_strtoll completely, since it didn't actually do
10549           anything more than what g_ascii_strtoull already does.
10550           check for range errors when deserializing
10551           do a cast for the unsigned cases; but further fixing needs
10552           a decision on what the interpretation of "(int)" and
10553           deserialization should be for values that fall outside the
10554           type's boundaries (ie, refuse, or interpret as casting)
10555
10556 2005-06-23  Wim Taymans  <wim@fluendo.com>
10557
10558         * check/Makefile.am:
10559         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
10560         * docs/design/part-live-source.txt:
10561         * docs/design/part-states.txt:
10562         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10563         (gst_basesrc_set_live), (gst_basesrc_is_live),
10564         (gst_basesrc_get_range), (gst_basesrc_activate),
10565         (gst_basesrc_change_state):
10566         * gst/base/gstbasesrc.h:
10567         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10568         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10569         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
10570         * gst/gstelement.c: (gst_element_get_state_func),
10571         (gst_element_set_state):
10572         * gst/gstelement.h:
10573         * gst/gsttypes.h:
10574         * tools/gst-launch.c: (event_loop), (main):
10575         Added support for live sources and other elements that
10576         cannot do preroll.
10577         Updated design docs, added live-source design doc.
10578         Implemented live source functionality in basesrc
10579         Fix error condition in _bin_get_state()
10580         Implement live source handling in -launch.
10581         Added check for live sources.
10582         Fixed case in GstBin where elements were changed state
10583         multiple times.
10584
10585
10586 2005-06-23  Andy Wingo  <wingo@pobox.com>
10587
10588         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
10589         borken refcounting.
10590
10591         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
10592         gst_caps_replace takes care of this for us.
10593
10594         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
10595         gst_pad_set_caps on the target, not just its setcaps() function.
10596
10597         * tests/network-clock.scm: 
10598         * tests/network-clock-utils.scm: A network clock simulator.
10599         Something of an algorithmic testbed before doing something in C.
10600
10601 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10602
10603         * check/Makefile.am:
10604         * check/gst/capslist.h:
10605           copy over from 0.8, and add two with bitmasks specified with
10606           (int) 0xFF...
10607         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10608           add test to parse everything from capslist.h
10609         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
10610         (main):
10611           add test for structure deserialization
10612         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10613           add tests for deserialization of strings to int types
10614         * gst/gststructure.c: (gst_structure_nth_field_name):
10615         * gst/gststructure.h:
10616           add a way to get the name of a field referenced by index
10617         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10618           instead of checking if the resulting long long lies between
10619           min and max, we check if the long long would fit into
10620           a number of bytes for the final type.
10621           This fixes cases where a string represents 2^32 - 1, which
10622           when cast to int would be the (valid) -1, but is bigger than
10623           G_MAXINT
10624
10625 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10626
10627         * gst/parse/grammar.y:
10628           add a log line for type deserialization
10629
10630 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10631
10632         * check/gst/gstvalue.c: (START_TEST):
10633         * gst/gstvalue.c: (gst_value_deserialize):
10634           return long long, not int, so gint64 deserialization actually
10635           works.  Is there any flag that makes the compiler check this ?
10636           Fixes #308559
10637
10638 2005-06-22  Wim Taymans  <wim@fluendo.com>
10639
10640         * gst/gstbuffer.h:
10641         Added convenience macros for setting buffers in GValue.
10642
10643 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10644
10645         * check/gst/.cvsignore:
10646         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10647           add a test deserializing int64, and comment part out because
10648           it fails, yay !
10649
10650 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10651
10652         * check/Makefile.am:
10653         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
10654         * testsuite/Makefile.am:
10655         * testsuite/caps/Makefile.am:
10656         * testsuite/caps/value_serialize.c:
10657         * testsuite/test_gst_init.c:
10658           move a value_serialize test over
10659
10660 2005-06-20  Wim Taymans  <wim@fluendo.com>
10661
10662         * gst/gstpad.c:
10663         Small doc updates.
10664         
10665         * gst/gstvalue.c: (gst_value_compare_buffer),
10666         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
10667         (gst_value_compare_flags), (gst_value_serialize_flags),
10668         (gst_value_deserialize_flags), (_gst_value_initialize):
10669         Fix serialisation of buffers, they are not boxed types anymore
10670
10671 2005-06-20  Wim Taymans  <wim@fluendo.com>
10672
10673         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10674         Testcase to show error in buffer-on-caps serialisation.
10675
10676 2005-06-20  Andy Wingo  <wingo@pobox.com>
10677
10678         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
10679         will be adding to later.
10680
10681         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
10682         if its socks fill with rocks.
10683         (gst_system_clock_obtain): Set the name on object construction.
10684         Avoid double-checked locking.
10685
10686 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
10687
10688         * gst/gsturi.c: (gst_element_make_from_uri):
10689           Fix potential endless loop.
10690
10691 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10692
10693         * check/Makefile.am:
10694           add gsttag
10695         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
10696         (main):
10697           move over from testsuite dir and clean up
10698         * configure.ac:
10699         * gst/gsttag.c:
10700         * testsuite/Makefile.am:
10701         * testsuite/tags/.cvsignore:
10702         * testsuite/tags/Makefile.am:
10703         * testsuite/tags/merge.c:
10704           remove testsuite/tags
10705
10706 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10707
10708         * docs/gst/gstreamer-sections.txt:
10709         * docs/gst/tmpl/gstenumtypes.sgml:
10710         * win32/gstenumtypes.c:
10711           clean up documentation build a little
10712
10713 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10714
10715         * check/gstcheck.h:
10716           add macros for checking refcounts on objects and caps
10717         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
10718           add some more unit tests
10719         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
10720         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
10721           fix leaked refcounts (I hope :)) so unittest works
10722         * gst/gstpad.h:
10723           whitespace removal
10724
10725 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10726
10727         * configure.ac: back to HEAD
10728
10729 === release 0.9.1 ===
10730
10731 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10732
10733         * NEWS:
10734         * RELEASE:
10735           updated
10736
10737 2005-06-17  Andy Wingo  <wingo@pobox.com>
10738
10739         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
10740         assert; it's always possible that the pad gets deactivated in
10741         between the checks in gstpad.c and the implementation. Rely on
10742         finish_preroll() to return a FLUSHING or similar instead of on the
10743         assert.
10744         
10745         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
10746         clock and post an EOS message if we come out of finish_preroll in
10747         the playing state.
10748
10749 2005-06-16  David Schleef  <ds@schleef.org>
10750
10751         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
10752         (gst_capsfilter_set_property): Allow NULL as possible value
10753         for filter_caps property, indicating GST_CAPS_ANY.
10754
10755 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10756
10757         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
10758           fix debug output
10759         * gst/schedulers/Makefile.am:
10760           use libgst prefix
10761         * gstreamer.spec.in:
10762           fix spec for it
10763
10764 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10765
10766         * gstreamer.spec.in:
10767           clean up
10768
10769 2005-06-08  Andy Wingo  <wingo@pobox.com>
10770
10771         * gst/gstutils.c: RPAD fixes all around.
10772         (gst_element_link_pads): Refcounting fixes.
10773
10774         * tools/gst-inspect.c:
10775         * tools/gst-xmlinspect.c:
10776         * parse/grammar.y:
10777         * gst/base/gsttypefindhelper.c:
10778         * gst/base/gstbasesink.c:
10779         * gst/gstqueue.c: RPAD fixes.
10780
10781         * gst/gstghostpad.h:
10782         * gst/gstghostpad.c: New ghost pad implementation as full proxy
10783         pads. The tricky thing is they provide both source and sink
10784         interfaces, since they proxy the internal pad for the external
10785         pad, and vice versa. Implement with lower-level ProxyPad objects,
10786         with the interior proxy pad as a child of the exterior ghost pad.
10787         Should write a doc on this.
10788         
10789         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
10790         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
10791         gst_object API.
10792         
10793         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
10794         pads are real pads. No ghost pads in this file. Not documenting
10795         the myriad s/RPAD/PAD/ and REALIZE fixes.
10796         (gst_pad_class_init): Add properties for "direction" and
10797         "template". Both are construct-only, so they can't change during
10798         the life of the pad. Fixes properly deriving from GstPad.
10799         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
10800         derived objects, just set properties when creating the objects via
10801         g_object_new.
10802         (gst_pad_get_parent): Implement as a function, return NULL if the
10803         parent is not an element.
10804         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
10805         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
10806         
10807         * gst/gstobject.c (gst_object_class_init): Make name a construct
10808         property. Don't set it in the object init.
10809
10810         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
10811         with UNKNOWN direction.
10812         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
10813         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
10814         (gst_element_remove_pad): Remove ghost-pad special cases.
10815         (gst_element_pads_activate): Remove rpad cruft.
10816
10817         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
10818         catch the pad's-parent-not-an-element case.
10819
10820         * gst/gst.h: Include gstghostpad.h.
10821
10822         * gst/gst.c (init_post): No more real, ghost pads.
10823
10824         * gst/Makefile.am: Add gstghostpad.[ch].
10825
10826         * check/Makefile.am:
10827         * check/gst/gstbin.c:
10828         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
10829         into a bin creates ghost pads, and that the refcounts are right.
10830         Partly moved from gstbin.c.
10831
10832 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10833
10834         * check/gst-libs/.cvsignore:
10835         * check/gst/.cvsignore:
10836         * check/pipelines/.cvsignore:
10837           ignore more
10838         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
10839         (START_TEST), (cleanup_suite), (main):
10840           add some tests related to cleanup after running pipelines
10841
10842 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10843
10844         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
10845           add a testsuite for GstBuffer
10846
10847 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10848
10849         * gst/gstminiobject.h:
10850           add defines for accessing the refcount
10851
10852 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
10853
10854         * Makefile.am: added support for html unit test coverage reports
10855
10856 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
10857
10858         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
10859           Free existing caps if the capsfilter changes. Add a FIXME about
10860           setting those caps on the pads.
10861
10862         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
10863           Before adding a ghost pad to a parent bin, check that there isn't
10864           already one for the element on the bin. Prevents infinite recursion
10865           when using decodebin in parse pipelines. Andy says he'll rewrite the
10866           way this works anyway, so ignore the hack.
10867
10868 2005-06-02  Andy Wingo  <wingo@pobox.com>
10869
10870         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
10871         file size, pass it on to the type find helper.
10872
10873         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
10874         segment_start and segment_end properly according to the seek
10875         method. Segment_end is still a bit flaky because offset can be
10876         negative for CUR and END cases, but it takes -1 as an "unset"
10877         value.
10878
10879 2005-06-02  Wim Taymans  <wim@fluendo.com>
10880
10881         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
10882         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
10883         (gst_basesink_activate):
10884         * gst/base/gstbasesink.h:
10885         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10886         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10887         (gst_pad_query), (gst_pad_start_task):
10888         * gst/gstpad.h:
10889         * gst/gstqueue.c: (gst_queue_bufferalloc),
10890         (gst_queue_handle_sink_event), (gst_queue_chain):
10891         Bufferalloc: return GstFlowReturn to more accuratly report
10892         why allocation failed.
10893
10894 2005-06-02  Wim Taymans  <wim@fluendo.com>
10895
10896         * gst/gstpipeline.c: (gst_pipeline_send_event):
10897         Take snapshot of state without blocking.
10898
10899 2005-06-02  Wim Taymans  <wim@fluendo.com>
10900
10901         * docs/design/part-TODO.txt:
10902         * docs/design/part-caps.txt:
10903         * docs/design/part-clocks.txt:
10904         * docs/design/part-negotiation.txt:
10905         * docs/design/part-preroll.txt:
10906         Small doc updates 
10907
10908 2005-05-30  Wim Taymans  <wim@fluendo.com>
10909
10910         * gst/elements/gstidentity.c: (gst_identity_event),
10911         (gst_identity_transform), (gst_identity_get_property):
10912         Protect last_message property as it is accessed from
10913         multiple threads.
10914
10915 2005-05-30  Wim Taymans  <wim@fluendo.com>
10916
10917         * gst/gstelement.c: (gst_element_init),
10918         (gst_element_pads_activate), (gst_element_change_state):
10919         Slicker pad activation code.
10920
10921 2005-05-30  Wim Taymans  <wim@fluendo.com>
10922
10923         * gst/Makefile.am:
10924         * gst/gstelement.h:
10925         * gst/gstelementfactory.h:
10926         * gst/gsttypes.h:
10927         Move elementfactory methods to separate .h file.
10928
10929 2005-05-30  Wim Taymans  <wim@fluendo.com>
10930
10931         * docs/design/part-overview.txt:
10932         * gst/gstsystemclock.h:
10933         Small typo fixes, doc updates.
10934
10935 2005-05-30  Wim Taymans  <wim@fluendo.com>
10936
10937         * gst/gst.c: (gst_init_get_popt_table), (init_post),
10938         (init_popt_callback):
10939         Remove cpu-opt flag.
10940
10941 2005-05-30  Wim Taymans  <wim@fluendo.com>
10942
10943         * gst/gstbuffer.c: (gst_subbuffer_finalize),
10944         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
10945         * gst/gstbuffer.h:
10946         Avoid typechecking in places where not needed.
10947         Added accessor for malloc_data.
10948
10949 2005-05-30  Wim Taymans  <wim@fluendo.com>
10950
10951         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
10952         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
10953         (gst_pad_configure_sink), (gst_pad_configure_src),
10954         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
10955         (gst_pad_start_task):
10956         Propagate errors from _set_caps() in configure_src/sink
10957         functions instead of returning TRUE.
10958         FLUSH events can travel up and downstream
10959
10960
10961 2005-05-30  Wim Taymans  <wim@fluendo.com>
10962
10963         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10964         (gst_basesink_activate):
10965         Handle EOS in preroll.
10966
10967 2005-05-30  Wim Taymans  <wim@fluendo.com>
10968
10969         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10970         (gst_queue_loop), (gst_queue_handle_src_event):
10971         Remove old pieces of code
10972         Flushing the queue in an upstream event is a very bad idea.
10973
10974 2005-05-26  Andy Wingo  <wingo@pobox.com>
10975
10976         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
10977         gst_value_set_mini_object so as to add a ref on the object (which
10978         will be removed when the value is unset).
10979
10980         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
10981         arg type in ::handoff.
10982
10983         * gst/gstelement.c (gst_element_change_state): Also deactivate
10984         pads in READY->NULL, just in case the element didn't make it to
10985         PAUSED. Wingo tested, Wim approved.
10986
10987 2005-05-26  Wim Taymans  <wim@fluendo.com>
10988
10989         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10990         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10991         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
10992         A flushing pad cannot be used to alloc_buffer from.
10993
10994 2005-05-26  Wim Taymans  <wim@fluendo.com>
10995
10996         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
10997         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
10998         (gst_bus_source_dispatch), (gst_bus_source_finalize),
10999         (gst_bus_create_watch), (gst_bus_add_watch_full):
11000         * gst/gstbus.h:
11001         Implement a real GSource and use g_main_context_wakeup() to
11002         signal new messages instead of the socketpair.
11003
11004 2005-05-25  Wim Taymans  <wim@fluendo.com>
11005
11006         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
11007         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
11008         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11009         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11010         (gst_pad_send_event), (gst_pad_start_task):
11011         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
11012         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
11013         (gst_queue_sink_activate), (gst_queue_src_activate),
11014         (gst_queue_change_state):
11015         * gst/gstqueue.h:
11016         Fix state changes for non sinks. We now change sinks, then elements
11017         with unconnected srcpads, then the rest.
11018         More efficient queue unlocking in flush and state changes.
11019         Set the pad activate mode even if it does not have an activate
11020         function.
11021
11022 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11023
11024         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
11025           Don't go in pull mode for non-seekable sources.
11026         * gst/elements/gsttypefindelement.h:
11027         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11028         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
11029         (free_entry), (stop_typefinding),
11030         (gst_type_find_element_handle_event), (find_peek),
11031         (gst_type_find_element_chain), (do_pull_typefind),
11032         (gst_type_find_element_change_state):
11033           Allow typefinding (w/o seeking) in push-mode, simplified version
11034           of what was in 0.8.
11035         * gst/gstutils.c: (gst_buffer_join):
11036         * gst/gstutils.h:
11037           gst_buffer_join() from 0.8.
11038
11039 2005-05-25  Wim Taymans  <wim@fluendo.com>
11040
11041         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11042         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11043         (gst_pad_send_event), (gst_pad_start_task):
11044         Disable attempt at mode switching until it is figured out.
11045
11046 2005-05-25  Wim Taymans  <wim@fluendo.com>
11047
11048         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
11049         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11050         (gst_basesink_finish_preroll), (gst_basesink_chain),
11051         (gst_basesink_loop), (gst_basesink_activate),
11052         (gst_basesink_change_state):
11053         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
11054         (gst_basesrc_get_range), (gst_basesrc_loop),
11055         (gst_basesrc_activate):
11056         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11057         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
11058         (gst_real_pad_init), (gst_real_pad_set_property),
11059         (gst_real_pad_get_property), (gst_pad_set_active),
11060         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
11061         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
11062         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
11063         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
11064         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11065         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
11066         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
11067         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11068         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
11069         (gst_pad_stop_task):
11070         * gst/gstpad.h:
11071         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11072         (gst_queue_loop), (gst_queue_src_activate):
11073         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
11074         (gst_task_get_state):
11075         * gst/gsttask.h:
11076         * gst/schedulers/threadscheduler.c:
11077         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
11078         Implement gst_pad_pause/start/stop_task(), take STREAM lock
11079         in task function.
11080         Remove ACTIVE pad flag, use FLUSHING everywhere
11081         Added _pad_chain(), _pad_get_range() to call chain/getrange 
11082         functions.
11083         Add locks around IS_FLUSHING when reading.
11084         Take STREAM lock in chain(), get_range() functions so plugins
11085         don't need to take it anymore.
11086         
11087
11088
11089 2005-05-25  Wim Taymans  <wim@fluendo.com>
11090
11091         * tools/gst-launch.c: (event_loop):
11092         Unref message after using its contents instead of
11093         before.
11094
11095 2005-05-24  Wim Taymans  <wim@fluendo.com>
11096
11097         * docs/design/draft-ghostpads.txt:
11098         * docs/design/draft-push-pull.txt:
11099         * docs/design/draft-query.txt:
11100         * docs/design/part-overview.txt:
11101         Docs updates, added general overview doc.
11102
11103 2005-05-21  David Schleef  <ds@schleef.org>
11104
11105         * docs/gst/tmpl/old/GstBin.sgml:
11106         * docs/gst/tmpl/old/GstBuffer.sgml:
11107         * docs/gst/tmpl/old/GstCaps.sgml:
11108         * docs/gst/tmpl/old/GstClock.sgml:
11109         * docs/gst/tmpl/old/GstCompat.sgml:
11110         * docs/gst/tmpl/old/GstData.sgml:
11111         * docs/gst/tmpl/old/GstElement.sgml:
11112         * docs/gst/tmpl/old/GstEvent.sgml:
11113         * docs/gst/tmpl/old/GstIndex.sgml:
11114         * docs/gst/tmpl/old/GstStructure.sgml:
11115         * docs/gst/tmpl/old/GstTag.sgml:
11116         * docs/gst/tmpl/old/cothreads.sgml:
11117         * docs/gst/tmpl/old/cothreads_compat.sgml:
11118         * docs/gst/tmpl/old/gettext.sgml:
11119         * docs/gst/tmpl/old/gobject2gtk.sgml:
11120         * docs/gst/tmpl/old/grammar.tab.sgml:
11121         * docs/gst/tmpl/old/gst-i18n-app.sgml:
11122         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
11123         * docs/gst/tmpl/old/gst_private.sgml:
11124         * docs/gst/tmpl/old/gstaggregator.sgml:
11125         * docs/gst/tmpl/old/gstarch.sgml:
11126         * docs/gst/tmpl/old/gstatomic_impl.sgml:
11127         * docs/gst/tmpl/old/gstbufferstore.sgml:
11128         * docs/gst/tmpl/old/gstdata_private.sgml:
11129         * docs/gst/tmpl/old/gstdisksink.sgml:
11130         * docs/gst/tmpl/old/gstdisksrc.sgml:
11131         * docs/gst/tmpl/old/gstelementfactory.sgml:
11132         * docs/gst/tmpl/old/gstextratypes.sgml:
11133         * docs/gst/tmpl/old/gstfakesink.sgml:
11134         * docs/gst/tmpl/old/gstfakesrc.sgml:
11135         * docs/gst/tmpl/old/gstfdsink.sgml:
11136         * docs/gst/tmpl/old/gstfdsrc.sgml:
11137         * docs/gst/tmpl/old/gstfilesink.sgml:
11138         * docs/gst/tmpl/old/gstfilesrc.sgml:
11139         * docs/gst/tmpl/old/gsthttpsrc.sgml:
11140         * docs/gst/tmpl/old/gstidentity.sgml:
11141         * docs/gst/tmpl/old/gstindexfactory.sgml:
11142         * docs/gst/tmpl/old/gstmarshal.sgml:
11143         * docs/gst/tmpl/old/gstmd5sink.sgml:
11144         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
11145         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
11146         * docs/gst/tmpl/old/gstpadtemplate.sgml:
11147         * docs/gst/tmpl/old/gstpipefilter.sgml:
11148         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
11149         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
11150         * docs/gst/tmpl/old/gstshaper.sgml:
11151         * docs/gst/tmpl/old/gstspider.sgml:
11152         * docs/gst/tmpl/old/gstspideridentity.sgml:
11153         * docs/gst/tmpl/old/gststatistics.sgml:
11154         * docs/gst/tmpl/old/gsttee.sgml:
11155         * docs/gst/tmpl/old/gsttimecache.sgml:
11156         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
11157         * docs/gst/tmpl/old/gstxmlregistry.sgml:
11158         * docs/gst/tmpl/old/gthread-cothreads.sgml:
11159         * docs/gst/tmpl/old/types.sgml:
11160           I didn't intend to add these or check them in.
11161
11162 2005-05-19  David Schleef  <ds@schleef.org>
11163
11164         * configure.ac: Use -no-common everywhere.  In a sane world, it
11165           would be the default in libtool, because without it, you can't
11166           build DLLs on Windows.
11167         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
11168         * docs/gst/gstreamer-sections.txt:
11169         * docs/gst/tmpl/gstcpu.sgml:
11170         * docs/gst/tmpl/gstdata.sgml:
11171         * docs/gst/tmpl/gstthread.sgml:
11172
11173 2005-05-19  David Schleef  <ds@schleef.org>
11174
11175         * gst/gstminiobject.c: (gst_value_set_mini_object),
11176         (gst_value_take_mini_object), (gst_value_get_mini_object):
11177         * gst/gstminiobject.h: Add GValue set/get functions.
11178
11179 2005-05-19  Wim Taymans  <wim@fluendo.com>
11180
11181         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
11182         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
11183         (gst_subbuffer_init), (gst_buffer_is_span_fast):
11184         * gst/gstbuffer.h:
11185         * gst/gstbus.c: (gst_bus_post):
11186         * gst/gstelement.c: (gst_element_get_random_pad):
11187         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
11188         Make subbufer unref the parent in finalize.
11189         some more debugging info.
11190
11191
11192 2005-05-19  Wim Taymans  <wim@fluendo.com>
11193
11194         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11195         (gst_basesink_init), (gst_basesink_finalize),
11196         (gst_basesink_activate), (gst_basesink_change_state):
11197         Don't free preroll queue too early.
11198
11199 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11200
11201         * gst/Makefile.am:
11202         * gst/ROADMAP:
11203           Hi, I'm outdated. Please shoot me.
11204
11205 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11206
11207         * gst/gstpipeline.c: (gst_pipeline_send_event):
11208           Do not access variables after they have been deleted.
11209
11210 2005-05-19  Wim Taymans  <wim@fluendo.com>
11211
11212         * tools/gst-inspect.c: (print_plugin_features):
11213         A plugin feature does unfortunatly not use the
11214         object name yet...
11215
11216 2005-05-18  Wim Taymans  <wim@fluendo.com>
11217
11218         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
11219         Port _span() functions to new subbuffers.
11220
11221 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11222
11223         * gst/gstbin.c: (gst_bin_add_func):
11224           Fix clock settery in bins when adding kids after the clock has
11225           been selected.
11226
11227 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11228
11229         * gst/elements/gstidentity.c: (gst_identity_class_init):
11230           Workaround until signals support GstMiniObject.
11231
11232 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
11233
11234         * gst/gstbuffer.c:
11235         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11236
11237 2005-05-18  Wim Taymans  <wim@fluendo.com>
11238
11239         * gst/base/Makefile.am:
11240         * gst/base/gstadapter.c: (gst_adapter_base_init),
11241         (gst_adapter_class_init), (gst_adapter_init),
11242         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
11243         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
11244         (gst_adapter_flush), (gst_adapter_available),
11245         (gst_adapter_available_fast):
11246         * gst/base/gstadapter.h:
11247         Ported and added adapter to the base classes.
11248
11249 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11250
11251         * gst/gst.c:
11252         * gst/gstmessage.c:
11253           Make sure the class is reffed/unreffed once before threads can be
11254           used.  Fixes #304551.
11255
11256 2005-05-17  Wim Taymans  <wim@fluendo.com>
11257
11258         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11259         (gst_basesink_chain_unlocked), (gst_basesink_activate):
11260         * gst/gstminiobject.c: (gst_mini_object_get_type),
11261         (gst_mini_object_free):
11262         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11263         (gst_pad_push), (gst_pad_push_event):
11264         * gst/gstqueue.c: (gst_queue_change_state):
11265         Don't queue buffers in basesink when we are flushing.
11266         Unref buffer when flushing in basesink.
11267         Flush queue when going to READY
11268         Unref buffer when _push() returns an error.
11269         Don't free MiniObject instance when refcount is incremented
11270         in _finalize() so that we can recover objects.
11271
11272 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11273
11274         * docs/manual/advanced-schedulers.xml:
11275         * docs/manual/appendix-checklist.xml:
11276         * docs/pwg/advanced-clock.xml:
11277         * docs/pwg/advanced-interfaces.xml:
11278         * docs/pwg/advanced-request.xml:
11279         * docs/pwg/advanced-types.xml:
11280         * docs/pwg/intro-preface.xml:
11281         * examples/plugins/example.c: (gst_example_get_type),
11282         (gst_example_class_init), (gst_example_chain),
11283         (gst_example_set_property), (gst_example_get_property),
11284         (gst_example_change_state), (plugin_init):
11285         * examples/plugins/example.h:
11286           small doc fixes
11287
11288 2005-05-17  Wim Taymans  <wim@fluendo.com>
11289
11290         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11291         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11292         * gst/gstqueue.c: (gst_queue_change_state):
11293         Clear queue when going to READY.
11294         Remove IN_SETCAPS flag too.
11295
11296 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
11297
11298         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11299           Remove implicit cast from gboolean to GstElementStateReturn;
11300           make sure we still return failure in paused => ready case if
11301           the parent class fails to change state and our own stop 
11302           vfunc succeeds.
11303
11304 2005-05-17  Wim Taymans  <wim@fluendo.com>
11305
11306         * tools/gst-launch.c: (event_loop):
11307         Message was unreffed too soon.
11308
11309 2005-05-16  Andy Wingo  <wingo@pobox.com>
11310
11311         * gst/gstbin.c (sink_iterator_filter): Err... um...
11312
11313         * check/gst/gstbin.c (test_ghost_pads): New test for the
11314         ghosting-if-elements-not-in-same-bin behavior.
11315
11316 2005-05-16  David Schleef  <ds@schleef.org>
11317
11318         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11319         accessing refcount directly.
11320
11321 2005-05-15  David Schleef  <ds@schleef.org>
11322
11323         * check/Makefile.am: remove GstData checks
11324         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11325         * gst/Makefile.am: add miniobject, remove data
11326         * gst/gst.h: add miniobject, remove data
11327         * gst/gstdata.c: remove
11328         * gst/gstdata.h: remove
11329         * gst/gstdata_private.h: remove
11330         * gst/gsttypes.h: remove GstEvent and GstMessage
11331         * gst/gstelement.c: (gst_element_post_message): fix for API changes
11332         * gst/gstmarshal.list: change BOXED -> OBJECT
11333
11334         Implement GstMiniObject.
11335         * gst/gstminiobject.c:
11336         * gst/gstminiobject.h:
11337
11338         Modify to be subclasses of GstMiniObject.
11339         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11340         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11341         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11342         (gst_subbuffer_get_type), (gst_subbuffer_init),
11343         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11344         (gst_buffer_span):
11345         * gst/gstbuffer.h:
11346         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11347         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11348         (_gst_event_copy), (gst_event_new):
11349         * gst/gstevent.h:
11350         * gst/gstmessage.c: (_gst_message_initialize),
11351         (gst_message_get_type), (gst_message_class_init),
11352         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11353         (gst_message_new), (gst_message_new_error),
11354         (gst_message_new_warning), (gst_message_new_tag),
11355         (gst_message_new_state_changed), (gst_message_new_application):
11356         * gst/gstmessage.h:
11357         * gst/gstprobe.c: (gst_probe_perform),
11358         (gst_probe_dispatcher_dispatch):
11359         * gst/gstprobe.h:
11360         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11361         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11362         (_gst_query_copy), (gst_query_new):
11363
11364         Update elements for GstData -> GstMiniObject changes
11365         * gst/gstquery.h:
11366         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11367         (gst_queue_chain), (gst_queue_loop):
11368         * gst/elements/gstbufferstore.c:
11369         (gst_buffer_store_add_buffer_func),
11370         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11371         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11372         (gst_fakesink_render):
11373         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11374         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11375         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11376         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11377         (gst_filesrc_create_read):
11378         * gst/elements/gstidentity.c: (gst_identity_class_init):
11379         * gst/elements/gsttypefindelement.c:
11380         (gst_type_find_element_src_event), (free_entry_buffers),
11381         (gst_type_find_element_handle_event):
11382         * libs/gst/dataprotocol/dataprotocol.c:
11383         (gst_dp_header_from_buffer):
11384         * libs/gst/dataprotocol/dataprotocol.h:
11385         * libs/gst/dataprotocol/dp-private.h:
11386
11387 2005-05-15  David Schleef  <ds@schleef.org>
11388
11389         * gst/elements/gstelements.c: Don't include headers that were
11390         just removed.
11391
11392 2005-05-15  David Schleef  <ds@schleef.org>
11393
11394         * gst/elements/Makefile.am: Remove some elements that don't
11395         need to be in the core (or even exist at all).
11396         * gst/elements/gstaggregator.c:
11397         * gst/elements/gstaggregator.h:
11398         * gst/elements/gstmd5sink.c:
11399         * gst/elements/gstmd5sink.h:
11400         * gst/elements/gstmultifilesrc.c:
11401         * gst/elements/gstmultifilesrc.h:
11402         * gst/elements/gstpipefilter.c:
11403         * gst/elements/gstpipefilter.h:
11404         * gst/elements/gstshaper.c:
11405         * gst/elements/gstshaper.h:
11406         * gst/elements/gststatistics.c:
11407         * gst/elements/gststatistics.h:
11408         * po/POTFILES.in: Remove above files.
11409
11410 2005-05-14  Andy Wingo  <wingo@pobox.com>
11411
11412         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11413         so as to get the refs right.
11414         (sink_iterator_filter): New function, wraps bin_element_is_sink,
11415         unreffing objects that don't pass the filter.
11416
11417         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11418         gst_element_set_bus.
11419         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11420         normal cases, this will destroy the bus.
11421
11422         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11423         object.
11424
11425         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11426         has no sinks.
11427
11428 2005-05-13  Andy Wingo  <wingo@pobox.com>
11429
11430         * gst/gstutils.c (gst_element_link_pads): Instead of calling
11431         gst_pad_link, call pad_link_maybe_ghosting,
11432         (pad_link_maybe_ghosting): Links pads, making sure that the
11433         elements being linked are in the same bin.
11434         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11435         Helpers for pad_link_maybe_ghosting.
11436
11437 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11438
11439         * configure.ac:
11440           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11441
11442 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11443
11444         * docs/design/part-element-source.txt:
11445           Mention GstPushSrc
11446
11447 2005-05-12  Wim Taymans  <wim@fluendo.com>
11448
11449         * gst/base/gstbasesink.c: (gst_basesink_init),
11450         (gst_basesink_activate):
11451         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11452         (gst_basesrc_is_seekable):
11453         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11454         (bin_element_is_sink), (gst_bin_change_state):
11455         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11456         * gst/gstelement.h:
11457         Identify sinks by their flag to avoid overly complicated
11458         checks (fow now).
11459         Do state changes even for elements not reachable from the
11460         sinks.
11461         BaseSink is a sink now :)
11462         Some more debugging info in the basesrc.
11463
11464
11465 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11466
11467         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
11468           Implement _query on a bin, similar to _send_event.
11469
11470 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
11471
11472         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
11473           Discont event offset format should be GST_FORMAT_BYTES,
11474           not GST_FORMAT_TIME.
11475
11476 2005-05-12  Wim Taymans  <wim@fluendo.com>
11477
11478         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
11479         Same fix as Ronald's but without the signal. 
11480
11481 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11482
11483         * gst/gstutils.c: (gst_element_query_position):
11484           No, an element is not a pad.
11485
11486 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11487
11488         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
11489         (gst_bin_get_state):
11490           If a child is removed from a bin while we remove the child from
11491           the bin and while we're retrieving its state, signal this to the
11492           get_state function so we abort the wait (instead of waiting for
11493           a timeout) and can immediately re-iterate over all other elements.
11494
11495 2005-05-12  Wim Taymans  <wim@fluendo.com>
11496
11497         * gst/base/Makefile.am:
11498         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
11499         (gst_basesrc_start):
11500         * gst/base/gstbasesrc.h:
11501         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
11502         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
11503         (gst_pushsrc_init), (gst_pushsrc_create):
11504         * gst/base/gstpushsrc.h:
11505         Added is_seekable to BaseSrc
11506         Added simple PushSrc.
11507
11508 2005-05-11  Wim Taymans  <wim@fluendo.com>
11509
11510         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11511         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11512         (gst_element_link_pads), (gst_element_query_position),
11513         (gst_element_query_convert), (intersect_caps_func),
11514         (gst_pad_query_position), (gst_pad_query_convert):
11515         Fix refcounting in utils function.
11516         No point in trying to activate a pad when it's added, it could
11517         be added from the state change function and then we deadlock, the
11518         element has to decide what to do.
11519
11520 2005-05-10  Andy Wingo  <wingo@pobox.com>
11521
11522         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
11523         *all* the arguments.
11524
11525         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
11526         stream lock if it's a FLUSH_DONE; normal flushes don't get the
11527         lock (according to the docs -- if this is wrong change the docs).
11528
11529         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
11530         flush messages in the NULL state.
11531
11532         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
11533         message immediately and return.
11534         (gst_bus_set_flushing): New function. If a bus is flushing, it
11535         flushes out any queued messages and immediately unrefs new
11536         messages. This is so when an element goes to NULL, all of the
11537         unhandled messages coming from it can be freed, and their
11538         references to the element dropped. In other words: message source
11539         ref considered harmful :P
11540
11541         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
11542         we're finished with it.
11543
11544         * gst/gstmessage.c (gst_message_new_state_changed): 
11545
11546 2005-05-10  Wim Taymans  <wim@fluendo.com>
11547
11548         * gst/gstvalue.c: (gst_value_compare_flags),
11549         (gst_value_serialize_flags), (gst_value_deserialize_flags),
11550         (_gst_value_initialize):
11551         Added flags serialize/deserialize/compare code.
11552
11553 2005-05-09  Andy Wingo  <wingo@pobox.com>
11554
11555         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
11556         Intersect the peer's caps with our caps.
11557
11558 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11559
11560         * gst/base/gsttypefindhelper.c: (helper_find_peek):
11561         * gst/elements/gsttypefindelement.c: (find_peek):
11562           Handle negative offsets better. Fixes decodebin.
11563
11564 2005-05-09  Wim Taymans  <wim@fluendo.com>
11565
11566         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
11567         (gst_base_transform_event):
11568         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
11569         Implement accept_caps.
11570         Fix silly lock/unlock mismatch in base class.
11571
11572 2005-05-09  Wim Taymans  <wim@fluendo.com>
11573
11574         * docs/design/draft-push-pull.txt:
11575         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
11576         * gst/elements/gstfilesink.c: (gst_filesink_init),
11577         (gst_filesink_query):
11578         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11579         (gst_type_find_handle_src_query), (find_element_get_length):
11580         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
11581         * gst/gstelement.h:
11582         * gst/gstmessage.c:
11583         * gst/gstmessage.h:
11584         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
11585         (gst_real_pad_get_caps_unlocked),
11586         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
11587         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11588         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
11589         (gst_real_pad_dispose), (gst_real_pad_finalize),
11590         (gst_pad_load_and_link), (gst_pad_save_thyself),
11591         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
11592         (gst_pad_check_pull_range), (gst_pad_pull_range),
11593         (gst_pad_template_get_type), (gst_pad_template_class_init),
11594         (gst_pad_template_init), (gst_pad_template_dispose),
11595         (name_is_valid), (gst_static_pad_template_get),
11596         (gst_pad_template_new), (gst_static_pad_template_get_caps),
11597         (gst_pad_template_get_caps), (gst_pad_set_element_private),
11598         (gst_pad_get_element_private), (gst_pad_start_task),
11599         (gst_pad_pause_task), (gst_pad_stop_task),
11600         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
11601         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
11602         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
11603         (gst_ghost_pad_new):
11604         * gst/gstpad.h:
11605         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
11606         (gst_query_new_position), (gst_query_set_position),
11607         (gst_query_parse_position), (gst_query_new_convert),
11608         (gst_query_set_convert), (gst_query_parse_convert):
11609         * gst/gstquery.h:
11610         * gst/gstqueryutils.c:
11611         * gst/gstqueryutils.h:
11612         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11613         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11614         (gst_queue_handle_src_query):
11615         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11616         (gst_element_query_position), (gst_element_query_convert),
11617         (intersect_caps_func), (gst_pad_query_position),
11618         (gst_pad_query_convert):
11619         * gst/gstutils.h:
11620         * tools/gst-inspect.c: (print_pad_info):
11621         * tools/gst-xmlinspect.c: (print_element_info):
11622         Remove old query functions. Ported old code.
11623         Added position/convert helper functions to gstutils.
11624         Reordered gstpad.c code, grouping relevant things.
11625         Remove gst_message_new(), always need to speficy a specific
11626         message.
11627
11628
11629 2005-05-09  Andy Wingo  <wingo@pobox.com>
11630
11631         * gst/gstiterator.h: Add some includes.
11632
11633         * gst/gstqueryutils.h: Include more headers.
11634
11635         * gst/gstpad.h:
11636         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
11637         some uses of gst_pad_query.
11638
11639         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
11640         NULL out parameters.
11641         (gst_query_new_position): New proc, allocates a new position
11642         query.
11643
11644         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
11645         gstqueryutils.c to the build.
11646
11647         * gst/gststructure.c (gst_structure_set_valist): Implement with
11648         the generic G_VALUE_COLLECT.
11649         
11650 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
11651
11652         * gst/Makefile.am: (gst_headers):
11653         Added gstqueryutils.h to the list of headers to install, that was
11654         a 'nachty' move wingo :)
11655
11656 2005-05-06  Andy Wingo  <wingo@pobox.com>
11657
11658         * gst/gstquery.h
11659         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
11660         GstData, init a memchunk.
11661         (standard_definitions): Add a few query types, deprecate a few.
11662         (gst_query_get_type): New proc.
11663         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
11664         implementation.
11665         (gst_query_new_application, gst_query_get_structure): New public
11666         procs.
11667
11668         * docs/design/draft-query.txt: Removed LINKS from the query types,
11669         because all the rest can be dispatched to other pads -- seemed
11670         ugly to have a query that couldn't be dispatched. internal_links
11671         is fine as a pad method.
11672
11673         * gst/gstpad.h: Add query2 as a pad method, add the new functions
11674         in gstpad.c, but maintain binary compatibility for the moment.
11675         Will fix before 0.9 is out.
11676
11677         * gst/gstqueryutils.c: 
11678         * gst/gstqueryutils.h: New files, implement 3 methods for each
11679         query type: parse_query, parse_response, and set. Probably need an
11680         allocator as well.
11681
11682         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
11683
11684         * gst/elements/gstfilesink.c (gst_filesink_query2):
11685         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
11686         query_types, and formats methods.
11687
11688         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
11689         (gst_pad_set_query2_function): New functions.
11690         (gst_real_pad_init): Set query2_default as the default query2
11691         function. Basically just dispatches to internally linked pads.
11692
11693         Needs review!
11694         
11695         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
11696         without using the atomic operations. Only one thread can possibly
11697         be accessing the data at this point. Changed so as to avoid
11698         gst_atomic operations.
11699
11700 2005-05-06  Wim Taymans  <wim@fluendo.com>
11701
11702         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
11703         Also set caps if we use the fallback buffer alloc.
11704
11705 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
11706
11707         * docs/gst/Makefile.am:
11708         * docs/gst/gstreamer-docs.sgml:
11709         * docs/gst/gstreamer-sections.txt:
11710         * docs/gst/tmpl/gstatomic.sgml:
11711         * docs/gst/tmpl/gstmemchunk.sgml:
11712         * testsuite/elements/struct_i386.h:
11713         * win32/GStreamer.vcproj:
11714         * win32/Makefile:
11715           Purge GstAtomic stuff from docs and win32 makefiles as well
11716
11717 2005-05-06  Wim Taymans  <wim@fluendo.com>
11718
11719         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
11720         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
11721         * gst/gstpad.c: (gst_pad_peer_get_caps):
11722         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11723         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11724         (gst_queue_src_activate), (gst_queue_change_state):
11725         * gst/gstqueue.h:
11726         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11727         (intersect_caps_func):
11728         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
11729         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
11730         Some fixes for the peer_get_caps() change.
11731
11732 2005-05-06  Wim Taymans  <wim@fluendo.com>
11733
11734         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11735         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
11736         (gst_basesink_activate):
11737         Actually do something with error codes returned from the push
11738         functions.
11739
11740 2005-05-06  Wim Taymans  <wim@fluendo.com>
11741
11742         * docs/design/part-element-sink.txt:
11743         * docs/design/part-element-source.txt:
11744         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11745         (gst_basesink_event), (gst_basesink_activate):
11746         * gst/base/gstbasesink.h:
11747         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
11748         (gst_basesrc_activate):
11749         * gst/base/gstbasesrc.h:
11750         * gst/gstelement.c: (gst_element_pads_activate):
11751         Some more documentation.
11752         Fixed scheduling decision in _pads_activate().
11753
11754 2005-05-05  Andy Wingo  <wingo@pobox.com>
11755
11756         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
11757         the test suite.
11758
11759 2005-05-05  Wim Taymans  <wim@fluendo.com>
11760
11761         * gst/base/Makefile.am:
11762         * gst/base/gstbasesink.h:
11763         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11764         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
11765         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
11766         (gst_collectpads_class_init), (gst_collectpads_init),
11767         (gst_collectpads_finalize), (gst_collectpads_new),
11768         (gst_collectpads_set_function), (gst_collectpads_add_pad),
11769         (find_pad), (gst_collectpads_remove_pad),
11770         (gst_collectpads_is_active), (gst_collectpads_collect),
11771         (gst_collectpads_collect_range), (gst_collectpads_start),
11772         (gst_collectpads_stop), (gst_collectpads_peek),
11773         (gst_collectpads_pop), (gst_collectpads_available),
11774         (gst_collectpads_read), (gst_collectpads_flush),
11775         (gst_collectpads_chain):
11776         * gst/base/gstcollectpads.h:
11777         * gst/elements/Makefile.am:
11778         * gst/elements/gstelements.c:
11779         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11780         (gst_fakesink_get_times), (gst_fakesink_event),
11781         (gst_fakesink_preroll), (gst_fakesink_render):
11782         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
11783         (gst_filesink_init), (gst_filesink_set_location),
11784         (gst_filesink_open_file), (gst_filesink_close_file),
11785         (gst_filesink_pad_query), (gst_filesink_event),
11786         (gst_filesink_render), (gst_filesink_change_state):
11787         * gst/elements/gstfilesink.h:
11788         Added object to help in making collect pad based elements.
11789         Ported filesink.
11790         Make event function in sink baseclass return gboolean.
11791
11792 2005-05-05  Wim Taymans  <wim@fluendo.com>
11793
11794         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
11795         (gst_bin_get_by_name):
11796         * gst/gstbuffer.h:
11797         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
11798         (gst_clock_finalize):
11799         * gst/gstdata.c: (gst_data_replace):
11800         * gst/gstdata.h:
11801         * gst/gstelement.c: (gst_element_request_pad),
11802         (gst_element_pads_activate):
11803         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
11804         (gst_object_unref):
11805         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11806         (gst_pad_set_checkgetrange_function),
11807         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
11808         (gst_pad_check_pull_range), (gst_pad_pull_range),
11809         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11810         (gst_pad_pause_task), (gst_pad_stop_task):
11811         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11812         (gst_element_request_pad), (gst_pad_proxy_getcaps):
11813         Fix name lookup in GstBin.
11814         Added _data_replace() function and _buffer_replace()
11815         Use finalize method to clean up clock.
11816         Fix refcounting on request pads.
11817         Fix pad schedule mode error.
11818         Some more object refcounting debug info,
11819
11820
11821 2005-05-04  Andy Wingo <wingo@pobox.com>
11822
11823         * check/Makefile.am:
11824         * docs/gst/tmpl/gstatomic.sgml:
11825         * docs/gst/tmpl/gstplugin.sgml:
11826         * gst/base/gstbasesink.c: (gst_basesink_activate):
11827         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
11828         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
11829         (gst_basesrc_query), (gst_basesrc_set_property),
11830         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
11831         (gst_basesrc_activate):
11832         * gst/base/gstbasesrc.h:
11833         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
11834         (gst_base_transform_src_activate):
11835         * gst/elements/gstelements.c:
11836         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11837         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11838         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11839         * gst/elements/gsttypefindelement.c: (find_element_get_length),
11840         (gst_type_find_element_checkgetrange),
11841         (gst_type_find_element_activate):
11842         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
11843         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
11844         (gst_caps_load_thyself):
11845         * gst/gstelement.c: (gst_element_pads_activate),
11846         (gst_element_save_thyself), (gst_element_restore_thyself):
11847         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
11848         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
11849         * gst/gstpad.h:
11850         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
11851         (gst_xml_parse_file), (gst_xml_parse_memory),
11852         (gst_xml_get_element), (gst_xml_make_element):
11853         * gst/indexers/gstfileindex.c: (gst_file_index_load),
11854         (_file_index_id_save_xml), (gst_file_index_commit):
11855         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
11856         (read_enum), (load_pad_template), (load_feature), (load_plugin),
11857         (load_paths):
11858         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
11859         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
11860         * tools/gst-complete.c: (main):
11861         * tools/gst-compprep.c: (main):
11862         * tools/gst-inspect.c: (print_element_properties_info):
11863         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
11864         * tools/gst-xmlinspect.c: (print_element_properties):
11865         GCC 4 fixen.
11866         
11867 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11868
11869         * gst/gstplugin.c: (gst_plugin_check_module),
11870         (gst_plugin_check_file), (gst_plugin_load_file):
11871             apply patch from #172526 to make register work on MacOSX
11872
11873 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11874
11875         * docs/gst/tmpl/gstconfig.sgml:
11876         * gst/gstconfig.h.in:
11877           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
11878         * testsuite/debug/printf_extension.c: (main):
11879           Do not use GST_PTR_FORMAT on pointers to types with
11880           sizeof < sizeof(gpointer).  Fixes test on 64-bit
11881         * testsuite/elements/property.h:
11882           use correct printf format
11883
11884 2005-05-02  Wim Taymans  <wim@fluendo.com>
11885
11886         * docs/design/draft-push-pull.txt:
11887         * docs/design/draft-query.txt:
11888         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
11889         (gst_basesrc_start):
11890         Added draft for new query API.
11891         Added draft for better selecting scheduling methods.
11892         Make basesrc ignore length if the subclass does not support
11893         it.
11894
11895 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11896
11897         * gst/Makefile.am:
11898           possible fixes for automake-1.5 - _LIBADD is reserved
11899
11900 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11901
11902         * docs/faq/Makefile.am:
11903         * docs/manual/Makefile.am:
11904         * docs/manuals.mak:
11905         * docs/pwg/Makefile.am:
11906         * gst/Makefile.am:
11907           possible fixes for automake-1.5
11908
11909 2005-04-28  Wim Taymans  <wim@fluendo.com>
11910
11911         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11912         (gst_basesink_pad_getcaps), (gst_basesink_init),
11913         (gst_basesink_do_sync):
11914         * gst/gstclock.c: (gst_clock_entry_new):
11915         * gst/gstevent.c: (gst_event_discont_get_value):
11916         * gst/gstpipeline.c: (pipeline_bus_handler),
11917         (gst_pipeline_change_state):
11918         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
11919         Better debugging of clocking info.
11920         Allow NULL values when getting discont values.
11921
11922 2005-04-27  Wim Taymans  <wim@fluendo.com>
11923
11924         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11925         * check/gst/gstpad.c: (gst_pad_suite):
11926         Increase timeout for checks.
11927
11928 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11929
11930         * check/Makefile.am:
11931           fix the broken rule for cleanup.  Apparently this rule is
11932           only needed on FC2, so maybe this warrants further autotool
11933           inspection.
11934
11935 2005-04-26  Wim Taymans  <wim@fluendo.com>
11936
11937         * gst/gsttrashstack.h:
11938         Ooohh. a nasty one! After having a failed pop() from the stack,
11939         it's possible that the stack is empty. In that case, don't
11940         follow the NULL pointer.
11941
11942 2005-04-25  Wim Taymans  <wim@fluendo.com>
11943
11944         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11945         (gst_pad_set_checkgetrange_function),
11946         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
11947         (gst_pad_check_pull_range), (gst_pad_pull_range),
11948         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11949         (gst_pad_pause_task), (gst_pad_stop_task):
11950         * gst/gstplugin.c: (gst_plugin_load):
11951         * gst/gstplugin.h:
11952         Remove gst_library_load as it does more harm than good with
11953         the new g_module flags.
11954         Revert bogus caps template check in pad linking, pad caps
11955         are important when linking not the template, which is more
11956         general than the current caps.
11957
11958 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11959
11960         * gst/autoplug/.cvsignore:
11961         * gst/autoplug/Makefile.am:
11962         * gst/autoplug/gstsearchfuncs.c:
11963         * gst/autoplug/gstsearchfuncs.h:
11964         * gst/autoplug/gstspider.c:
11965         * gst/autoplug/gstspider.h:
11966         * gst/autoplug/gstspideridentity.c:
11967         * gst/autoplug/gstspideridentity.h:
11968         * gst/autoplug/spidertest.c:
11969           Die, spider, die.
11970
11971 2005-04-25  Wim Taymans  <wim@fluendo.com>
11972
11973         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11974         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11975         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
11976         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
11977         * gst/gstpad.h:
11978         Added stubs for unimplemented functions. 
11979
11980 2005-04-24  David Schleef  <ds@schleef.org>
11981
11982         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
11983         please fix.
11984
11985 2005-04-24  David Schleef  <ds@schleef.org>
11986
11987         Convert everything from GstAtomicInt to g_atomic_int_*, and
11988         remove gstatomic.
11989         * gst/Makefile.am:
11990         * gst/gstatomic.c:
11991         * gst/gstatomic.h:
11992         * gst/gstatomic_impl.h:
11993         * gst/gstbuffer.c:
11994         * gst/gstcaps.c:
11995         * gst/gstcaps.h:
11996         * gst/gstclock.c:
11997         * gst/gstclock.h:
11998         * gst/gstdata.c:
11999         * gst/gstdata.h:
12000         * gst/gstdata_private.h:
12001         * gst/gstevent.c:
12002         * gst/gstinfo.c:
12003         * gst/gstinfo.h:
12004         * gst/gstmessage.c:
12005         * gst/gstobject.c:
12006         * gst/gstobject.h:
12007         * gst/gststructure.c:
12008         * gst/gststructure.h:
12009         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
12010         * gst/gstutils.h:
12011
12012 2005-04-24  David Schleef  <ds@schleef.org>
12013
12014         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
12015         make the regressions tests work.  Remove some code that is no
12016         longer true.
12017         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
12018         Disable warning for pads without templates.
12019
12020 2005-04-24  David Schleef  <ds@schleef.org>
12021
12022         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
12023         functions that handle filtered links.
12024         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
12025         removed functions.
12026         * gst/gstutils.c: Fix/remove utility functions that handle
12027         filtered caps.
12028         * gst/gstutils.h:
12029         * gst/gstvalue.c: Add serialization/deserialization of caps
12030         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
12031         requires fixing so that the filter caps notation creates
12032         a capsfilter element and sets the filter_caps property.  I
12033         think everyone probably wants to keep the shorthand notation.
12034         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
12035         * docs/gst/tmpl/gstpad.sgml:
12036
12037         * gst/elements/gstelements.c: Register capsfilter element.
12038         * gst/Makefile.am: fix spacing
12039         * docs/random/ds/0.9-suggested-changes: random
12040
12041 2005-04-23  David Schleef  <ds@schleef.org>
12042
12043         * gst/elements/Makefile.am:
12044         * gst/elements/gstcapsfilter.c: New element that acts like an
12045         identity, but filters caps.  Will eventually replace filtered
12046         caps in pad linking.
12047         * gst/gstutils.c: (gst_element_create_all_pads): New function
12048         to create all the ALWAYS pads that are registered with an
12049         element class.  This functionality should eventually be
12050         merged in with GstElement initialization.
12051         * gst/gstutils.h:
12052         * testsuite/trigger/README: part of trigger test code that should
12053         have been checked in a long time ago.
12054
12055 2005-04-23  David Schleef  <ds@schleef.org>
12056
12057         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
12058         needed with new versions of libtool (nobody will confirm this),
12059         and hard to carry around.
12060         * gst/autoplug/Makefile.am:
12061         * gst/base/Makefile.am:
12062         * gst/elements/Makefile.am:
12063         * gst/indexers/Makefile.am:
12064         * gst/schedulers/Makefile.am:
12065         * libs/gst/bytestream/Makefile.am:
12066         * libs/gst/control/Makefile.am:
12067         * libs/gst/dataprotocol/Makefile.am:
12068         * libs/gst/getbits/Makefile.am:
12069
12070 2005-04-21  Wim Taymans  <wim@fluendo.com>
12071
12072         * docs/design/draft-push-pull.txt:
12073         * docs/design/part-MT-refcounting.txt:
12074         * docs/design/part-TODO.txt:
12075         * docs/design/part-caps.txt:
12076         * docs/design/part-events.txt:
12077         * docs/design/part-gstbus.txt:
12078         * docs/design/part-gstpipeline.txt:
12079         * docs/design/part-messages.txt:
12080         * docs/design/part-push-pull.txt:
12081         * docs/design/part-query.txt:
12082         Some more docs.
12083
12084 2005-04-21  Wim Taymans  <wim@fluendo.com>
12085
12086         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
12087         (gst_message_new), (gst_message_new_error),
12088         (gst_message_new_warning), (gst_message_new_tag),
12089         (gst_message_new_state_changed), (gst_message_new_application),
12090         (gst_message_get_structure):
12091         * gst/gstmessage.h:
12092         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12093         (gst_structure_copy_conditional):
12094         Use parent refcount in GstMessage to ensure GstStructure
12095         consistency.
12096         Cleaned up headers a bit.
12097         
12098
12099 2005-04-20  Wim Taymans  <wim@fluendo.com>
12100
12101         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12102         (gst_basesink_pad_getcaps), (gst_basesink_init),
12103         (gst_basesink_chain_unlocked):
12104         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
12105         (gst_type_find_helper):
12106         * gst/elements/gsttypefindelement.c:
12107         (gst_type_find_element_have_type), (gst_type_find_element_init),
12108         (stop_typefinding), (gst_type_find_element_handle_event),
12109         (find_suggest), (gst_type_find_element_chain),
12110         (gst_type_find_element_checkgetrange),
12111         (gst_type_find_element_getrange), (do_typefind),
12112         (gst_type_find_element_activate):
12113         * gst/gstbuffer.c: (_gst_buffer_sub_free),
12114         (gst_buffer_default_free), (gst_buffer_default_copy),
12115         (gst_buffer_set_caps):
12116         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
12117         (gst_caps_replace):
12118         * gst/gstmessage.c: (gst_message_new),
12119         (gst_message_new_state_changed):
12120         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12121         (gst_pad_set_checkgetrange_function),
12122         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
12123         (gst_pad_set_caps), (gst_pad_check_pull_range),
12124         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
12125         * gst/gstpad.h:
12126         * gst/gsttypefind.c: (gst_type_find_register):
12127         Make gst_caps_replace() work like other _replace() functions.
12128         Use _caps_replace() where possible.
12129         Make sure _message_new() initialises its field.
12130         Add gst_static_pad_template_get_caps()
12131
12132
12133 2005-04-18  Andy Wingo  <wingo@pobox.com>
12134
12135         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
12136         on the peer, not the pad. I think that was a typo. Pass an extra
12137         arg to see if random access is possible. Activate the pads as
12138         PULL_RANGE if possible.
12139
12140         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
12141
12142         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
12143         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
12144         to PROP_....
12145
12146 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12147
12148         * docs/faq/using.xml:
12149           Add note on gstreamer-properties (#154996).
12150
12151 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12152
12153         * docs/random/bbb/optional-properties:
12154           Some analysis on optional properties.
12155
12156 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12157
12158         * docs/gst/tmpl/gstelementfactory.sgml:
12159         * gst/gstelement.h:
12160         * gst/gstelementfactory.c: (gst_element_factory_init),
12161         (gst_element_factory_cleanup), (gst_element_register),
12162         (__gst_element_factory_add_static_pad_template),
12163         (gst_element_factory_get_static_pad_templates),
12164         (gst_element_factory_can_src_caps),
12165         (gst_element_factory_can_sink_caps):
12166         * gst/registries/Makefile.am:
12167         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
12168         (gst_xml_registry_class_init), (gst_xml_registry_init),
12169         (gst_xml_registry_new), (gst_xml_registry_set_property),
12170         (gst_xml_registry_get_property), (get_time), (make_dir),
12171         (gst_xml_registry_get_perms_func),
12172         (plugin_times_older_than_recurse), (plugin_times_older_than),
12173         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
12174         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
12175         (add_to_char_array), (read_string), (read_uint), (read_enum),
12176         (load_pad_template), (load_feature), (load_plugin), (load_paths),
12177         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
12178         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
12179         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
12180         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
12181         (gst_xml_registry_rebuild):
12182         * gst/registries/gstlibxmlregistry.h:
12183         * tools/gst-compprep.c: (main):
12184         * tools/gst-inspect.c: (print_pad_templates_info):
12185         * tools/gst-xmlinspect.c: (print_element_info):
12186           Use libxml2 for registry parsing, use staticpadtemplates in
12187           elementfactories. Makes gst_init() +/- 10x faster.
12188
12189 2005-04-12  Wim Taymans  <wim@fluendo.com>
12190
12191         * gst/base/Makefile.am:
12192         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12193         (gst_basesink_pad_getcaps), (gst_basesink_init),
12194         (gst_basesink_event), (gst_basesink_change_state):
12195         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12196         (gst_basesrc_init), (gst_basesrc_query),
12197         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12198         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12199         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12200         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12201         (gst_basesrc_stop), (gst_basesrc_activate),
12202         (gst_basesrc_change_state):
12203         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12204         (helper_find_suggest), (gst_type_find_helper):
12205         * gst/base/gsttypefindhelper.h:
12206         * gst/elements/Makefile.am:
12207         * gst/elements/gstelements.c:
12208         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12209         (gst_fakesink_get_times), (gst_fakesink_event),
12210         (gst_fakesink_preroll), (gst_fakesink_render):
12211         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12212         (gst_fakesrc_init), (gst_fakesrc_event_handler),
12213         (gst_fakesrc_get_property), (gst_fakesrc_create),
12214         (gst_fakesrc_start), (gst_fakesrc_stop):
12215         * gst/elements/gstfakesrc.h:
12216         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
12217         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12218         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12219         (gst_filesrc_create_read), (gst_filesrc_create),
12220         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
12221         (gst_filesrc_start):
12222         * gst/elements/gsttypefindelement.c:
12223         (gst_type_find_element_have_type), (gst_type_find_element_init),
12224         (start_typefinding), (stop_typefinding), (push_buffer_store),
12225         (gst_type_find_element_handle_event),
12226         (gst_type_find_element_chain),
12227         (gst_type_find_element_checkgetrange),
12228         (gst_type_find_element_getrange), (do_typefind),
12229         (gst_type_find_element_activate),
12230         (gst_type_find_element_change_state):
12231         * gst/elements/gsttypefindelement.h:
12232         * gst/gstpipeline.c: (pipeline_bus_handler):
12233         Added typefind helper.
12234         Small preroll fix in the base sink.
12235         Disable typefind code in basesrc.
12236         Crude port of typefindelement.
12237         Fakesrc cleanups.
12238
12239
12240 2005-04-11  Wim Taymans  <wim@fluendo.com>
12241
12242         * check/gst/gstbus.c: (gstbus_suite):
12243         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
12244         * check/gstcheck.h:
12245           Fix up the timeout so that the test does not fail.
12246
12247 2005-04-06  Wim Taymans  <wim@fluendo.com>
12248
12249         * gst/base/README:
12250         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12251         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
12252         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12253         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12254         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12255         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12256         (gst_basesrc_stop), (gst_basesrc_activate),
12257         (gst_basesrc_change_state), (basesrc_find_peek),
12258         (basesrc_find_suggest), (gst_basesrc_type_find):
12259         * gst/base/gstbasesrc.h:
12260         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12261         (gst_filesrc_class_init), (gst_filesrc_init),
12262         (gst_filesrc_finalize), (gst_filesrc_set_location),
12263         (gst_filesrc_set_property), (gst_filesrc_get_property),
12264         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12265         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12266         (gst_filesrc_create_read), (gst_filesrc_create),
12267         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12268         * gst/elements/gstfilesrc.h:
12269         * gst/gstelement.c: (gst_element_get_state_func),
12270         (gst_element_lost_state), (gst_element_pads_activate):
12271         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12272         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12273         (gst_pad_pull_range):
12274         * gst/gstpad.h:
12275         More work on the generic source base class, implement seeking,
12276         query.
12277         Make filesrc extend the base source class.
12278         Added gst_pad_set_checkgetrange_function to GstPad.
12279
12280 2005-04-06  Andy Wingo  <wingo@pobox.com>
12281
12282         * pkgconfig/gstreamer-base.pc.in:
12283         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12284
12285         * pkgconfig/Makefile.am:
12286         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12287
12288 2005-04-04  Wim Taymans  <wim@fluendo.com>
12289
12290         * gst/base/Makefile.am:
12291         * gst/base/README:
12292         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12293         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12294         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12295         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12296         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12297         (gst_basesrc_base_init), (gst_basesrc_class_init),
12298         (gst_basesrc_init), (gst_basesrc_get_formats),
12299         (gst_basesrc_get_query_types), (gst_basesrc_query),
12300         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12301         (gst_basesrc_set_property), (gst_basesrc_get_property),
12302         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12303         (gst_basesrc_loop), (gst_basesrc_activate),
12304         (gst_basesrc_change_state):
12305         * gst/base/gstbasesrc.h:
12306         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12307         (gst_fakesrc_class_init), (gst_fakesrc_init),
12308         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12309         (gst_fakesrc_get_property), (gst_fakesrc_create):
12310         * gst/elements/gstfakesrc.h:
12311         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12312         (gst_filesrc_open_file), (gst_filesrc_loop),
12313         (gst_filesrc_activate), (filesrc_find_peek),
12314         (gst_filesrc_type_find):
12315         Made base source class, make fakesrc extend it.
12316         Add comments to basesink class.
12317         Some filesrc cleanup.
12318
12319 2005-03-31  David Schleef  <ds@schleef.org>
12320
12321         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12322         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12323         expected to link against libgstreamer.
12324         * gst/base/Makefile.am: link against libgstreamer
12325         * gst/elements/Makefile.am: same
12326
12327 2005-03-31  Andy Wingo  <wingo@pobox.com>
12328
12329         * tests/instantiate/Makefile.am:
12330         * tests/instantiate/caps.c: Add test to test speed of caps copy
12331         and free.
12332
12333         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12334         GMemChunk to be fair.
12335
12336         * gst/gsttrashstack.h: Remove warning about using the fallback
12337         trash stack implementation, it's still faster than malloc.
12338
12339 2005-03-30  Andy Wingo  <wingo@pobox.com>
12340
12341         * tests/complexity.c: Add a copyright.
12342
12343 2005-03-31  Wim Taymans  <wim@fluendo.com>
12344
12345         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12346         (gst_base_transform_class_init), (gst_base_transform_init),
12347         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12348         (gst_base_transform_get_property),
12349         (gst_base_transform_sink_activate),
12350         (gst_base_transform_src_activate),
12351         (gst_base_transform_change_state):
12352         * gst/base/gstbasetransform.h:
12353         * gst/elements/gstidentity.c: (gst_identity_class_init),
12354         (gst_identity_event), (gst_identity_check_perfect),
12355         (gst_identity_transform), (gst_identity_start),
12356         (gst_identity_stop):
12357         Added start/stop methods to transform base class so subclasses 
12358         don't need to deal with state changes even.
12359
12360 2005-03-31  Wim Taymans  <wim@fluendo.com>
12361
12362         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12363         (gst_event_new_discontinuous), (gst_event_discont_get_value):
12364         * gst/gstevent.h:
12365         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12366         (gst_pad_pull_range):
12367         Added rate to the discont event to prepare for variable speed
12368         and reverse playback.
12369
12370 2005-03-29  David Schleef  <ds@schleef.org>
12371
12372         * configure.ac:
12373         * testsuite/trigger/Makefile.am:
12374         * testsuite/trigger/trigger.c: A little example program to show
12375         how trigger-based elements can work.
12376
12377 2005-03-29  Wim Taymans  <wim@fluendo.com>
12378
12379         * gst/base/Makefile.am:
12380         * gst/base/README:
12381         * gst/base/gstbasesink.c: (gst_basesink_get_type),
12382         (gst_basesink_base_init), (gst_basesink_class_init),
12383         (gst_basesink_pad_getcaps), (gst_basesink_init),
12384         (gst_basesink_activate), (gst_basesink_change_state):
12385         * gst/base/gstbasesink.h:
12386         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12387         (gst_base_transform_base_init), (gst_base_transform_finalize),
12388         (gst_base_transform_class_init), (gst_base_transform_init),
12389         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12390         (gst_base_transform_event), (gst_base_transform_getrange),
12391         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12392         (gst_base_transform_set_property),
12393         (gst_base_transform_get_property),
12394         (gst_base_transform_sink_activate),
12395         (gst_base_transform_src_activate),
12396         (gst_base_transform_change_state):
12397         * gst/base/gstbasetransform.h:
12398         * gst/elements/gstidentity.c: (gst_identity_finalize),
12399         (gst_identity_class_init), (gst_identity_init),
12400         (gst_identity_event), (gst_identity_check_perfect),
12401         (gst_identity_transform), (gst_identity_set_property),
12402         (gst_identity_get_property), (gst_identity_change_state):
12403         * gst/elements/gstidentity.h:
12404         * gst/gstelement.c: (gst_element_get_state_func),
12405         (gst_element_lost_state), (gst_element_pads_activate):
12406         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12407         (gst_pad_check_pull_range), (gst_pad_pull_range):
12408         * gst/gstpad.h:
12409         Simplify pad activation.
12410         Added function to check if pull_range can be performed.
12411         Error out when pulling inactive or flushing pads.
12412         Removed const from refcounted types as it does not make sense.
12413         Simplify pad templates in basesink
12414         Added base class for simple 1-to-1 transforms.
12415         Make identity subclass the base transform.
12416
12417 2005-03-29  Andy Wingo  <wingo@pobox.com>
12418
12419         * docs/libs/gstreamer-libs-overrides.txt: 
12420         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12421         really don't understand what's going on, but like whatever. I want
12422         green buildbot!
12423
12424         * docs/gst/Makefile.am:
12425         * docs/libs/Makefile.am: Dist the overrides files.
12426
12427         * check/Makefile.am (clean-local): Remove .libs directories.
12428
12429         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12430         elements to EXTRA_DIST, so po/ files are happy.
12431
12432         * po/POTFILES.in: Er, remove it here.
12433
12434         * po/POTFILES: Remove gstspider.c.
12435
12436         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12437
12438         * docs/libs/gstreamer-libs-docs.sgml: 
12439         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12440         bytestream.
12441
12442         * tests/complexity.c (main): Set the length of the preroll queue
12443         on the sinks to prevent a lockup.
12444
12445         * libs/gst/dataprotocol/Makefile.am: 
12446         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12447         the same as the one in check/gst-libs/gdp.c.
12448
12449         * po/, docs/gst/: Commit automatic changes to docs and po files.
12450
12451         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12452         the versioned libgstbase.
12453
12454         * check/Makefile.am: Depend on an unversioned gst-register, seems
12455         to make autoconf happier.
12456
12457         * gst/base/Makefile.am: Make libgstbase a versioned lib.
12458
12459 2005-03-28  Wim Taymans  <wim@fluendo.com>
12460
12461         * configure.ac:
12462         * docs/design/part-gstelement.txt:
12463         * docs/design/part-negotiation.txt:
12464         * docs/design/part-preroll.txt:
12465         * docs/design/part-scheduling.txt:
12466         * docs/design/part-states.txt:
12467         * gst/Makefile.am:
12468         * gst/base/Makefile.am:
12469         * gst/base/README:
12470         * gst/base/gstbasesink.c: (gst_basesink_get_template),
12471         (gst_basesink_base_init), (gst_basesink_class_init),
12472         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12473         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12474         (gst_basesink_set_pad_functions),
12475         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
12476         (gst_basesink_set_property), (gst_basesink_get_property),
12477         (gst_base_sink_get_template), (gst_base_sink_get_caps),
12478         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
12479         (gst_basesink_preroll_queue_push),
12480         (gst_basesink_preroll_queue_empty),
12481         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
12482         (gst_basesink_event), (gst_basesink_get_times),
12483         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
12484         (gst_basesink_chain_unlocked), (gst_basesink_chain),
12485         (gst_basesink_loop), (gst_basesink_activate),
12486         (gst_basesink_change_state):
12487         * gst/base/gstbasesink.h:
12488         * gst/elements/Makefile.am:
12489         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
12490         (gst_fakesink_class_init), (gst_fakesink_init),
12491         (gst_fakesink_set_property), (gst_fakesink_get_property),
12492         (gst_fakesink_get_times), (gst_fakesink_event),
12493         (gst_fakesink_preroll), (gst_fakesink_render),
12494         (gst_fakesink_change_state):
12495         * gst/elements/gstfakesink.h:
12496         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12497         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
12498         * gst/gstelement.c: (gst_element_add_pad),
12499         (gst_element_get_state_func), (gst_element_abort_state),
12500         (gst_element_commit_state), (gst_element_lost_state),
12501         (gst_element_set_state), (gst_element_pads_activate):
12502         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
12503         * gst/gstpipeline.c: (gst_pipeline_send_event),
12504         (gst_pipeline_change_state):
12505         Added state change code.
12506         Added/updated docs.
12507         Added sink base class, make fakesink extend the base class.
12508         Small cleanups in GstPipeline.
12509
12510 2005-03-26  David Schleef  <ds@schleef.org>
12511
12512         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
12513         is broken and should be implemented in a different library.
12514         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
12515         * gst/gst.h: remove gstcpu.h
12516         * gst/gstcpu.c: remove
12517         * gst/gstcpu.h: remove
12518         * gst/Makefile.am.future: Remove this file.  It's ancient.
12519
12520 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12521
12522         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12523         (gst_bin_send_event):
12524           Add default event/set_manager handlers. The set_manager handler
12525           takes care that the manager is distributed over kids that were
12526           already in the bin before the manager was set. The event handler
12527           is a utility virtual function that sends the event over all sinks,
12528           so that gst_element_send_event (bin, event); has the expected
12529           behaviour.
12530         * gst/gstpad.c: (gst_pad_event_default):
12531           Re-install default event handling for discontinuities, so that
12532           seeking works without requiring hacks in applications or extra
12533           code in sinks.
12534         * gst/gstpipeline.c: (gst_pipeline_class_init),
12535         (gst_pipeline_send_event):
12536           Half hack, half utility: set a pipeline to PAUSED for seek events,
12537           since that is the only way we can guarantee a/v sync. Means that
12538           you can do gst_element_seek (pipeline, method, pos); on a pipeline
12539           and it "just works".
12540
12541 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12542
12543         * gst/gstpipeline.c: (gst_pipeline_use_clock):
12544           Lock/unlock mismatch.
12545
12546 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12547
12548         * docs/faq/gst-uninstalled:
12549           add gst-plugins-base
12550         * docs/gst/Makefile.am:
12551           don't error out until docs are fixed
12552         * docs/gst/gstreamer.types:
12553           remove thread
12554
12555 2005-03-22  Wim Taymans  <wim@fluendo.com>
12556
12557         * check/Makefile.am:
12558         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
12559         * gst/gststructure.c: (gst_structure_set_valist),
12560         (gst_structure_copy_conditional):
12561         Activated more tests.
12562         Added message test.
12563         Added G_TYPE_POINTER to GstStructure.
12564         
12565
12566 2005-03-22  Wim Taymans  <wim@fluendo.com>
12567
12568         * docs/design/part-TODO.txt:
12569         * docs/design/part-events.txt:
12570         * docs/design/part-gstbin.txt:
12571         * docs/design/part-gstbus.txt:
12572         * docs/design/part-gstpipeline.txt:
12573         * docs/design/part-messages.txt:
12574         * gst/gstbus.c:
12575         * gst/gstmessage.c:
12576         Docs updates
12577
12578 2005-03-21  Wim Taymans  <wim@fluendo.com>
12579
12580         * gst/gstbus.c: (gst_bus_post):
12581         Fix copy-and-paste error.
12582
12583 2005-03-21  Wim Taymans  <wim@fluendo.com>
12584
12585         * check/Makefile.am:
12586         * gst/Makefile.am:
12587         * gst/elements/Makefile.am:
12588         * gst/elements/gstelements.c:
12589         * gst/elements/gstfakesink.c: (gst_fakesink_init),
12590         (gst_fakesink_event), (gst_fakesink_chain):
12591         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12592         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
12593         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
12594         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
12595         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
12596         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
12597         (gst_fakesrc_loop), (gst_fakesrc_activate),
12598         (gst_fakesrc_change_state):
12599         * gst/elements/gstfakesrc.h:
12600         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12601         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
12602         (gst_filesrc_open_file), (gst_filesrc_loop),
12603         (gst_filesrc_activate), (gst_filesrc_change_state),
12604         (filesrc_find_peek), (filesrc_find_suggest),
12605         (gst_filesrc_type_find):
12606         * gst/elements/gstidentity.c: (gst_identity_finalize),
12607         (gst_identity_class_init), (gst_identity_init),
12608         (gst_identity_proxy_getcaps), (identity_queue_push),
12609         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
12610         (gst_identity_getrange), (gst_identity_chain),
12611         (gst_identity_sink_loop), (gst_identity_src_loop),
12612         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
12613         (gst_identity_set_property), (gst_identity_get_property),
12614         (gst_identity_change_state):
12615         * gst/elements/gstidentity.h:
12616         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
12617         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
12618         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
12619         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
12620         (gst_tee_sink_activate):
12621         * gst/elements/gsttee.h:
12622         * gst/gst.c: (gst_register_core_elements), (init_post):
12623         * gst/gst.h:
12624         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
12625         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
12626         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
12627         (gst_bin_change_state):
12628         * gst/gstbin.h:
12629         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
12630         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
12631         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
12632         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
12633         (gst_bus_set_sync_handler), (gst_bus_create_watch),
12634         (bus_watch_callback), (bus_watch_destroy),
12635         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
12636         (poll_timeout), (gst_bus_poll):
12637         * gst/gstbus.h:
12638         * gst/gstcaps.h:
12639         * gst/gstdata.h:
12640         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12641         (gst_element_post_message), (gst_element_message_full),
12642         (gst_element_get_state_func), (gst_element_get_state),
12643         (gst_element_abort_state), (gst_element_commit_state),
12644         (gst_element_lost_state), (gst_element_set_state),
12645         (gst_element_pads_activate), (gst_element_change_state),
12646         (gst_element_dispose), (gst_element_set_manager_func),
12647         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
12648         (gst_element_set_manager), (gst_element_get_manager),
12649         (gst_element_set_bus), (gst_element_get_bus),
12650         (gst_element_set_scheduler), (gst_element_get_scheduler):
12651         * gst/gstelement.h:
12652         * gst/gstevent.c: (gst_event_new_segment_seek),
12653         (gst_event_new_flush):
12654         * gst/gstevent.h:
12655         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
12656         (_gst_message_free), (gst_message_get_type), (gst_message_new),
12657         (gst_message_new_eos), (gst_message_new_error),
12658         (gst_message_new_warning), (gst_message_new_tag),
12659         (gst_message_new_state_changed), (gst_message_new_application),
12660         (gst_message_get_structure), (gst_message_parse_tag),
12661         (gst_message_parse_state_changed), (gst_message_parse_error),
12662         (gst_message_parse_warning):
12663         * gst/gstmessage.h:
12664         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
12665         (gst_real_pad_set_property), (gst_pad_set_active),
12666         (gst_pad_is_active), (gst_pad_set_blocked_async),
12667         (gst_pad_set_blocked), (gst_pad_is_blocked),
12668         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
12669         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
12670         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
12671         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
12672         (gst_pad_link_filtered), (gst_pad_relink_filtered),
12673         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
12674         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
12675         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
12676         (gst_pad_set_caps), (gst_pad_configure_sink),
12677         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
12678         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
12679         (gst_real_pad_dispose), (gst_real_pad_finalize),
12680         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
12681         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12682         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
12683         * gst/gstpad.h:
12684         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
12685         (pipeline_bus_handler), (gst_pipeline_change_state),
12686         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
12687         * gst/gstpipeline.h:
12688         * gst/gstprobe.h:
12689         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
12690         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
12691         (gst_queue_link_src), (gst_queue_bufferalloc),
12692         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
12693         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
12694         (gst_queue_loop), (gst_queue_handle_src_event),
12695         (gst_queue_handle_src_query), (gst_queue_src_activate),
12696         (gst_queue_change_state):
12697         * gst/gstqueue.h:
12698         * gst/gstscheduler.c: (gst_scheduler_init),
12699         (gst_scheduler_dispose), (gst_scheduler_create_task),
12700         (gst_scheduler_factory_create):
12701         * gst/gstscheduler.h:
12702         * gst/gststructure.c: (gst_structure_get_type),
12703         (gst_structure_copy_conditional):
12704         * gst/gststructure.h:
12705         * gst/gsttaginterface.h:
12706         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
12707         (gst_task_init), (gst_task_dispose), (gst_task_create),
12708         (gst_task_get_state), (gst_task_start), (gst_task_stop),
12709         (gst_task_pause):
12710         * gst/gsttask.h:
12711         * gst/gstthread.c:
12712         * gst/gstthread.h:
12713         * gst/gsttypes.h:
12714         * gst/schedulers/Makefile.am:
12715         * gst/schedulers/cothreads_compat.h:
12716         * gst/schedulers/entryscheduler.c:
12717         * gst/schedulers/faircothreads.c:
12718         * gst/schedulers/faircothreads.h:
12719         * gst/schedulers/fairscheduler.c:
12720         * gst/schedulers/gstbasicscheduler.c:
12721         * gst/schedulers/gstoptimalscheduler.c:
12722         * gst/schedulers/gthread-cothreads.h:
12723         * gst/schedulers/threadscheduler.c:
12724         (gst_thread_scheduler_task_get_type),
12725         (gst_thread_scheduler_task_class_init),
12726         (gst_thread_scheduler_task_init),
12727         (gst_thread_scheduler_task_start),
12728         (gst_thread_scheduler_task_stop),
12729         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
12730         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
12731         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
12732         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
12733         (plugin_init):
12734         * libs/gst/Makefile.am:
12735         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
12736         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
12737         (gst_file_pad_parent_set):
12738         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12739         (gst_dp_event_from_packet):
12740         * tests/complexity.c: (main):
12741         * tests/mass_elements.c: (main):
12742         * testsuite/states/locked.c: (message_received), (main):
12743         * testsuite/states/parent.c: (main):
12744         * tools/gst-inspect.c: (print_element_flag_info),
12745         (print_implementation_info), (print_pad_info):
12746         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
12747         (main):
12748         * tools/gst-md5sum.c: (event_loop), (main):
12749         * tools/gst-typefind.c: (main):
12750         * tools/gst-xmlinspect.c: (print_element_info):
12751         Next big merge.
12752         Added GstBus for mainloop integration.
12753         Added GstMessage for sending notifications on the bus.
12754         Added GstTask as an abstraction for pipeline entry points.
12755         Removed GstThread.
12756         Removed Schedulers.
12757         Simplified GstQueue for multithreaded core.
12758         Made _link threadsafe, removed old capsnego.
12759         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
12760         Added pad blocking functions.
12761         Reworked scheduling functions in GstPad to prepare for
12762         scheduling updates soon.
12763         Moved events out of data stream.
12764         Simplified GstEvent types.
12765         Added return values to push/pull.
12766         Removed clocking from GstElement.
12767         Added prototypes for state change function for next merge.
12768         Removed iterate from bins and state change management.
12769         Fixed some elements, disabled others for now.
12770         Fixed -inspect and -launch.
12771         Added check for GstBus.
12772
12773 2005-03-10  Wim Taymans  <wim@fluendo.com>
12774
12775         * docs/design/part-MT-refcounting.txt:
12776         * docs/design/part-clocks.txt:
12777         * docs/design/part-gstelement.txt:
12778         * docs/design/part-gstobject.txt:
12779         * docs/design/part-standards.txt:
12780         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12781         (gst_bin_remove_func), (gst_bin_remove):
12782         * gst/gstbin.h:
12783         * gst/gstbuffer.c:
12784         * gst/gstcaps.h:
12785         * testsuite/clock/clock1.c: (main):
12786         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
12787         (main):
12788         * testsuite/dlopen/loadgst.c: (do_test):
12789         * testsuite/refcounting/bin.c: (add_remove_test1),
12790         (add_remove_test2), (main):
12791         * testsuite/refcounting/element.c: (main):
12792         * testsuite/refcounting/element_pad.c: (main):
12793         * testsuite/refcounting/pad.c: (main):
12794         * tools/gst-launch.c: (sigint_handler_sighandler):
12795         * tools/gst-typefind.c: (main):
12796         Doc updates.
12797         Added doc about clock.
12798         removed gst_bin_iterate_recurse_up(), marked methods
12799         for removal.
12800         Fix more testsuites.
12801
12802 2005-03-09  Wim Taymans  <wim@fluendo.com>
12803
12804         * gst/gstpad.c: (gst_pad_get_direction),
12805         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
12806         (gst_pad_collect_valist):
12807         * testsuite/bins/interface.c: (main):
12808         * testsuite/caps/audioscale.c: (test_caps):
12809         * testsuite/caps/caps.c: (test1), (test2), (test3):
12810         * testsuite/caps/deserialize.c: (main):
12811         * testsuite/caps/enumcaps.c: (main):
12812         * testsuite/caps/filtercaps.c: (main):
12813         * testsuite/caps/intersect2.c: (main):
12814         * testsuite/caps/random.c: (main):
12815         * testsuite/caps/renegotiate.c: (my_fixate), (main):
12816         * testsuite/caps/sets.c: (check_caps):
12817         * testsuite/caps/simplify.c: (check_caps), (main):
12818         * testsuite/caps/subtract.c: (check_caps):
12819         Fix _pad_get_direction wrt ghostpads.
12820         Fix caps testsuite.
12821
12822 2005-03-09  Wim Taymans  <wim@fluendo.com>
12823
12824         * check/Makefile.am:
12825         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
12826         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
12827         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
12828         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
12829         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
12830         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
12831         (gst_bin_remove), (gst_bin_iterate_recurse_up),
12832         (bin_element_is_sink), (gst_bin_iterate_sinks),
12833         (gst_bin_iterate_all_by_interface):
12834         * gst/gstbin.h:
12835         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
12836         (gst_element_change_state), (gst_element_dispose),
12837         (gst_element_finalize), (gst_element_set_loop_function):
12838         * gst/gstelement.h:
12839         * gst/gstiterator.c: (find_custom_fold_func):
12840         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12841         (gst_pad_collectv), (gst_pad_collect_valist),
12842         (gst_pad_template_new):
12843         * gst/gstpipeline.c: (gst_pipeline_class_init),
12844         (gst_pipeline_dispose), (gst_pipeline_set_property),
12845         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
12846         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
12847         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
12848         * gst/gstutils.h:
12849         * gst/schedulers/entryscheduler.c:
12850         * gst/schedulers/gstbasicscheduler.c:
12851         (gst_basic_scheduler_cothreaded_chain),
12852         (gst_basic_scheduler_chain_add_element):
12853         * testsuite/bins/interface.c: (main):
12854         Added GstBin test.
12855         Added GstSystemClock test.
12856         Implemented clock distribution code in GstBin.
12857         Implemented iterate sinks method for future use.
12858         Rearranged gstelement.h
12859         Fix GstIterator comparison bug.
12860         Moved some code to GstPipeline, mostly clocking related.
12861
12862 2005-03-09  Wim Taymans  <wim@fluendo.com>
12863
12864         * configure.ac:
12865         * gst/gst_private.h:
12866         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12867         (gst_bin_remove_func), (gst_bin_remove),
12868         (gst_bin_get_by_name_recurse_up):
12869         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
12870         (gst_clock_id_compare_func), (gst_clock_id_wait),
12871         (gst_clock_id_wait_async), (gst_clock_init),
12872         (gst_clock_adjust_unlocked), (gst_clock_get_time):
12873         * gst/gstelement.h:
12874         * gst/gstinfo.c: (_gst_debug_init):
12875         * gst/gstobject.h:
12876         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12877         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
12878         * gst/gstpad.h:
12879         Bump version number, we're now 0.9.0
12880         Add future debugging category.
12881         Fix NULL _unref() in _get_by_name_recurse_up
12882         Rearrange gstpad.h.
12883         Update some docs.
12884
12885 2005-03-08  Wim Taymans  <wim@fluendo.com>
12886
12887         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
12888         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
12889         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
12890         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
12891         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
12892         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
12893         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
12894         * gst/elements/gstidentity.c: (gst_identity_class_init):
12895         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
12896         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12897         * gst/elements/gstshaper.c: (gst_shaper_class_init):
12898         * gst/elements/gststatistics.c: (gst_statistics_class_init):
12899         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
12900         (gst_tee_link):
12901         * gst/gstelement.c: (gst_element_class_init),
12902         (gst_element_base_class_init), (gst_element_init),
12903         (gst_element_get_random_pad), (gst_element_wait_state_change),
12904         (gst_element_change_state), (gst_element_dispose),
12905         (gst_element_finalize), (gst_element_set_loop_function):
12906         * gst/gstelement.h:
12907         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
12908         * gst/gstthread.c: (gst_thread_class_init),
12909         (gst_thread_release_children_locks), (gst_thread_change_state):
12910         * gst/schedulers/gstbasicscheduler.c:
12911         (gst_basic_scheduler_loopfunc_wrapper),
12912         (gst_basic_scheduler_chain_wrapper),
12913         (gst_basic_scheduler_src_wrapper),
12914         (gst_basic_scheduler_remove_element):
12915         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
12916         Remove threadsafe properties. Fix elements because GObject
12917         complains when installing a property before declaring a
12918         set/get_property handler.
12919         Rearrange gstelement.h file, use STATE macros for state locks.
12920         Free mutexes in the finalize method instead of dispose.
12921
12922 2005-03-08  Wim Taymans  <wim@fluendo.com>
12923
12924         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12925         * gst/gstthread.c: (gst_thread_release_children_locks):
12926         Added parentage check.
12927         Fix build og GstThread again.
12928
12929 2005-03-08  Wim Taymans  <wim@fluendo.com>
12930
12931         * docs/design/part-MT-refcounting.txt:
12932         * docs/design/part-conventions.txt:
12933         * docs/design/part-gstobject.txt:
12934         * docs/design/part-relations.txt:
12935         * docs/design/part-standards.txt:
12936         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12937         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
12938         (gst_bin_get_by_name), (gst_bin_get_by_interface),
12939         (gst_bin_iterate_all_by_interface):
12940         * gst/gstbuffer.h:
12941         * gst/gstclock.h:
12942         * gst/gstelement.c: (gst_element_class_init),
12943         (gst_element_change_state), (gst_element_set_loop_function):
12944         * gst/gstelement.h:
12945         * gst/gstiterator.c:
12946         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
12947         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
12948         (gst_object_dispatch_properties_changed), (gst_object_set_name),
12949         (gst_object_set_parent), (gst_object_unparent),
12950         (gst_object_check_uniqueness):
12951         * gst/gstobject.h:
12952         Docs updates, clean up some headers.
12953
12954 2005-03-07  Wim Taymans  <wim@fluendo.com>
12955
12956         * check/.cvsignore:
12957         * check/Makefile.am:
12958         * check/gst-libs/.cvsignore:
12959         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
12960         * check/gst/.cvsignore:
12961         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
12962         (START_TEST), (gstbus_suite), (main):
12963         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
12964         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
12965         (gst_data_suite), (main):
12966         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
12967         (add_fold_func), (gstiterator_suite), (main):
12968         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
12969         (thread_name_object), (thread_name_object_default),
12970         (gst_object_name_compare), (gst_object_suite), (main):
12971         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
12972         (gst_pad_suite), (main):
12973         * check/gstcheck.c: (gst_check_log_message_func),
12974         (gst_check_log_critical_func), (gst_check_init):
12975         * check/gstcheck.h:
12976         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
12977         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
12978         Added checks.
12979
12980 2005-03-07  Wim Taymans  <wim@fluendo.com>
12981
12982         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
12983         (gst_list_iterator_next), (gst_list_iterator_resync),
12984         (gst_list_iterator_free), (gst_iterator_new_list),
12985         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
12986         (gst_iterator_free), (gst_iterator_push), (filter_next),
12987         (filter_resync), (filter_uninit), (filter_free),
12988         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
12989         (gst_iterator_foreach), (find_custom_fold_func),
12990         (gst_iterator_find_custom):
12991         * gst/gstiterator.h:
12992         Added missing files.
12993
12994 2005-03-07  Wim Taymans  <wim@fluendo.com>
12995
12996         * Makefile.am:
12997         * configure.ac:
12998         * docs/design/part-MT-refcounting.txt:
12999         * docs/design/part-conventions.txt:
13000         * docs/design/part-gstobject.txt:
13001         * docs/design/part-relations.txt:
13002         * examples/mixer/mixer.c: (main):
13003         * examples/thread/thread.c: (eos), (main):
13004         * gst/Makefile.am:
13005         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13006         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
13007         (gst_spider_plug_from_srcpad):
13008         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
13009         (gst_spider_identity_change_state),
13010         (gst_spider_identity_sink_loop_type_finding):
13011         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
13012         * gst/elements/gstidentity.c: (gst_identity_init):
13013         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
13014         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
13015         * gst/elements/gsttypefindelement.c: (free_entry):
13016         * gst/gst.c:
13017         * gst/gst.h:
13018         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
13019         (gst_bin_set_clock_func), (gst_bin_auto_clock),
13020         (gst_bin_set_index), (gst_bin_set_element_sched),
13021         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
13022         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
13023         (gst_bin_iterate_elements), (iterate_child_recurse),
13024         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
13025         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
13026         (compare_interface), (gst_bin_get_by_interface),
13027         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
13028         * gst/gstbin.h:
13029         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
13030         (gst_buffer_default_free), (gst_buffer_default_copy),
13031         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
13032         (gst_buffer_create_sub):
13033         * gst/gstbuffer.h:
13034         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
13035         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
13036         (gst_caps_unref), (gst_static_caps_get),
13037         (gst_caps_remove_and_get_structure), (gst_caps_append),
13038         (gst_caps_append_structure), (gst_caps_remove_structure),
13039         (gst_caps_copy_nth), (gst_caps_set_simple),
13040         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
13041         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
13042         (gst_caps_structure_intersect_field), (gst_caps_intersect),
13043         (gst_caps_structure_subtract_field), (gst_caps_subtract),
13044         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
13045         (gst_caps_structure_figure_out_union),
13046         (gst_caps_switch_structures), (gst_caps_do_simplify),
13047         (gst_caps_replace), (gst_caps_from_string),
13048         (gst_caps_copy_conditional):
13049         * gst/gstcaps.h:
13050         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
13051         (_gst_clock_id_free), (gst_clock_id_unref),
13052         (gst_clock_id_compare_func), (gst_clock_id_wait),
13053         (gst_clock_id_wait_async), (gst_clock_class_init),
13054         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
13055         (gst_clock_get_time), (gst_clock_set_time_adjust),
13056         (gst_clock_set_property), (gst_clock_get_property):
13057         * gst/gstclock.h:
13058         * gst/gstcompat.h:
13059         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
13060         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
13061         * gst/gstdata.h:
13062         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13063         (gst_element_requires_clock), (gst_element_provides_clock),
13064         (gst_element_set_clock), (gst_element_clock_wait),
13065         (gst_element_wait), (gst_element_set_time_delay),
13066         (gst_element_is_indexable), (gst_element_add_pad),
13067         (gst_element_add_ghost_pad), (gst_element_remove_pad),
13068         (pad_compare_name), (gst_element_get_static_pad),
13069         (gst_element_request_pad), (gst_element_get_request_pad),
13070         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
13071         (gst_element_class_get_pad_template_list),
13072         (gst_element_class_get_pad_template), (gst_element_error_func),
13073         (gst_element_get_random_pad), (gst_element_get_event_masks),
13074         (gst_element_send_event), (gst_element_seek),
13075         (gst_element_get_query_types), (gst_element_query),
13076         (gst_element_get_formats), (gst_element_convert),
13077         (gst_element_is_locked_state), (gst_element_set_locked_state),
13078         (gst_element_sync_state_with_parent), (gst_element_change_state),
13079         (gst_element_finalize), (gst_element_yield),
13080         (gst_element_interrupt), (gst_element_set_scheduler),
13081         (gst_element_get_scheduler), (gst_element_set_loop_function):
13082         * gst/gstelement.h:
13083         * gst/gstevent.h:
13084         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
13085         (gst_format_get_by_nick), (gst_format_get_details),
13086         (gst_format_iterate_definitions):
13087         * gst/gstformat.h:
13088         * gst/gstindex.c: (gst_index_gtype_resolver):
13089         * gst/gstinfo.c:
13090         * gst/gstinfo.h:
13091         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
13092         (gst_mem_chunk_free):
13093         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
13094         (gst_object_ref), (gst_object_unref), (gst_object_sink),
13095         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
13096         (gst_object_dispatch_properties_changed),
13097         (gst_object_set_name_default), (gst_object_set_name),
13098         (gst_object_get_name), (gst_object_set_name_prefix),
13099         (gst_object_get_name_prefix), (gst_object_set_parent),
13100         (gst_object_get_parent), (gst_object_unparent),
13101         (gst_object_check_uniqueness), (gst_object_save_thyself),
13102         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
13103         (gst_object_set_property), (gst_object_get_property),
13104         (gst_object_get_path_string):
13105         * gst/gstobject.h:
13106         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13107         (gst_real_pad_init), (gst_real_pad_get_property),
13108         (gst_pad_custom_new), (gst_pad_get_direction),
13109         (gst_pad_set_active), (gst_pad_is_active),
13110         (gst_pad_set_event_function), (gst_pad_is_linked),
13111         (gst_pad_link_free), (gst_pad_link_intersect),
13112         (gst_pad_link_fixate), (gst_pad_set_caps),
13113         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
13114         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
13115         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
13116         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
13117         (gst_pad_get_caps), (gst_pad_peer_get_caps),
13118         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
13119         (gst_pad_realize), (gst_pad_get_allowed_caps),
13120         (gst_real_pad_dispose), (gst_real_pad_finalize),
13121         (gst_pad_collectv), (gst_pad_collect_valist),
13122         (gst_pad_template_dispose), (gst_pad_template_new),
13123         (gst_pad_get_internal_links):
13124         * gst/gstpad.h:
13125         * gst/gstpipeline.c: (gst_pipeline_dispose),
13126         (gst_pipeline_change_state):
13127         * gst/gstpipeline.h:
13128         * gst/gstplugin.c:
13129         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
13130         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
13131         * gst/gstpluginfeature.h:
13132         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
13133         * gst/gstquery.c: (_gst_query_type_initialize),
13134         (gst_query_type_register), (gst_query_type_get_by_nick),
13135         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
13136         * gst/gstquery.h:
13137         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
13138         * gst/gstscheduler.c: (gst_scheduler_add_element),
13139         (gst_scheduler_factory_create):
13140         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13141         (gst_structure_free), (gst_structure_set_name),
13142         (gst_structure_id_set_value), (gst_structure_set_value),
13143         (gst_structure_set_valist), (gst_structure_remove_field),
13144         (gst_structure_remove_fields),
13145         (gst_structure_remove_fields_valist),
13146         (gst_structure_remove_all_fields), (gst_structure_foreach),
13147         (gst_structure_map_in_place),
13148         (gst_caps_structure_fixate_field_nearest_int),
13149         (gst_caps_structure_fixate_field_nearest_double):
13150         * gst/gststructure.h:
13151         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13152         (gst_system_clock_init), (gst_system_clock_dispose),
13153         (gst_system_clock_async_thread),
13154         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
13155         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
13156         * gst/gstsystemclock.h:
13157         * gst/gsttag.c: (gst_tag_list_add_value_internal),
13158         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
13159         * gst/gsttaginterface.c:
13160         * gst/gstthread.c: (gst_thread_dispose),
13161         (gst_thread_release_children_locks), (gst_thread_change_state),
13162         (gst_thread_main_loop):
13163         * gst/gsttrashstack.h:
13164         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
13165         * gst/gsttypes.h:
13166         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13167         (gst_element_request_pad), (gst_element_get_pad_from_template),
13168         (gst_element_request_compatible_pad),
13169         (gst_element_get_compatible_pad_filtered),
13170         (gst_element_get_compatible_pad), (gst_element_state_get_name),
13171         (gst_element_link_pads_filtered), (gst_element_link_filtered),
13172         (gst_element_link_many), (gst_element_link),
13173         (gst_element_link_pads), (gst_element_unlink_pads),
13174         (gst_element_unlink_many), (gst_element_unlink),
13175         (gst_pad_can_link_filtered), (gst_pad_can_link),
13176         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
13177         (gst_object_default_error), (gst_bin_add_many),
13178         (gst_bin_remove_many), (gst_element_populate_std_props),
13179         (gst_element_class_install_std_props), (gst_buffer_merge),
13180         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
13181         (link_fold_func), (gst_pad_proxy_setcaps):
13182         * gst/gstutils.h:
13183         * gst/gstvalue.c: (gst_value_deserialize_string):
13184         * gst/parse/grammar.y:
13185         * gst/schedulers/gstbasicscheduler.c:
13186         (gst_basic_scheduler_cothreaded_chain),
13187         (gst_basic_scheduler_chain_recursive_add),
13188         (gst_basic_scheduler_pad_link):
13189         * gst/schedulers/gstoptimalscheduler.c:
13190         (get_group_schedule_function),
13191         (gst_opt_scheduler_state_transition),
13192         (gst_opt_scheduler_add_element), (element_get_reachables_func):
13193         * libs/gst/bytestream/bytestream.c:
13194         * libs/gst/dataprotocol/dataprotocol.c:
13195         (gst_dp_header_from_buffer):
13196         * po/nb.po:
13197         * po/ru.po:
13198         * tests/threadstate/threadstate2.c: (eos):
13199         * tools/gst-compprep.c: (main):
13200         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
13201         (print_pad_info), (print_children_info):
13202         * tools/gst-launch.c: (idle_func), (main):
13203         * tools/gst-md5sum.c: (idle_func), (main):
13204         * tools/gst-xmlinspect.c: (print_element_info):
13205         First THREADED backport attempt, focusing on adding locks and
13206         making sure the API is threadsafe. Needs more work. More docs
13207         follow this week.
13208
13209 2005-02-24  Andy Wingo  <wingo@pobox.com>
13210
13211         * tests/bench-complexity.scm:
13212         * tests/complexity.gnuplot: New files, good for running complexity
13213         benchmarks.
13214
13215         * tests/Makefile.am:
13216         * tests/complexity.c: New test, sets up N elements, at each level
13217         teeing into M streams per element. Eeeenteresting.
13218
13219         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
13220         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
13221         running bench-mass_elements.scm.
13222
13223         * tests/bench-mass_elements.scm: New script, runs mass_elements
13224         for various numbers of identities, outputting the results to a
13225         file. Requires guile 1.6. Just for testing.
13226
13227 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13228
13229         * gst/schedulers/fairscheduler.c:
13230           compile with debug disabled
13231
13232 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13233
13234         * configure.ac:
13235           hunting season on 0.9 is now OPEN