expand tabs
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2
3         * docs/libs/tmpl/gstdataprotocol.sgml:
4         * docs/random/omega/testing/gstobject.c:
5         * gst/gst.c:
6         * gst/gstclock.c:
7         * gst/gstelement.c:
8         * gst/gstelementfactory.c:
9         * gst/gsterror.c:
10         * gst/gstevent.c:
11         * gst/gstghostpad.c:
12         * gst/gstinfo.c:
13         * gst/gstpadtemplate.c:
14         * gst/gstregistryxml.c:
15         * gst/gsttaglist.c:
16         * gst/gsttagsetter.c:
17         * gst/gsttypefind.c:
18         * gst/gstvalue.c:
19         * libs/gst/base/gstbasesrc.c:
20         * libs/gst/net/gstnetclientclock.c:
21         * libs/gst/net/gstnettimeprovider.c:
22         * plugins/elements/gstfakesrc.c:
23         * plugins/elements/gstfdsrc.c:
24         * plugins/elements/gstfilesrc.c:
25         * plugins/elements/gstidentity.c:
26         * plugins/elements/gstqueue.c:
27         * plugins/elements/gsttypefindelement.c:
28         * plugins/indexers/gstfileindex.c:
29         * plugins/indexers/gstmemindex.c:
30         * tests/check/gst/gsttag.c:
31         * tests/old/examples/cutter/cutter.c:
32         * tests/old/examples/mixer/mixer.c:
33         * tests/old/examples/xml/runxml.c: (main):
34         * tests/old/testsuite/caps/normalisation.c:
35         * tests/old/testsuite/debug/global.c:
36         * tests/old/testsuite/parse/parse1.c:
37         * tools/gst-xmlinspect.c:
38         * win32/common/dirent.c:
39           expand tabs
40
41 === release 0.10.0 ===
42
43 2005-12-05   <thomas (at) apestaart (dot) org>
44
45         * configure.ac:
46           releasing 0.10.0, "Maroilles"
47
48 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
49
50         submitted by: Funda Wang <fundawang@linux.net.cn>
51
52         * po/LINGUAS:
53         * po/zh_CN.po:
54           added Chinese (Traditional) translation
55
56 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
57
58         * docs/gst/gstreamer-sections.txt:
59         * docs/libs/tmpl/gstdataprotocol.sgml:
60         * docs/random/thomasvs/TODO:
61         * gst/gstutils.c:
62         * gst/gstutils.h:
63           fix docs
64
65 2005-12-05  Andy Wingo  <wingo@pobox.com>
66
67         patch by: Wim Taymans <wim@fluendo.com>
68
69         * libs/gst/base/gstbasetransform.c
70         (gst_base_transform_prepare_output_buf)
71         (gst_base_transform_buffer_alloc):
72         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
73         alloc_buffer_and_set_caps.
74
75         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
76         set_caps on the source pad.
77         (gst_pad_alloc_buffer_and_set_caps): New function, does what
78         alloc_buffer used to do. Fixes #322874.
79
80         * docs/gst/gstreamer-sections.txt: 
81         * docs/design/part-negotiation.txt: 
82         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
83         changes.
84
85 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
86
87         patch by: Sebastien Moutte
88
89         * win32/MANIFEST:
90         * win32/common/config.h.in:
91         * win32/vs6/libgstcontroller.dsp:
92           win32 build fixes
93
94 2005-12-05  Wim Taymans  <wim@fluendo.com>
95
96         * gst/gstcaps.c: (gst_caps_is_equal):
97         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
98         (gst_fake_src_create):
99         Back out previous code changes, leave doc updates, file bugs 
100         instead. 
101
102 2005-12-05  Wim Taymans  <wim@fluendo.com>
103
104         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
105         (gst_fake_src_get_times), (gst_fake_src_create):
106         * plugins/elements/gstfakesrc.h:
107         Fix broken sync code.
108
109 2005-12-05  Wim Taymans  <wim@fluendo.com>
110
111         * gst/gstcaps.c: (gst_caps_is_equal):
112         Comparing NULL against !NULL yields different caps, not a
113         failure.
114
115 2005-12-05  Wim Taymans  <wim@fluendo.com>
116
117         * gst/gstpipeline.c:
118         Fix small typo in docs.
119
120 2005-12-05  Andy Wingo  <wingo@pobox.com>
121
122         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
123
124         * gst/gst.c (init_post): remove hard-coded 0.9 location for
125         registries/plugins with a MAJORMINOR one.
126         (plugin_desc): Rename library from gstcoreleements to
127         staticelements. Fixes #323222.
128
129 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
130
131         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
132           Change debug category to 'collectpads' from 'collect_pads'
133           (fixes #323250).
134
135 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
136
137         patch by: Sebastien Moutte
138
139         * libs/gst/controller/gstinterpolation.c:
140           use convert function for uint64/double
141         * win32/vs6/libgstcontroller.dsp:
142           link to GLib
143
144 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
145
146         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
147         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
148         * gst/gstutils.h:
149         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
150           add tests that seem to show that the guint64/gdouble conversions
151           are correct.
152
153 2005-12-02  Wim Taymans  <wim@fluendo.com>
154
155         * gst/gstregistry.c: (gst_registry_add_path):
156         * gst/gstregistry.h:
157         * gst/gstregistryxml.c:
158         Fix docs again.
159
160 2005-12-02  Wim Taymans  <wim@fluendo.com>
161
162         * gst/gstutils.c: (gst_util_uint64_scale_int64),
163         (gst_util_uint64_scale_int):
164         Small cleanup.
165
166         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
167         Add debug log line.
168
169         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
170         Add FIXME.
171
172 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
173
174         * win32/MANIFEST:
175         * win32/common/config.h:
176         * win32/vs6/gstreamer.dsw:
177         * win32/vs6/libgstcoreelements.dsp:
178         * win32/vs6/libgstelements.dsp:
179           renamed core elements plugin
180
181 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
182
183         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
184         (get_candidates):
185           do piece-wise major/minor comparison so 0.9 < 0.10
186           also allow .exe extensions for tools
187
188 2005-12-02  Michael Smith  <msmith@fluendo.com>
189
190         * gst/gst.c:
191           Escape a % to make gtkdoc happier; bug 322958.
192
193 === release 0.9.7 ===
194
195 2005-12-01   <thomas (at) apestaart (dot) org>
196
197         * configure.ac:
198           releasing 0.9.7, "My Dog Has No Nose"
199
200 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
201
202         * common/gst-xmlinspect.py:
203         * configure.ac:
204         * docs/libs/tmpl/gstdataprotocol.sgml:
205         * docs/random/release:
206         * po/af.po:
207         * po/az.po:
208         * po/bg.po:
209         * po/ca.po:
210         * po/cs.po:
211         * po/de.po:
212         * po/en_GB.po:
213         * po/fr.po:
214         * po/it.po:
215         * po/nb.po:
216         * po/nl.po:
217         * po/ru.po:
218         * po/sq.po:
219         * po/sr.po:
220         * po/sv.po:
221         * po/tr.po:
222         * po/uk.po:
223         * po/vi.po:
224         * win32/common/config.h:
225         * win32/common/config.h.in:
226         * win32/vs6/gst_inspect.dsp:
227         * win32/vs6/gst_launch.dsp:
228         * win32/vs6/libgstbase.dsp:
229         * win32/vs6/libgstelements.dsp:
230         * win32/vs6/libgstreamer.dsp:
231         * win32/vs7/GStreamer.vcproj:
232         * win32/vs7/gst-inspect.vcproj:
233         * win32/vs7/gst-launch.vcproj:
234         * win32/vs7/libgstbase.vcproj:
235           bump GST_MAJORMINOR to 0.10
236           reset libtool version
237
238 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
239
240         * po/LINGUAS:
241         * po/bg.po:
242           Added Bulgarian translation by (Alexander Shopov)
243
244 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
245
246         * tests/check/gst/gstplugin.c:
247           fix test
248
249 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
250
251         * common/gst-xmlinspect.py:
252         * common/gtk-doc-plugins.mak:
253         * configure.ac:
254         * docs/Makefile.am:
255         * docs/gst/Makefile.am:
256         * docs/gst/gstreamer-docs.sgml:
257         * docs/gst/gstreamer-sections.txt:
258         * docs/gst/gstreamer.types:
259         * docs/gst/gstreamer.types.in:
260         * docs/plugins/Makefile.am:
261         * docs/plugins/gstreamer-plugins-docs.sgml:
262         * docs/plugins/gstreamer-plugins-sections.txt:
263         * docs/plugins/gstreamer-plugins.types:
264         * docs/plugins/inspect.stamp:
265         * docs/plugins/inspect/plugin-coreelements.xml:
266         * docs/plugins/inspect/plugin-coreindexers.xml:
267         * docs/plugins/scanobj-build.stamp:
268         * gstreamer.spec.in:
269         * plugins/elements/Makefile.am:
270         * plugins/elements/gstelements.c:
271         * plugins/elements/gstfakesink.c:
272         * plugins/elements/gstfakesrc.c:
273         * plugins/elements/gstfilesink.c:
274         * plugins/elements/gstfilesrc.c:
275         * plugins/elements/gstqueue.c:
276         * plugins/indexers/Makefile.am:
277         * plugins/indexers/gstindexers.c:
278           document core plugins in a separate document just like all the
279           others
280           rename these plugins to something starting with core
281
282 2005-12-01  Andy Wingo  <wingo@pobox.com>
283
284         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
285         padding here before, but it missed the commit.
286
287 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
288
289         * libs/gst/controller/gstinterpolation.c:
290           whitespace prices have crashed, we should feel free to use some now
291           use gst_guint64_to_gdouble
292
293 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
294
295         * libs/gst/controller/gstcontroller.c:
296         * libs/gst/controller/gsthelper.c:
297         * libs/gst/controller/gstinterpolation.c:
298         * libs/gst/controller/lib.c:
299           wrap config.h include
300
301 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
302
303         * docs/gst/gstreamer-sections.txt:
304           update docs
305
306 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
307
308         * plugins/elements/gstelements.c:
309         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
310         (gst_fd_sink__class_init), (gst_fd_sink__init),
311         (gst_fd_sink__chain), (gst_fd_sink__set_property),
312         (gst_fd_sink__get_property):
313         * plugins/elements/gstfdsink.h:
314         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
315         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
316         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
317         (gst_fd_src_unlock), (gst_fd_src_set_property),
318         (gst_fd_src_get_property), (gst_fd_src_create),
319         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
320         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
321         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
322         (gst_fd_src_uri_handler_init):
323         * plugins/elements/gstfdsrc.h:
324         * plugins/elements/gstqueue.c: (gst_queue_get_type):
325           more anal cleanup
326
327 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
328
329         * docs/gst/Makefile.am:
330         * docs/gst/gstreamer.types.in:
331         * gst/Makefile.am:
332           fix the docs build
333
334 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
335
336         * configure.ac:
337         * gst/Makefile.am:
338         * gst/gst.c:
339         * gst/gstplugin.h:
340         * gst/gstregistry.h:
341         * tests/benchmarks/complexity.c:
342         * tests/benchmarks/mass-elements.c:
343         * tests/check/Makefile.am:
344         * tools/Makefile.am:
345         * tools/gst-inspect.c:
346         * tools/gst-xmlinspect.c:
347           various fixes to make
348           --disable-nls --disable-registry --disable-loadsave
349           --disable-parse --disable-gst-debug
350           work and get the core .so down to 360444 bytes after stripping
351
352 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
353
354         * Makefile.am:
355         * configure.ac:
356           descend into tests
357         * docs/random/thomasvs/TODO:
358         * tests/Makefile.am:
359         * tests/README:
360           add a README
361
362 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
363
364         * win32/GStreamer.vcproj:
365         * win32/MANIFEST:
366         * win32/Makefile:
367         * win32/Makefile.inspect:
368         * win32/Makefile.launch:
369         * win32/Makefile.register:
370         * win32/README.txt:
371         * win32/gst-inspect.vcproj:
372         * win32/gst-launch.vcproj:
373         * win32/gst-register.vcproj:
374         * win32/gstelements.vcproj:
375         * win32/gstgetbits.def:
376         * win32/gstgetbits.vcproj:
377         * win32/gstreamer-dbg.def:
378         * win32/gstreamer.def:
379         * win32/libgstbase.def:
380         * win32/libgstbase.vcproj:
381         * win32/link_oldruntime.c:
382         * win32/mman.c:
383         * win32/mman.h:
384         * win32/mman.inl:
385         * win32/msvc71.sln:
386           move even more stuff, win32/ is nice and clean now
387
388 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
389
390         * libs/gst/control/.cvsignore:
391         * win32/MANIFEST:
392         * win32/config.h:
393         * win32/dirent.c:
394         * win32/dirent.h:
395         * win32/gstbytestream.def:
396         * win32/gstbytestream.vcproj:
397         * win32/gstconfig.h:
398         * win32/gstenumtypes.c:
399         * win32/gstenumtypes.h:
400         * win32/gstoptimalscheduler.vcproj:
401         * win32/gstversion.h:
402         * win32/gtchar.h:
403         * win32/testsuite/bins.vcproj:
404         * win32/testsuite/bytestream.vcproj:
405         * win32/testsuite/caps.vcproj:
406         * win32/testsuite/cleanup.vcproj:
407         * win32/testsuite/clock.vcproj:
408         * win32/testsuite/debug.vcproj:
409         * win32/testsuite/dlopen.vcproj:
410         * win32/testsuite/dynparams.vcproj:
411         * win32/testsuite/elements.vcproj:
412         * win32/testsuite/ghostpads.vcproj:
413         * win32/testsuite/indexers.vcproj:
414         * win32/testsuite/negotiation.vcproj:
415         * win32/testsuite/parse.vcproj:
416         * win32/testsuite/plugin.vcproj:
417         * win32/testsuite/refcounting.vcproj:
418         * win32/testsuite/schedulers.vcproj:
419         * win32/testsuite/states.vcproj:
420         * win32/testsuite/tags.vcproj:
421         * win32/testsuite/threads.vcproj:
422           remove old win32 stuff that isn't maintained and should be
423           reorganized
424
425 2005-11-30  Andy Wingo  <wingo@pobox.com>
426
427         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
428         loading the gst.interfaces python module bork.
429
430         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
431         available since GLib 2.2. Fixes #318031.
432
433 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
434
435         * Makefile.am:
436         * check/.cvsignore:
437         * check/Makefile.am:
438         * check/elements/.cvsignore:
439         * check/elements/fakesrc.c:
440         * check/elements/fdsrc.c:
441         * check/elements/identity.c:
442         * check/generic/.cvsignore:
443         * check/generic/states.c:
444         * check/gst-libs/.cvsignore:
445         * check/gst-libs/controller.c:
446         * check/gst-libs/gdp.c:
447         * check/gst/.cvsignore:
448         * check/gst/capslist.h:
449         * check/gst/gst.c:
450         * check/gst/gstbin.c:
451         * check/gst/gstbuffer.c:
452         * check/gst/gstbus.c:
453         * check/gst/gstcaps.c:
454         * check/gst/gstelement.c:
455         * check/gst/gstevent.c:
456         * check/gst/gstghostpad.c:
457         * check/gst/gstiterator.c:
458         * check/gst/gstmessage.c:
459         * check/gst/gstminiobject.c:
460         * check/gst/gstobject.c:
461         * check/gst/gstpad.c:
462         * check/gst/gstpipeline.c:
463         * check/gst/gstplugin.c:
464         * check/gst/gstsegment.c:
465         * check/gst/gststructure.c:
466         * check/gst/gstsystemclock.c:
467         * check/gst/gsttag.c:
468         * check/gst/gstutils.c:
469         * check/gst/gstvalue.c:
470         * check/net/.cvsignore:
471         * check/net/gstnetclientclock.c:
472         * check/net/gstnettimeprovider.c:
473         * check/pipelines/.cvsignore:
474         * check/pipelines/cleanup.c:
475         * check/pipelines/simple_launch_lines.c:
476         * check/pipelines/stress.c:
477         * check/states/.cvsignore:
478         * check/states/sinks.c:
479         * configure.ac:
480         * examples/Makefile.am:
481         * examples/appreader/.cvsignore:
482         * examples/appreader/Makefile.am:
483         * examples/appreader/appreader.c:
484         * examples/controller/.cvsignore:
485         * examples/controller/Makefile.am:
486         * examples/controller/audio-example.c:
487         * examples/cutter/.cvsignore:
488         * examples/cutter/Makefile.am:
489         * examples/cutter/cutter.c:
490         * examples/cutter/cutter.h:
491         * examples/events/Makefile.am:
492         * examples/events/seek.c:
493         * examples/helloworld/.cvsignore:
494         * examples/helloworld/Makefile.am:
495         * examples/helloworld/helloworld.c:
496         * examples/helloworld2/.cvsignore:
497         * examples/helloworld2/Makefile.am:
498         * examples/helloworld2/helloworld2.c:
499         * examples/launch/.cvsignore:
500         * examples/launch/Makefile.am:
501         * examples/launch/mp3parselaunch.c:
502         * examples/launch/mp3play:
503         * examples/manual/.cvsignore:
504         * examples/manual/Makefile.am:
505         * examples/manual/extract.pl:
506         * examples/metadata/Makefile.am:
507         * examples/metadata/read-metadata.c:
508         * examples/mixer/.cvsignore:
509         * examples/mixer/Makefile.am:
510         * examples/mixer/mixer.c:
511         * examples/mixer/mixer.h:
512         * examples/pingpong/.cvsignore:
513         * examples/pingpong/Makefile.am:
514         * examples/pingpong/pingpong.c:
515         * examples/plugins/.cvsignore:
516         * examples/plugins/Makefile.am:
517         * examples/plugins/example.c:
518         * examples/plugins/example.h:
519         * examples/pwg/.cvsignore:
520         * examples/pwg/Makefile.am:
521         * examples/pwg/extract.pl:
522         * examples/queue/.cvsignore:
523         * examples/queue/Makefile.am:
524         * examples/queue/queue.c:
525         * examples/queue2/.cvsignore:
526         * examples/queue2/Makefile.am:
527         * examples/queue2/queue2.c:
528         * examples/queue3/.cvsignore:
529         * examples/queue3/Makefile.am:
530         * examples/queue3/queue3.c:
531         * examples/queue4/.cvsignore:
532         * examples/queue4/Makefile.am:
533         * examples/queue4/queue4.c:
534         * examples/retag/.cvsignore:
535         * examples/retag/Makefile.am:
536         * examples/retag/retag.c:
537         * examples/retag/transcode.c:
538         * examples/thread/.cvsignore:
539         * examples/thread/Makefile.am:
540         * examples/thread/thread.c:
541         * examples/typefind/.cvsignore:
542         * examples/typefind/Makefile.am:
543         * examples/typefind/typefind.c:
544         * examples/xml/.cvsignore:
545         * examples/xml/Makefile.am:
546         * examples/xml/createxml.c:
547         * examples/xml/runxml.c:
548         * tests/Makefile.am:
549         * tests/check/Makefile.am:
550         * testsuite/.cvsignore:
551         * testsuite/Makefile.am:
552         * testsuite/Rules:
553         * testsuite/caps/.cvsignore:
554         * testsuite/caps/Makefile.am:
555         * testsuite/caps/app_fixate.c:
556         * testsuite/caps/audioscale.c:
557         * testsuite/caps/caps.c:
558         * testsuite/caps/caps.h:
559         * testsuite/caps/caps_strings:
560         * testsuite/caps/compatibility.c:
561         * testsuite/caps/deserialize.c:
562         * testsuite/caps/enumcaps.c:
563         * testsuite/caps/eratosthenes.c:
564         * testsuite/caps/filtercaps.c:
565         * testsuite/caps/fixed.c:
566         * testsuite/caps/fraction-convert.c:
567         * testsuite/caps/fraction-multiply-and-zero.c:
568         * testsuite/caps/intersect2.c:
569         * testsuite/caps/intersection.c:
570         * testsuite/caps/normalisation.c:
571         * testsuite/caps/random.c:
572         * testsuite/caps/renegotiate.c:
573         * testsuite/caps/sets.c:
574         * testsuite/caps/simplify.c:
575         * testsuite/caps/string-conversions.c:
576         * testsuite/caps/structure.c:
577         * testsuite/caps/subtract.c:
578         * testsuite/caps/union.c:
579         * testsuite/debug/.cvsignore:
580         * testsuite/debug/Makefile.am:
581         * testsuite/debug/category.c:
582         * testsuite/debug/commandline.c:
583         * testsuite/debug/global.c:
584         * testsuite/debug/output.c:
585         * testsuite/debug/printf_extension.c:
586         * testsuite/dlopen/.cvsignore:
587         * testsuite/dlopen/Makefile.am:
588         * testsuite/dlopen/dlopen_gst.c:
589         * testsuite/dlopen/loadgst.c:
590         * testsuite/elements/.cvsignore:
591         * testsuite/elements/Makefile.am:
592         * testsuite/elements/gst-inspect-check.in:
593         * testsuite/elements/struct_i386.h:
594         * testsuite/elements/struct_size.c:
595         * testsuite/indexers/.cvsignore:
596         * testsuite/indexers/Makefile.am:
597         * testsuite/indexers/cache1.c:
598         * testsuite/indexers/indexdump.c:
599         * testsuite/parse/.cvsignore:
600         * testsuite/parse/Makefile.am:
601         * testsuite/parse/parse1.c:
602         * testsuite/parse/parse2.c:
603         * testsuite/plugin/.cvsignore:
604         * testsuite/plugin/Makefile.am:
605         * testsuite/plugin/README:
606         * testsuite/plugin/dynamic.c:
607         * testsuite/plugin/linked.c:
608         * testsuite/plugin/loading.c:
609         * testsuite/plugin/registry.c:
610         * testsuite/plugin/static.c:
611         * testsuite/plugin/static2.c:
612         * testsuite/plugin/testplugin.c:
613         * testsuite/plugin/testplugin2.c:
614         * testsuite/plugin/testplugin2_s.c:
615         * testsuite/plugin/testplugin_s.c:
616         * testsuite/refcounting/.cvsignore:
617         * testsuite/refcounting/Makefile.am:
618         * testsuite/refcounting/bin.c:
619         * testsuite/refcounting/element.c:
620         * testsuite/refcounting/element_pad.c:
621         * testsuite/refcounting/mainloop.c:
622         * testsuite/refcounting/mem.c:
623         * testsuite/refcounting/mem.h:
624         * testsuite/refcounting/object.c:
625         * testsuite/refcounting/pad.c:
626         * testsuite/refcounting/sched.c:
627         * testsuite/refcounting/thread.c:
628         * testsuite/states/.cvsignore:
629         * testsuite/states/Makefile.am:
630         * testsuite/states/bin.c:
631         * testsuite/states/locked.c:
632         * testsuite/states/parent.c:
633         * testsuite/threads/.cvsignore:
634         * testsuite/threads/159566.c:
635         * testsuite/threads/159852.c:
636         * testsuite/threads/Makefile.am:
637         * testsuite/threads/queue.c:
638         * testsuite/threads/signals.c:
639         * testsuite/threads/staticrec.c:
640         * testsuite/threads/thread.c:
641         * testsuite/threads/threadb.c:
642         * testsuite/threads/threadc.c:
643         * testsuite/threads/threadd.c:
644         * testsuite/threads/threade.c:
645         * testsuite/threads/threadf.c:
646         * testsuite/threads/threadg.c:
647         * testsuite/threads/threadh.c:
648         * testsuite/threads/threadi.c:
649           move all of these under tests
650
651 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
652
653         * configure.ac:
654         * tests/Makefile.am:
655           fix distcheck
656
657 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
658
659         * docs/gst/gstreamer-sections.txt:
660         * tests/sched/.cvsignore:
661         * tests/sched/Makefile.am:
662         * tests/sched/cases/(fs-fs).xml:
663         * tests/sched/cases/(fs-i-fs).xml:
664         * tests/sched/cases/(fs-i-i-fs).xml:
665         * tests/sched/cases/(fs-i-q[i-fs]).xml:
666         * tests/sched/dynamic-pipeline.c:
667         * tests/sched/interrupt1.c:
668         * tests/sched/interrupt2.c:
669         * tests/sched/interrupt3.c:
670         * tests/sched/runtestcases:
671         * tests/sched/runxml.c:
672         * tests/sched/sched-stress.c:
673         * tests/sched/sort.c:
674         * tests/sched/testcases:
675         * tests/sched/testcases1.tc:
676         * tests/seeking/.cvsignore:
677         * tests/seeking/Makefile.am:
678         * tests/seeking/seeking1.c:
679         * tests/threadstate/.cvsignore:
680         * tests/threadstate/Makefile.am:
681         * tests/threadstate/test1.c:
682         * tests/threadstate/test2.c:
683         * tests/threadstate/threadstate1.c:
684         * tests/threadstate/threadstate2.c:
685         * tests/threadstate/threadstate3.c:
686         * tests/threadstate/threadstate4.c:
687         * tests/threadstate/threadstate5.c:
688           remove obsolete tests
689         * configure.ac:
690         * tests/bench-complexity.scm:
691         * tests/bench-mass_elements.scm:
692         * tests/complexity.c:
693         * tests/complexity.gnuplot:
694         * tests/instantiate/.cvsignore:
695         * tests/instantiate/Makefile.am:
696         * tests/instantiate/caps.c:
697         * tests/mass_elements.c:
698         * tests/network-clock-utils.scm:
699         * tests/network-clock.scm:
700         * tests/plot-data:
701         First pass at cleaning up tests/ dir before moving the rest
702         Combined with CVS surgery
703
704 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
705
706         * po/POTFILES.in:
707           queue has moved, update
708
709 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
710
711         * docs/gst/gstreamer-sections.txt:
712           remove double entries from the docs
713         * gst/gst_private.h:
714         * gst/gstinfo.c: (_gst_debug_init):
715           remove the THREAD debug category
716         * gst/Makefile.am:
717         * gst/gstqueue.c:
718         * gst/gstqueue.h:
719         * docs/gst/gstreamer.types:
720         * plugins/elements/gstqueue.c: (gst_queue_get_type),
721         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
722           completely move queue and fix up debugging categories
723
724 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
725
726         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
727           make initialization portable, using LL is not
728
729 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
730
731         * win32/common/gstconfig.h:
732           add large padding
733
734 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
735
736         * win32/common/libgstreamer.def:
737           rename symbols; sort base section
738
739 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
740
741         * gst/gstclock.c: (do_linear_regression):
742           remove crack non-portable handrolled DEBUG macro
743
744 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
745
746         * docs/random/release:
747           update notes
748         * win32/common/gstenumtypes.c: (register_gst_object_flags),
749         (gst_object_flags_get_type), (register_gst_bin_flags),
750         (gst_bin_flags_get_type), (register_gst_buffer_flag),
751         (gst_buffer_flag_get_type), (register_gst_bus_flags),
752         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
753         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
754         (gst_caps_flags_get_type), (register_gst_clock_return),
755         (gst_clock_return_get_type), (register_gst_clock_entry_type),
756         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
757         (gst_clock_flags_get_type), (register_gst_state),
758         (gst_state_get_type), (register_gst_state_change_return),
759         (gst_state_change_return_get_type), (register_gst_state_change),
760         (gst_state_change_get_type), (register_gst_element_flags),
761         (gst_element_flags_get_type), (register_gst_core_error),
762         (gst_core_error_get_type), (register_gst_library_error),
763         (gst_library_error_get_type), (register_gst_resource_error),
764         (gst_resource_error_get_type), (register_gst_stream_error),
765         (gst_stream_error_get_type), (register_gst_event_type_flags),
766         (gst_event_type_flags_get_type), (register_gst_event_type),
767         (gst_event_type_get_type), (register_gst_seek_type),
768         (gst_seek_type_get_type), (register_gst_seek_flags),
769         (gst_seek_flags_get_type), (register_gst_format),
770         (gst_format_get_type), (register_gst_index_certainty),
771         (gst_index_certainty_get_type), (register_gst_index_entry_type),
772         (gst_index_entry_type_get_type),
773         (register_gst_index_lookup_method),
774         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
775         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
776         (gst_index_resolver_method_get_type), (register_gst_index_flags),
777         (gst_index_flags_get_type), (register_gst_debug_level),
778         (gst_debug_level_get_type), (register_gst_debug_color_flags),
779         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
780         (gst_iterator_result_get_type), (register_gst_iterator_item),
781         (gst_iterator_item_get_type), (register_gst_message_type),
782         (gst_message_type_get_type), (register_gst_mini_object_flags),
783         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
784         (gst_pad_link_return_get_type), (register_gst_flow_return),
785         (gst_flow_return_get_type), (register_gst_activate_mode),
786         (gst_activate_mode_get_type), (register_gst_pad_direction),
787         (gst_pad_direction_get_type), (register_gst_pad_flags),
788         (gst_pad_flags_get_type), (register_gst_pad_presence),
789         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
790         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
791         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
792         (gst_plugin_error_get_type), (register_gst_plugin_flags),
793         (gst_plugin_flags_get_type), (register_gst_rank),
794         (gst_rank_get_type), (register_gst_query_type),
795         (gst_query_type_get_type), (register_gst_tag_merge_mode),
796         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
797         (gst_tag_flag_get_type), (register_gst_task_state),
798         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
799         (gst_alloc_trace_flags_get_type),
800         (register_gst_type_find_probability),
801         (gst_type_find_probability_get_type), (register_gst_uri_type),
802         (gst_uri_type_get_type), (register_gst_parse_error),
803         (gst_parse_error_get_type):
804         * win32/common/gstenumtypes.h:
805         * win32/common/gstversion.h:
806           update visual studio generated files
807
808 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
809
810         * win32/vs6/libgstbase.dsp:
811         * win32/vs6/libgstelements.dsp:
812           update project files for new locations
813
814 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
815
816         * Makefile.am:
817           remove some files
818         * README:
819           reinstate and update
820         * DEVEL:
821         * REQUIREMENTS:
822           removed
823         * LICENSE:
824         * docs/random/LICENSE:
825           moved to random
826
827 2005-11-30  Edward Hervey  <edward@fluendo.com>
828
829         * gst/gsttypefind.c: (gst_type_find_register):
830         * gst/gsttypefind.h:
831         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
832         (gst_type_find_factory_dispose):
833         * gst/gsttypefindfactory.h:
834         Fix memory leak in GstTypeFindFactory.
835
836 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
837
838         * gst/gst.c:
839         * plugins/elements/Makefile.am:
840         * plugins/elements/gstelements.c:
841         * plugins/elements/gstqueue.c:
842           move queue from core to the elements plugin
843
844 2005-11-29  Andy Wingo  <wingo@pobox.com>
845
846         * libs/gst/base/gstbasetransform.h: 
847         * libs/gst/base/gstbasesrc.h: 
848         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
849
850         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
851         of pointers by which to pad very extensible base classes (like the
852         ones in libs/gst/base).
853
854 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
855
856         * docs/gst/gstreamer-docs.sgml:
857         * docs/gst/gstreamer-sections.txt:
858         * docs/libs/gstreamer-libs-docs.sgml:
859         * docs/libs/gstreamer-libs-sections.txt:
860           moving documentation from core to lib
861
862 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
863
864         * check/Makefile.am:
865         * configure.ac:
866         * docs/gst/Makefile.am:
867         * gst/Makefile.am:
868         * gst/base/.cvsignore:
869         * gst/base/Makefile.am:
870         * gst/base/README:
871         * gst/base/gstadapter.c:
872         * gst/base/gstadapter.h:
873         * gst/base/gstbasesink.c:
874         * gst/base/gstbasesink.h:
875         * gst/base/gstbasesrc.c:
876         * gst/base/gstbasesrc.h:
877         * gst/base/gstbasetransform.c:
878         * gst/base/gstbasetransform.h:
879         * gst/base/gstcollectpads.c:
880         * gst/base/gstcollectpads.h:
881         * gst/base/gstpushsrc.c:
882         * gst/base/gstpushsrc.h:
883         * gst/base/gsttypefindhelper.c:
884         * gst/base/gsttypefindhelper.h:
885         * gst/check/Makefile.am:
886         * gst/check/gstcheck.c:
887         * gst/check/gstcheck.h:
888         * gst/net/Makefile.am:
889         * gst/net/gstnet.h:
890         * gst/net/gstnetclientclock.c:
891         * gst/net/gstnetclientclock.h:
892         * gst/net/gstnettimepacket.c:
893         * gst/net/gstnettimepacket.h:
894         * gst/net/gstnettimeprovider.c:
895         * gst/net/gstnettimeprovider.h:
896         * libs/gst/Makefile.am:
897         * libs/gst/base/Makefile.am:
898         * libs/gst/base/gstbasetransform.c:
899         * libs/gst/check/Makefile.am:
900         * plugins/elements/Makefile.am:
901         * po/POTFILES.in:
902           CVS surgery + support to move base, check, and net out of gst
903           and into libs/gst
904
905 2005-11-29  Andy Wingo  <wingo@pobox.com>
906
907         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
908
909         * gst/gststructure.h (struct _GstStructure): Only one pointer of
910         padding.
911
912         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
913
914         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
915
916         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
917
918         * gst/gstobject.h: (struct _GstObject): Only one pointer of
919         padding; reduces object size by about 30%. We don't expect
920         anything else to go into gstobject.
921
922         * gst/gstminiobject.h (struct _GstMiniObject)
923         (struct _GstMiniObjectClass): Only one pointer of padding; the
924         payload is only a pointer and two ints anyway. For the class there
925         are only two methods as well.
926         
927         * gst/gstelement.h (struct _GstElementClass): Removed
928         the state_changed signal callback, it is not used.
929
930 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
931
932         * docs/gst/gstreamer.types:
933           fix includes, though they are a little dinky
934
935 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
936
937         * check/Makefile.am:
938           look in the right place for elements, a lot more chance of
939           success
940         * gst/Makefile.am:
941           remove indexers and elements subdirs
942         * plugins/Makefile.am:
943           make indexers conditional
944
945 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
946
947         * Makefile.am:
948         * configure.ac:
949         * plugins/elements/Makefile.am:
950         * plugins/elements/gstcapsfilter.c:
951         * plugins/elements/gstfilesink.c:
952         * plugins/elements/gstfilesrc.c:
953         * plugins/elements/gstidentity.c:
954         * plugins/indexers/Makefile.am:
955           do CVS surgery and related build fixery to move elements
956           and indexers in a new gstreamer/plugins directory, out of the
957           gst/ directory
958
959 2005-11-29  Andy Wingo  <wingo@pobox.com>
960
961         * check/Makefile.am:
962         * pkgconfig/gstreamer-net-uninstalled.pc.in:
963         * pkgconfig/gstreamer-net.pc.in:
964         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
965         #322257.
966
967 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
968
969         * tools/Makefile.am:
970         * tools/gst-complete.1.in:
971         * tools/gst-complete.c:
972         * tools/gst-compprep.1.in:
973         * tools/gst-compprep.c:
974           removing -compprep and -complete
975
976 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
977
978         * gst/gstevent.c: (gst_event_new_new_segment),
979         (gst_event_parse_new_segment):
980         * gst/gstevent.h:
981           fix #320529 - clean up new_segment API and structure.
982           Let's hope everyone was using the methods, and not the structure.
983
984 2005-11-29  Edward Hervey  <edward@fluendo.com>
985
986         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
987         (gst_base_sink_event), (gst_base_sink_do_sync),
988         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
989         Properly handle non GST_FORMAT_TIME segment
990         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
991         Properly handle non GST_FORMAT_TIME segment
992         * gst/gstsegment.c:
993         This function is valid if the accumulator is 0 and the format
994         is different from the requested format.
995         
996 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
997
998         * docs/gst/gstreamer-sections.txt:
999         Add gst_query_new_seeking and gst_query_parse_seeking to the
1000         docs.
1001
1002 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1003
1004         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
1005           Treat a pad alloc with new caps the same as if we were not
1006           negotiated, in order to allow a changing upstream output
1007           to produce a new format of data.
1008
1009 2005-11-29  Edward Hervey  <edward@fluendo.com>
1010
1011         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
1012         (gst_base_transform_event), (gst_base_transform_eventfunc):
1013         The event virtual method is now properly implemented, with a default
1014         handler
1015         Sub classes should call the parent_class event method. They should
1016         return FALSE if they had a problem handling the given event, or don't
1017         want GstBaseTransform to send that even downstream
1018         * gst/elements/gstidentity.c: (gst_identity_class_init),
1019         (gst_identity_init), (gst_identity_event),
1020         (gst_identity_transform_ip), (gst_identity_set_property),
1021         (gst_identity_get_property):
1022         * gst/elements/gstidentity.h:
1023         Added the single-segment boolean property.
1024         If set to TRUE, it will output a single segment of data, starting from
1025         0, will eat up all incoming newsegment, and modify the timestamp of the
1026         buffers accordingly
1027
1028 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
1029
1030         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
1031           Don't ref NULL target pad (#322751). Improve docs.
1032
1033 2005-11-29  Michael Smith  <msmith@fluendo.com>
1034
1035         * gst/gstregistryxml.c: (load_plugin):
1036           Don't crash if we failed to load a feature from a plugin. 
1037
1038 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1039
1040         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
1041         (GST_START_TEST):
1042           use more check API and less GLib API
1043
1044 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1045
1046         * Makefile.am:
1047           don't run checks if we don't have check
1048         * common/check.mak:
1049           remove the registry when running make torture
1050         * docs/gst/gstreamer-sections.txt:
1051           remove second multiply
1052         * gst/gstqueue.c: (gst_queue_loop):
1053           fix a compile warning when disabling debug
1054
1055 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1056
1057         * gst/gstinfo.h:
1058         Hey! Let's print the pad name if the pointer != NULL instead
1059         of when it == NULL :-)
1060
1061 2005-11-28  Wim Taymans  <wim@fluendo.com>
1062
1063         * check/gst/gstutils.c: (GST_START_TEST):
1064         Updated check, add some scaling accuracy checking code.
1065
1066         * gst/gstutils.c: (gst_util_div128_64),
1067         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
1068         (gst_util_uint64_scale_int):
1069         Fix 6 times faster division code. Optimize for common 
1070         1/1 and less common X/1 cases.
1071
1072 2005-11-28  Wim Taymans  <wim@fluendo.com>
1073
1074         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1075         More checks.
1076
1077         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
1078         (do_linear_regression), (gst_clock_add_observation):
1079         Cleanups.
1080         Release lock when the clock cannot be slaved.
1081         Catch the case where the regression returned an invalid denominator.
1082
1083         * gst/gstutils.c: (gst_util_div128_64_iterate),
1084         (gst_util_div128_64), (gst_util_uint64_scale_int64),
1085         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1086         Add protentially more performant non-iterative 128/64 divide function
1087         that unfortunatly does not work yet.
1088         Shortcut the trivial 0/X = 0 case.
1089         Remove the warnings on overflow.
1090
1091 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1092
1093         * gst/gstplugin.c: (gst_plugin_register_func):
1094           everything causing a plugin not to load should be at least a WARNING
1095
1096 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
1097
1098         * docs/random/ensonic/dparams.txt:
1099           some TODOs for the next dev cycle
1100         * libs/gst/controller/gstcontroller.c:
1101         (gst_controlled_property_set_interpolation_mode),
1102         (gst_controlled_property_new):
1103         * libs/gst/controller/gstcontroller.h:
1104           use base type to assign acccessor functions
1105
1106 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1107
1108         * check/Makefile.am:
1109         Oops, that should have been top_srcdir
1110
1111 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1112
1113         * check/Makefile.am:
1114         * check/elements/fdsrc.c: (GST_START_TEST):
1115         Use a cmdline define to specify the location of a file to use for
1116         testing, to avoid breaking distcheck.
1117
1118 2005-11-28  Andy Wingo  <wingo@pobox.com>
1119
1120         * gst/gstpad.c (fixate_value): Use array functions for arrays.
1121
1122 2005-11-28  Edward Hervey  <edward@fluendo.com>
1123
1124         * tools/gst-launch.c: (main):
1125         Clarify the output strings, makes it easier to translate.
1126         Fixes #322626
1127
1128 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1129
1130         * gst/Makefile.am:
1131           don't try and build net if we don't even have <sys/socket.h>
1132
1133 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
1134
1135         * check/Makefile.am:
1136         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
1137         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
1138           Add tests for fdsrc seekability
1139
1140         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
1141         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
1142         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
1143         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
1144         * gst/elements/gstfdsrc.h:
1145           fdsrc should not be a 'live' source.
1146           Implement seeking on seekable fd's.
1147
1148         * gst/gstquery.c: (gst_query_new_seeking),
1149         (gst_query_parse_seeking):
1150         * gst/gstquery.h:
1151           Implement SEEKING query functions: 
1152             *_new_seeking and *_parse_seeking
1153
1154 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
1155
1156         * gst/gstelement.c: (gst_element_dispose):
1157           don't loop forever
1158
1159         * gst/gstiterator.c:
1160         * gst/gststructure.c:
1161           doc fixes
1162
1163         * libs/gst/controller/gstcontroller.c:
1164         (gst_controlled_property_set_interpolation_mode):
1165         * libs/gst/controller/gstcontroller.h:
1166         * libs/gst/controller/gstinterpolation.c:
1167         (interpolate_none_get_enum_value_array):
1168           support controlling enums
1169
1170 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1171
1172         * gst/gstvalue.c:
1173           Improve documentation for gst_value_union().
1174
1175         * gst/gstvalue.h:
1176           Change return value for union, intersect and subtract functions
1177           from gint to gboolean.
1178
1179 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1180
1181         * gst/gstvalue.c: (gst_value_serialize_any_list),
1182         (gst_value_transform_any_list_string),
1183         (gst_value_deserialize_list), (gst_value_deserialize_array),
1184         (gst_value_set_int_range), (gst_value_deserialize_int_range),
1185         (gst_value_set_double_range), (gst_value_deserialize_double_range),
1186         (gst_value_set_fraction_range_full),
1187         (gst_value_deserialize_fraction_range),
1188         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
1189         (gst_value_deserialize_boolean),
1190         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
1191         (gst_value_serialize_float), (gst_value_deserialize_float),
1192         (gst_string_wrap), (gst_value_deserialize_string),
1193         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
1194         (gst_value_union_int_range_int_range),
1195         (gst_value_intersect_int_range_int_range),
1196         (gst_value_intersect_double_range_double_range),
1197         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
1198         (gst_value_subtract_int_range_int_range),
1199         (gst_value_subtract_double_double_range),
1200         (gst_value_subtract_double_range_double_range),
1201         (gst_value_deserialize_fraction):
1202         * gst/gstvalue.h:
1203           Use gint, gdouble and gchar in our API instead of int, double and
1204           char (and make usage in gstvalue.c more consistent).
1205
1206 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1207
1208         * check/Makefile.am:
1209         * libs/gst/controller/Makefile.am:
1210         * libs/gst/dataprotocol/Makefile.am:
1211           fix up Makefile.am and remove GST_ENABLE_NEW
1212
1213 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1214
1215         * configure.ac:
1216         * gst/Makefile.am:
1217         * gst/base/Makefile.am:
1218         * gst/check/Makefile.am:
1219         * gst/elements/Makefile.am:
1220         * gst/net/Makefile.am:
1221           update LDFLAGS use some more
1222
1223 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1224
1225         * common/m4/gst-doc.m4:
1226           Fixes #312589
1227
1228 2005-11-26  Edward Hervey  <edward@fluendo.com>
1229
1230         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1231         This shouldn't issue a g_warning since it returns NULL if it
1232         couldn't find the plugin, and all functions using this behave
1233         properly on a NULL return. Switching to a GST_WARNING.
1234
1235 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
1236
1237         * gst/gstbin.c: (gst_bin_handle_message_func):
1238         Don't leak clock messages.
1239
1240 2005-11-25  Wim Taymans  <wim@fluendo.com>
1241
1242         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1243         (gst_util_uint64_scale_int):
1244         Optimisations, remove unneeded vars.
1245
1246 2005-11-25  Wim Taymans  <wim@fluendo.com>
1247
1248         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1249         Added more checks for the high precision uint64 cases.
1250
1251         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1252         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1253         Implement high precision (guint64 * guint64) / guint64.
1254
1255 2005-11-24  Wim Taymans  <wim@fluendo.com>
1256
1257         * gst/base/gstbasesrc.c: (gst_base_src_query):
1258         Fix wrong percentage query.
1259
1260         * gst/gstutils.c: (gst_util_uint64_scale),
1261         (gst_util_uint64_scale_int):
1262         Add some more common cases that can be handled 
1263         efficiently to _scale.
1264
1265 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1266
1267         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
1268         (gst_mini_object_suite):
1269           don't use check calls from threads; check probably isn't
1270           threadsafe and using a lock to make it threadsafe would
1271           defeat the purpose of this check
1272         * gst/check/gstcheck.c:
1273         * gst/check/gstcheck.h:
1274           use GST_DEBUG some more
1275
1276 2005-11-24  Wim Taymans  <wim@fluendo.com>
1277
1278         * gst/gstutils.c: (gst_util_uint64_scale),
1279         (gst_util_uint64_scale_int):
1280         Chain trivial case to _scale_int.
1281
1282 2005-11-24  Wim Taymans  <wim@fluendo.com>
1283
1284         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1285         Added test for scaling.
1286
1287         * gst/gstclock.h:
1288         Small doc fix.
1289
1290         * gst/gstutils.c: (gst_util_uint64_scale_int):
1291         Implemented high precision scaling code.
1292
1293 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
1294
1295         * gst/gstinfo.h:
1296           do not crash on pad==NULL
1297
1298 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1299
1300         Patch by: Stefan Kost
1301
1302         * common/gtk-doc.mak:
1303         * docs/gst/Makefile.am:
1304         * docs/libs/Makefile.am:
1305           Fix distcheck issues for the libraries docs build
1306           Closes #319599.
1307
1308 2005-11-24  Michael Smith <msmith@fluendo.com>
1309
1310         * docs/manual/basics-helloworld.xml:
1311           Fix bug #315027: memory leak in example code in docs.
1312
1313 2005-11-24  Michael Smith <msmith@fluendo.com>
1314
1315         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1316           Unlock the PREROLL_LOCK in a failure case.
1317
1318 2005-11-24  Wim Taymans  <wim@fluendo.com>
1319
1320         * docs/gst/gstreamer-sections.txt:
1321         * gst/base/gstadapter.h:
1322         * gst/base/gstbasesink.h:
1323         * gst/base/gstbasesrc.h:
1324         * gst/base/gstbasetransform.h:
1325         * gst/base/gstpushsrc.h:
1326         * gst/elements/gstfakesink.h:
1327         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1328         * gst/elements/gstfakesrc.h:
1329         * gst/elements/gstfilesink.h:
1330         * gst/elements/gstfilesrc.h:
1331         * gst/gst.c:
1332         * gst/gstbin.c:
1333         * gst/gstbuffer.c: (_gst_buffer_copy):
1334         * gst/gstbus.h:
1335         * gst/gstcaps.c:
1336         * gst/gstchildproxy.c:
1337         * gst/gstclock.c:
1338         * gst/gstelement.c:
1339         * gst/gstelementfactory.c:
1340         * gst/gstelementfactory.h:
1341         * gst/gstevent.c:
1342         * gst/gstghostpad.h:
1343         * gst/gstindex.h:
1344         * gst/gstinterface.h:
1345         * gst/gstminiobject.c:
1346         * gst/gstminiobject.h:
1347         * gst/gstpad.c:
1348         * gst/gstpad.h:
1349         * gst/gstpadtemplate.h:
1350         * gst/gstpipeline.h:
1351         * gst/gstpluginfeature.h:
1352         * gst/gstquery.h:
1353         * gst/gstqueue.h:
1354         * gst/gsttaglist.c:
1355         * gst/gsttaglist.h:
1356         * gst/gsttagsetter.c:
1357         * gst/gsttagsetter.h:
1358         * gst/gsttrace.c:
1359         * gst/gsttrace.h:
1360         * gst/gsttypefind.h:
1361         * gst/gsturi.h:
1362         * gst/gstvalue.c:
1363         * gst/net/gstnetclientclock.c:
1364         * gst/net/gstnetclientclock.h:
1365         * gst/net/gstnettimepacket.c:
1366         * gst/net/gstnettimeprovider.c:
1367         * gst/net/gstnettimeprovider.h:
1368         Doc fixes.
1369
1370 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1371
1372         * configure.ac: back to HEAD
1373
1374 === release 0.9.6 ===
1375
1376 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
1377
1378         * configure.ac:
1379           releasing 0.9.6, "Always On Time"
1380
1381 2005-11-23  Wim Taymans  <wim@fluendo.com>
1382
1383         * docs/gst/gstreamer-sections.txt:
1384         * gst/glib-compat.c:
1385         * gst/gsttagsetter.c:
1386         * gst/gstvalue.c:
1387         * gst/net/gstnetclientclock.c:
1388         * gst/net/gstnettimepacket.h:
1389         Doc updates.
1390
1391 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1392
1393         * docs/faq/using.xml:
1394         * docs/libs/tmpl/gstcontrol.sgml:
1395         * docs/manual/advanced-dparams.xml:
1396         * docs/manual/appendix-checklist.xml:
1397         * docs/manual/basics-elements.xml:
1398         * docs/pwg/other-source.xml:
1399         * docs/random/moving-plugins:
1400         * gst/gstpad.c:
1401         * tools/gst-launch.1.in:
1402           remove mentions of sinesrc
1403
1404 2005-11-23  Michael Smith <msmith@fluendo.com>
1405
1406         * docs/gst/gstreamer-sections.txt:
1407           Update for new API and API changes.
1408         * gst/gstobject.h:
1409           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1410         * gst/gstvalue.c:
1411           Documentation typo fix.
1412         * gst/net/gstnettimepacket.c:
1413           Documentation fixes for arguments.
1414
1415 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
1416
1417         * gst/gststructure.c: (gst_structure_get_fraction),
1418         (gst_structure_parse_value),
1419         (gst_structure_fixate_field_nearest_fraction):
1420         * gst/gststructure.h:
1421         * gst/gstutils.c: (gst_util_uint64_scale_int):
1422         * gst/gstutils.h:
1423         * scripts/update-funcnames:
1424         API Changes. 
1425         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1426         Make gst_structure_fixate_field_nearest_fraction take a numerator
1427         and denominator argument instead of a GValue
1428         add gst_structure_get_fraction helper function.
1429
1430 2005-11-23  Wim Taymans  <wim@fluendo.com>
1431
1432         * docs/design/part-TODO.txt:
1433         Update TODO.
1434
1435         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1436         * gst/net/gstnetclientclock.h:
1437         Use parent fields for timeout and window_size.
1438
1439 2005-11-23  Andy Wingo  <wingo@pobox.com>
1440
1441         * check/net/gstnetclientclock.c (test_functioning): Adjust to
1442         rate_num/rate_denom change.
1443
1444         * gst/net/gstnetclientclock.c
1445         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1446         OBJECT_LOCK. Don't call add_observation with the lock.
1447
1448         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1449         fraction.
1450         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1451         rate fraction.
1452         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1453         deal with rate as a fraction whose numerator and denominator are
1454         GstClockTime values.
1455         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1456         master; the other fields are protected by the SLAVE_LOCK.
1457         (do_linear_regression): Note that this must be called with the
1458         SLAVE_LOCK.
1459         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1460         OBJECT_LOCK. Call set_calibration instead of touching the
1461         variables directly.
1462         (gst_clock_set_property, gst_clock_get_property): Protect
1463         master/slave parameters with the SLAVE_LOCK.
1464
1465         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1466         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1467         note that all of the instance variables that add_observation and
1468         the set_master functions use are protected by that lock and not
1469         the OBJECT_LOCK.
1470         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1471
1472         * gst/gstclock.c (gst_clock_add_observation): No longer requires
1473         the caller to take the object lock.
1474
1475 2005-11-23  Wim Taymans  <wim@fluendo.com>
1476
1477         * gst/gsterror.c: (_gst_core_errors_init):
1478         * gst/gsterror.h:
1479         Add error for clock stuff.
1480
1481         * gst/gstpipeline.c: (gst_pipeline_change_state),
1482         (gst_pipeline_set_clock):
1483         Post clock error when clock cannot be used in a pipeline.
1484
1485 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
1486
1487         * docs/gst/gstreamer-sections.txt:
1488           make two symbols from gstinfo private for the docs
1489         * gst/base/gstcollectpads.h:
1490         * gst/gstutils.c:
1491           fix doc typos, update docs
1492
1493 2005-11-22  Wim Taymans  <wim@fluendo.com>
1494
1495         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1496         (gst_base_sink_wait), (gst_base_sink_do_sync),
1497         (gst_base_sink_handle_event):
1498         * gst/base/gstbasesink.h:
1499         No need to store the clock, the parent element class already
1500         has it.
1501
1502         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
1503         Updates for clock_set returning a gboolean
1504
1505         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
1506         (gst_clock_id_wait_async), (gst_clock_class_init),
1507         (gst_clock_init), (gst_clock_finalize),
1508         (gst_clock_get_internal_time), (gst_clock_get_time),
1509         (gst_clock_slave_callback), (gst_clock_set_master),
1510         (gst_clock_get_master), (do_linear_regression),
1511         (gst_clock_add_observation), (gst_clock_set_property),
1512         (gst_clock_get_property):
1513         * gst/gstclock.h:
1514         Implement master/slave. When setting a clock as a slave, a
1515         periodic timeout is scheduled to sample master and slave times.
1516         Then the slave clock is recalibrated to match offset and rate
1517         of the master clock.
1518         Update logging a bit.
1519         Add flag so that a clock can state that is cannot be slaved to
1520         another clock.
1521
1522         * gst/gstelement.c: (gst_element_set_clock):
1523         * gst/gstelement.h:
1524         The set clock returns a gboolean for when an element cannot
1525         deal with the selected clock in the pipeline. 
1526
1527         * gst/gstpipeline.c: (gst_pipeline_change_state),
1528         (gst_pipeline_set_clock):
1529         * gst/gstpipeline.h:
1530         Handle the case where the selected clock cannot be set on
1531         the pipeline.
1532
1533         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
1534         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1535         (gst_net_client_clock_set_property),
1536         (gst_net_client_clock_get_property),
1537         (gst_net_client_clock_observe_times):
1538         * gst/net/gstnetclientclock.h:
1539         Use regression code in GstClock parent, remove duplicated
1540         functionality.
1541
1542 2005-11-22  Michael Smith <msmith@fluendo.com>
1543
1544         * gst/gstutils.c: (gst_util_clock_time_scale):
1545         * gst/gstutils.h:
1546         * docs/gst/gstreamer-sections.txt:
1547           Rename method to have extra underscore.
1548
1549 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1550
1551         * gst/elements/Makefile.am:
1552         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
1553         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1554         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1555         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
1556         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
1557         * gst/elements/gstfakesrc.h:
1558         * gst/gstqueue.c: (queue_leaky_get_type):
1559           correctly fix GEnumValues so that nick is the short lowercase
1560           dashed tag
1561         * tools/gst-inspect.c: (print_element_properties_info):
1562           also show the nick, since it's useful to use from parse_launch
1563           syntax
1564           Fixes #322139
1565
1566 2005-11-22  Michael Smith <msmith@fluendo.com>
1567
1568         * gst/gstutils.c: (gst_util_clocktime_scale):
1569         * gst/gstutils.h:
1570         * docs/gst/gstreamer-sections.txt:
1571           Add util method for scaling a clocktime by a fraction. Useful 
1572           implementation is left as an exercise for the reader.
1573
1574 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1575
1576         * gst/gstvalue.c: (gst_value_collect_fraction_range):
1577         If needed, allocate storage in the destination value during
1578         collection.
1579
1580 2005-11-22  Edward Hervey  <edward@fluendo.com>
1581
1582         * docs/gst/gstreamer-sections.txt:
1583         * gst/Makefile.am:
1584         * gst/gst.h:
1585         * gst/gsturitype.c:
1586         * gst/gsturitype.h:
1587         * gst/gstutils.c: (gst_util_set_object_arg):
1588         * tools/gst-compprep.c: (main):
1589         * tools/gst-inspect.c: (print_element_properties_info):
1590         Removed GstURI, closes bug #321061
1591
1592 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1593
1594         * check/gst/gststructure.c: (GST_START_TEST):
1595         * gst/gststructure.c: (gst_structure_parse_value):
1596           Oops, broke automatic string type parsing.
1597           Add a test to catch it in future.
1598
1599 2005-11-22  Andy Wingo  <wingo@pobox.com>
1600
1601         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
1602         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
1603         Actually rename the function implementations. Grr.
1604
1605 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1606
1607         * check/gst/capslist.h:
1608           Comment test cases
1609         * check/gst/gststructure.c: (GST_START_TEST),
1610         (gst_structure_suite):
1611           Test automatic value type detection in gst_structure_from_string.
1612         * gst/gststructure.c: (gst_structure_parse_value):
1613           Add fraction as a type we try and guess automatically in
1614           caps/structure strings.
1615
1616 2005-11-22  Andy Wingo  <wingo@pobox.com>
1617
1618         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
1619
1620         * gst/gsttagsetter.h:
1621         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
1622         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
1623         (gst_tag_setter_add_tag_valist)
1624         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
1625         _add_values, _add_valist, and _add_valist_values. Since this is an
1626         interface the function suffixes should be more explicit so
1627         language binding don't end up with element.add_valist ->
1628         gst_tag_setter_add_valist, for example. Fixes #322069.
1629
1630 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1631
1632         * check/gst/gstcaps.c: (GST_START_TEST):
1633           Extend caps string tests to check that a caps to string
1634           conversion is reversible and produces the same caps.
1635
1636         * gst/gststructure.c: (gst_structure_value_get_generic_type):
1637           Output "fraction" as the generic type fraction range, so caps
1638           serialisation and deserialisation works.
1639         * check/gst/capslist.h:
1640         * gst/gstvalue.c: (gst_value_deserialize_fraction):
1641           Support 'MIN' and 'MAX' for deserialising fractions.
1642
1643 2005-11-22  Andy Wingo  <wingo@pobox.com>
1644
1645         * gst/gstevent.h (gst_event_new_new_segment)
1646         (gst_event_parse_new_segment, gst_event_new_buffer_size)
1647         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
1648         Renamed from *_newsegment, *_buffersize, *_notarget.
1649
1650         * scripts/update-funcnames: New script, performs the changes
1651         listed above.
1652
1653 2005-11-22  Wim Taymans  <wim@fluendo.com>
1654
1655         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1656         Make sure the GstFlowReturn is returned.
1657
1658         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
1659         (gst_bus_add_signal_watch):
1660         * gst/gstbus.h:
1661         add gst_bus_add_signal_watch_full.
1662
1663         * gst/gstplugin.c: (gst_plugin_load_file):
1664         Small style cleanup.
1665
1666 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1667
1668         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
1669           Block the fakesrc srcpad when we send an event, to avoid
1670           contention on the stream_lock causing random test failures.
1671
1672 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1673
1674         * check/gst/gstvalue.c: (GST_START_TEST):
1675         * gst/gstvalue.c: (gst_value_fraction_subtract):
1676           Fix subtraction.
1677
1678 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
1679
1680         * gst/gst.h:
1681           include "gstchildproxy.h"
1682         * gst/gstchildproxy.h:
1683         * libs/gst/controller/gstcontroller.h:
1684           use G_GNUC_NULL_TERMINATED
1685
1686 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1687
1688         * check/gst/capslist.h:
1689         * check/gst/gstcaps.c: (GST_START_TEST):
1690         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1691         * gst/gststructure.c: (gst_structure_parse_range),
1692         (gst_structure_fixate_field_nearest_fraction):
1693         * gst/gststructure.h:
1694         * gst/gstvalue.c: (gst_value_init_fraction_range),
1695         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
1696         (gst_value_collect_fraction_range),
1697         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
1698         (gst_value_set_fraction_range_full),
1699         (gst_value_get_fraction_range_min),
1700         (gst_value_get_fraction_range_max),
1701         (gst_value_serialize_fraction_range),
1702         (gst_value_transform_fraction_range_string),
1703         (gst_value_compare_fraction_range),
1704         (gst_value_deserialize_fraction_range),
1705         (gst_value_intersect_fraction_fraction_range),
1706         (gst_value_intersect_fraction_range_fraction_range),
1707         (gst_value_subtract_fraction_fraction_range),
1708         (gst_value_subtract_fraction_range_fraction),
1709         (gst_value_subtract_fraction_range_fraction_range),
1710         (gst_value_collect_fraction), (gst_value_fraction_multiply),
1711         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
1712         (gst_value_transform_string_fraction), (_gst_value_initialize):
1713         * gst/gstvalue.h:
1714           Implement fraction ranges and extend GstFraction to support
1715           arithmetic subtraction, as well as deserialization from integer
1716           strings such as "100"
1717           Add a testsuite as for int and double range set operations
1718
1719 2005-11-21  Andy Wingo  <wingo@pobox.com>
1720
1721         * gst/gsttaglist.h: 
1722         * gst/gstcaps.h: 
1723         * gst/gststructure.h: Add glib-compat.h.
1724
1725 2005-11-21  Wim Taymans  <wim@fluendo.com>
1726
1727         * gst/gstbin.c: (gst_bin_change_state_func):
1728         Fix for #321595
1729
1730 2005-11-21  Wim Taymans  <wim@fluendo.com>
1731
1732         * gst/gstsegment.h:
1733         And add a nice define too.
1734
1735 2005-11-21  Wim Taymans  <wim@fluendo.com>
1736
1737         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
1738         (gst_segment_new), (gst_segment_free), (gst_segment_init),
1739         (gst_segment_set_duration), (gst_segment_set_last_stop),
1740         (gst_segment_set_seek), (gst_segment_set_newsegment),
1741         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1742         (gst_segment_clip):
1743         * gst/gstsegment.h:
1744         Make binding friendly.
1745
1746 2005-11-21  Andy Wingo  <wingo@pobox.com>
1747
1748         * gst/gsttagsetter.h: 
1749         * gst/gsttaglist.h: 
1750         * gst/gststructure.h: 
1751         * gst/gstcaps.h: 
1752         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
1753         #319940.
1754
1755         * gst/gsterror.c (_gst_core_errors_init):
1756         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
1757         category.
1758
1759         * gst/Makefile.am (gst_headers): Add glib-compat.h.
1760         (noinst_HEADERS): noinst the -private.
1761
1762 2005-11-21  Michael Smith <msmith@fluendo.com>
1763
1764         * gst/gstplugin.h:
1765         * gst/gstregistry.h:
1766           Remove unimplemented declarations for which we can see no sensible
1767           use.
1768
1769 2005-11-21  Andy Wingo  <wingo@pobox.com>
1770
1771         * gst/gst.h: Include glib-compat.h.
1772
1773         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
1774
1775         * gst/glib-compat.c: Include the public and the private header.
1776
1777         * gst/glib-compat-private.h: Copied here from glib-compat.h.
1778
1779         * gst/gstvalue.c: 
1780         * gst/gstpad.c: 
1781         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
1782
1783         * check/gst/gstevent.c (create_custom_events): Check that
1784         FLUSH_STOP is serialized.
1785
1786         * check/elements/identity.c (event_func): 
1787         * check/elements/fakesrc.c (event_func): No stream lock, the core
1788         takes it.
1789
1790         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
1791         stream lock taking, yay.
1792
1793         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
1794         ensure that core takes the stream lock.
1795
1796         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
1797         lock name change.
1798
1799         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
1800         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
1801         it already. For the flush start we do take it though so we get the
1802         right preroll state change messages.
1803
1804         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
1805         the stream lock here, the core does it for us.
1806
1807         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
1808         GST_STREAM_GET_LOCK.
1809         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
1810         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
1811         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
1812         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
1813         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
1814         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
1815
1816         * gst/gstpad.c: Update for stream lock name change.
1817
1818         * gst/base/gstbasesink.c: Update for preroll lock name change.
1819
1820 2005-11-21  Wim Taymans  <wim@fluendo.com>
1821
1822         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
1823         (gst_clock_get_master):
1824         * gst/gstclock.h:
1825         * gst/gstsystemclock.c: (gst_system_clock_init):
1826         Convert Clock flags to object flags.
1827         Added methods to manage master/slave clocks.
1828
1829 2005-11-21  Wim Taymans  <wim@fluendo.com>
1830
1831         * check/gst/gstsegment.c: (GST_START_TEST):
1832         * docs/design/part-TODO.txt:
1833         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1834         (gst_base_sink_event), (gst_base_sink_do_sync),
1835         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
1836         (gst_base_sink_query), (gst_base_sink_change_state):
1837         * gst/base/gstbasesink.h:
1838         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
1839         (gst_base_src_default_newsegment),
1840         (gst_base_src_configure_segment), (gst_base_src_do_seek),
1841         (gst_base_src_get_range), (gst_base_src_loop),
1842         (gst_base_src_change_state):
1843         * gst/base/gstbasesrc.h:
1844         * gst/base/gstbasetransform.c:
1845         (gst_base_transform_prepare_output_buf),
1846         (gst_base_transform_event), (gst_base_transform_change_state):
1847         * gst/base/gstbasetransform.h:
1848         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1849         (gst_collect_pads_event):
1850         * gst/base/gstcollectpads.h:
1851         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
1852         (gst_fake_src_create):
1853         * gst/elements/gstfakesrc.h:
1854         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1855         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1856         (gst_segment_set_last_stop), (gst_segment_set_seek),
1857         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
1858         (gst_segment_to_running_time), (gst_segment_clip):
1859         * gst/gstsegment.h:
1860         More segment updates, replace code in plugins with segment
1861         helper functions.
1862
1863 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1864
1865         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
1866         Don't ignore sscanf results
1867
1868 2005-11-21  Andy Wingo  <wingo@pobox.com>
1869
1870         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
1871
1872         * *.h:
1873         * *.c: Ran scripts/update-macros. Oh yes.
1874
1875         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
1876         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
1877         GST_GET_LOCK, etc.
1878
1879         * scripts/update-macros: New script. Run it on your files to
1880         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
1881         well.
1882
1883 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1884
1885         * docs/gst/Makefile.am:
1886         * docs/gst/gstreamer-docs.sgml:
1887         * docs/gst/gstreamer-sections.txt:
1888         * docs/gst/gstreamer.types:
1889         * gst/gstinfo.h:
1890           more docs fixes, add new api to the docs
1891
1892 2005-11-21  Andy Wingo  <wingo@pobox.com>
1893
1894         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
1895         state_broadcast call.
1896
1897         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
1898
1899 2005-11-21  Julien MOUTTE  <julien@moutte.net>
1900
1901         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
1902         function calls for arrays.
1903
1904 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1905
1906         * docs/random/ensonic/media-device-daemon.txt:
1907           wild idea, can this be done?
1908         * docs/gst/gstreamer-sections.txt:
1909         * gst/gsterror.h:
1910         * gst/gstfilter.c:
1911         * gst/gstfilter.h:
1912         * gst/gstplugin.h:
1913         * gst/gstpluginfeature.c:
1914         * gst/gsttrace.c:
1915         * gst/gstvalue.c:
1916         * gst/gstvalue.h:
1917           doc fixes and additions
1918
1919 2005-11-21  Andy Wingo  <wingo@pobox.com>
1920
1921         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
1922         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
1923         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
1924         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
1925         private to the basesrc implementation.
1926
1927         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
1928         behalf of event function if necessary. It should no longer be
1929         necessary to take the stream lock in pad's event functions. Fixes
1930         #320299.
1931
1932 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1933         * docs/gst/gstreamer-sections.txt:
1934         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
1935         (gst_structure_fixate_field_nearest_double),
1936         (gst_structure_fixate_field_boolean):
1937         * gst/gststructure.h:
1938         * win32/common/libgstreamer.def:
1939         * win32/gstreamer.def:
1940
1941         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
1942         (#322027)
1943
1944 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1945
1946         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
1947         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
1948         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
1949         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
1950         (gst_fdsrc_uri_handler_init):
1951         * gst/elements/gstfdsrc.h:
1952           Port fd:// URI handler from 0.8 to fdsrc
1953
1954 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1955
1956         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
1957         (gst_value_serialize_fourcc):
1958         * gst/gstvalue.h:
1959           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
1960           consistent with our other format defines (#320324).
1961
1962 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1963
1964         * gst/gstvalue.c: (gst_value_is_fixed):
1965           Revert previous commit. Value lists are by definition
1966           not fixed, as they are a list of possible values.
1967
1968 2005-11-21  Andy Wingo  <wingo@pobox.com>
1969
1970         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
1971         during the stable series if we need it. Fixes #319178.
1972
1973         * gst/gstevent.c (gst_event_new_filler): Removed.
1974
1975         * check/gst/gstevent.c: Update comment about filler events.
1976
1977 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1978
1979         * gst/gstvalue.c: (gst_value_is_fixed):
1980           Should handle both value arrays and value lists.
1981
1982 2005-11-21  Andy Wingo  <wingo@pobox.com>
1983
1984         patch by: Alessandro Dessina <alessandro nnva org>
1985
1986         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
1987         functions to access arrays. Fixes #321962.
1988
1989 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1990
1991         * docs/gst/gstreamer.types:
1992           gst_collectpads_get_type => gst_collect_pads_get_type.
1993           
1994         * gst/base/gstbasetransform.c:
1995           Remove unused SIGNAL_HANDOFF enum.
1996
1997 2005-11-21  Andy Wingo  <wingo@pobox.com>
1998
1999         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
2000         the event type (upstream, downstream, serialized). Renamed
2001         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
2002         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
2003         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
2004
2005         * gst/gstevent.c: Update for new CUSTOM event names.
2006
2007         * check/gst/gstevent.c: Update check for new CUSTOM event names.
2008
2009         * gst/gstevent.h:
2010         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
2011         bug #319392.
2012
2013 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2014
2015         * docs/gst/gstreamer-sections.txt:
2016         * win32/common/libgstbase.def:
2017         * win32/libgstbase.def:
2018         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2019         (gst_collect_pads_class_init), (gst_collect_pads_init),
2020         (gst_collect_pads_finalize), (gst_collect_pads_new),
2021         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
2022         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
2023         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
2024         (gst_collect_pads_start), (gst_collect_pads_stop),
2025         (gst_collect_pads_peek), (gst_collect_pads_pop),
2026         (gst_collect_pads_available), (gst_collect_pads_read),
2027         (gst_collect_pads_flush), (gst_collect_pads_event),
2028         (gst_collect_pads_chain):
2029         * gst/base/gstcollectpads.h:
2030           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
2031           unimplemented functions as unimplemented. Add padding to
2032           GstCollectData. (#320766, #320423)
2033
2034 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2035
2036         * gst/gstmessage.c:
2037           Improve docs for DURATION message (usage of duration parameter)
2038           (#320113)
2039
2040 2005-11-20  Wim Taymans  <wim@fluendo.com>
2041
2042         * check/Makefile.am:
2043         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
2044         (main):
2045         * gst/Makefile.am:
2046         * gst/gst.h:
2047         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2048         (gst_segment_set_seek), (gst_segment_set_newsegment),
2049         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2050         (gst_segment_clip):
2051         * gst/gstsegment.h:
2052         Added segment helper structure and methods. Not fully implemented
2053         yet.
2054         Added segment check.
2055
2056 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
2057
2058         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2059           Add a deserialisation test for fractions
2060         * examples/metadata/read-metadata.c: (message_loop),
2061         (make_pipeline), (main):
2062           Fix up metadata reading sample.
2063         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2064           Debug format fix
2065         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2066           Don't try and fixate empty caps
2067         * gst/gst_private.h:
2068           Wrap in G_BEGIN_DECLS/G_END_DECLS
2069         * gst/gstvalue.c: (gst_value_collect_fraction),
2070         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
2071         (gst_value_transform_string_fraction),
2072         (gst_value_compare_fraction):
2073           Add some extra guards to ensure that we don't end up 
2074           with an invalid denominator of 0 in a gstfraction and
2075           that fractions always get reduced.
2076
2077 2005-11-20  Wim Taymans  <wim@fluendo.com>
2078
2079         * docs/gst/gstreamer-sections.txt:
2080         * gst/gstbuffer.h:
2081         * gst/gstelement.c:
2082         * gst/gstformat.c:
2083         * gst/gstformat.h:
2084         * gst/gstindex.h:
2085         * gst/gstquery.c:
2086         * gst/gstquery.h:
2087         * gst/gstvalue.c:
2088         Doc fixes.
2089
2090 2005-11-20  Wim Taymans  <wim@fluendo.com>
2091
2092         * docs/design/part-TODO.txt:
2093         * gst/gstcaps.h:
2094         Make a proper enum of the flag.
2095
2096 2005-11-19  Wim Taymans  <wim@fluendo.com>
2097
2098         * docs/design/part-TODO.txt:
2099         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
2100         (gst_format_to_quark), (gst_format_register):
2101         * gst/gstformat.h:
2102         * gst/gstquery.c: (_gst_query_initialize),
2103         (gst_query_type_get_name), (gst_query_type_to_quark),
2104         (gst_query_type_register):
2105         * gst/gstquery.h:
2106         Add type to quark and type to string conversions.
2107
2108 2005-11-19  Andy Wingo  <wingo@pobox.com>
2109
2110         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
2111         #320097.
2112
2113 2005-11-19  Wim Taymans  <wim@fluendo.com>
2114
2115         * docs/design/part-TODO.txt:
2116         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
2117         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
2118         (gst_bin_handle_message_func):
2119         * gst/gstbin.h:
2120         Make message handling overridable.
2121
2122 2005-11-19  Andy Wingo  <wingo@pobox.com>
2123
2124         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
2125
2126         * gst/gstclock.h:
2127         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
2128         be a GstClockTime.
2129         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
2130         is a GstClockTime. Fixes #321710.
2131
2132         * gst/gstclock.h (GstClock): Remove offset property. Add
2133         internal_calibration and external_calibration. Fix padding. Pad
2134         also by GstClockTime so we don't run into problems.
2135
2136         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
2137         (gst_clock_get_rate_offset): Remove.
2138         (gst_clock_set_time_adjust): Remove. Fixes #321712.
2139
2140         * gst/gstutils.h:
2141         * gst/gstutils.c (g_static_rec_cond_wait)
2142         (g_static_rec_cond_timed_wait): Removed, no longer needed.
2143
2144         * gst/gstbin.c: Remove terrible continue_state prototype.
2145
2146         * gst/gstelement.h (gst_element_continue_state): Make public.
2147
2148         * gst/gstelement.h:
2149         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
2150         by continue_state. Fixes #319389.
2151
2152         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
2153         Really fixes #168438. However I don't see anywhere where the
2154         filter function is called... stupid GStreamer...
2155         
2156         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
2157         don't have a dispose function, so it won't get called when the
2158         object is unreffed, but oh well!
2159
2160         * gst/gstindex.c (gst_index_set_filter_full): New API function,
2161         allows a destroy function to be set so user_data can be freed.
2162         Fixes #168438.
2163         (gst_index_set_filter): Call gst_index_set_filter_full.
2164
2165         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
2166
2167         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
2168         string should produce an error, given the lack of a way to
2169         represent NULL strings. Fixes #165650.
2170         
2171         * gst/gstvalue.h: 
2172         * gst/gstvalue.c (gst_value_array_append_value) 
2173         (gst_value_array_prepend_value, gst_value_array_get_size) 
2174         (gst_value_array_get_value): New API, copied from
2175         gst_value_list_*, only operates on arrays.
2176         (gst_value_list_append_value, gst_value_list_prepend_value) 
2177         (gst_value_list_concat, gst_value_list_get_size) 
2178         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
2179
2180         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
2181         init_list, because it works on both.
2182         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
2183         (gst_value_copy_list_or_array): Renamed from copy_list.
2184         (gst_value_free_list_or_array): Renamed from free_list.
2185         (gst_value_collect_list_or_array): Renamed from collect_list.
2186         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
2187         (gst_value_list_or_array_peek_pointer): Renamed from
2188         list_peek_pointer.
2189         (_gst_value_array_value_table, _gst_value_list_value_table):
2190         Update value table functions.
2191         (gst_value_compare_list_or_array): Renamed from compare_list.
2192
2193         * gsttaglist.h: Whoops, foreach function returns void. Also fix
2194         some constness.
2195
2196         * gst/gsttaglist.c:
2197         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
2198         GstTagList*. Fixes #143472.
2199
2200         * gst/gststructure.h: Clarify what the foreach/map functions can
2201         or can't do to their arguments.
2202
2203 2005-11-18  Wim Taymans  <wim@fluendo.com>
2204
2205         * gst/gstclock.c: (gst_clock_set_calibration),
2206         (gst_clock_get_calibration):
2207         Doc and API fixes.
2208         Calibration can be set with internal time equal to current
2209         internal time too.
2210
2211 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2212
2213         * gst/gsterror.c:
2214         * gst/gsterror.h:
2215           document
2216
2217 2005-11-18  Andy Wingo  <wingo@pobox.com>
2218
2219         * configure.ac: 
2220         * pkgconfig/gstreamer-net.pc.in:
2221         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2222         * pkgconfig/Makefile.am: Add net pkgconfig files.
2223
2224 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
2225
2226         * gst/gstcaps.c:
2227         * gst/gstghostpad.c:
2228         * gst/gsttrace.c:
2229         * gst/gstvalue.c:
2230         * gst/gstvalue.h:
2231           docs fixes
2232
2233 2005-11-18  Andy Wingo  <wingo@pobox.com>
2234
2235         * gst/net/gstnetclientclock.c: Turn off debugging.
2236
2237         * check/net/gstnetclientclock.c (test_functioning): Assert that the
2238         times connverge somewhat. Can't make a real test.
2239
2240         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
2241         integer arithmetic. Return the minimum of the domain, which can be
2242         set as "internal" for gst_clock_set_calibration.
2243         (gst_net_client_clock_observe_times): Call _set_calibration.
2244         (gst_net_client_clock_new): Call _set_calibration instead of
2245         rate_offset.
2246
2247         * check/net/gstnetclientclock.c (test_functioning): Use the right
2248         adjustment api.
2249
2250         * gst/gstclock.h:
2251         * gst/gstclock.c (gst_clock_get_calibration) 
2252         (gst_clock_set_calibration): New functions, obsolete the ones I
2253         added yesterday. Doh. Precision issues mean we have to extrapolate
2254         from a point in the more recent past than 1970.
2255         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
2256         obsolete.
2257         (gst_clock_adjust_unlocked): Use the right calibration data.
2258
2259 2005-11-18  Edward Hervey  <edward@fluendo.com>
2260
2261         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
2262         Also reset the ->current_* values in READY->PAUSED
2263
2264 2005-11-18  Andy Wingo  <wingo@pobox.com>
2265
2266         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
2267         Whoops, check the right fd. Also add some debugging.
2268         (gst_net_client_clock_observe_times): Adjust for int64 offset.
2269         (do_linear_regression): Add a crapload of debugging. Subtract off
2270         the minimum values from the input series to discard unneeded bits.
2271         Use only int arithmetic. There is still double arithmetic when
2272         calculating the intercept that needs fixing. Return boolean to
2273         indicate success; FALSE would mean the domain or range is too
2274         great. Still needs fixes.
2275
2276 2005-11-18  Wim Taymans  <wim@fluendo.com>
2277
2278         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2279         For the current position in stream time, we need to subtract
2280         accumulated time.
2281         
2282         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2283         Release lock before calling the callback function of async
2284         entries.
2285
2286 2005-11-18  Andy Wingo  <wingo@pobox.com>
2287
2288         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
2289         Port goes all the way to MAXUINT16.
2290
2291         * gst/net/gstnettimeprovider.c: Make the port range the same as
2292         for the kernel: 0 assigns, otherwise ports are less than
2293         MAXUINT16.
2294
2295         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
2296         port change.
2297
2298         * check/net/gstnetclientclock.c (test_functioning): Add the start
2299         of another test. 
2300
2301 2005-11-18  Wim Taymans  <wim@fluendo.com>
2302
2303         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2304         (gst_bin_remove_func), (bin_bus_handler):
2305         * gst/gstbin.h:
2306         Removing a clock provider from a bin, triggers a clock lost message
2307         so that a new clock will be selected.
2308         Adding a clock to a bin triggers a clock provider message.
2309         Make sure we reselect a clock when we received a clock lost message.
2310         Keep a reference to the element that provided the clock.
2311
2312 2005-11-18  Andy Wingo  <wingo@pobox.com>
2313
2314         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2315         the clock initially so it produces values around the base time.
2316         (gst_net_client_clock_class_init): Typo fix.
2317         (gst_net_client_clock_thread): Add note on when the socket gets
2318         closed.
2319
2320 2005-11-17  Wim Taymans  <wim@fluendo.com>
2321
2322         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2323         Free remote and local time arrays.
2324
2325 2005-11-17  Wim Taymans  <wim@fluendo.com>
2326
2327         * gst/net/gstnetclientclock.c: (do_linear_regression),
2328         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2329         Fix compilation, uninitialized vars and a forgotten continue.
2330
2331 2005-11-17  Andy Wingo  <wingo@pobox.com>
2332
2333         * check/Makefile.am (check_PROGRAMS): 
2334         * check/net/gstnetclientclock.c: Add a most minimal test for the
2335         net client clock. More to come later.
2336
2337         * gst/net/gstnet.h: 
2338         * gst/net/Makefile.am: Add netclientclock.
2339
2340         * gst/net/gstnetclientclock.h:
2341         * gst/net/gstnetclientclock.c: New files, implement an untested
2342         GstClock that takes its time from a network time provider.
2343         Implements the algorithm in network-clock.scm.
2344
2345         * tests/network-clock.scm (*window-size*): Rename from
2346         *queue-length*.
2347         * tests/network-clock.scm (network-time): 
2348         * tests/network-clock-utils.scm (q-push): Update callers.
2349
2350 2005-11-17  Wim Taymans  <wim@fluendo.com>
2351
2352         * gst/gstbin.c: (gst_bin_provide_clock_func),
2353         (gst_bin_sort_iterator_new):
2354         And unref the child too..
2355
2356 2005-11-17  Wim Taymans  <wim@fluendo.com>
2357
2358         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2359         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2360         Refactor the sort iterator so it can be used while holding the
2361         LOCK too.
2362         Make clock selection select a clock closest to the source.
2363
2364 2005-11-17  Michael Smith <msmith@fluendo.com>
2365
2366         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2367         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2368         * gst/gstclock.h:
2369           Anonymous structs are a gcc (and some other compilers) extension, so
2370           don't use them. Since this is only for ABI-compatibility, and our
2371           API/ABI freeze is over in a few days, this whole thing will only
2372           last a few days, so don't bother trying to think up a meaningful
2373           name for the struct.
2374
2375 2005-11-17  Andy Wingo  <wingo@pobox.com>
2376
2377         * gst/gstclock.h (GstClock): Add rate and offset properties,
2378         preserving ABI stability. Add rate/offset accessors. Will file bug
2379         for the freeze break.
2380
2381         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2382         and offset, trying to keep precision and avoiding
2383         underflow/overflow.
2384         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2385         functions. Make gst_clock_set_time_adjust obsolete.
2386         (gst_clock_set_time_adjust): Note that this function is obsolete.
2387         Will file bug soon.
2388
2389         * gst/base/gstbasetransform.h: Make the ABI-stability hack
2390         greppable by using GST_PADDING-1+1.
2391
2392 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
2393
2394         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2395
2396         * gst/gstmessage.c: (gst_message_parse_clock_lost):
2397           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2398
2399         * gst/gstpadtemplate.h:
2400         * gst/gstpluginfeature.h:
2401           Don't use c++ style comments in headers (#321638).
2402
2403 2005-11-16  Andy Wingo  <wingo@pobox.com>
2404
2405         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2406         buffer.
2407
2408         * check/net/gstnettimeprovider.c: Check to see that the time
2409         provider actually provides times. Works, yo!
2410
2411 2005-11-16  Wim Taymans  <wim@fluendo.com>
2412
2413         * check/Makefile.am:
2414         Enable more tests.
2415
2416         * check/elements/fakesrc.c: (GST_START_TEST):
2417         Set element to NULL before disposing it.
2418
2419 2005-11-16  Andy Wingo  <wingo@pobox.com>
2420
2421         * gst/net/Makefile.am:
2422         * gst/net/gstnet.h:
2423         * gst/net/gstnettimeprovider.c: 
2424         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2425         provider, include it from gstnet.h, and add it to the build.
2426
2427         * gst/net/gstnettimepacket.h: 
2428         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2429         sending and receiving.
2430
2431 2005-11-16  Wim Taymans  <wim@fluendo.com>
2432
2433         * check/Makefile.am:
2434         Enable valgrind check.
2435
2436         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2437         (gst_fake_src_alloc_buffer):
2438         Fix memleak.
2439
2440 2005-11-16  Wim Taymans  <wim@fluendo.com>
2441
2442         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2443         Call parent finalize too.
2444
2445 2005-11-16  Wim Taymans  <wim@fluendo.com>
2446
2447         * check/Makefile.am:
2448         Enable valgrind check that should work fine now.
2449
2450         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2451         * gst/gstqueue.c: (gst_queue_init):
2452         Fix memleaks in pad allocation.
2453
2454 2005-11-16  Andy Wingo  <wingo@pobox.com>
2455
2456         * gst/net/Makefile.am:
2457         * gst/net/gstnet.h: New part of core to hold network elements and
2458         objects. Put in core because it exposes API that applications want
2459         to use. The library is named libgstnet-tempname right now because
2460         of the existing libgstnet in gst-plugins-base. Solution is
2461         probably to rename the one in plugins-base; will file a bug for
2462         the freeze break.
2463
2464         * gst/net/gstnettimeprovider.c: 
2465         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2466         get_time call over the network.
2467
2468         * configure.ac: 
2469         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2470
2471         * check/Makefile.am:
2472         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2473         get additions shortly.
2474
2475 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2476
2477         * gst/gstpad.c: (gst_pad_new_from_static_template):
2478         * gst/gstpad.h:
2479           add gst_pad_new_from_static_template functions
2480         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2481         (gst_check_setup_sink_pad):
2482         * gst/elements/gsttee.c: (gst_tee_init):
2483           and use them
2484
2485 2005-11-16  Wim Taymans  <wim@fluendo.com>
2486
2487         * gst/gstpad.c: (gst_pad_pause_task):
2488         Removed warning, it's not really an error either.
2489
2490 2005-11-16  Wim Taymans  <wim@fluendo.com>
2491
2492         * gst/base/gstbasetransform.c:
2493         (gst_base_transform_prepare_output_buf),
2494         (gst_base_transform_event):
2495         Check if the caps are NULL, this can happen if the element
2496         is shutting down and the pad caps are set to NULL.
2497
2498 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2499
2500         * gst/elements/gsttee.c: (gst_tee_init):
2501           fix pad template leak in tee
2502
2503 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2504
2505         * gst/glib-compat.c: (g_value_dup_gst_object):
2506         * gst/glib-compat.h:
2507         * gst/gstpad.c: (gst_pad_set_property):
2508           use gst_object_ref when setting the pad template; this will
2509           trigger the pad template leaks on GLib 2.6 and the slaves
2510
2511 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2512
2513         * gst/glib-compat.c: (gst_flags_get_first_value):
2514         * gst/glib-compat.h:
2515         * gst/gstregistryxml.c:
2516           remove functions copied from GLib 2.6
2517
2518 2005-11-16  Michael Smith <msmith@fluendo.com>
2519
2520         * gst/Makefile.am:
2521           Don't link against VALGRIND_LIBS. That was always the wrong thing to
2522           do, but only breaks with newer valgrind versions. We're not a
2523           valgrind tool, we have no link-time dependencies on libcoregrind.
2524
2525 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2526
2527         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2528           some debug changes
2529         * gst/gstmessage.h:
2530           typo fixes
2531
2532 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2533
2534         * gst/base/gstbasesrc.c: (gst_base_src_init):
2535         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2536         * gst/gstqueue.c: (gst_queue_init):
2537         * gst/gstregistryxml.c: (load_feature):
2538           Revert all these unrefs, they don't even pass make check !
2539
2540 2005-11-15  Johan Dahlin  <johan@gnome.org>
2541
2542         * gst/base/gstbasesrc.c: (gst_base_src_init):
2543         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2544         * gst/gstqueue.c: (gst_queue_init): 
2545         Free pad templates, fixes a couple of leaks.
2546
2547 2005-11-15  Daniel Fischer  <dan at f3c dot com>
2548
2549         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2550
2551         * gst/gstpad.c: (gst_pad_get_property):
2552           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
2553           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
2554           (#321452)
2555
2556 2005-11-15  Wim Taymans  <wim@fluendo.com>
2557
2558         * gst/gstevent.c:
2559         Small doc update.
2560
2561 2005-11-15  Andy Wingo  <wingo@pobox.com>
2562
2563         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
2564
2565         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
2566         using GST_CLOCK_TIME_NONE to disable base time management.
2567         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
2568         time if it was NONE before.
2569         (gst_pipeline_change_state): Only munge the base time if
2570         stream_time != GST_CLOCK_TIME_NONE.
2571
2572         * check/gst/gstpipeline.c (test_base_time): Punt around the
2573         problem of the probe not being called, because that's not the
2574         issue I'm looking at. Add a check that setting stream_time to NONE
2575         disables base time management.
2576         
2577 2005-11-15  Wim Taymans  <wim@fluendo.com>
2578
2579         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2580         segment_stop == -1 at startup.
2581
2582         * gst/base/gstbasetransform.c: (gst_base_transform_event),
2583         (gst_base_transform_change_state):
2584         Init segment values at start.
2585
2586 2005-11-15  Wim Taymans  <wim@fluendo.com>
2587
2588         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2589         0 segment values are 0 in any format.
2590
2591         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2592         * gst/base/gstbasetransform.h:
2593         Parse newsegment correctly in basetransform
2594
2595         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2596         Sync to clock using updated segment values.
2597
2598 2005-11-15  Andy Wingo  <wingo@pobox.com>
2599
2600         * check/gst/gstpipeline.c (test_base_time): Add check that the
2601         base time and stream time are reset correctly.
2602
2603 2005-11-15  Wim Taymans  <wim@fluendo.com>
2604
2605         * docs/design/part-TODO.txt:
2606         Some more TODO items.
2607
2608 2005-11-15  Andy Wingo  <wingo@pobox.com>
2609
2610         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
2611         error if the user selected "no clock" as the clocking method.
2612
2613         * check/gst/gstpipeline.c (test_base_time): New test for buffer
2614         timestamps with live capture.
2615
2616         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
2617         is 0 but we are a live source, timestamp the buffers using the
2618         element's clock.
2619
2620 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
2621
2622         * docs/gst/gstreamer-sections.txt:
2623         * gst/gsterror.c:
2624         * gst/gstghostpad.c:
2625         * gst/gstobject.h:
2626         * gst/gstxml.c:
2627           more section docs
2628
2629 2005-11-14  Wim Taymans  <wim@fluendo.com>
2630
2631         * common/gst.supp:
2632           add suppressions from Wim's Debian machine
2633
2634 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2635
2636         * common/gst.supp:
2637           add suppressions from Andy's AMD64 Ubuntu machine
2638
2639 2005-11-14  Andy Wingo  <wingo@pobox.com>
2640
2641         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
2642         STATE_LOCK not necessary. Fixes #311489.
2643
2644         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
2645         #305291.
2646
2647         * gst/gstindex.c (gst_index_add_object): Note in the docs that
2648         this function is not implemented.
2649
2650 2005-11-14  Julien MOUTTE  <julien@moutte.net>
2651
2652         * gst/base/gstbasetransform.c:
2653         (gst_base_transform_prepare_output_buf):
2654         Ref the source pad caps while we need them.
2655         Fixes (#321386)
2656
2657 2005-11-11  Wim Taymans  <wim@fluendo.com>
2658
2659         * docs/gst/gstreamer-sections.txt:
2660         Added some docs for GstCollectData.
2661
2662         * gst/base/gstadapter.c:
2663         Some small code example fix.
2664
2665         * gst/base/gstcollectpads.c:
2666         * gst/base/gstcollectpads.h:
2667         Document some more.
2668
2669 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2670
2671         * configure.ac: back to HEAD
2672
2673 === release 0.9.5 ===
2674
2675 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
2676
2677         * configure.ac:
2678           releasing 0.9.5, "Bike Lunch Day"
2679
2680 2005-11-11  Wim Taymans  <wim@fluendo.com>
2681
2682         * gst/gstbuffer.c: (_gst_buffer_copy):
2683         Copy more flags.
2684
2685         * gst/gstcaps.c: (gst_caps_is_equal):
2686         Fix some docs.
2687         Make _is_equal fast in the trivial cases.
2688
2689         * gst/gstminiobject.c:
2690         * gst/gstminiobject.h:
2691         More docs. Spifify .h file.
2692
2693         * gst/gstutils.c:
2694         Small doc update.
2695
2696 2005-11-11  Wim Taymans  <wim@fluendo.com>
2697
2698         * gst/base/gstbasetransform.c:
2699         (gst_base_transform_prepare_output_buf),
2700         (gst_base_transform_handle_buffer):
2701         Small cleanups.
2702         If we're processing a buffer and need to allocate an output
2703         buffer, we cannot accept a format change. If we did get a 
2704         format change, we have to alloc a buffer ourselves of the 
2705         right size.
2706
2707 2005-11-11  Wim Taymans  <wim@fluendo.com>
2708
2709         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
2710         While checking the flag for reentrancy in the gstcaps function
2711         is nice to detect recursive invocations, it also makes it 
2712         impossible to call getcaps from multiple threads, which must be
2713         possible. So, checking for recursive calls has to go.
2714
2715 2005-11-11  Michael Smith <msmith@fluendo.com>
2716
2717         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2718           Don't sync on buffers that fall partially outside our current
2719           segment. Prevents an assertion failure/abort playing some files.
2720
2721 2005-11-10  Andy Wingo  <wingo@pobox.com>
2722
2723         * check/gst/gstbin.c (test_message_state_changed_children): Style
2724         fix..
2725
2726         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
2727         gst_bus_poll with the signal watch. Ensures that poll and a signal
2728         watch see the same messages.
2729
2730         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
2731         a poll and a watch at the same time get the same messages.
2732
2733 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2734
2735         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
2736         * gst/gstcaps.c: (gst_caps_intersect):
2737           Don't call gst_caps_do_simplify - it doesn't respect order of caps
2738           and it's not needed.
2739
2740 2005-11-10  Wim Taymans  <wim@fluendo.com>
2741
2742         * docs/design/part-TODO.txt:
2743         Updated todo.
2744
2745 2005-11-10  Wim Taymans  <wim@fluendo.com>
2746
2747         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2748         * gst/base/gstbasesrc.c: (gst_base_src_wait),
2749         (gst_base_src_do_sync), (gst_base_src_get_range):
2750         Implement clock sync in base class.
2751
2752 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2753
2754         patch by: Tim-Philipp Müller <tim at centricular dot net>
2755
2756         * gst/gststructure.c: (gst_structure_parse_field),
2757         (gst_structure_from_string):
2758           Forward-port a 0.8 patch to handle escaped spaces in structure string,
2759           so that gst_parse_launch() can deal with spaces in filtered link
2760           caps (fixes #164479)
2761         * check/gst/capslist.h:
2762         * check/gst/gststructure.c: (GST_START_TEST):
2763           add unit tests for this change
2764
2765 2005-11-10  Wim Taymans  <wim@fluendo.com>
2766
2767         * docs/gst/gstreamer-sections.txt:
2768         * gst/gstelement.c:
2769         * gst/gstelement.h:
2770         Fix docs, move some STATE macros to private.
2771
2772 2005-11-10  Wim Taymans  <wim@fluendo.com>
2773
2774         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
2775         Added check for bug #317341
2776
2777         * gst/gstbuffer.c:
2778         * gst/gstbuffer.h:
2779         Some more spiffifying.
2780
2781         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
2782         Call peer linkfunction if we are a source pad. Totally fixes
2783         #317341
2784
2785         * gst/gstpad.c:
2786         Update docs, source pads should call the peer linkfunction
2787         so they can atomically perform the pad link.
2788
2789 2005-11-09  Wim Taymans  <wim@fluendo.com>
2790
2791         * gst/gstbuffer.c:
2792         * gst/gstbuffer.h:
2793         Uber-spiffy-spiffify some more.
2794
2795 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
2796
2797         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
2798         * gst/elements/gstfilesink.c: (gst_file_sink_init):
2799         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2800         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
2801         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
2802         * gst/gstpad.c: (gst_pad_init):
2803           Use GST_DEBUG_FUNCPTR() more extensively.
2804
2805 2005-11-09  Wim Taymans  <wim@fluendo.com>
2806
2807         * gst/gstobject.c: (gst_object_class_init):
2808         * gst/gstobject.h:
2809         Documentation fixes.
2810
2811 2005-11-09  Edward Hervey  <edward@fluendo.com>
2812
2813         * gst/gsttypefindfactory.c:
2814         Fix docs.
2815         
2816 2005-11-09  Edward Hervey  <edward@fluendo.com>
2817
2818         * gst/base/gsttypefindhelper.c:
2819         * gst/gsttypefind.c:
2820         * gst/gsttypefind.h:
2821         Fix docs.
2822
2823 2005-11-09  Wim Taymans  <wim@fluendo.com>
2824
2825         * gst/gstiterator.c:
2826         Fix revision data.
2827
2828         * gst/gsttask.c:
2829         * gst/gsttask.h:
2830         Fix docs.
2831
2832 2005-11-09  Wim Taymans  <wim@fluendo.com>
2833
2834         * gst/gstevent.h:
2835         * gst/gsturi.h:
2836         Fix docs.
2837
2838 2005-11-09  Wim Taymans  <wim@fluendo.com>
2839
2840         * docs/gst/gstreamer-sections.txt:
2841         Moved the message async delivery private lock and cond
2842         to the private section.
2843
2844         * gst/gstmessage.c:
2845         * gst/gstmessage.h:
2846         Fixed docs.
2847
2848 2005-11-09  Edward Hervey  <edward@fluendo.com>
2849
2850         * docs/gst/gstreamer-sections.txt:
2851         * gst/gsturi.c:
2852         * gst/gsturi.h:
2853         Document GstURIHandler
2854
2855 2005-11-09  Wim Taymans  <wim@fluendo.com>
2856
2857         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
2858         (gst_iterator_find_custom):
2859         * gst/gstiterator.h:
2860         Fix iterator docs.
2861
2862 2005-11-09  Wim Taymans  <wim@fluendo.com>
2863
2864         * gst/gstbin.h:
2865         Document another field.
2866
2867         * gst/gststructure.c:
2868         * gst/gststructure.h:
2869         Document.
2870
2871 2005-11-09  Wim Taymans  <wim@fluendo.com>
2872
2873         * gst/gstbin.h:
2874         Documented structs.
2875
2876 2005-11-09  Wim Taymans  <wim@fluendo.com>
2877
2878         * docs/gst/gstreamer-sections.txt:
2879         Added some new macros.
2880
2881         * gst/gstclock.c:
2882         * gst/gstclock.h:
2883         * gst/gstobject.h:
2884         Docs updates.
2885
2886 2005-11-09  Wim Taymans  <wim@fluendo.com>
2887
2888         * docs/design/part-TODO.txt:
2889         Some more items for the TODO
2890
2891         * gst/gstcaps.c:
2892         * gst/gstcaps.h:
2893         Document GstCaps.
2894
2895 2005-11-09  Andy Wingo  <wingo@pobox.com>
2896
2897         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
2898         to work on something else now tho...
2899
2900         * gst/base/gstadapter.c: More adapter docs.
2901
2902         * gst/elements/gstfilesink.c (gst_file_sink_start) 
2903         (gst_file_sink_stop): New functions, replace the state change
2904         handler.
2905         (gst_file_sink_class_init): Hook up the start and stop functions.
2906         (gst_file_sink_base_init): Don't set the state change handler any
2907         more. It was a bit ugly too, being set from here...
2908         (gst_file_sink_get_property, gst_file_sink_set_property):
2909         Cleanups...
2910         (gst_file_sink_set_location): More robust check that doesn't call
2911         GST_STATE. Ugggggg.
2912
2913 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
2914
2915         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2916           Hold STREAM_LOCK while pushing newsegment or tag events as well.
2917
2918 2005-11-08  Wim Taymans  <wim@fluendo.com>
2919
2920         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2921         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
2922         (gst_base_sink_chain), (gst_base_sink_change_state):
2923         * gst/base/gstbasesink.h:
2924         * gst/base/gstbasesrc.h:
2925         * gst/gstelement.h:
2926         * gst/gstevent.h:
2927         Avoid excessive typechecking in macros.
2928
2929         * gst/gstminiobject.c: (gst_mini_object_get_type),
2930         (gst_mini_object_init), (gst_mini_object_new),
2931         (gst_mini_object_free):
2932         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
2933         (gst_object_finalize):
2934         Remove cruft code, optimize alloc_trace.
2935
2936 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2937
2938         * docs/faq/gst-uninstalled:
2939           fix up PS1 for systems that try to reset it
2940
2941 2005-11-07  Wim Taymans  <wim@fluendo.com>
2942
2943         * gst/base/gstbasesrc.c: (gst_base_src_init),
2944         (gst_base_src_get_range):
2945         Set the segment_end to -1 initially. Fixed typefind.
2946
2947 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2948
2949         * gst/base/gstadapter.c:
2950           Debug category should be 'adapter', not 'GstAdapter'.
2951           
2952         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
2953         (gst_collectpads_class_init), (gst_collectpads_init),
2954         (gst_collectpads_peek), (gst_collectpads_pop),
2955         (gst_collectpads_event), (gst_collectpads_chain):
2956           Add debug category and some debugging output. Use boilerplate
2957           macros. Remove some extraneous words from docs.
2958
2959 2005-11-05  Andy Wingo  <wingo@pobox.com>
2960
2961         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
2962         macro.
2963
2964 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2965
2966         * docs/gst/gstreamer-sections.txt:
2967         * gst/gstcaps.h:
2968         * gst/gstinfo.c:
2969         * gst/gstminiobject.h:
2970         * gst/gstobject.h:
2971         * gst/gstutils.h:
2972           more docs added
2973
2974 2005-11-04  Wim Taymans  <wim@fluendo.com>
2975
2976         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2977         Small update to stop at the configured segment_end
2978         position.
2979
2980 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2981
2982         * gst/gstregistry.c:
2983         * gst/gstregistry.h:
2984           added missing docs
2985
2986 2005-11-04  Edward Hervey  <edward@fluendo.com>
2987
2988         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2989         Check if we are doing a segment seek and have arrived at the
2990         end of that segment.
2991
2992 2005-11-04  Wim Taymans  <wim@fluendo.com>
2993
2994         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
2995         Don't leak a mutex unlock in case of an error.
2996
2997         * gst/gstbus.h:
2998         Doc fixes.
2999
3000 2005-11-04  Wim Taymans  <wim@fluendo.com>
3001
3002         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
3003         (gst_bus_post):
3004         Get the context to wake up only once.
3005
3006 2005-11-03  Wim Taymans  <wim@fluendo.com>
3007
3008         * check/states/sinks.c: (GST_START_TEST):
3009         Uncomment fixed check.
3010
3011         * docs/design/part-TODO.txt:
3012         Updated TODO.
3013
3014         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3015         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3016         (gst_base_sink_get_position):
3017         If we are going to PLAYING, post the right pending state
3018         when we post the intermediate paused message.
3019
3020         * gst/gstelement.c: (gst_element_continue_state),
3021         (gst_element_set_state_func), (gst_element_change_state):
3022         Don't post state changes that were between the same state
3023         and were not ASYNC.
3024
3025 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3026
3027         * docs/gst/gstreamer-sections.txt:
3028         * gst/gstcaps.h:
3029         * gst/gstinfo.c:
3030         * gst/gstminiobject.h:
3031         * gst/gstobject.h:
3032         * gst/gstutils.h:
3033           more docs and doc style fixes
3034
3035 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3036
3037         * docs/gst/gstreamer-sections.txt:
3038         * gst/gstelement.c:
3039         * gst/gstminiobject.c:
3040         doc fixes
3041
3042 2005-11-03  Andy Wingo  <wingo@pobox.com>
3043
3044         * check/states/sinks.c (test_livesrc_sink): Add checks that the
3045         state-changed messages actually have the right order and the right
3046         values.
3047
3048 2005-11-03  Wim Taymans  <wim@fluendo.com>
3049
3050         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3051         Added some more checks. Specifically the case where NO_PREROLL
3052         elements are in the pipeline.
3053
3054         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3055         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3056         (gst_base_sink_get_position):
3057         Post READY->PAUSED state change messages too.
3058         Fix bug where VOID was posted as pending state...
3059
3060         * gst/gstbin.c: (gst_bin_recalc_state):
3061         use _element_continue_state() to continue the state change.
3062
3063         * gst/gstelement.c: (gst_element_continue_state),
3064         (gst_element_commit_state), (gst_element_set_state_func),
3065         (gst_element_change_state), (gst_element_change_state_func):
3066         Lots of state change cleanups, assign the STATE_RETURN in
3067         a new continue_state() function that also propagates the
3068         last return value from a state change to the app.
3069         Update some debug statements with proper category.
3070
3071 2005-11-03  Wim Taymans  <wim@fluendo.com>
3072
3073         * docs/design/part-events.txt:
3074         * docs/design/part-gstpipeline.txt:
3075         * docs/design/part-messages.txt:
3076         * docs/design/part-overview.txt:
3077         * docs/design/part-seeking.txt:
3078         * docs/design/part-states.txt:
3079         * docs/design/part-trickmodes.txt:
3080         * docs/manual/advanced-position.xml:
3081         Small docs updates.
3082
3083         * gst/gstobject.h:
3084         People think !! is ugly, this looks better.
3085
3086         * gst/gstpad.c: (gst_pad_set_blocked_async):
3087         Remove !! since it's fixed elsewhere now.
3088
3089 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3090
3091         * gst/gstminiobject.h:
3092         * gst/gstobject.h:
3093           Add !! to _FLAG_IS_SET macros to make the result boolean.
3094
3095 2005-11-03  Edward Hervey  <edward@fluendo.com>
3096
3097         * gst/gstpad.c: (gst_pad_set_blocked_async):
3098         comparing a flag and a gboolean rarely returns coherent results...
3099         Added two characters (!!) to make that work correctly.
3100         
3101 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3102
3103         * gst/gstbus.c: (gst_bus_class_init):
3104           Fix some typos.
3105           
3106         * gst/gstqueue.c: (gst_queue_loop):
3107           Don't assume a miniobject that isn't a buffer is an
3108           event (it could be that there is a refcounting
3109           problem somewhere and the pointer is stale and
3110           refers to an already destroyed miniobject).
3111
3112 2005-11-03  Julien MOUTTE  <julien@moutte.net>
3113
3114         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
3115
3116 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3117
3118         * docs/manual/advanced-position.xml:
3119           Update seek example and explanations to current 0.9 API.
3120
3121         * gst/elements/gsttypefindelement.c:
3122         (gst_type_find_element_activate):
3123           Remove FIXME comment now that the found caps
3124           are unreffed.
3125
3126 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3127
3128         * gst/gstregistryxml.c: (load_feature):
3129           Add another GST_STR_NULL instance
3130
3131 2005-11-02  Edward Hervey  <edward@fluendo.com>
3132
3133         * gst/gstpad.c: (handle_pad_block):
3134         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
3135         
3136 2005-11-02  Wim Taymans  <wim@fluendo.com>
3137
3138         * gst/gstbin.c:
3139         Fix typo in docs.
3140
3141         * gst/gstelement.c: (gst_element_commit_state):
3142         Remove unused value.
3143
3144         * gst/gstiterator.c:
3145         Mention that the returned element is reffed in the docs.
3146
3147 2005-11-02  Wim Taymans  <wim@fluendo.com>
3148
3149         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
3150         (gst_pad_push), (gst_pad_push_event):
3151         Unlock blocked pads when they are flushed.
3152
3153 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3154
3155         * docs/README:
3156         * docs/gst/gstreamer-sections.txt:
3157         * gst/gstbin.c:
3158           doc updates
3159         * gst/gstregistry.c: (gst_registry_scan_path_level):
3160           fix for a nasty little missed situation where an installed plug-in
3161           which was in the cache did not get overridden by an uninstalled one
3162           which was earlier in the plugin path because the newly created plugin
3163           for the uninstalled one (not in the registry) didn't get its
3164           ->registered set to TRUE
3165
3166 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3167
3168         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
3169         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
3170         (gst_collectpads_is_active), (gst_collectpads_collect),
3171         (gst_collectpads_collect_range), (gst_collectpads_start),
3172         (gst_collectpads_stop), (gst_collectpads_peek),
3173         (gst_collectpads_pop), (gst_collectpads_available),
3174         (gst_collectpads_read), (gst_collectpads_flush):
3175           Guard public API with assertions.
3176         
3177         * gst/gstpad.c:
3178           Fix docs for gst_pad_set_link_function().
3179
3180 2005-11-02  Johan Dahlin  <johan@gnome.org>
3181
3182         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
3183         Unref found_caps after we used it.
3184
3185 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3186
3187         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
3188           Don't try to ref NULL.
3189
3190 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3191
3192         * win32/common/config.h.in:
3193           provide a GST_FUNCTION that just gives a string for now
3194
3195 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3196
3197         * win32/common/gstenumtypes.c: (register_gst_object_flags),
3198         (gst_object_flags_get_type), (register_gst_bin_flags),
3199         (gst_bin_flags_get_type), (register_gst_buffer_flag),
3200         (gst_buffer_flag_get_type), (register_gst_bus_flags),
3201         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3202         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
3203         (gst_clock_return_get_type), (register_gst_clock_entry_type),
3204         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3205         (gst_clock_flags_get_type), (register_gst_state),
3206         (gst_state_get_type), (register_gst_state_change_return),
3207         (gst_state_change_return_get_type), (register_gst_state_change),
3208         (gst_state_change_get_type), (register_gst_element_flags),
3209         (gst_element_flags_get_type), (register_gst_core_error),
3210         (gst_core_error_get_type), (register_gst_library_error),
3211         (gst_library_error_get_type), (register_gst_resource_error),
3212         (gst_resource_error_get_type), (register_gst_stream_error),
3213         (gst_stream_error_get_type), (register_gst_event_type),
3214         (gst_event_type_get_type), (register_gst_seek_type),
3215         (gst_seek_type_get_type), (register_gst_seek_flags),
3216         (gst_seek_flags_get_type), (register_gst_format),
3217         (gst_format_get_type), (register_gst_index_certainty),
3218         (gst_index_certainty_get_type), (register_gst_index_entry_type),
3219         (gst_index_entry_type_get_type),
3220         (register_gst_index_lookup_method),
3221         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3222         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3223         (gst_index_resolver_method_get_type), (register_gst_index_flags),
3224         (gst_index_flags_get_type), (register_gst_debug_level),
3225         (gst_debug_level_get_type), (register_gst_debug_color_flags),
3226         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3227         (gst_iterator_result_get_type), (register_gst_iterator_item),
3228         (gst_iterator_item_get_type), (register_gst_message_type),
3229         (gst_message_type_get_type), (register_gst_mini_object_flags),
3230         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3231         (gst_pad_link_return_get_type), (register_gst_flow_return),
3232         (gst_flow_return_get_type), (register_gst_activate_mode),
3233         (gst_activate_mode_get_type), (register_gst_pad_direction),
3234         (gst_pad_direction_get_type), (register_gst_pad_flags),
3235         (gst_pad_flags_get_type), (register_gst_pad_presence),
3236         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3237         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3238         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3239         (gst_plugin_error_get_type), (register_gst_plugin_flags),
3240         (gst_plugin_flags_get_type), (register_gst_rank),
3241         (gst_rank_get_type), (register_gst_query_type),
3242         (gst_query_type_get_type), (register_gst_tag_merge_mode),
3243         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3244         (gst_tag_flag_get_type), (register_gst_task_state),
3245         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3246         (gst_alloc_trace_flags_get_type),
3247         (register_gst_type_find_probability),
3248         (gst_type_find_probability_get_type), (register_gst_uri_type),
3249         (gst_uri_type_get_type), (register_gst_parse_error),
3250         (gst_parse_error_get_type):
3251         * win32/common/gstversion.h:
3252           update win32 copies
3253
3254 2005-11-01  Luca Ognibene  <luogni@tin.it>
3255
3256         * gst/gst.c:
3257           fix docs. popt is dead, long live GOption.
3258
3259 2005-10-31  Wim Taymans  <wim@fluendo.com>
3260
3261         * gst/gstbuffer.h:
3262         Small doc fix.
3263
3264 2005-10-31  Andy Wingo  <wingo@pobox.com>
3265
3266         * Boo!
3267
3268         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
3269
3270         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
3271         need to serialize property notifications on GLib 2.8. GLib 2.6 has
3272         the possibility of deadlocks here if code calling notify() or
3273         set() has a lock that can be taken in another notify handler (ABBA
3274         with class lock and e.g. python GIL state lock).
3275
3276 2005-10-28  Julien MOUTTE  <julien@moutte.net>
3277
3278         * gst/gstbus.c: Doc updates.
3279
3280 2005-10-28  Wim Taymans  <wim@fluendo.com>
3281
3282         * docs/design/part-TODO.txt:
3283         * gst/gstiterator.c:
3284         * gst/gstsystemclock.c:
3285         * gst/gstsystemclock.h:
3286         Doc updates.
3287
3288 2005-10-28  Edward Hervey  <edward@fluendo.com>
3289
3290         * docs/gst/gstreamer-docs.sgml:
3291         * docs/gst/gstreamer-sections.txt:
3292         the GstURIType documentation page is private, it only defines GstURIType
3293         which should be defined in the GstURIHandler page
3294         
3295 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3296
3297         * gst/gstbin.c: (gst_bin_class_init):
3298         * gst/gstbin.h:
3299         * gst/gstutils.c:
3300         Documentation updates.
3301
3302 2005-10-28  Wim Taymans  <wim@fluendo.com>
3303
3304         * docs/gst/gstreamer-sections.txt:
3305         * gst/gstclock.c:
3306         * gst/gstclock.h:
3307         Documented the clocks.
3308
3309 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
3310
3311         * docs/gst/gstreamer-sections.txt:
3312           move some macros to private sections
3313         * gst/gstminiobject.c:
3314         * gst/gstminiobject.h:
3315           add descriptions provided by ds and some more
3316         * gst/gstpad.h:
3317           mark macro as to be removed
3318
3319 2005-10-28  Wim Taymans  <wim@fluendo.com>
3320
3321         * docs/design/part-TODO.txt:
3322         Add an item to TODO.
3323
3324         * gst/gstiterator.c: (gst_iterator_fold),
3325         (gst_iterator_find_custom):
3326         * gst/gstiterator.h:
3327         Add iterator docs.
3328
3329 2005-10-28  Wim Taymans  <wim@fluendo.com>
3330
3331         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3332         (gst_base_transform_init):
3333         Don't leak class.
3334
3335         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3336         An EOS event marks the queue as completely filled.
3337
3338 2005-10-27  Wim Taymans  <wim@fluendo.com>
3339
3340         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3341         (gst_base_sink_do_sync), (gst_base_sink_get_position):
3342         Some more debugging.
3343
3344         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3345         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3346         (gst_base_transform_event), (gst_base_transform_getrange),
3347         (gst_base_transform_chain):
3348         * gst/base/gstbasetransform.h:
3349         Fix debugging,
3350         Protect transform and concurrent buffer alloc with a new lock.
3351         Try not to break ABI/API.
3352
3353 2005-10-27  Wim Taymans  <wim@fluendo.com>
3354
3355         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3356         (gst_base_src_init), (gst_base_src_query),
3357         (gst_base_src_default_newsegment),
3358         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3359         (gst_base_src_send_event), (gst_base_src_event_handler),
3360         (gst_base_src_pad_get_range), (gst_base_src_loop),
3361         (gst_base_src_unlock), (gst_base_src_default_negotiate),
3362         (gst_base_src_start), (gst_base_src_deactivate),
3363         (gst_base_src_activate_push), (gst_base_src_change_state):
3364         Move some stuff around and cleanup things.
3365
3366 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
3367
3368         * gst/base/gstbasesrc.c: (gst_base_src_query):
3369           Add missing break statements.
3370
3371 2005-10-27  Wim Taymans  <wim@fluendo.com>
3372
3373         * check/gst/gstbin.c: (GST_START_TEST):
3374         An extra refcount is taken in basesrc.
3375
3376         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3377         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3378         (gst_base_src_loop):
3379         Small cleanups, check for flushing after being unlocked from the 
3380         LIVE_LOCK. take refcounts correctly (not yet everywhere).
3381         Don't send out EOS when going to READY.
3382
3383 2005-10-27  Wim Taymans  <wim@fluendo.com>
3384
3385         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3386         (gst_base_sink_get_position):
3387         Some more debug.
3388
3389         * gst/gstbin.c: (message_check), (bin_replace_message),
3390         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3391         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3392         (bin_query_duration_init), (bin_query_duration_fold),
3393         (bin_query_duration_done), (bin_query_generic_fold),
3394         (gst_bin_query):
3395         * tools/gst-launch.c: (main):
3396         Remove old option.
3397
3398 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
3399
3400         * examples/controller/audio-example.c: (main):
3401         * examples/queue/queue.c: (event_loop):
3402         * gst/base/gstbasetransform.h:
3403         * gst/gstelement.c: (gst_element_send_event):
3404         * gst/gstevent.h:
3405         * gst/gstpad.c: (gst_pad_send_event):
3406           fixing examples
3407           fixing docs typos
3408           changing log priority in error situations
3409
3410 2005-10-25  Wim Taymans  <wim@fluendo.com>
3411
3412         * gst/gstbin.c: (message_check), (bin_replace_message),
3413         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3414         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3415         (bin_query_duration_init), (bin_query_duration_fold),
3416         (bin_query_duration_done), (bin_query_generic_fold),
3417         (gst_bin_query):
3418         Some doc and debug updates.
3419         Cache previously requested query DURATION for speed. invalidate
3420         cached duration if element posts a DURATION message.
3421
3422 2005-10-25  Wim Taymans  <wim@fluendo.com>
3423
3424         * docs/design/part-TODO.txt:
3425         Update TODO.
3426
3427         * gst/gstbin.c: (message_check), (bin_replace_message),
3428         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3429         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3430         (bin_query_duration_init), (bin_query_duration_fold),
3431         (bin_query_duration_done), (bin_query_generic_fold),
3432         (gst_bin_query):
3433         Handle SEGMENT_START/DONE messages correctly.
3434         More evolved query algorithm that handles duration queries
3435         correctly.
3436
3437         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3438         (gst_element_get_state_func), (gst_element_abort_state),
3439         (gst_element_commit_state), (gst_element_lost_state):
3440         Some more debugging.
3441
3442         * gst/gstmessage.h:
3443         Added doc.
3444
3445 2005-10-25  Wim Taymans  <wim@fluendo.com>
3446
3447         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3448         Don't use invalid stream_time.
3449
3450         * gst/gstevent.c: (gst_event_new_newsegment):
3451         stream_time in newsegment cannot be undefined.
3452
3453 2005-10-24  Wim Taymans  <wim@fluendo.com>
3454
3455         * gst/gstbus.c:
3456         Doc fix.
3457
3458         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3459         (gst_queue_loop):
3460         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3461
3462 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
3463
3464         * docs/libs/tmpl/gstdparam.sgml:
3465         * docs/libs/tmpl/gstdplinint.sgml:
3466         * docs/libs/tmpl/gstdpman.sgml:
3467         * docs/libs/tmpl/gstdpsmooth.sgml:
3468         * docs/libs/tmpl/gstunitconvert.sgml:
3469           these are obsolete
3470
3471 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3472
3473         * configure.ac:
3474           back to HEAD
3475
3476 === release 0.9.4 ===
3477
3478 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3479
3480         * configure.ac:
3481           releasing 0.9.4, "Tyrannosaurus Rex"
3482
3483 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
3484
3485         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3486         (gst_file_sink_get_current_offset):
3487           Use fseeko() and ftello() if available. When falling back on
3488           lseek() to get the current offset, fflush() first to make sure
3489           everything is up-to-date and we get the right offset.
3490
3491 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3492
3493         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3494         * gst/base/gstbasesrc.c: (gst_base_src_loop):
3495         * gst/gsterror.c: (_gst_stream_errors_init):
3496         * gst/gsterror.h:
3497         * gst/gstqueue.c: (gst_queue_loop):
3498         * po/POTFILES.in:
3499           remove prematurely added error category and clean up the instances
3500
3501 2005-10-21  Wim Taymans  <wim@fluendo.com>
3502
3503         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3504         (gst_base_sink_get_position), (gst_base_sink_query),
3505         (gst_base_sink_change_state):
3506         Simply set the right flag when going to playing, that's all
3507         we need to do instead of calling a function inside the object
3508         lock (that could take the lock as well and deadlock)
3509
3510 2005-10-21  Wim Taymans  <wim@fluendo.com>
3511
3512         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
3513         (gst_base_src_loop):
3514         Don't warn, the peer element knows what to do best when
3515         the seek failed, it might try something else.
3516
3517 2005-10-21  Wim Taymans  <wim@fluendo.com>
3518
3519         * gst/base/gstbasesrc.c: (gst_base_src_init),
3520         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3521         Fix seeking.
3522
3523 2005-10-21  Wim Taymans  <wim@fluendo.com>
3524
3525         * docs/design/part-segments.txt:
3526         More docs.
3527
3528         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3529         Correctly set caps, even on the subbufer.
3530
3531 2005-10-21  Wim Taymans  <wim@fluendo.com>
3532
3533         * docs/gst/gstreamer-docs.sgml:
3534         * docs/gst/gstreamer-sections.txt:
3535         * gst/gstelement.h:
3536         * gst/gstevent.c:
3537         * gst/gstevent.h:
3538         * gst/gstmessage.h:
3539         * gst/gstpad.h:
3540         * gst/gstparse.h:
3541         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
3542         * gst/gsttask.h:
3543         * gst/gstutils.c:
3544         * gst/gstutils.h:
3545         And 2% more doc coverage.
3546
3547 2005-10-21  Andy Wingo  <wingo@pobox.com>
3548
3549         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
3550         position reporting.
3551
3552 2005-10-20  Wim Taymans  <wim@fluendo.com>
3553
3554         * gst/gsterror.c: (gst_error_get_message):
3555         * gst/gstparse.h:
3556         * gst/gstquery.h:
3557         * gst/gststructure.c:
3558         * gst/gsttrace.c:
3559         * gst/gstutils.c:
3560         More docs.
3561
3562 2005-10-20  Wim Taymans  <wim@fluendo.com>
3563
3564         * gst/gstbuffer.h:
3565         * gst/gstpad.c:
3566         * gst/gstparse.c:
3567         Another 1% more coverage.
3568
3569 2005-10-20  Wim Taymans  <wim@fluendo.com>
3570
3571         * docs/gst/gstreamer-sections.txt:
3572         * gst/gstelement.c: (gst_element_get_state_func),
3573         (gst_element_abort_state), (gst_element_commit_state),
3574         (gst_element_lost_state):
3575         * gst/gstevent.h:
3576         * gst/gstquery.c: (gst_query_set_position),
3577         (gst_query_parse_position), (gst_query_set_duration),
3578         (gst_query_parse_duration), (gst_query_new_convert):
3579         * gst/gstutils.c:
3580         Yay! 1% more docs coverage.
3581
3582 2005-10-20  Wim Taymans  <wim@fluendo.com>
3583
3584         * gst/gstpad.h:
3585         * gst/gstquery.c: (gst_query_set_position),
3586         (gst_query_parse_position), (gst_query_set_duration),
3587         (gst_query_parse_duration), (gst_query_new_convert):
3588         * gst/gstquery.h:
3589         * gst/gstutils.c: (gst_element_query_convert):
3590         * gst/gstutils.h:
3591         Docs and consistency fixes.
3592
3593 2005-10-20  Wim Taymans  <wim@fluendo.com>
3594
3595         * gst/gsttask.c:
3596         * gst/gsttask.h:
3597         More docs.
3598
3599 2005-10-20  Wim Taymans  <wim@fluendo.com>
3600
3601         * gst/gstbin.c: (message_check), (bin_replace_message),
3602         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3603         (update_degree), (gst_bin_sort_iterator_next),
3604         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
3605         Reworked the message handling a bit, cache the messages instead of
3606         only the senders. alows us to do more in the future.
3607
3608 2005-10-20  Wim Taymans  <wim@fluendo.com>
3609
3610         * docs/design/part-TODO.txt:
3611         Update TODO
3612
3613         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3614         (gst_base_sink_query):
3615         Don't use clock time to report position when in EOS.
3616
3617 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
3618
3619         * tools/gst-inspect.c: (print_interfaces),
3620         (print_element_properties_info), (print_element_info):
3621           Fix interface output with gst-inspect -a; don't print
3622           newlines after double/float properties.
3623
3624 2005-10-20  Wim Taymans  <wim@fluendo.com>
3625
3626         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3627         (gst_base_sink_query):
3628         Speed up current position calculation.
3629
3630         * gst/base/gstbasesrc.c: (gst_base_src_query),
3631         (gst_base_src_default_newsegment):
3632         Correctly set stream position in newsegment.
3633
3634         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
3635         (update_degree), (gst_bin_sort_iterator_next),
3636         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
3637         * gst/gstmessage.c: (gst_message_new_custom):
3638         Clean up debugging info
3639
3640         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
3641         (gst_queue_loop), (gst_queue_handle_src_query):
3642         Pause task faster.
3643
3644 2005-10-19  Wim Taymans  <wim@fluendo.com>
3645
3646         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3647         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3648         Fix query handling again.
3649
3650 2005-10-19  Wim Taymans  <wim@fluendo.com>
3651
3652         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3653         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3654         * gst/base/gstbasesrc.c: (gst_base_src_query):
3655         * gst/elements/gstfilesink.c: (gst_file_sink_query):
3656         * gst/elements/gsttypefindelement.c:
3657         (gst_type_find_handle_src_query), (find_element_get_length),
3658         (gst_type_find_element_activate):
3659         API change fix.
3660
3661         * gst/gstquery.c: (gst_query_new_position),
3662         (gst_query_set_position), (gst_query_parse_position),
3663         (gst_query_new_duration), (gst_query_set_duration),
3664         (gst_query_parse_duration), (gst_query_set_segment),
3665         (gst_query_parse_segment):
3666         * gst/gstquery.h:
3667         Bundling query position/duration is not a good idea since duration
3668         does not change much and we don't want to recalculate it for every
3669         position query, so they are separated again..
3670         Base value in segment query is not needed.
3671
3672         * gst/gstqueue.c: (gst_queue_handle_src_query):
3673         * gst/gstutils.c: (gst_element_query_position),
3674         (gst_element_query_duration), (gst_pad_query_position),
3675         (gst_pad_query_duration):
3676         * gst/gstutils.h:
3677         Updates for query API change.
3678         Added some docs here and there.
3679
3680 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3681
3682         * check/gst/gstbin.c: (GST_START_TEST):
3683         * check/gst/gstghostpad.c: (GST_START_TEST):
3684         * check/pipelines/cleanup.c: (GST_START_TEST):
3685           wait on thread to die so we can check refcount correctly
3686
3687 2005-10-18  Wim Taymans  <wim@fluendo.com>
3688
3689         * check/pipelines/stress.c: (GST_START_TEST):
3690         Make check a little more time consuming.
3691
3692 2005-10-18  Wim Taymans  <wim@fluendo.com>
3693
3694         * check/Makefile.am:
3695         * check/pipelines/stress.c: (GST_START_TEST),
3696         (simple_launch_lines_suite), (main):
3697         Small state change torture test.
3698
3699         * docs/design/part-states.txt:
3700         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3701         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
3702         (gst_base_sink_change_state):
3703         Never take state lock from streaming thread, clean up ugly
3704         hacks. Unfortunatly core does not yet support nice ways to
3705         async commit state.
3706         
3707         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
3708         (bin_bus_handler):
3709         Start state recalc if a STATE_DIRTY message is posted, but only
3710         on the toplevel bin.
3711
3712         * gst/gstelement.c: (gst_element_sync_state_with_parent),
3713         (gst_element_get_state_func), (gst_element_abort_state),
3714         (gst_element_commit_state), (gst_element_lost_state),
3715         (gst_element_set_state_func), (gst_element_change_state):
3716         * gst/gstelement.h:
3717         State variables are now protected with the LOCK, the state
3718         lock is only used to serialize _set_state().
3719
3720 2005-10-18  Wim Taymans  <wim@fluendo.com>
3721
3722         * check/gst/gstbin.c: (GST_START_TEST):
3723         * check/gst/gstmessage.c: (GST_START_TEST):
3724         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3725         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
3726         (bin_bus_handler):
3727         * gst/gstelement.c: (gst_element_abort_state),
3728         (gst_element_commit_state), (gst_element_lost_state):
3729         * gst/gstmessage.c: (gst_message_new_state_changed),
3730         (gst_message_new_state_dirty), (gst_message_new_segment_start),
3731         (gst_message_new_segment_done), (gst_message_new_duration),
3732         (gst_message_parse_state_changed),
3733         (gst_message_parse_segment_start),
3734         (gst_message_parse_segment_done), (gst_message_parse_duration):
3735         * gst/gstmessage.h:
3736         * tools/gst-launch.c: (event_loop):
3737         Seriously, this is better than a previous commit as we only need
3738         to notify the fact that an element changed state in a streaming
3739         thread, marking the state of the parents dirty, hence the 
3740         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
3741         message.
3742
3743 2005-10-18  Wim Taymans  <wim@fluendo.com>
3744
3745         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
3746         (gst_bin_recalc_func):
3747         * gst/gstelement.c: (gst_element_set_clock),
3748         (gst_element_abort_state), (gst_element_lost_state):
3749         Cleanups, prepare for state change fixes.
3750
3751 2005-10-18  Wim Taymans  <wim@fluendo.com>
3752
3753         * gst/gstbin.h:
3754         * gst/gstelement.c: (gst_element_class_init),
3755         (gst_element_set_state), (gst_element_set_state_func):
3756         * gst/gstelement.h:
3757         Pending ABI changes.
3758         GThreadPool in GstBinClass to monitor async state changes.
3759         state_cookie in GstElement to detect concurrent gst/set state.
3760         set_state is now virtual too in case a very complicated element
3761         has to be constructed.
3762
3763 2005-10-18  Wim Taymans  <wim@fluendo.com>
3764
3765         * check/gst/gstbin.c: (GST_START_TEST):
3766         * check/gst/gstmessage.c: (GST_START_TEST):
3767         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3768         * gst/gstbin.c: (bin_bus_handler):
3769         * gst/gstelement.c: (gst_element_commit_state),
3770         (gst_element_lost_state):
3771         * gst/gstmessage.c: (gst_message_new_state_changed),
3772         (gst_message_new_segment_start), (gst_message_new_segment_done),
3773         (gst_message_new_duration), (gst_message_parse_state_changed),
3774         (gst_message_parse_segment_start),
3775         (gst_message_parse_segment_done), (gst_message_parse_duration):
3776         * gst/gstmessage.h:
3777         * tools/gst-launch.c: (event_loop):
3778         Make messages future proof.
3779         state-change gets a flag if it was a message comming from the
3780         streaming thread.
3781         segment-start/stop can also be specified in other formats.
3782         A message to notify an app that a pipeline changed playback 
3783         duration.
3784         Also fix a GstMessage leak in -launch
3785
3786 2005-10-18  Andy Wingo  <wingo@pobox.com>
3787
3788         * gst/gstelement.c (gst_element_dispose): More helpful message.
3789
3790 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3791
3792         reviewed by: <delete if not using a buddy>
3793
3794         * common/gtk-doc.mak:
3795
3796 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3797
3798         * gst/gstregistry.c: (gst_registry_scan_path_level):
3799           unref a plug-in we get that was already initialized
3800
3801 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
3802
3803         * docs/gst/gstreamer-sections.txt:
3804         * docs/libs/gstreamer-libs-sections.txt:
3805         * gst/gstelement.h:
3806           add new api entries
3807           hide internal macro
3808
3809 2005-10-17  Andy Wingo  <wingo@pobox.com>
3810
3811         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
3812         cleanup.
3813
3814         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
3815
3816         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
3817
3818         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
3819         (gst_element_get_state_func): Better debug message.
3820         (gst_element_commit_state): s/INFO/DEBUG/.
3821         (gst_element_lost_state, gst_element_change_state): 
3822
3823         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
3824         (gst_message_new_custom): s/INFO/LOG/.
3825
3826 2005-10-17  Michael Smith <msmith@fluendo.com>
3827
3828         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3829           Check if end time is valid using end time, not start time.
3830
3831 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
3832
3833         * check/gst-libs/controller.c: (GST_START_TEST),
3834         (gst_controller_suite):
3835         * libs/gst/controller/gstcontroller.c:
3836         (gst_controlled_property_set_interpolation_mode):
3837         * libs/gst/controller/gstcontroller.h:
3838         * libs/gst/controller/gstinterpolation.c:
3839         * testsuite/controller/.cvsignore:
3840         * testsuite/controller/Makefile.am:
3841         * testsuite/controller/interpolator.c:
3842           merge controller testsuites
3843           fix broken tests
3844           remove mem-chunk from docs
3845
3846 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3847
3848         * gst/gstmemchunk.c:
3849         * gst/gstmemchunk.h:
3850         * gst/gsttrashstack.c:
3851         * gst/gsttrashstack.h:
3852           out.  get out.  you're fired.  to the Attic !
3853
3854 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3855
3856         * gst/gstcaps.c: (gst_caps_intersect):
3857           fix signedness issues in a (hopefully) correct way
3858         * gst/gstelement.c: (gst_element_pads_activate):
3859           some debugging
3860         * gst/gstobject.c: (gst_object_set_parent):
3861           some debugging
3862
3863 2005-10-17  Julien MOUTTE  <julien@moutte.net>
3864
3865         * gst/gstvalue.h: Fix prototypes.
3866
3867 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3868
3869         * docs/gst/gstreamer-sections.txt:
3870         * gst/gst.c: (gst_version_string):
3871         * gst/gst.h:
3872         * gst/gstversion.h.in:
3873         * win32/common/libgstreamer.def:
3874           add gst_version_string ()
3875
3876 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3877
3878         * configure.ac:
3879           clean up further
3880         * gst/gst.c: (init_post):
3881         * win32/common/config.h.in:
3882           it's PLUGINDIR now
3883         * gst/gstcaps.c: (gst_caps_intersect):
3884           use gint64, the range could be bigger than a guint
3885
3886 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3887
3888         * gst/gstclock.h:
3889           document potential problem in 2038
3890
3891 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3892
3893         * gst/gstcaps.c: (gst_caps_intersect):
3894           Fix guint j diving under 0
3895
3896 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3897
3898         * configure.ac:
3899         * win32/common/config.h:
3900         * win32/common/config.h.in:
3901           check for process.h, declares getpid() on Windows
3902         * gst/gstinfo.c:
3903           include process.h if we have it
3904         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
3905         * gst/gstmemchunk.h:
3906           fix signedness issues
3907         * win32/common/libgstreamer.def:
3908           fix get_type's
3909
3910 2005-10-16  Julien MOUTTE  <julien@moutte.net>
3911
3912         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
3913         fix. Because of unsigned ints, caps intersection was going nuts and
3914         trying to access structures with G_MAXUINT index. That fixes
3915         videotestsrc ! ffmpegcolorspace ! fakesink
3916         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
3917         consistency.
3918
3919 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3920
3921         * configure.ac:
3922           use the gettext macro
3923         * gst/elements/gstelements.c:
3924         * gst/gst.c:
3925         * gst/indexers/gstindexers.c:
3926           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
3927         * win32/common/config.h:
3928           updated config.h
3929         * win32/common/config.h.in:
3930           add the template to generate config.h
3931         * win32/common/gstenumtypes.c:
3932         * win32/common/gstversion.h:
3933           updated copies
3934
3935 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3936
3937         * gst/gst.c: (gst_version):
3938         * gst/gstversion.h.in:
3939           add the nano
3940
3941 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3942
3943         * gst/gstevent.h:
3944           Oops, add missing closing bracket.
3945
3946 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3947
3948         * configure.ac:
3949           use common m4's for argument checking
3950
3951 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3952
3953         * docs/gst/gstreamer-sections.txt:
3954         * gst/gstevent.h:
3955           Add GST_EVENT_TYPE_NAME() macro.
3956
3957 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3958
3959         * gst/gstinfo.c:
3960         * gst/gstpluginfeature.c:
3961         * gst/gsttask.c:
3962           privatize more symbols
3963
3964 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3965
3966         * configure.ac:
3967           add srcdir, builddir includes to GST_ALL_CFLAGS, since
3968           everything that uses GStreamer API should have the includes
3969
3970 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3971
3972         * docs/gst/gstreamer-sections.txt:
3973         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
3974         * gst/gstvalue.h:
3975           give each value a _get_type, removes the DATA exports
3976
3977 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3978
3979         * gst/gst.c:
3980         * gst/gst.h:
3981           remove _gst_registry_auto_load, not used anymore
3982         * gst/gstbin.c: (gst_bin_get_type):
3983         * gst/gstbin.h:
3984         * gst/gstelement.c: (gst_element_get_type):
3985         * gst/gstelement.h:
3986         * gst/gstobject.c: (gst_object_get_type):
3987         * gst/gstobject.h:
3988         * gst/gstpad.c: (gst_pad_get_type):
3989         * gst/gstpad.h:
3990           make _get_type functions similar, fixes data export from library
3991
3992 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3993
3994         * configure.ac:
3995           correctly make conditionals
3996         * gst/elements/Makefile.am:
3997         * gst/elements/gstelements.c:
3998           fix typo causing fdsrc not to build
3999
4000 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4001
4002         * testsuite/Makefile.am:
4003         * testsuite/bytestream/.cvsignore:
4004         * testsuite/bytestream/Makefile.am:
4005         * testsuite/bytestream/filepadsink.c:
4006         * testsuite/bytestream/gstbstest.c:
4007         * testsuite/bytestream/test1.c:
4008         * testsuite/bytestream/testfile1:
4009         * testsuite/caps/normalisation.c:
4010         * testsuite/caps/random.c: (main):
4011         * testsuite/cleanup/.cvsignore:
4012         * testsuite/cleanup/Makefile.am:
4013         * testsuite/cleanup/cleanup1.c:
4014         * testsuite/cleanup/cleanup2.c:
4015         * testsuite/cleanup/cleanup3.c:
4016         * testsuite/cleanup/cleanup4.c:
4017         * testsuite/cleanup/cleanup5.c:
4018         * testsuite/controller/interpolator.c:
4019         * testsuite/debug/printf_extension.c: (main):
4020         * testsuite/elements/tee.c:
4021         * testsuite/negotiation/.cvsignore:
4022         * testsuite/negotiation/Makefile.am:
4023         * testsuite/negotiation/pad_link.c:
4024         * testsuite/pad/Makefile.am:
4025         * testsuite/pad/chainnopull.c:
4026         * testsuite/pad/getnopush.c:
4027         * testsuite/pad/link.c:
4028         * testsuite/refcounting/sched.c: (create_pipeline):
4029         * testsuite/registry/Makefile.am:
4030         * testsuite/registry/gst-print-formats.c:
4031         * testsuite/schedulers/.cvsignore:
4032         * testsuite/schedulers/142183-2.c:
4033         * testsuite/schedulers/142183.c:
4034         * testsuite/schedulers/143777-2.c:
4035         * testsuite/schedulers/143777.c:
4036         * testsuite/schedulers/147713.c:
4037         * testsuite/schedulers/147819.c:
4038         * testsuite/schedulers/147894-2.c:
4039         * testsuite/schedulers/147894.c:
4040         * testsuite/schedulers/Makefile.am:
4041         * testsuite/schedulers/group_link.c:
4042         * testsuite/schedulers/queue_link.c:
4043         * testsuite/schedulers/relink.c:
4044         * testsuite/schedulers/unlink.c:
4045         * testsuite/schedulers/unref.c:
4046         * testsuite/schedulers/useless_iteration.c:
4047         * testsuite/states/bin.c:
4048           clean out/remove some stuff from the testsuite directories
4049
4050 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4051
4052         * configure.ac:
4053           check for some headers
4054         * gst/elements/Makefile.am:
4055         * gst/elements/gstelements.c:
4056           don't compile fdsrc without sys/socket.h
4057         * gst/indexers/Makefile.am:
4058         * gst/indexers/gstindexers.c: (plugin_init):
4059           don't compile fileindex without mmap
4060
4061 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4062
4063         * configure.ac:
4064           reorganize
4065           clean up
4066           document more
4067           remove cruft
4068         * check/Makefile.am:
4069         * docs/gst/Makefile.am:
4070         * examples/helloworld/Makefile.am:
4071         * gst/Makefile.am:
4072         * gst/base/Makefile.am:
4073         * gst/check/Makefile.am:
4074         * gst/elements/Makefile.am:
4075         * gst/indexers/Makefile.am:
4076         * gst/parse/Makefile.am:
4077         * libs/gst/controller/Makefile.am:
4078         * libs/gst/dataprotocol/Makefile.am:
4079         * examples/helloworld/helloworld.c: (event_loop):
4080           compile fixes, though it's not being compiled currently
4081
4082 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4083
4084         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
4085           Add some simple tests for the new taglist date API.
4086
4087 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4088
4089         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
4090         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
4091           Beautify 'last-message' output: print 'none' for buffer timestamps
4092           and durations if none is set; improve alignment with next messages.
4093
4094 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4095
4096         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
4097         * gst/gstpluginfeature.h:
4098         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
4099         * gst/gstregistry.h:
4100         * docs/gst/gstreamer-sections.txt:
4101           Add new API to check plugin feature version requirements.
4102
4103         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
4104           Some basic tests for the above.         
4105
4106 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4107
4108         * gst/gststructure.c: (gst_structure_to_string):
4109           guard against NULL printf - happens when for example
4110           a message structure with GstClock gets serialized
4111
4112 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4113
4114         * gst/base/gstcollectpads.c: (gst_collectpads_event):
4115           Fix presumable copy'n'pasto.
4116
4117 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4118
4119         * gst/elements/gstfakesrc.h:
4120         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
4121         * gst/elements/gsttypefindelement.c:
4122           fix some signedness
4123         * gst/elements/gstfilesink.c: (gst_file_sink_render):
4124           I wonder if this could actually write +2GB files before
4125
4126 2005-10-13  Andy Wingo  <wingo@pobox.com>
4127
4128         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
4129         Fix Timmeke Waymans bug.
4130         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
4131         string of the proper length to gst_caps_from_string. There's a
4132         potential for, before this fix, that this could cause someone
4133         connecting over the network to cause a segfault if the payload is
4134         not NUL-terminated.
4135
4136 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4137
4138         * docs/design/draft-push-pull.txt:
4139         * docs/design/part-overview.txt:
4140         * docs/random/TODO-pre-0.9:
4141         * docs/random/old/ChangeLog.gstreamer:
4142         * gst/base/gstpushsrc.c:
4143         * gst/gstclock.c:
4144           fixed typos
4145
4146 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4147
4148         * gst/glib-compat.c: (gst_flags_get_first_value):
4149         * gst/glib-compat.h:
4150         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
4151         (gst_value_compare_double), (gst_value_serialize_flags):
4152           GLib 2.6 g_flags_get_first_value has a bug that triggers an
4153           infinite loop
4154
4155 2005-10-13  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_get_range):
4159           fix up debugging
4160         * tools/gst-launch.c: (event_loop):
4161           print out clock nicely
4162
4163 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4164
4165         * docs/gst/gstreamer-sections.txt:
4166         * gst/gsttaglist.h:
4167         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
4168         (gst_tag_list_get_date_index):
4169           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
4170           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
4171
4172 2005-10-13  Julien MOUTTE  <julien@moutte.net>
4173
4174         * gst/base/gstcollectpads.c: (gst_collectpads_event),
4175         (gst_collectpads_chain):
4176         * gst/base/gstcollectpads.h: Handle newsegment and store informations
4177         in CollectData.
4178
4179 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4180
4181         * docs/gst/gstreamer-sections.txt:
4182         * gst/gst.c:
4183         * gst/gsterror.h:
4184         * tools/gst-inspect.c: (main):
4185         * tools/gst-launch.c: (main):
4186         * tools/gst-run.c: (main):
4187         * tools/gst-xmlinspect.c: (main):
4188           fix GOption context leaks
4189           doc fixes
4190
4191 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4192
4193         * gst/gstbus.c:
4194           use HAVE_UNISTD_H
4195         * win32/common/config.h:
4196           update config
4197         * win32/vs6/grammar.dsp:
4198         * win32/vs6/libgstelements.dsp:
4199         * win32/vs6/libgstreamer.dsp:
4200           update vs6 files
4201
4202 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4203
4204         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4205         * gst/base/gstbasesrc.c: (gst_base_src_query):
4206           fix more guint64<->gdouble conversions
4207
4208 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4209
4210         * Makefile.am:
4211           add win32-update target
4212         * win32/common/gstconfig.h:
4213         * win32/common/gstenumtypes.c:
4214         * win32/common/gstenumtypes.h:
4215         * win32/common/gstversion.h:
4216           add files that visual studio can't generate
4217
4218 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4219
4220         * Makefile.am:
4221           add a win32-update target
4222         * configure.ac:
4223
4224 2005-10-12  Wim Taymans  <wim@fluendo.com>
4225
4226         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4227         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
4228         * gst/gstelement.c: (gst_element_commit_state),
4229         (gst_element_set_state):
4230         Protect flags with proper lock.
4231         unref provided cached clock in dispose.
4232
4233 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4234
4235         * gst/gst.c:
4236         * gst/gstminiobject.h:
4237         * gst/gstpad.h:
4238         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
4239           removed unused flags from miniobject
4240           doc fixes
4241
4242 2005-10-12  Wim Taymans  <wim@fluendo.com>
4243
4244         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4245         (gst_file_sink_event), (gst_file_sink_render):
4246         Flush before seeking.
4247
4248 2005-10-12  Andy Wingo  <wingo@pobox.com>
4249
4250         * gst/gst.c (gst_init_check): Ignore unknown options, as has
4251         always been the case.
4252
4253 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4254
4255         * check/gst/gstbin.c: (GST_START_TEST):
4256         * docs/gst/gstreamer-sections.txt:
4257         * gst/base/gstbasesink.c: (gst_base_sink_init):
4258         * gst/base/gstbasesrc.c: (gst_base_src_init),
4259         (gst_base_src_get_range), (gst_base_src_check_get_range),
4260         (gst_base_src_start), (gst_base_src_stop):
4261         * gst/base/gstbasesrc.h:
4262         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
4263         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4264         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
4265         (bin_bus_handler):
4266         * gst/gstbin.h:
4267         * gst/gstbuffer.h:
4268         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
4269         * gst/gstbus.h:
4270         * gst/gstelement.c: (gst_element_is_locked_state),
4271         (gst_element_set_locked_state), (gst_element_commit_state),
4272         (gst_element_set_state):
4273         * gst/gstelement.h:
4274         * gst/gstindex.c: (gst_index_init):
4275         * gst/gstindex.h:
4276         * gst/gstminiobject.h:
4277         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
4278         (gst_object_set_parent):
4279         * gst/gstobject.h:
4280         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4281         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4282         * gst/gstpad.h:
4283         * gst/gstpadtemplate.h:
4284         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4285         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4286         * gst/gstpipeline.h:
4287         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4288         (gst_file_index_commit):
4289         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4290         * testsuite/pad/link.c: (gst_test_src_init),
4291         (gst_test_filter_init), (gst_test_sink_init):
4292         * testsuite/states/locked.c: (main):
4293           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
4294           moved bitshift from macro to enum definition
4295
4296 2005-10-12  Wim Taymans  <wim@fluendo.com>
4297
4298         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
4299         * gst/elements/gstfilesink.c: (gst_file_sink_event),
4300         (gst_file_sink_render):
4301         Some more debugging info.
4302
4303 2005-10-12  Wim Taymans  <wim@fluendo.com>
4304
4305         * docs/design/part-states.txt:
4306         * tools/gst-launch.c: (main):
4307         Some doc updates.
4308         Revert non-intentional change.
4309
4310 2005-10-12  Wim Taymans  <wim@fluendo.com>
4311
4312         * check/gst/gstbin.c: (GST_START_TEST):
4313         * check/gst/gstelement.c: (GST_START_TEST):
4314         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4315         * check/gst/gstghostpad.c: (GST_START_TEST):
4316         * check/gst/gstpipeline.c: (GST_START_TEST):
4317         * check/pipelines/simple_launch_lines.c: (run_pipeline):
4318         * check/states/sinks.c: (GST_START_TEST):
4319         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4320         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4321         (gst_bin_remove_func), (gst_bin_get_state_func),
4322         (gst_bin_recalc_state), (gst_bin_change_state_func),
4323         (bin_bus_handler):
4324         * gst/gstelement.c: (gst_element_get_state_func),
4325         (gst_element_get_state), (gst_element_abort_state),
4326         (gst_element_commit_state), (gst_element_set_state),
4327         (gst_element_change_state), (gst_element_change_state_func):
4328         * gst/gstelement.h:
4329         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4330         (gst_pipeline_provide_clock_func):
4331         * gst/gstutils.c: (gst_element_link_pads_filtered):
4332         * tools/gst-launch.c: (main):
4333         * tools/gst-typefind.c: (main):
4334         Use GstClockTime in _get_state() instead of GTimeVal.
4335         Remove old code in gstutils.c
4336
4337 2005-10-12  Andy Wingo  <wingo@pobox.com>
4338
4339         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4340         removed.
4341
4342         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4343         there is no task. Shouldn't affect any code, as nothing in our
4344         plugins checks this return value.
4345         (gst_pad_stop_task): Also take the stream lock if the pad has no
4346         task. Docs updated.
4347
4348 2005-10-12  Wim Taymans  <wim@fluendo.com>
4349
4350         * gst/gstpad.c: (pre_activate), (post_activate),
4351         (gst_pad_activate_pull), (gst_pad_activate_push):
4352         Cleanup activation code. Reset old state if
4353         activation failed.
4354
4355 2005-10-12  Wim Taymans  <wim@fluendo.com>
4356
4357         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4358         (gst_base_sink_change_state):
4359         No need to prerol after receiving EOS.
4360
4361         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4362         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4363         * gst/elements/gstidentity.c: (gst_identity_event):
4364         Print events more verbosely.
4365
4366 2005-10-12  Wim Taymans  <wim@fluendo.com>
4367
4368         * check/Makefile.am:
4369         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4370         * check/states/sinks2.c:
4371         Moved sinks2 testcode in sinks check.
4372
4373         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4374         (gst_bin_remove_func), (gst_bin_recalc_state),
4375         (gst_bin_change_state_func), (bin_bus_handler):
4376         Fix potential race condition when _get_state() iterated over an
4377         ASYNC element right before it posted a state completion.
4378
4379         * gst/gstclock.h:
4380         Do proper cast here.
4381
4382         * gst/gstevent.c: (gst_event_new_newsegment),
4383         (gst_event_parse_newsegment):
4384         A playback rate of 0.0 is not allowed.
4385
4386 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4387
4388         * win32/common/config.h:
4389         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4390         (_trewinddir), (_ttelldir), (_tseekdir):
4391         * win32/common/dirent.h:
4392         * win32/common/gtchar.h:
4393         * win32/common/libgstbase.def:
4394         * win32/common/libgstreamer.def:
4395         * win32/vs6/grammar.dsp:
4396         * win32/vs6/gst_inspect.dsp:
4397         * win32/vs6/gst_launch.dsp:
4398         * win32/vs6/gstreamer.dsw:
4399         * win32/vs6/libgstbase.dsp:
4400         * win32/vs6/libgstelements.dsp:
4401         * win32/vs6/libgstreamer.dsp:
4402           Visual Studio 6 project files, and a new common directory.
4403           Phear.
4404
4405 2005-10-11  Wim Taymans  <wim@fluendo.com>
4406
4407         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4408         (gst_base_sink_do_sync), (gst_base_sink_query),
4409         (gst_base_sink_change_state):
4410         * gst/base/gstbasesink.h:
4411         Correctly parse newsegment info.
4412
4413 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4414
4415         * gst/gst.c: (init_post):
4416           split plugin paths correctly
4417
4418 2005-10-11  Wim Taymans  <wim@fluendo.com>
4419
4420         * check/gst/gstevent.c: (GST_START_TEST):
4421         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4422         (gst_base_sink_change_state):
4423         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4424         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4425         * gst/elements/gstfilesink.c: (gst_file_sink_event):
4426         * gst/gstevent.c: (gst_event_new_newsegment),
4427         (gst_event_parse_newsegment):
4428         * gst/gstevent.h:
4429         Added extra flag to newsegment for future API freeze.
4430         Updated check and base elements.
4431
4432 2005-10-11  Julien MOUTTE  <julien@moutte.net>
4433
4434         * gst/base/gstcollectpads.c: (gst_collectpads_init),
4435         (gst_collectpads_add_pad), (gst_collectpads_pop),
4436         (gst_collectpads_event), (gst_collectpads_chain):
4437         * gst/base/gstcollectpads.h: Handle EOS correctly.
4438
4439 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4440
4441         * tools/gst-launch.c: (main):
4442           more null protecting
4443
4444 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4445
4446         * gst/gst-i18n-lib.h:
4447           check for ENABLE_NLS, not GETTEXT_PACKAGE
4448         * gst/gstregistry.c: (gst_registry_add_plugin),
4449         (gst_registry_scan_path_level),
4450         (_gst_registry_remove_cache_plugins):
4451           protect possibly NULL strings
4452         * gst/parse/types.h:
4453           config.h already included before
4454         * tools/gst-inspect.c: (main):
4455           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4456           check for ENABLE_NLS, not GETTEXT_PACKAGE
4457         * tools/gst-launch.c: (main):
4458           check for ENABLE_NLS, not GETTEXT_PACKAGE
4459
4460 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4461
4462         * configure.ac:
4463           if we don't have glib, fail before testing 2.8
4464         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4465           fix a leak, should fix plugins-base testsuite
4466
4467 2005-10-11  Andy Wingo  <wingo@pobox.com>
4468
4469         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4470         take the mode we're going to as an arg. Go head and set the mode
4471         and flushing flags now, so that if the activate function starts a
4472         thread all the flags will be in the right state.
4473         (post_activate): Renamed also. Just handle making sure streaming
4474         finishes for the deactivation case, and setting the deactivated
4475         mode.
4476         (gst_pad_set_active): Complain loudly if deactivation fails.
4477         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4478         (gst_pad_activate_push): Adapt to pre/post_activate changes,
4479         remove the terrible hack.
4480
4481 2005-10-11  Wim Taymans  <wim@fluendo.com>
4482
4483         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4484         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4485         (gst_bin_recalc_state), (gst_bin_change_state_func),
4486         (gst_bin_dispose), (bin_bus_handler):
4487         * gst/gstbin.h:
4488         Prepare to make current EOS message queue more generic.
4489         Fix some typos.
4490
4491         * gst/gstevent.c: (gst_event_new_newsegment),
4492         (gst_event_parse_newsegment):
4493         * gst/gstevent.h:
4494         Rename base to stream_time.
4495
4496         * gst/gstmessage.h:
4497         Fix typo in docs.
4498
4499 2005-10-11  Wim Taymans  <wim@fluendo.com>
4500
4501         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4502         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
4503         (gst_bin_change_state_func), (bin_bus_handler):
4504         * gst/gstbin.h:
4505         Work on proper clock selection.
4506
4507 2005-10-11  Edward Hervey  <edward@fluendo.com>
4508
4509         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
4510         * libs/gst/controller/gstcontroller.h:
4511         Added GList* version of _remove_properties() in order to be able to wrap
4512         it in bindings.
4513
4514 2005-10-11  Wim Taymans  <wim@fluendo.com>
4515
4516         * docs/design/part-states.txt:
4517         Some more docs.
4518
4519         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
4520         (gst_bin_change_state_func), (bin_bus_handler):
4521         Doc updates. Don't distribute the same clock over and over again.
4522
4523         * gst/gstclock.c:
4524         * gst/gstclock.h:
4525         Doc updates.
4526
4527         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
4528         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
4529         (gst_pad_send_event):
4530         * gst/gstpad.h:
4531         Make probe emission threadsafe again.
4532         Register quarks and move _get_name() from utils.
4533         Doc updates.
4534
4535         * gst/gstpipeline.c: (gst_pipeline_class_init),
4536         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4537         Only redistribute the clock of it changed.
4538
4539         * gst/gstsystemclock.h:
4540         Doc updates. 
4541
4542         * gst/gstutils.c:
4543         * gst/gstutils.h:
4544         Moved the _flow_get_name() to GstPad.
4545
4546 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4547
4548         * check/gst-libs/gdp.c: (GST_START_TEST):
4549         * check/gst/gstcaps.c: (GST_START_TEST):
4550         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
4551         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
4552         (gst_dp_packet_from_caps):
4553           fix more valgrind warnings before turning up the heat
4554
4555 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4556
4557         * gst/parse/grammar.y:
4558           some cleanup before the hacking
4559
4560 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4561
4562         * gst/base/gstbasesrc.c: (gst_base_src_query):
4563           use conversions
4564         * gst/gstutils.c: (gst_guint64_to_gdouble),
4565         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
4566         * gst/gstutils.h:
4567           externalize, basesrc uses it
4568           obviously the implementation needs testing
4569
4570 2005-10-10  Wim Taymans  <wim@fluendo.com>
4571
4572         * tests/sched/Makefile.am:
4573         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
4574         (make_pipeline3), (make_pipeline4), (print_elem), (main):
4575
4576 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4577
4578         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
4579           apparently converting from guint64 to double is not implemented
4580           on MSVC
4581
4582 2005-10-10  Wim Taymans  <wim@fluendo.com>
4583
4584         * check/Makefile.am:
4585         * check/generic/states.c: (GST_START_TEST):
4586         * check/gst/gstbin.c: (GST_START_TEST):
4587         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4588         * check/states/sinks.c: (GST_START_TEST):
4589         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
4590         (main):
4591         Check fixes, use API as stated in design docs, remove hacks.
4592
4593         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4594         (gst_base_sink_change_state):
4595         Catch stopping our task while we're shutting down.
4596
4597         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
4598         (gst_bin_remove_func), (gst_bin_get_state_func),
4599         (gst_bin_recalc_state), (gst_bin_change_state_func),
4600         (bin_bus_handler):
4601         * gst/gstbin.h:
4602         * gst/gstelement.c: (gst_element_init),
4603         (gst_element_get_state_func), (gst_element_abort_state),
4604         (gst_element_commit_state), (gst_element_lost_state),
4605         (gst_element_set_state), (gst_element_change_state),
4606         (gst_element_change_state_func):
4607         * gst/gstelement.h:
4608         New state change algorithm (see #318116)
4609
4610         * gst/gstpipeline.c: (gst_pipeline_class_init),
4611         (gst_pipeline_init), (gst_pipeline_set_property),
4612         (gst_pipeline_get_property), (do_pipeline_seek),
4613         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4614         * gst/gstpipeline.h:
4615         Remove crude state change hacks.
4616
4617         * gst/gstutils.h:
4618         Remove crude hacks.
4619
4620         * tools/gst-launch.c: (main):
4621         Fixes for state change. Needs some more work to fully use the
4622         new stuff.
4623
4624 2005-10-10  Andy Wingo  <wingo@pobox.com>
4625
4626         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
4627
4628         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
4629         this flag, but it's not even in GLib 2.6. Odd. Hack around the
4630         issue.
4631
4632 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4633
4634         * gst/gstiterator.c: (gst_iterator_new):
4635           Fix my previous commit: GTypes passed to gst_iterator_new()
4636           can be fundamental types.
4637
4638 2005-10-10  Wim Taymans  <wim@fluendo.com>
4639
4640         * gst/gstelement.c: (gst_element_iterate_pad_list),
4641         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
4642         (gst_element_iterate_sink_pads):
4643         Use src/sink pads lists for the respective iterators instead
4644         of filtering.
4645
4646 2005-10-10  Andy Wingo  <wingo@pobox.com>
4647
4648         Merged in popt removal + GOption addition patch from Ronald, bug
4649         #169772.
4650
4651         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
4652         GstElement macros around, remove popt-related symbols, add goption
4653         stuff.
4654
4655         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
4656         
4657         * docs/gst/Makefile.am:
4658         * docs/libs/Makefile.am: No POPT_CFLAGS.
4659         
4660         * examples/manual/Makefile.am:
4661         * docs/manual/basics-init.xml: Doc updates with an example.
4662         
4663         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4664         (gst_init), (parse_one_option), (parse_goption_arg):
4665         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
4666         bit of hand merging and debugging to get the GOption stuff working
4667         tho.
4668         
4669         * tests/Makefile.am:
4670         * tools/Makefile.am:
4671         * tools/gst-inspect.c: (main):
4672         * tools/gst-launch.c: (main):
4673         * tools/gst-run.c: (main):
4674         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
4675
4676 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4677
4678         * gst/gstiterator.c: (gst_iterator_new):
4679           Add assertions to make sure passed GType is likely to really
4680           be a GType (as the compiler won't catch it if the size and
4681           GType arguments get mixed up, see #318447).
4682
4683 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
4684
4685         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4686
4687         * gst/gstbin.c: (gst_bin_iterate_sorted):
4688           Pass GType and size arguments to gst_iterator_new() in the right
4689           order (maybe we should make _new() take the GType as first argument
4690           just like _new_list()?) (#318447).
4691           
4692
4693 2005-10-10  Wim Taymans  <wim@fluendo.com>
4694
4695         * gst/gstelement.c: (gst_element_finalize):
4696         And free the GStaticRecMutex too
4697
4698 2005-10-10  Andy Wingo  <wingo@pobox.com>
4699
4700         * gst/gstelement.c (gst_element_init, gst_element_finalize):
4701         Allocate and free the mutex properly.
4702
4703         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
4704         New macros.
4705         (GstElement): The state_lock is now recursive. Rebuild your
4706         plugins, suckers. Old macros adapted.
4707
4708         * docs/gst/gstreamer-sections.txt: Doc updates.
4709
4710         * gst/gstutils.h:
4711         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
4712         (g_static_rec_cond_wait): Ported from state changes patch, while
4713         we wait on bug #317802 to be solved in a well-distributed GLib.
4714
4715         * gst/gstelement.c (gst_element_change_state_func): Renamed from
4716         gst_element_change_state, variable name changes.
4717         (gst_element_change_state): Split out of gst_element_set_state in
4718         preparation for the state change merge. Doesn't pay attention to
4719         the 'transition' argument.
4720         (gst_element_set_state): Updates, hopefully purely cosmetic.
4721         (gst_element_sync_state_with_parent): MT-safety. Ported from the
4722         state change patch.
4723         (gst_element_get_state_func): Renamed from get_state, cosmetic
4724         changes.
4725
4726 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4727
4728         * gst/elements/gstelements.c:
4729         * win32/GStreamer.vcproj:
4730         * win32/config.h:
4731         * win32/dirent.c: (_tseekdir):
4732         * win32/gst-inspect.vcproj:
4733         * win32/gst-launch.vcproj:
4734         * win32/gstconfig.h:
4735         * win32/gstelements.vcproj:
4736         * win32/gstenumtypes.c: (gst_object_flags_get_type):
4737         * win32/gstreamer.def:
4738         * win32/msvc71.sln:
4739           updates for the win32 build (patch from Sebastien Moutte)
4740
4741 2005-10-10  Andy Wingo  <wingo@pobox.com>
4742
4743         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
4744         gst_bin_get_state, cleaned up (but no logic changes).
4745         (bin_element_is_sink): Comment updates.
4746         (sink_iterator_filter): Remove needless cast.
4747         (gst_bin_iterate_sinks): Doc update.
4748         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
4749         cleaned up (but no logic changes).
4750
4751         * check/states/sinks.c (test_src_sink): Cleanups from the state
4752         change patch.
4753         (test_livesrc_sink): Sync on the state.
4754
4755         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
4756         the state change patch.
4757
4758         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
4759         change patch.
4760
4761         * check/gst/gstbin.c: Merge in some style fixes and additional
4762         checks from Wim's state change patch.
4763
4764 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4765
4766         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4767         (gst_type_find_helper):
4768           Check whether we have the requested data already in our list of
4769           cached buffers before pulling a new buffer; also make the buffer
4770           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
4771
4772 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4773
4774         * gst/gstcaps.c:
4775         * gst/gstevent.c:
4776           doc updates
4777         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
4778           don't use long long, it's not portable.  Replacing with
4779           gint64 seems to work; let's hope no skeletons fall out of the closet.
4780
4781 2005-10-10  Andy Wingo  <wingo@pobox.com>
4782
4783         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
4784
4785 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
4786
4787         * docs/gst/gstreamer-sections.txt:
4788         * gst/gstevent.c:
4789         * gst/gstevent.h:
4790         * gst/gstinfo.c:
4791         * gst/gstinfo.h:
4792         * gst/gstmessage.c: (gst_message_parse_state_changed):
4793         * gst/gstpad.c:
4794         * gst/gstpad.h:
4795           more docs, fix compilation
4796
4797 2005-10-09  Philippe Khalaf <burger@speedy.org>
4798         * gst/gstmessage.c:
4799           Fixed a few forgotten variables on previous commit
4800
4801 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4802
4803         * gst/base/gsttypefindhelper.c: (helper_find_peek):
4804           Fix evil typefind crasher: getrange() might return a short
4805           buffer at the end of a file, but gst_type_find_peek() must
4806           either return the full data as requested or NULL, but
4807           never a short buffer.
4808
4809 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4810
4811         * gst/gstmessage.c: (gst_message_new_state_changed),
4812         (gst_message_parse_state_changed):
4813         * gst/gstmessage.h:
4814           don't use "new", it's a C++ keyword
4815
4816 2005-10-08  Wim Taymans  <wim@fluendo.com>
4817
4818         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
4819         * gst/gstelement.c: (gst_element_post_message):
4820         * gst/gstpipeline.c: (gst_pipeline_change_state):
4821         Small docs and debug updates.
4822
4823 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4824
4825         * docs/gst/gstreamer-sections.txt:
4826         * gst/gstelementfactory.c:
4827         * gst/gstevent.c:
4828         * gst/gsttaglist.c:
4829           more docs
4830
4831 2005-10-08  Wim Taymans  <wim@fluendo.com>
4832
4833         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
4834         (gst_bin_dispose), (bin_bus_handler):
4835         Fix typos, add comments.
4836         Clear EOS list when going to PAUSED from any direction and do it
4837         in a threadsafe way.
4838         Get base time in a threadsafe way too.
4839         Fix confusing debug in the change_state function.
4840         Various other small cleanups.
4841         
4842         * gst/gstelement.c: (gst_element_post_message):
4843         Fix very verbose bus posting code.
4844
4845         * gst/gstpipeline.c: (gst_pipeline_class_init),
4846         (gst_pipeline_set_property), (gst_pipeline_get_property),
4847         (gst_pipeline_change_state):
4848         Small ARG_ -> PROP_ cleanup
4849
4850 2005-10-08  Wim Taymans  <wim@fluendo.com>
4851
4852         * gst/gstbin.c: (is_eos), (bin_bus_handler):
4853         Do a less CPU demanding EOS check because we can.
4854
4855 2005-10-08  Wim Taymans  <wim@fluendo.com>
4856
4857         * libs/gst/dataprotocol/dataprotocol.c:
4858         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
4859         (gst_dp_packet_from_event):
4860         * libs/gst/dataprotocol/dataprotocol.h:
4861         * libs/gst/dataprotocol/dp-private.h:
4862         It's about time we bump the version number.
4863         Since event types don't fit in the guint8 anymore describing
4864         the payload type, make payload type 16 bits wide.
4865
4866 2005-10-08  Wim Taymans  <wim@fluendo.com>
4867
4868         * docs/design/part-TODO.txt:
4869         * docs/design/part-clocks.txt:
4870         * docs/design/part-events.txt:
4871         * docs/design/part-gstbin.txt:
4872         * docs/design/part-gstelement.txt:
4873         * docs/design/part-gstpipeline.txt:
4874         * docs/design/part-live-source.txt:
4875         * docs/design/part-messages.txt:
4876         * docs/design/part-overview.txt:
4877         * docs/design/part-states.txt:
4878         Many doc updates.
4879
4880 2005-10-08  Wim Taymans  <wim@fluendo.com>
4881
4882         * gst/gstevent.c:
4883         * gst/gstevent.h:
4884         Fix event quark registration.
4885         Add some space between events so we can insert them in the
4886         right groups.
4887
4888 2005-10-08  Wim Taymans  <wim@fluendo.com>
4889
4890         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4891         (gst_base_sink_handle_buffer):
4892         Better log message.
4893
4894         * gst/gstbus.h:
4895         * gst/gstelement.h:
4896         More docs.
4897
4898         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4899         (gst_queue_set_property), (gst_queue_get_property):
4900         * gst/gstqueue.h:
4901         Remove old unused properties.
4902
4903 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4904         * docs/gst/gstreamer-sections.txt:
4905         * gst/gstmessage.c:
4906         * gst/gstmessage.h:
4907         * gst/gstminiobject.c:
4908         * gst/gstminiobject.h:
4909         * gst/gstobject.h:
4910         * gst/gstpad.h:
4911         * gst/gstutils.h:
4912           lots of new docs and doc fixes
4913
4914 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4915
4916         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
4917         * gst/gstplugin.h:
4918         * gst/gstregistry.c: (gst_registry_lookup_locked),
4919         (gst_registry_scan_path_level):
4920         * gst/gstregistryxml.c: (load_plugin):
4921           Only ever load one plugin for a given plugin basename.
4922           This ensures correct overriding of GST_PLUGIN_PATH over
4923           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
4924           system installed plugins.
4925
4926 2005-10-08  Wim Taymans  <wim@fluendo.com>
4927
4928         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4929         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
4930         Prepare for doing QOS.
4931
4932 2005-10-08  Wim Taymans  <wim@fluendo.com>
4933
4934         * check/gst/gstbin.c: (GST_START_TEST):
4935         * check/pipelines/cleanup.c: (GST_START_TEST):
4936         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
4937         Allow new clock message too.
4938
4939 2005-10-08  Wim Taymans  <wim@fluendo.com>
4940
4941         * gst/gstmessage.c: (gst_message_new_error),
4942         (gst_message_new_warning), (gst_message_new_tag),
4943         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4944         (gst_message_new_clock_lost), (gst_message_new_new_clock),
4945         (gst_message_new_segment_start), (gst_message_new_segment_done),
4946         (gst_message_parse_state_changed),
4947         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
4948         (gst_message_parse_new_clock):
4949         * gst/gstmessage.h:
4950         Also carry the clock in question.
4951
4952 2005-10-08  Wim Taymans  <wim@fluendo.com>
4953
4954         * gst/gstmessage.c: (gst_message_new_custom),
4955         (gst_message_new_eos), (gst_message_new_error),
4956         (gst_message_new_warning), (gst_message_new_tag),
4957         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4958         (gst_message_new_new_clock), (gst_message_new_segment_start),
4959         (gst_message_new_segment_done), (gst_message_parse_state_changed),
4960         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
4961         * gst/gstmessage.h:
4962         Clean up.
4963         Added clock related messages.
4964
4965         * gst/gstpipeline.c: (gst_pipeline_change_state):
4966         Post message when the clock changed.
4967
4968         * tools/gst-launch.c: (event_loop):
4969         Print new clock.
4970
4971 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
4972
4973         * tools/gst-inspect.c: (print_element_properties_info):
4974           Can't pass NULL strings to g_print() on windows.
4975
4976 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4977
4978         * docs/Makefile.am:
4979         * docs/gst/Makefile.am:
4980         * docs/gst/gstreamer-docs.sgml:
4981         * docs/gst/running.xml:
4982         * docs/version.entities.in:
4983           add a chapter on running GStreamer.
4984           document GST_DEBUG and GST_PLUGIN* env vars
4985
4986 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4987
4988         * Makefile.am:
4989           remove include dir
4990         * configure.ac:
4991           remove PLUGINS_BUILDDIR stuff
4992         * gst/gst.c: (init_post):
4993           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
4994         * idiottest.mak:
4995           remove, it was condescending and not needed
4996
4997 2005-10-08  Wim Taymans  <wim@fluendo.com>
4998
4999         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5000         (gst_base_sink_handle_object), (gst_base_sink_event),
5001         (gst_base_sink_wait), (gst_base_sink_handle_event),
5002         (gst_base_sink_change_state):
5003         * gst/base/gstbasesink.h:
5004         Repost EOS message while going to PLAYING if still EOS.
5005         Make sure that when receiving a FLUSH_START we don't attempt
5006         to sync on the clock anymore.
5007
5008 2005-10-08  Wim Taymans  <wim@fluendo.com>
5009
5010         * tools/gst-launch.c: (event_loop):
5011         Better message printout.
5012
5013 2005-10-08  Wim Taymans  <wim@fluendo.com>
5014
5015         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
5016         (gst_bin_child_proxy_get_children_count):
5017         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
5018         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
5019         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
5020         (gst_child_proxy_set_valist):
5021         * gst/parse/grammar.y:
5022         Make ChildProxy threadsafe and fix mem leaks.
5023
5024 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5025
5026         * gst/gst.c: (init_post):
5027           debug the GST_PLUGIN_ env vars
5028
5029 2005-10-08  Wim Taymans  <wim@fluendo.com>
5030
5031         * check/gst/gstbin.c: (GST_START_TEST):
5032         * check/gst/gstmessage.c: (GST_START_TEST):
5033         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5034         * gst/gstelement.c: (gst_element_commit_state),
5035         (gst_element_lost_state):
5036         * gst/gstmessage.c: (gst_message_new_state_changed),
5037         (gst_message_parse_state_changed):
5038         * gst/gstmessage.h:
5039         * tools/gst-launch.c: (event_loop):
5040         Added extra field to STATE_CHANGE message with the pending
5041         state, which will be different from the new state soon.
5042
5043 2005-10-08  Wim Taymans  <wim@fluendo.com>
5044
5045         * gst/gstbus.c: (gst_bus_pop):
5046         * gst/gstclock.c:
5047         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
5048         Small cleanups and doc updates.
5049
5050 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5051
5052         * gst/gst.c: (init_pre):
5053         * gst/gstbin.c: (gst_bin_add_func):
5054           log distributing clocks and base time
5055         * gst/gstregistry.c: (gst_registry_add_plugin),
5056         (gst_registry_scan_path_level), (gst_registry_scan_path):
5057           clean up the debugging output a little
5058         * gst/gstutils.c: (gst_element_state_get_name):
5059           warn about a memleak (I've actually seen this be used, though
5060           it was probably a bug)
5061
5062 2005-10-07  Wim Taymans  <wim@fluendo.com>
5063
5064         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5065         (gst_base_src_init), (gst_base_src_default_newsegment),
5066         (gst_base_src_newsegment), (gst_base_src_do_seek),
5067         (gst_base_src_loop), (gst_base_src_start):
5068         * gst/base/gstbasesrc.h:
5069         Make the newsegment event customizable by subclasses.
5070
5071 2005-10-07  Wim Taymans  <wim@fluendo.com>
5072
5073         * gst/gstevent.c: (gst_event_new_buffersize),
5074         (gst_event_parse_buffersize):
5075         * gst/gstevent.h:
5076         New event for future idea.
5077
5078 2005-10-07  Andy Wingo  <wingo@pobox.com>
5079
5080         * gst/gstelement.c (gst_element_post_message): Doc update.
5081
5082         * docs/gst/gstreamer-sections.txt: Update.
5083
5084         * gst/gstmessage.c (gst_message_new_application): Made into a
5085         function like honest API calls.
5086         (gst_message_new_element): New message type.
5087
5088         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
5089
5090         * check/elements/fakesrc.c (test_no_preroll): New check, checks
5091         that setting a live fakesrc to PAUSED returns NO_PREROLL both
5092         times.
5093
5094         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
5095         NO_PREROLL from gst_element_change_state to fall through.
5096
5097 2005-10-07  Wim Taymans  <wim@fluendo.com>
5098
5099         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
5100         (gst_ghost_pad_do_activate_push):
5101         Activating a ghostpad with no internal pad in push mode
5102         is ok.
5103
5104 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5105
5106         * gst/gstobject.h:
5107           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
5108           Fixes compilation on Windows.
5109
5110 2005-10-07  Michael Smith <msmith@fluendo.com>
5111
5112         * tools/gst-inspect.c:
5113           Print out feature and plugin count at the end when printing out
5114           all features.
5115
5116 2005-10-04  Michael Smith <msmith@fluendo.com>
5117
5118         * gst/gsterror.c: (_gst_stream_errors_init):
5119           Add another error string used in a few existing plugins.
5120
5121         * gst/gstplugin.c:
5122         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5123         * tools/gst-inspect.c: (print_element_info):
5124           When a feature disappears from a plugin (and the feature exists in
5125           the cached registry file), things went horribly wrong. This isn't a
5126           complete fix, we should actually be removing the 'missing' features
5127           from the features list when we load the actual plugin. That's not
5128           yet implemented. 
5129
5130 2005-10-04  Johan Dahlin  <johan@gnome.org>
5131
5132         * check/gst/gstiterator.c: (GST_START_TEST):
5133         * gst/gstbin.c: (gst_bin_iterate_elements),
5134         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
5135         * gst/gstelement.c: (gst_element_iterate_pads):
5136         * gst/gstformat.c: (gst_format_iterate_definitions):
5137         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5138         (gst_iterator_new_list), (gst_iterator_filter):
5139         * gst/gstiterator.h:
5140         * gst/gstquery.c: (gst_query_type_iterate_definitions):
5141         Add a GType to GstIterator, update callsites and tests.
5142
5143 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5144
5145         * gst/gstpad.c: (gst_pad_event_default_dispatch):
5146           give events a chance to be handled by event probes when the pad
5147           is not linked
5148
5149 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5150
5151         * gst/gstevent.c: (gst_event_type_get_name),
5152         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
5153         * gst/gstevent.h:
5154           add string representations for event types
5155
5156 2005-10-06  Wim Taymans  <wim@fluendo.com>
5157
5158         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
5159         Don't use NULL pointers.
5160
5161 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5162
5163         * gst/gst_private.h:
5164         * gst/gstbus.c:
5165         * gst/gstelement.c:
5166         * gst/gstinfo.c:
5167         * gst/gstpluginfeature.c:
5168           widen the debug category in output to fit the biggest one we have
5169           add a bus category and use it
5170           play with the colors
5171           fix up some categories
5172
5173 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5174
5175         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
5176           add push activation of sink ghost pads.
5177           Andye, please verify
5178
5179 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5180
5181         * gst/gstutils.c: (gst_element_link_pads):
5182           fix a bug in the case where neither element has a pad
5183         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5184           add a test for that case
5185
5186 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5187
5188         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
5189           emit have-data before checking for peers.  This allows
5190           for probe handlers to connect elements.  This helps autopluggers.
5191         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
5192         (gst_pad_suite):
5193           add six checks, linked/unlinked with no/true/false probe
5194
5195 2005-10-04  Wim Taymans  <wim@fluendo.com>
5196
5197         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
5198         (gst_fake_sink_event), (gst_fake_sink_preroll),
5199         (gst_fake_sink_render), (gst_fake_sink_change_state):
5200         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
5201         (gst_fake_src_get_property), (gst_fake_src_create),
5202         (gst_fake_src_stop):
5203         * gst/elements/gstidentity.c: (gst_identity_stop):
5204         Protect last_message with lock.
5205
5206 2005-10-04  Edward Hervey  <edward@fluendo.com>
5207
5208         * gst/gstformat.h: 
5209         Added precision in the comments for GST_FORMAT_DEFAULT
5210
5211 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
5212
5213         * tools/gst-launch.c: (main):
5214           Don't try to run erroneous pipelines.
5215
5216 2005-10-04  Julien MOUTTE  <julien@moutte.net>
5217
5218         * gst/gstbus.c: We don't need this header.
5219
5220 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5221
5222         * configure.ac:
5223           back to development
5224
5225 === release 0.9.3 ===
5226
5227 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5228
5229         * README:
5230         * configure.ac:
5231           Releasing 0.9.3, "Unregistered"
5232
5233 2005-10-03  Andy Wingo  <wingo@pobox.com>
5234
5235         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
5236         whereby calling a pad's activatepush() function can start a thread
5237         that starts to push or pull before the pad gets the FLUSHING flag
5238         unset. Hack around it by holding the stream lock until the flag is
5239         set. Need to replace this with a proper solution. Together with
5240         the ghost pad fixes, this fixes mp3 playing/tagreading.
5241
5242         * docs/design/part-gstghostpad.txt: Add a note about activation of
5243         proxy pads outside of ghost pads.
5244
5245         * gst/gstghostpad.c: Implement the ghost pad activation design.
5246
5247 2005-10-02  Andy Wingo  <wingo@pobox.com>
5248
5249         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
5250         It is volatile, after all.
5251
5252         * docs/design/part-gstghostpad.txt: Flesh out activation with
5253         ghost pads.
5254
5255         * gst/base/gstbasesrc.c (gst_base_src_init): Use
5256         GST_DEBUG_FUNCPTR.
5257
5258 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5259
5260         * configure.ac:
5261           Fix (unused) AM_CONDITIONAL tests.
5262
5263 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
5264
5265         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5266
5267         * gst/gstutils.c: (gst_pad_query_convert):
5268           Add assertion that makes sure src_val is >=0, just like
5269           gst_query_new_convert() has. (#315895)
5270
5271 2005-09-30  Edward Hervey  <edward@fluendo.com>
5272
5273         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
5274         Let's not iterate pads we're not interested in, it avoids getting 
5275         sky-high refcounts on sinkpad.
5276
5277 2005-09-30  Wim Taymans  <wim@fluendo.com>
5278
5279         * gst/gstelement.c: (gst_element_set_state),
5280         (gst_element_change_state):
5281         Small tweak, element in ASYNC remains ASYNC.
5282
5283 2005-09-30  Wim Taymans  <wim@fluendo.com>
5284
5285         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5286         Only error is an error.
5287
5288         * gst/gstbin.c: (gst_bin_change_state):
5289         Better debugging.
5290
5291         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
5292         Also call pad_block in pad alloc.
5293
5294         * gst/gstutils.c: (gst_flow_get_name):
5295         Better debugging.
5296
5297 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5298
5299         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5300         (gst_base_src_get_range):
5301           Fix documentation typos. Add some more debug info.
5302
5303 2005-09-29  David Schleef  <ds@schleef.org>
5304
5305         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5306           more end-user friendly.
5307         * tools/gst-inspect.c: (main): Check if command-line argument is
5308           a file and attempt to load that file as a plugin.
5309
5310 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5311
5312         * check/gst/gstbin.c:
5313         * check/states/sinks.c:
5314           fix tests for the new warning
5315         * check/gst/gstpipeline.c:
5316           add a test for pipeline and bus interaction
5317         * gst/gstelement.c:
5318           elements should be NULL if they get disposed; add a warning if not
5319
5320 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5321
5322         * gst/gstobject.c:
5323           for 2.6 refcounting, make debug log more correct by printing
5324           the actual refcounts at the time of swap (Wim)
5325
5326 2005-09-29  Andy Wingo  <wingo@pobox.com>
5327
5328         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5329         removes signal watches previously added via
5330         gst_bus_add_signal_watch.
5331         (gst_bus_add_signal_watch): Don't return the source id, just store
5332         it on the bus if there wasn't an id already.
5333
5334         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5335         add_signal_watch and remove_signal_watch.
5336
5337 2005-09-29  Edward Hervey  <edward@fluendo.com>
5338
5339         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
5340         Better if we actually iterate the list :)
5341
5342 2005-09-29  Wim Taymans  <wim@fluendo.com>
5343
5344         * check/gst/gstbin.c: (GST_START_TEST):
5345         Change for new bus API.
5346
5347         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5348         (send_messages), (GST_START_TEST), (gstbus_suite):
5349         Change for new bus signal API.
5350
5351         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5352         (gst_bus_source_prepare), (gst_bus_source_check),
5353         (gst_bus_create_watch), (gst_bus_add_watch_full),
5354         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5355         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5356         * gst/gstbus.h:
5357         Remove support for multiple GSources operating on different
5358         message types as it is too complex and unneeded when using
5359         signals.
5360         Added support for receiving signals from the bus.
5361
5362 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5363
5364         * docs/libs/tmpl/gstdataprotocol.sgml:
5365         * docs/manual/advanced-dataaccess.xml:
5366         * gst/elements/gstcapsfilter.c:
5367         * gst/gstutils.c:
5368           rename filter-caps to caps property
5369
5370 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5371
5372         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5373           More robust fraction string parsing.
5374
5375         * docs/pwg/appendix-porting.xml:
5376           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5377
5378 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5379
5380         * gst/gstcaps.c: (gst_caps_do_simplify):
5381           Thou shalt not free a structure and then continue using it
5382           in the next loop iteration.
5383
5384         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5385         (gst_caps_suite):
5386           Add test case for caps simplification.
5387
5388 2005-09-29  Wim Taymans  <wim@fluendo.com>
5389
5390         * check/gst/gstbin.c: (GST_START_TEST):
5391         Oops.
5392
5393 2005-09-29  Wim Taymans  <wim@fluendo.com>
5394
5395         * check/gst/gstbin.c: (GST_START_TEST):
5396         Add bus to bin.
5397
5398         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5399         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5400         (find_element), (gst_bin_sort_iterator_next),
5401         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5402         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5403         (gst_bin_change_state), (gst_bin_dispose):
5404         A bin does not have a bus, it gets the bus from the parent.
5405
5406         * gst/gstelement.c: (gst_element_requires_clock),
5407         (gst_element_provides_clock), (gst_element_is_indexable),
5408         (gst_element_is_locked_state), (gst_element_change_state),
5409         (gst_element_set_bus_func):
5410         Small cleanups.
5411
5412         * gst/gstpipeline.c: (gst_pipeline_class_init),
5413         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5414         The pipeline provides a bus.
5415
5416 2005-09-28  Johan Dahlin  <johan@gnome.org>
5417
5418         * gst/gstmessage.c (gst_message_parse_state_changed): Use
5419         gst_structure_get_enum instead of gst_structure_get_int
5420
5421         * gst/gststructure.c (gst_structure_get_enum): Impl.
5422
5423         * gst/gststructure.h (gst_structure_get_enum): Add
5424
5425         * docs/gst/gstreamer-sections.txt: Ditto
5426
5427         * gst/gstmessage.c (gst_message_new_state_changed): Use
5428         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5429         which does introspection.
5430         Reviewed by Christian Schaller
5431
5432 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5433
5434         * gst/gstinfo.c: (gst_debug_log_default):
5435           don't do dummy g_strdup()s
5436         * libs/gst/controller/gstcontroller.c:
5437         (on_object_controlled_property_changed),
5438         (gst_controlled_property_new), (gst_controller_new_valist),
5439         (gst_controller_new_list),
5440         (gst_controller_remove_properties_valist), (gst_controller_set),
5441         (gst_controller_get), (gst_controller_sync_values),
5442         (gst_controller_get_value_array), (_gst_controller_class_init),
5443         (gst_controller_get_type):
5444         * libs/gst/controller/gstcontroller.h:
5445         * libs/gst/controller/gstinterpolation.c:
5446         (gst_controlled_property_find_timed_value_node):
5447           convert // to /**/ comments
5448
5449 2005-09-28  Wim Taymans  <wim@fluendo.com>
5450
5451         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5452         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5453         (gst_bus_sync_signal_handler):
5454         * gst/gstbus.h:
5455         Added async-message and sync-message signals to the bus.
5456         Added helper BusFunc to emit signals for all posted messages.
5457
5458         * gst/gstmessage.c: (gst_message_type_get_name),
5459         (gst_message_type_to_quark), (gst_message_get_type):
5460         * gst/gstmessage.h:
5461         Register quarks for message names.
5462
5463 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5464
5465         * docs/libs/gstreamer-libs-sections.txt:
5466         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5467         (gst_controller_new_list):
5468         * libs/gst/controller/gstcontroller.h:
5469           added another constructor for language bindings
5470
5471 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5472
5473         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5474           add another check
5475         * gst/gstbus.c:
5476           add some doc
5477         * gst/gstinfo.c: (_gst_debug_init):
5478           slightly more readable color for refcount debugging
5479
5480 2005-09-28  Wim Taymans  <wim@fluendo.com>
5481
5482         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5483         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5484         (find_element), (gst_bin_sort_iterator_next),
5485         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5486         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5487         (gst_bin_change_state), (gst_bin_dispose):
5488         Small doc fixes. get_clock -> provide_clock.
5489
5490         * gst/gstelement.c: (gst_element_class_init),
5491         (gst_element_provides_clock), (gst_element_provide_clock),
5492         (gst_element_get_clock), (gst_element_commit_state),
5493         (gst_element_lost_state):
5494         * gst/gstelement.h:
5495         Make get/set_clock() symetric. Add provide_clock vmethod since
5496         that is actually what this function does.
5497
5498         * gst/gstpipeline.c: (gst_pipeline_class_init),
5499         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
5500         (gst_pipeline_get_clock):
5501         get_clock -> provide_clock.
5502
5503 2005-09-28  Andy Wingo  <wingo@pobox.com>
5504
5505         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
5506         lieu of real docs...
5507
5508         * gst/elements/gstfdsrc.c: Cleaned up a bit.
5509
5510 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
5511
5512         * gst/elements/gstcapsfilter.c:
5513         * gst/elements/gstfakesink.c:
5514         * gst/elements/gstfakesrc.c:
5515         * gst/elements/gstfdsink.c:
5516         * gst/elements/gstfdsrc.c:
5517         * gst/elements/gstfilesink.c:
5518         * gst/elements/gstfilesrc.c:
5519         * gst/elements/gstidentity.c:
5520         * gst/elements/gsttee.c:
5521         * gst/elements/gsttypefindelement.c:
5522           Make element details static.
5523
5524 2005-09-28  Wim Taymans  <wim@fluendo.com>
5525
5526         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5527         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5528         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5529         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5530         (gst_bin_change_state), (gst_bin_dispose):
5531         Some documentation updates.
5532         Clean up dispose handlers.
5533
5534         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
5535         * gst/gstpad.c: (gst_pad_dispose):
5536         Clean up dispose handler.
5537
5538         * gst/gstpipeline.c: (gst_pipeline_change_state):
5539         Removed spurious UNLOCK.
5540
5541 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
5542
5543         * docs/gst/gstreamer-sections.txt:
5544         * gst/base/gstbasesrc.h:
5545         * gst/gstelement.h:
5546         * gst/gstevent.h:
5547         * gst/gstobject.h:
5548         * gst/gstpad.h:
5549         * gst/gstpipeline.c:
5550         * gst/gstpipeline.h:
5551         * gst/gstutils.h:
5552         * gst/gstxml.h:
5553           added two new functions to the docs
5554                 documents all undocumented GstXXXFlags
5555                 completed some incomplete docs 
5556
5557 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5558
5559         * gst/gstbin.c: (gst_bin_dispose):
5560         * gst/gstelement.c: (gst_element_dispose):
5561           remove now useless and leaky resurrection code in dispose
5562         * gst/base/gstbasesrc.c: (gst_base_src_init):
5563         * gst/gstelementfactory.c: (gst_element_factory_create):
5564         * gst/gstobject.c: (gst_object_set_parent):
5565           add some debugging
5566
5567 2005-09-27  Wim Taymans  <wim@fluendo.com>
5568
5569         * docs/design/part-TODO.txt:
5570         Update TODO.
5571
5572         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5573         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5574         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5575         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5576         (gst_bin_change_state):
5577         * gst/gstelement.h:
5578         Remove element variable, we keep element info in the iterator now.
5579
5580 2005-09-27  Andy Wingo  <wingo@pobox.com>
5581
5582         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
5583         values.
5584
5585 2005-09-27  Wim Taymans  <wim@fluendo.com>
5586
5587         * check/gst/gstbin.c: (GST_START_TEST):
5588         Enable check that works now.
5589
5590         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5591         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5592         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5593         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5594         (gst_bin_change_state):
5595         * gst/gstbin.h:
5596         Redid the state change algorithm using a topological sort algo.
5597         Handles all cases correctly.
5598         Exposed iterator for state change order.
5599
5600         * gst/gstelement.h:
5601         Temp storage for state changes. Need to get rid of this soon.
5602
5603 2005-09-27  Wim Taymans  <wim@fluendo.com>
5604
5605         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
5606         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
5607         (link_fold_func), (gst_pad_proxy_setcaps):
5608         Leak fixes, the fold functions need to unref the passed object and
5609         _get_parent_*() returns ref to parent.
5610
5611 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5612
5613         * check/gst/gstbuffer.c: (test_make_writable):
5614           Plug leak in test case and fix 'make check-valgrind'
5615
5616 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5617
5618         * gst/gstbuffer.c: (gst_subbuffer_init):
5619           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
5620           works correctly in all circumstances (we could have just copied
5621           the parent buffer's readonly flag, but conceptually it seems
5622           cleaner to mark all subbuffers as read-only). (based on patch
5623           by Alessandro Decina, #314710).
5624         
5625         * check/gst/gstbuffer.c: (create_read_only_buffer),
5626         (test_make_writable), (test_subbuffer_make_writable),
5627         (gst_test_suite):
5628           Add some tests for gst_buffer_make_writable().
5629
5630 2005-09-27  Wim Taymans  <wim@fluendo.com>
5631
5632         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
5633         use gst_object_has_ancestor().
5634
5635         * gst/gstobject.c: (gst_object_has_ancestor):
5636         * gst/gstobject.h:
5637         gst_object_has_ancestor() copied from gstbin.c as it is a
5638         usefull function.
5639
5640         * tests/instantiate/create.c: (create_all_elements):
5641         * tests/lat.c: (handoff_src), (handoff_sink):
5642         * tests/sched/runxml.c: (main):
5643         * tests/seeking/seeking1.c: (main):
5644         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
5645         (main):
5646         Fix compilation of some tests.
5647
5648 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5649
5650         * gst/gsterror.h:
5651           Remove comment. GST_TYPE_G_ERROR is here to stay,
5652           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
5653           (#316961, #300610).
5654
5655 2005-09-26  Wim Taymans  <wim@fluendo.com>
5656
5657         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5658         Added check that shows error in state change order.
5659
5660 2005-09-26  Wim Taymans  <wim@fluendo.com>
5661
5662         * gst/gstbin.c: (gst_bin_change_state):
5663         Make state change function use 3 queues again, we were
5664         adding elements in the wrong order.
5665
5666         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
5667         Some debug info,
5668
5669         * gst/gstpad.c: (gst_pad_dispose):
5670         Added some debug info first.
5671
5672 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
5673
5674         * docs/design/draft-push-pull.txt:
5675         * docs/design/part-events.txt:
5676         * docs/design/part-overview.txt:
5677         * docs/design/part-scheduling.txt:
5678           Replace all _pull_region() with _pull_range()
5679           
5680 2005-09-26  Andy Wingo  <wingo@pobox.com>
5681
5682         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
5683
5684         * check/gst-libs/controller.c: Update for controller api change.
5685
5686         * configure.ac: 
5687         * tests/Makefile.am:
5688         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
5689         over by GLib bug 118439.
5690         
5691         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
5692         routines to a function.
5693
5694         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
5695
5696         * libs/gst/controller/gsthelper.c:
5697         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
5698         (gst_object_sync_values): Renamed from sink_values. Ugh.
5699
5700         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
5701
5702         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
5703         Renamed from controller_key, as it is exported.
5704
5705         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
5706
5707 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5708
5709         * gst/Makefile.am:
5710         * gst/gst.h:
5711         * gst/gstpad.h:
5712         * gst/gstpadtemplate.h:
5713         * gst/gstquery.c:
5714         * gst/gstquery.h:
5715         * gst/gstqueryutils.c:
5716         * gst/gstqueryutils.h:
5717           remove queryutils headers after moving the two used functions
5718           to gstquery.  also fixes build problem for gstsiddec
5719
5720 2005-09-26  Michael Smith <msmith@fluendo.com>
5721
5722         * tools/gst-launch.1.in:
5723         Correct documentation in manpage of debug syntax
5724
5725 2005-09-26  Wim Taymans  <wim@fluendo.com>
5726
5727         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
5728         (gst_base_src_is_seekable), (gst_base_src_change_state):
5729         Some more debugging info.
5730
5731 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5732
5733         * docs/gst/gstreamer-sections.txt:
5734         * gst/base/gstbasetransform.h:
5735         * gst/gstindex.h:
5736           added more docs
5737
5738 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5739
5740         * docs/gst/.cvsignore:
5741         * docs/gst/tmpl/.cvsignore:
5742         * docs/gst/tmpl/gstpipeline.sgml:
5743         * docs/gst/tmpl/gstplugin.sgml:
5744         * gst/gstpipeline.c:
5745         * gst/gstplugin.c:
5746         * gst/gstplugin.h:
5747           inlined the last two docs files
5748           removed the tmpl directory from cvs (no more conflicts here!)
5749
5750 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5751
5752         * docs/gst/gstreamer-sections.txt:
5753         * docs/gst/tmpl/.cvsignore:
5754         * docs/gst/tmpl/gstpad.sgml:
5755         * docs/gst/tmpl/gstpadtemplate.sgml:
5756         * gst/Makefile.am:
5757         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
5758         (gst_pad_finalize), (gst_pad_set_pad_template):
5759         * gst/gstpad.h:
5760         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5761         (gst_pad_template_class_init), (gst_pad_template_init),
5762         (gst_pad_template_dispose), (name_is_valid),
5763         (gst_static_pad_template_get), (gst_pad_template_new),
5764         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
5765         (gst_pad_template_pad_created):
5766         * gst/gstpadtemplate.h:
5767           inlined two more docs
5768           factored gstpadtemplate out of gstpad
5769
5770 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
5771
5772         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5773         (test_children_state_change_order_semi_sink):
5774           Fix test case: we can't rely on a fixed state change order when
5775           going from READY => PAUSED because the sink might commit its 
5776           new state first when the first buffer created by the source 
5777           reaches the sink before the source has finished its change state.
5778           (Test case still fails at times, see #316856, comment 5 onwards)
5779
5780 2005-09-24  Wim Taymans  <wim@fluendo.com>
5781
5782         * docs/design/part-events.txt:
5783         * docs/design/part-gstbus.txt:
5784         * docs/design/part-gstpipeline.txt:
5785         * docs/design/part-messages.txt:
5786         * docs/design/part-overview.txt:
5787         * docs/design/part-segments.txt:
5788         * gst/gstbin.c:
5789         * gst/gstbuffer.c:
5790         * gst/gstclock.c:
5791         * gst/gstelement.c:
5792         * gst/gstevent.c:
5793         * gst/gstfilter.c:
5794         * gst/gstiterator.c:
5795         Various documentation updates.
5796
5797 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5798
5799         * gst/gstclock.h:
5800           Well, that's embarassing.  Luckily we weren't using
5801           GST_CLOCK_DIFF anywhere.
5802
5803 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5804
5805         * common/gtk-doc.mak:
5806           don't fail on building XML, FC4 slave shows a bunch of doc
5807           missing bits that I don't get
5808         * gst/gstpad.c:
5809         * gst/gstpipeline.c:
5810         * gst/gststructure.c:
5811           some doc updates
5812
5813 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5814
5815         * docs/design/part-gstbin.txt:
5816         * docs/design/part-gstbus.txt:
5817         * gst/gstbus.c:
5818           Add blurb about how the bus goes into flushing mode and
5819           drops all messages when its bin goes from READY into NULL 
5820           state.
5821
5822 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5823
5824         * docs/gst/gstreamer-sections.txt:
5825         * gst/gststructure.c: (gst_structure_get_clock_time):
5826         * gst/gststructure.h:
5827           add a method to get a GstClockTime out of a structure
5828
5829 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5830
5831         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5832         (test_children_state_change_order_semi_sink), (gst_bin_suite):
5833           Added test to check state change order in bins (can still be made
5834           to fail here under heavy disk load; bails out with 'Push on pad
5835           fakesink:sink0, but it was not activated in push mode').
5836
5837         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
5838           Fix state change order when there is only a semi sink (#316856)
5839
5840         * gst/gstbus.c: (gst_bus_class_init):
5841           Use _class_peek_parent(), not _class_ref(); fix docs to say
5842           'default main context' instead of 'mainloop' where that is
5843           what's meant.
5844
5845         * gst/gstelement.c: (gst_element_commit_state),
5846         (gst_element_set_state):
5847           Fix typos in debug messages
5848
5849 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5850
5851         * docs/README:
5852         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
5853         * gst/gstpluginfeature.c:
5854         * gst/gstutils.c:
5855           various doc updates
5856         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5857           change an assert into an error until it gets fixed properly
5858
5859 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
5860
5861         * docs/gst/gstreamer-sections.txt:
5862         * docs/gst/tmpl/.cvsignore:
5863         * docs/gst/tmpl/gstelement.sgml:
5864         * docs/gst/tmpl/gstinfo.sgml:
5865         * docs/gst/tmpl/gstobject.sgml:
5866         * gst/gstelement.c:
5867         * gst/gstelement.h:
5868         * gst/gstinfo.c:
5869         * gst/gstinfo.h:
5870         * gst/gstobject.c: (gst_object_class_init):
5871         * gst/gstobject.h:
5872           inlined 3 more biiiig doc files and added some missing docs on the fly
5873
5874 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5875
5876         * check/gst/.cvsignore:
5877         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
5878         * gst/gstregistryxml.c: (load_plugin),
5879         (gst_registry_xml_save_plugin):
5880           put back source in registry.  add checks for find_plugin.
5881         * testsuite/states/bin.c: (assert_state), (empty_bin),
5882         (test_adding_one_element), (main):
5883         * testsuite/states/locked.c: (main):
5884           some compile/run fixes
5885
5886 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5887
5888         * check/gst/gstvalue.c: (GST_START_TEST):
5889           fix leaks in the test itself
5890
5891 2005-09-22  Wim Taymans  <wim@fluendo.com>
5892
5893         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5894         (gst_base_sink_send_event), (gst_base_sink_peer_query),
5895         (gst_base_sink_query):
5896         Prepare for more accurate position reporting and query
5897         handling.
5898
5899         * gst/gstelement.c: (gst_element_send_event),
5900         (gst_element_set_state):
5901         Add some comment.
5902
5903 2005-09-22  Wim Taymans  <wim@fluendo.com>
5904
5905         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
5906         (gst_query_parse_segment):
5907         * gst/gstquery.h:
5908         More documentation.
5909         Add segment query for future use.
5910
5911 2005-09-22  Wim Taymans  <wim@fluendo.com>
5912
5913         * gst/gstbin.c: (gst_bin_add_func):
5914         Some more debug info.
5915
5916         * gst/gstelement.c: (gst_element_send_event):
5917         Simplify send_event
5918
5919         * gst/gstelement.h:
5920         Don't know how flags got broken.
5921
5922         * gst/gstquery.h:
5923         Added new query.
5924
5925 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5926
5927         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
5928           Add simplistic test suite for GST_TYPE_DATE serialisation and
5929           deserialisation.
5930
5931 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5932
5933         * docs/gst/gstreamer-sections.txt:
5934         * gst/gststructure.c: (gst_structure_set_valist),
5935         (gst_structure_get_date):
5936         * gst/gststructure.h:
5937         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
5938         (gst_date_copy), (gst_value_compare_date),
5939         (gst_value_serialize_date), (gst_value_deserialize_date),
5940         (gst_value_transform_date_string),
5941         (gst_value_transform_string_date), (_gst_value_initialize):
5942         * gst/gstvalue.h:
5943           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
5944           bunch of utility functions along with a hack that checks that
5945           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
5946           is required. Part of the grand scheme in #170777.
5947
5948 2005-09-22  Andy Wingo  <wingo@pobox.com>
5949
5950         * gst/gstconfig.h.in: Psych out gtk-doc.
5951
5952         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
5953
5954         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
5955
5956         * tools/gst-inspect.c (print_element_list): Plug some
5957         inconsequential leaks.
5958
5959         * gst/gstregistry.c (gst_registry_get_default): Doc.
5960
5961         * check/gst/gstplugin.c: 
5962         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
5963         * gst/gstelementfactory.c (gst_element_factory_create): 
5964         * gst/gstindexfactory.c (gst_index_factory_create): Update for
5965         refcount changes.
5966
5967         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
5968         (gst_plugin_feature_load): Doc, don't eat refs.
5969
5970         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
5971         (gst_plugin_list_free): Doc.
5972         (gst_plugin_load_file): Doc updates.
5973
5974         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
5975         accessors returning refcounted objects, return a ref.
5976
5977         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
5978         accessor for caps. IDEMPOTENCE. Oh yes.
5979
5980 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
5981
5982         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5983
5984         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
5985         (_gst_debug_register_funcptr):
5986           Add mutex to serialise access to the hash table with
5987           the function pointer => function name string mapping;
5988           make that hash table static scope (#316809).
5989
5990         * gst/registries/.cvsignore:
5991           Remove left-over file.
5992
5993 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5994
5995         * docs/pwg/appendix-porting.xml:
5996           And something about newsegment events and caps-on-buffers to
5997           the porting guide (feel free to improve).
5998
5999 2005-09-21  Andy Wingo  <wingo@pobox.com>
6000
6001         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
6002         data and event probes on the same pad.
6003         (test_buffer_probe_once): Test that removing probes from within
6004         the probe functions works.
6005
6006 2005-09-21  Andy Wingo  <wingo@pobox.com>
6007
6008         * check/gst/gstutils.c: New file.
6009         (test_buffer_probe_n_times): A simple buffer probe test. More to
6010         come, foolios.
6011
6012         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
6013         have-data::buffer, not have-data.
6014         (gst_pad_add_event_probe): Likewise for have-data::event.
6015         (gst_pad_add_data_probe): More docs. The part about 'resolving the
6016         peer' isn't quite right yet though.
6017         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
6018         (gst_pad_remove_data_probe): Change to take the guint handler_id
6019         as their arg, not the function+data, which is more glib-like.
6020
6021         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
6022         the signal emission to indicate if the data is a buffer or an
6023         event.
6024         (gst_pad_get_type): Initialize buffer and event quarks.
6025         (gst_pad_class_init): have-data is now a detailed signal, yes it
6026         is.
6027
6028 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6029
6030         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6031         * gst/gstutils.c: (gst_util_set_value_from_string),
6032         (gst_util_set_object_arg):
6033           Don't put functional code in g_return_if_fail() or
6034           g_return_val_if_fail() statements, otherwise things will 
6035           break when G_DISABLE_CHECKS is defined during compilation.
6036
6037 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6038
6039         * docs/gst/tmpl/.cvsignore:
6040         * docs/gst/tmpl/gstvalue.sgml:
6041         * gst/gstvalue.c:
6042         * gst/gstvalue.h:
6043           inlied another one and added  some obvious docs
6044
6045 2005-09-21  Wim Taymans  <wim@fluendo.com>
6046
6047         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6048         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
6049         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
6050         (gst_fdsrc_get_property), (gst_fdsrc_create):
6051         * gst/elements/gstfdsrc.h:
6052         Properly implement fdsrc. Removed signal and timeout,
6053         better implemented somewhere else.
6054
6055 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6056
6057         * docs/gst/tmpl/.cvsignore:
6058         * docs/gst/tmpl/gstimplementsinterface.sgml:
6059         * gst/gstinterface.c:
6060           inlined more docs
6061
6062 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6063
6064         * docs/gst/gstreamer-sections.txt:
6065         * docs/gst/tmpl/.cvsignore:
6066         * docs/gst/tmpl/gstenumtypes.sgml:
6067           remove obsolete doc file
6068
6069 2005-09-21  David Schleef  <ds@schleef.org>
6070
6071         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
6072         little beer, fix a little leak.
6073
6074 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6075
6076         * docs/gst/gstreamer-docs.sgml:
6077         * docs/gst/gstreamer-sections.txt:
6078         * docs/gst/tmpl/.cvsignore:
6079         * gst/Makefile.am:
6080         * gst/gst.h:
6081         * gst/gstbin.c:
6082         * gst/gstelement.h:
6083         * gst/gstindex.c: (gst_index_class_init):
6084         * gst/gstindex.h:
6085         * gst/gstindexfactory.c: (gst_index_factory_get_type),
6086         (gst_index_factory_class_init), (gst_index_factory_init),
6087         (gst_index_factory_finalize), (gst_index_factory_new),
6088         (gst_index_factory_destroy), (gst_index_factory_find),
6089         (gst_index_factory_create), (gst_index_factory_make):
6090         * gst/gstindexfactory.h:
6091         * gst/gstpluginfeature.c:
6092         * gst/gstpluginfeature.h:
6093         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6094           more docs inlined, splitted gstindex.{c,h}
6095
6096 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6097
6098         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6099           fix a leak
6100
6101 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6102
6103         * gst/elements/gstfilesink.c: (gst_file_sink_init):
6104           Set sync to FALSE by default.
6105
6106 2005-09-20  Wim Taymans  <wim@fluendo.com>
6107
6108         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6109         (gst_base_sink_init):
6110         Make sync property settable from subclass.
6111
6112         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6113         (gst_fake_sink_change_state):
6114         Set sync to FALSE by default.
6115
6116 2005-09-20  Wim Taymans  <wim@fluendo.com>
6117
6118         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
6119         * tools/gst-launch.c: (main):
6120         The timeout handler should have lower priority than the source
6121         so we don't timeout before popping a message with 0 timeout.
6122         Dump error messages after failed state change.
6123
6124 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6125
6126         * tools/gst-inspect.c: (print_element_properties_info):
6127           Fix two typos.
6128
6129 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6130
6131         * check/gst/gstevent.c:
6132         * gst/elements/gstfakesink.c:
6133         * gst/elements/gstfakesink.h:
6134           remove the sync property from fakesink.
6135           has the side effect of setting sync TRUE
6136           for fakesink, which is a change.  Anyone who knows how
6137           to fix this nicely in a GObject-y way, feel free.
6138
6139 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6140
6141         * docs/gst/gstreamer-docs.sgml:
6142           remove probe refsection
6143
6144 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6145
6146         * check/Makefile.am:
6147           disable valgrinding the controller test again
6148         * docs/gst/gstreamer-sections.txt:
6149           update for api-changes
6150
6151 2005-09-20  Wim Taymans  <wim@fluendo.com>
6152
6153         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6154         (gst_base_sink_set_property), (gst_base_sink_get_property),
6155         (gst_base_sink_do_sync):
6156         * gst/base/gstbasesink.h:
6157         Added sync property to basesink to disable clock sync.
6158
6159 2005-09-20  Andy Wingo  <wingo@pobox.com>
6160
6161         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
6162         eating the caller's refcount.
6163
6164         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
6165         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
6166         refcount.
6167
6168         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
6169         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
6170         of GLib 2.8 public, so we can know which refcount to check in
6171         tests.
6172
6173         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
6174         (gst_object_init): Only set the gst refcount if we're going ahead
6175         with the refcount hack.
6176
6177 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6178
6179         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6180         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6181           more leaks plumbed, added more debug-logging
6182         * gst/gstmacros.h:
6183           whitespace fix
6184
6185 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6186
6187         * gst/gstmessage.c:
6188           remove include of gstmemchunk.h
6189
6190 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6191
6192         * gst/gstclock.c: (_gst_clock_id_free):
6193           Commit from the Political Party For More Atomic CVS Commits,
6194           so that people don't waste too much of their day fishing
6195           out obvious leaks out of massive commits.
6196           Oh, and fix a pretty damn obvious leak in the memchunk
6197           removal code.
6198
6199 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6200
6201         * check/Makefile.am:
6202         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6203           plug mem-leak, re-add to valgrindable tests
6204
6205 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6206
6207         * gst/gstplugin.h:
6208           unbreak the build for those who have chronic arthritis
6209           and typing "make check" is just too taxing on the hands
6210
6211 2005-09-20  Andy Wingo  <wingo@pobox.com>
6212
6213         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
6214         really want it out, you should fix plugins at the same time.
6215
6216 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
6217
6218         * configure.ac:
6219         * docs/gst/gstreamer-sections.txt:
6220         * gst/gstobject.c:
6221           added missing symbols to api docs
6222           disable ref-count hack if we have glib >= 2.8
6223
6224 2005-09-19  David Schleef  <ds@schleef.org>
6225
6226         * docs/gst/Makefile.am: Ignore a few more internal headers
6227         * docs/gst/gstreamer-docs.sgml: Remove old sections
6228         * docs/gst/gstreamer-sections.txt: Remove old sections
6229         * docs/gst/tmpl/gstobject.sgml: update
6230         * docs/gst/tmpl/gstplugin.sgml: update
6231         * docs/gst/tmpl/gstpluginfeature.sgml: update
6232         * docs/random/ds/0.9-suggested-changes: update.
6233         * gst/Makefile.am: remove memchunk and trashstack, since they're
6234           not used.
6235         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
6236         * gst/gst.h: don't include some headers
6237         * gst/gstchildproxy.c: add gstmarshal.h
6238         * gst/gstclock.c: Don't use memchunks
6239         * gst/gstminiobject.c: Add some docs
6240         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
6241         * gst/gstobject.h: same
6242         * gst/gstplugin.c: include gstmacros.h
6243         * gst/gstplugin.h: don't include gstmacros.h, since it's private
6244         * gst/gstquery.c: don't use memchunks
6245         * gst/gstregistry.c: rename gst_registry_deinit()
6246         * gst/gstregistry.h: same
6247
6248 2005-09-19  David Schleef  <ds@schleef.org>
6249
6250         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
6251         * docs/libs/gstreamer-libs-sections.txt:
6252         * docs/libs/tmpl/gstgetbits.sgml:
6253         * docs/libs/tmpl/gstputbits.sgml:
6254
6255 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6256
6257         * win32/gstenumtypes.c:
6258         * win32/gstenumtypes.h:
6259           Update.
6260
6261 2005-09-19  Wim Taymans  <wim@fluendo.com>
6262
6263         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
6264         Automatically PAUSE and RESUME a pipeline when a flushing seek
6265         is performed.
6266
6267 2005-09-19  Andy Wingo  <wingo@pobox.com>
6268
6269         * gst/gstregistry.h: Spacing fixen.
6270
6271 2005-09-19  Wim Taymans  <wim@fluendo.com>
6272
6273         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
6274         Handle state change failure more correctly.
6275
6276 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6277
6278         * check/Makefile.am:
6279         * check/pipelines/cleanup.c: (run_pipeline):
6280         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6281         (GST_START_TEST):
6282           enable cleanup again after fixing the leak
6283         * docs/README:
6284           some more info on docs
6285
6286 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6287
6288         * check/Makefile.am:
6289           re-enable tests now that leaks are plugged
6290         * check/gst/gst.c:
6291         * check/gst/gstbin.c:
6292         * check/gst/gstpipeline.c:
6293           add some more tests while fixing leaks
6294         * common/check.mak:
6295           make sure binaries are uptodate when valgrinding/gdbing
6296         * gst/gst.c:
6297         * gst/gstelementfactory.c:
6298           remove a ref too many, and add a FIXME for when we get
6299           round to disposing of classes
6300         * gst/gstplugin.c:
6301           fix the refcounting when loading a plugin from a file and
6302           the code pretends that the pointer is the same even though
6303           of course it can change
6304         * gst/gstpluginfeature.c:
6305           unref plugins marked cached (a bit confusing as a name)
6306           as the docs state should be done
6307           various doc additions to explain refcounting
6308         * gst/gstregistry.c:
6309         * gst/gstregistryxml.c:
6310           debugging
6311
6312 2005-09-19  Wim Taymans  <wim@fluendo.com>
6313
6314         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6315         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6316         (send_messages), (GST_START_TEST), (gstbus_suite):
6317         * check/gst/gstpipeline.c: (GST_START_TEST):
6318         * check/pipelines/cleanup.c: (run_pipeline):
6319         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6320         (GST_START_TEST):
6321         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6322         (gst_bus_source_check), (gst_bus_source_dispatch),
6323         (gst_bus_create_watch), (gst_bus_add_watch_full),
6324         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6325         * gst/gstbus.h:
6326         * tools/gst-launch.c: (event_loop):
6327         * tools/gst-md5sum.c: (event_loop):
6328         GstBusHandler -> GstBusFunc, return value has the same meaning as
6329         any other GSource (FALSE == remove source).
6330         _add_watch() and _add_watch_full() now take a MessageType mask to
6331         only handle specific types of messages.
6332         _poll() returns the GstMessage instead of the message type to avoid
6333         race conditions.
6334         _have_pending() takes a MessageType mask now too.
6335         Added testsuite for multiple bus watches.
6336         Fix testsuites and applications for new bus API.
6337
6338 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6339
6340         * check/Makefile.am:
6341           mark a bunch of the tests as to fix until we fix them
6342
6343 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6344
6345         * common/check.mak:
6346           use GST_PLUGIN settings for valgrind tests as well, so we're
6347           valgrinding the correct thing
6348         * gst/gst.c: (init_post):
6349           plug another leak
6350
6351 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6352
6353         * gst/gst.c: (init_post), (gst_deinit):
6354         * gst/gstelementfactory.c: (gst_element_factory_class_init),
6355         (gst_element_factory_finalize), (gst_element_factory_cleanup):
6356         * gst/gstindex.c: (gst_index_factory_class_init),
6357         (gst_index_factory_finalize):
6358         * gst/gstobject.c: (gst_object_dispose):
6359         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6360         (gst_plugin_load_file), (gst_plugin_desc_free):
6361         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6362         (gst_plugin_feature_finalize):
6363         * gst/gstregistry.c: (gst_registry_class_init),
6364         (gst_registry_init), (gst_registry_finalize),
6365         (gst_registry_get_default), (gst_registry_deinit):
6366         * gst/gstregistry.h:
6367         * gst/gstregistryxml.c: (load_feature), (load_plugin):
6368           various cleanups and memleak plugging.  make valgrind is happy now.
6369
6370 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6371
6372         * common/check.mak:
6373           add a check-valgrind target
6374
6375 2005-09-18  David Schleef  <ds@schleef.org>
6376
6377         * tools/gst-inspect.c: Revert the GOption code.
6378
6379 2005-09-17  David Schleef  <ds@schleef.org>
6380
6381         * check/Makefile.am: Fix environment variables.
6382         * check/gst/gstplugin.c: Fix for API changes.
6383         * tools/gst-inspect.c: Fix for API changes.
6384         * tools/gst-xmlinspect.c: Fix for API changes.
6385         * gst/gstelementfactory.c:
6386         * gst/gstplugin.c:
6387         * gst/gstplugin.h:
6388         * gst/gstpluginfeature.c:
6389         * gst/gstpluginfeature.h:
6390         * gst/gstregistry.c:
6391         * gst/gstregistry.h:
6392         * gst/gstregistryxml.c:
6393         * gst/gsttypefind.c:
6394         * gst/gsttypefindfactory.c:
6395         * gst/indexers/gstfileindex.c:
6396         * gst/indexers/gstmemindex.c:
6397         * gst/schedulers/Makefile.am:
6398           Change registry to keep track of both plugins and features,
6399           removing the feature tracking from plugins themselves.
6400
6401 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6402
6403         * check/Makefile.am:
6404         * tools/gst-register.1.in:
6405           remove gst-register
6406
6407 2005-09-15  David Schleef  <ds@schleef.org>
6408
6409         * check/gst/gstplugin.c:
6410         * gst/gstelementfactory.c:
6411         * gst/gstplugin.c:
6412         * gst/gstpluginfeature.c:
6413         * gst/gstregistry.c:
6414           Getting tired of debugging.  Disabled all the unreffing of
6415           plugins and features, which fixes the segfaults, but of
6416           course leaks like crazy.  At least playbin works.
6417
6418 2005-09-15  David Schleef  <ds@schleef.org>
6419
6420         * check/gst/gstplugin.c: (register_check_elements),
6421         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6422         More testing
6423         * gst/elements/gsttypefindelement.c: Fix refcounting.
6424         * gst/gsttypefind.c:
6425         * gst/gsttypefindfactory.c:
6426         * gst/gsttypefindfactory.h:
6427
6428 2005-09-15  David Schleef  <ds@schleef.org>
6429
6430         * gst/gstindex.c: get refcounting correct.
6431         * gst/gstregistry.c: Handle the case where a feature/plugin is
6432           not found.
6433
6434 2005-09-15  David Schleef  <ds@schleef.org>
6435
6436         * check/Makefile.am:
6437         * check/gst/gstplugin.c: Add test
6438         * gst/gstplugin.c: Fix problems noticed by testsuite
6439         * gst/gstplugin.h:
6440         * gst/gstregistry.c: 
6441         * gst/gstregistry.h:
6442
6443 2005-09-15  David Schleef  <ds@schleef.org>
6444
6445         * gst/gstplugin.c: Implement semi-decent recounting and locking
6446           in plugins and plugin features.
6447         * gst/gstplugin.h:
6448         * gst/gstpluginfeature.c:
6449         * gst/gstpluginfeature.h:
6450         * gst/gstregistry.c:
6451
6452 2005-09-15  Michael Smith <msmith@fluendo.com>
6453
6454         * gst/gstregistry.c: (gst_registry_get_feature_list):
6455           Implement this. Makes oggdemux work; decodebin still broken.
6456
6457 2005-09-14  David Schleef  <ds@schleef.org>
6458
6459         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6460           #316076)
6461         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6462         * gst/check/Makefile.am:
6463         * libs/gst/controller/Makefile.am:
6464         * libs/gst/dataprotocol/Makefile.am:
6465
6466 2005-09-14  David Schleef  <ds@schleef.org>
6467
6468         * configure.ac: Remove getbits library.  Nothing uses it, and
6469           it should be in something like liboil if someone did want
6470           to use it.
6471         * libs/gst/Makefile.am:
6472         * libs/gst/getbits/Makefile.am:
6473         * libs/gst/getbits/gbtest.c:
6474         * libs/gst/getbits/getbits.c:
6475         * libs/gst/getbits/getbits.h:
6476         * libs/gst/getbits/gstgetbits_generic.c:
6477         * libs/gst/getbits/gstgetbits_i386.s:
6478         * libs/gst/getbits/gstgetbits_inl.h:
6479
6480 2005-09-14  David Schleef  <ds@schleef.org>
6481
6482         * gst/Makefile.am: Dist glib-compat.h
6483
6484 2005-09-14  David Schleef  <ds@schleef.org>
6485
6486         * configure.ac: Remove gst/registries, since it's no longer used.
6487         * gst/registries/Makefile.am:
6488         * gst/registries/gstlibxmlregistry.c:
6489         * gst/registries/gstlibxmlregistry.h:
6490         * gst/registries/gstxmlregistry.c:
6491         * gst/registries/gstxmlregistry.h:
6492         * gst/registries/registrytest.c:
6493
6494 2005-09-14  David Schleef  <ds@schleef.org>
6495
6496         * gst/glib-compat.h:
6497         * gst/gstregistryxml.c:
6498           Convergence is near.  Seriously.
6499
6500 2005-09-14  David Schleef  <ds@schleef.org>
6501
6502         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6503         * gst/glib-compat.h:
6504           Attempt #4 to appease the buildbots.
6505
6506 2005-09-14  David Schleef  <ds@schleef.org>
6507
6508         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6509           Attempt #3.
6510
6511 2005-09-14  David Schleef  <ds@schleef.org>
6512
6513         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6514         Attempt #2.
6515
6516 2005-09-14  David Schleef  <ds@schleef.org>
6517
6518         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
6519           the new functions.
6520
6521 2005-09-14  David Schleef  <ds@schleef.org>
6522
6523         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6524         * gst/glib-compat.h: Add some functions that are in newer versions
6525           of glib than we care to require.
6526         * gst/gstregistryxml.c: Use them.
6527
6528 2005-09-14  David Schleef  <ds@schleef.org>
6529
6530         * po/POTFILES.in: remove gst-register.c
6531
6532 2005-09-14  David Schleef  <ds@schleef.org>
6533
6534         * docs/gst/gstreamer-docs.sgml:
6535         * docs/gst/gstreamer-sections.txt:
6536         * docs/gst/gstreamer.types:
6537         * docs/gst/tmpl/gstelement.sgml:
6538         * docs/gst/tmpl/gstplugin.sgml:
6539         * docs/gst/tmpl/gstpluginfeature.sgml:
6540           Documentation updates for registry changes.
6541
6542 2005-09-14  David Schleef  <ds@schleef.org>
6543
6544         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
6545           because we don't require glib-2.8.
6546
6547 2005-09-14  David Schleef  <ds@schleef.org>
6548
6549         * gst/gstregistryxml.c: Added.  Essentially moved out of the
6550           registries directory.
6551
6552 2005-09-14  David Schleef  <ds@schleef.org>
6553
6554         * check/Makefile.am:
6555         * check/generic/states.c:
6556         * gst/Makefile.am:
6557         * gst/gst.c:
6558         * gst/gst.h:
6559         * gst/gst_private.h:
6560         * gst/gstelementfactory.c:
6561         * gst/gstindex.c:
6562         * gst/gstinfo.c:
6563         * gst/gstplugin.c:
6564         * gst/gstplugin.h:
6565         * gst/gstpluginfeature.c:
6566         * gst/gstpluginfeature.h:
6567         * gst/gstregistry.c:
6568         * gst/gstregistry.h:
6569         * gst/gstregistrypool.c: remove
6570         * gst/gstregistrypool.h: remove
6571         * gst/gsttypefind.c:
6572         * gst/gsttypefindfactory.c:
6573         * gst/gsturi.c:
6574         * tools/Makefile.am:
6575         * tools/gst-compprep.c:
6576         * tools/gst-inspect.c:
6577         * tools/gst-register.c: remove
6578         * tools/gst-xmlinspect.c:
6579           Registry rewrite.  Changes registry from being a file created
6580           by a tool into a simple cache file created automatically by 
6581           libgstreamer.  Removed gst-register (because it's no longer
6582           needed).  Remove registry pools, because we only have one
6583           registry implementation (XML).  Fix up other subsystems as
6584           necessary.
6585
6586 2005-09-13  Michael Smith <msmith@fluendo.com>
6587
6588         * gst/gstconfig.h.in:
6589           Don't Use windows linking attributes for MinGW. Fixes #316157
6590
6591 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6592
6593         * gst/gstutils.c: (set_state_async_thread_func),
6594         (gst_element_set_state_async):
6595           Apparently people think it's better if this function doesn't
6596           try to set the state to whatever state was asked for on the first
6597           call to this function for any object.  Seriously.
6598
6599 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6600
6601         * check/gst/gstpipeline.c: (GST_START_TEST):
6602         * docs/gst/gstreamer-sections.txt:
6603         * gst/gstutils.c: (set_state_async_thread_func),
6604         (gst_element_set_state_async):
6605         * gst/gstutils.h:
6606           add a "gst_element_set_state_async" method that
6607           sets the state and starts a thread to make sure the state
6608           change completes as best as it can
6609
6610 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6611
6612         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6613           codify design+behaviour in testsuite after discussion
6614
6615 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6616
6617         * docs/gst/tmpl/gstelement.sgml:
6618         * docs/manual/appendix-quotes.xml:
6619           add a quote
6620         * gst/gstelement.c: (gst_element_set_state):
6621           add some debug
6622
6623 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
6624
6625         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6626         (gst_base_transform_prepare_output_buf),
6627         (gst_base_transform_handle_buffer):
6628         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
6629         (gst_capsfilter_prepare_buf):
6630           Remove the requirement for sub-classes to call the parent
6631           implementation of prepare_output_buffer with a wrapper function.
6632           
6633         * gst/gsttaglist.h:
6634         * gst/gsttagsetter.h:
6635           Fix #define wrapper
6636
6637 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
6638
6639         * docs/gst/gstreamer-sections.txt:
6640           more doc cleanups
6641
6642 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6643
6644         * docs/gst/gstreamer-sections.txt:
6645         * docs/gst/tmpl/gstelement.sgml:
6646         * docs/gst/tmpl/gstplugin.sgml:
6647         * gst/gstminiobject.c:
6648         * gst/gstvalue.h:
6649           docs now stop throwing warnings
6650
6651 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6652
6653         * docs/gst/gstreamer-sections.txt:
6654         * docs/gst/gstreamer.types:
6655         * docs/gst/tmpl/gstpad.sgml:
6656         * docs/gst/tmpl/gsttypes.sgml:
6657         * gst/base/gstadapter.h:
6658         * gst/base/gstbasesink.h:
6659         * gst/base/gstbasesrc.h:
6660         * gst/gstbin.h:
6661         * gst/gstbuffer.h:
6662         * gst/gstbus.h:
6663         * gst/gstcaps.h:
6664         * gst/gstclock.h:
6665         * gst/gstelement.h:
6666         * gst/gstevent.h:
6667         * gst/gstmessage.h:
6668         * gst/gstpad.h:
6669         * gst/gststructure.c:
6670         * gst/registries/gstlibxmlregistry.h:
6671           various documentation fixes
6672
6673 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6674
6675         * docs/gst/gstreamer-sections.txt:
6676         * docs/gst/tmpl/gstvalue.sgml:
6677           rearrange gstvalue section
6678         * gst/gstutils.c: (gst_element_state_get_name):
6679           NONE -> VOID
6680         * gst/gstvalue.c: (_gst_value_initialize):
6681         * gst/gstvalue.h:
6682           doc updates
6683
6684 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
6685
6686         * check/gst-libs/controller.c:
6687           Header include fix.
6688         * gst/base/gstbasetransform.c:
6689         (gst_base_transform_default_prepare_buf),
6690         (gst_base_transform_handle_buffer):
6691         * gst/base/gstbasetransform.h:
6692           Some more basetransform changes and fixes to enable sub-classes
6693           that modify buffer metadata only.
6694         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6695         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
6696         (gst_capsfilter_prepare_buf):
6697           If the output pad has fixed allowed caps and input buffers 
6698           don't have any, set the fixed caps on outgoing buffers.
6699
6700 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
6701         * check/elements/identity.c: (GST_START_TEST):
6702           Make the error a little clearer when the test fails because
6703           identity made a copy of the buffer.
6704         * docs/gst/gstreamer-sections.txt:
6705           New symbols in gstbasetransform.h
6706         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6707         (gst_base_transform_init), (gst_base_transform_transform_size),
6708         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6709         (gst_base_transform_default_prepare_buf),
6710         (gst_base_transform_get_unit_size),
6711         (gst_base_transform_buffer_alloc),
6712         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
6713         (gst_base_transform_change_state),
6714         (gst_base_transform_set_passthrough),
6715         (gst_base_transform_set_in_place),
6716         (gst_base_transform_is_in_place):
6717         * gst/base/gstbasetransform.h:
6718           Change BaseTransform to separate in_place operate from same_caps
6719           output. in_place implies that the element can perform the transform
6720           on incoming buffers in-place, even if the caps on the output are
6721           different.
6722           Sub-class elements can now implement special buffer allocation
6723           methods for outgoing buffers if they wish to.
6724           Big documentation addition.
6725         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
6726         * gst/elements/gstelements.c:
6727           Changes for basetransform modifications.
6728         * gst/elements/Makefile.am:
6729         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
6730           Compile fix. Extra debug output.
6731
6732 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6733
6734         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
6735         (gst_pad_suite):
6736           add tests for valid pad naming
6737         * gst/check/gstcheck.c: (gst_check_log_message_func),
6738         (gst_check_log_critical_func):
6739           add ASSERT_WARNING
6740           remove printing of code, it is fragile when the code contains
6741           % and the line number is enough info
6742         * gst/check/gstcheck.h:
6743         * gst/gstpad.c: (gst_pad_template_new):
6744           fix memleaks
6745
6746 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6747
6748         * configure.ac:
6749           say what CHECK flags we use
6750         * docs/libs/gstreamer-libs.types:
6751         * libs/gst/controller/Makefile.am:
6752         * libs/gst/controller/gst-controller.c:
6753         * libs/gst/controller/gst-controller.h:
6754         * libs/gst/controller/gst-helper.c:
6755         * libs/gst/controller/gst-interpolation.c:
6756         * libs/gst/controller/gstcontroller.c:
6757         * libs/gst/controller/gsthelper.c:
6758         * libs/gst/controller/gstinterpolation.c:
6759         * tools/gst-inspect.c: (print_plugin_info):
6760           we don't use dashes in header names
6761
6762 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6763
6764         * check/Makefile.am:
6765         * check/gst/.cvsignore:
6766         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
6767         (gst_pipeline_suite), (main):
6768           adding a test for pipelines and state changes
6769         * gst/gstutils.c: (get_state_func):
6770           add some debugging
6771         * gstreamer.spec.in:
6772           fix up spec file
6773
6774 2005-09-08  Michael Smith <msmith@fluendo.com>
6775
6776         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
6777         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
6778         (gst_file_src_is_seekable), (gst_file_src_get_size),
6779         (gst_file_src_start):
6780         * gst/elements/gstfilesrc.h:
6781           Various fixes for unseekable, unmmapable, and non-normal files, so
6782           that fallback to read() rather than mmap() works.
6783         * gst/gstevent.c: (gst_event_new_newsegment):
6784           Allow newsegment events with segment_start == segment_end, as will
6785           correctly happen if you use filesrc on a zero-size file, for
6786           example.
6787
6788 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6789
6790         * gst/gstplugin.c: (gst_plugin_load_file):
6791           Call g_module_close when we don't load the module
6792
6793         * gst/registries/gstlibxmlregistry.c:
6794         (gst_xml_registry_get_property):
6795           Port leak fix from 0.8
6796
6797 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6798
6799         * docs/gst/gstreamer-docs.sgml:
6800         * docs/gst/tmpl/.cvsignore:
6801         * docs/gst/tmpl/gsttrace.sgml:
6802         * docs/gst/tmpl/gsttrashstack.sgml:
6803         * gst/Makefile.am:
6804         * gst/gst.h:
6805         * gst/gstelement.h:
6806         * gst/gstevent.h:
6807         * gst/gstmessage.c:
6808         * gst/gstmessage.h:
6809         * gst/gsttag.c:
6810         * gst/gsttag.h:
6811         * gst/gsttaginterface.c:
6812         * gst/gsttaginterface.h:
6813         * gst/gsttaglist.c:
6814         * gst/gsttaglist.h:
6815         * gst/gsttagsetter.c:
6816         * gst/gsttagsetter.h:
6817         * gst/gsttrace.c:
6818         * gst/gsttrace.h:
6819         * gst/gsttrashstack.c:
6820           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
6821           inlined docs for gsttrace, gsttrashstack
6822
6823 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6824
6825         * gst/Makefile.am:
6826         * gst/elements/gstbufferstore.h:
6827         * gst/elements/gsttypefindelement.c:
6828         * gst/elements/gsttypefindelement.h:
6829         * gst/gst.h:
6830         * gst/gsttypefind.c:
6831         * gst/gsttypefind.h:
6832         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
6833         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
6834         (gst_type_find_factory_dispose),
6835         (gst_type_find_factory_unload_thyself),
6836         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
6837         (gst_type_find_factory_get_caps),
6838         (gst_type_find_factory_get_extensions),
6839         (gst_type_find_factory_call_function):
6840         * gst/gsttypefindfactory.h:
6841         * gst/registries/gstlibxmlregistry.c:
6842         * gst/registries/gstxmlregistry.c:
6843           splitted gsttypefind into gsttypefind, gsttypefindfactory
6844
6845 2005-09-07  Andy Wingo  <wingo@pobox.com>
6846
6847         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
6848         condition whereby the pad's task function is entered before the
6849         pad_mode variable was set.
6850
6851 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6852
6853         * gst/gstpad.c: (gst_pad_alloc_buffer):
6854           Catch misbehaving pad_alloc functions that don't
6855           set up caps and do it for them.
6856
6857 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6858
6859         * check/pipelines/simple_launch_lines.c: (run_pipeline):
6860           test for pipe!=NULL
6861         * docs/gst/tmpl/.cvsignore:
6862         * docs/gst/tmpl/gstmemchunk.sgml:
6863         * docs/gst/tmpl/gstparse.sgml:
6864         * docs/gst/tmpl/gsttaglist.sgml:
6865         * docs/gst/tmpl/gsttagsetter.sgml:
6866         * docs/gst/tmpl/gsttypefind.sgml:
6867         * docs/gst/tmpl/gsttypefindfactory.sgml:
6868         * gst/gstmemchunk.c:
6869         * gst/gstparse.c:
6870         * gst/gsttag.c:
6871         * gst/gsttaginterface.c:
6872         * gst/gsttypefind.c:
6873         * gst/gsttypefind.h:
6874           inlined more docs
6875
6876 === release 0.9.2 ===
6877
6878 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6879
6880         * NEWS:
6881         * RELEASE:
6882         * configure.ac:
6883           releasing 0.9.2, "South"
6884
6885 2005-09-05  Andy Wingo  <wingo@pobox.com>
6886
6887         * gst/registries/gstxmlregistry.h:
6888         * gst/registries/gstxmlregistry.c: Um... resurrect...
6889         
6890         * gst/registries/gstxmlregistry.h:
6891         * gst/registries/gstxmlregistry.c: and update to newer API.
6892         Incidentally they should be a bit faster now that they don't have
6893         to parse the caps.
6894         
6895 2005-09-05  Andy Wingo  <wingo@pobox.com>
6896
6897         * gst/registries/gstxmlregistry.h:
6898         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
6899         replaced by the libxml registry a while back
6900
6901 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6902
6903         * docs/gst/tmpl/gstplugin.sgml:
6904         * gst/elements/gstelements.c:
6905         * gst/gst.c:
6906         * gst/gstplugin.c: (gst_plugin_register_func),
6907         (gst_plugin_desc_copy), (gst_plugin_desc_free),
6908         (gst_plugin_get_source):
6909         * gst/gstplugin.h:
6910         * gst/registries/gstlibxmlregistry.c: (load_plugin),
6911         (gst_xml_registry_save_plugin):
6912         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
6913         (gst_xml_registry_save_plugin):
6914         * tools/gst-inspect.c: (print_plugin_info):
6915           add a "source" plugin description field, to represent the source
6916           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
6917           will set it to PACKAGE, which is automake's idea of the name of
6918           the source project.
6919
6920 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6921
6922         * Makefile.am:
6923         * autogen.sh:
6924         * configure.ac:
6925         * docs/Makefile.am:
6926         * docs/faq/Makefile.am:
6927         * docs/gst/tmpl/gstelement.sgml:
6928         * docs/gst/tmpl/gsttypes.sgml:
6929         * docs/htmlinstall.mak:
6930         * docs/manual/Makefile.am:
6931         * docs/pwg/Makefile.am:
6932           reorganize doc build a little
6933           split out docbook and gtk-doc stuff
6934           have two separate --enable's and enable them through autogen
6935           but disable by default in configure (to be similar to other
6936           projects)
6937         * gstreamer.spec.in:
6938           clean up docs install
6939         * po/af.po:
6940         * po/az.po:
6941         * po/ca.po:
6942         * po/cs.po:
6943         * po/de.po:
6944         * po/en_GB.po:
6945         * po/fr.po:
6946         * po/it.po:
6947         * po/nb.po:
6948         * po/nl.po:
6949         * po/ru.po:
6950         * po/sq.po:
6951         * po/sr.po:
6952         * po/sv.po:
6953         * po/tr.po:
6954         * po/uk.po:
6955         * po/vi.po:
6956           translation updates
6957
6958 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
6959
6960         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
6961           Add comment.
6962           
6963         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6964         (gst_fake_sink_change_state):
6965           Make state change function thread-safe.
6966           
6967         * gst/gstpad.c: (gst_pad_alloc_buffer):
6968           Set offset on generic buffer allocated by fallback.
6969
6970 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
6971
6972         * docs/gst/gstreamer-sections.txt:
6973         * docs/gst/tmpl/gstelement.sgml:
6974         * gst/gstpad.c:
6975         * libs/gst/controller/gst-controller.c:
6976         (gst_controlled_property_set_interpolation_mode),
6977         (gst_controlled_property_new),
6978         (gst_controller_find_controlled_property):
6979          run the wingo-magic script against the docs
6980
6981 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6982
6983         * docs/gst/gstreamer-docs.sgml:
6984         * docs/gst/gstreamer-sections.txt:
6985         * docs/gst/tmpl/.cvsignore:
6986         * docs/gst/tmpl/gstelementdetails.sgml:
6987         * docs/gst/tmpl/gstelementfactory.sgml:
6988         * gst/gst.c:
6989         * gst/gstbus.c:
6990         * gst/gstelementfactory.c:
6991         * gst/gstelementfactory.h:
6992           merged elementdetails docs into elementfactory docs
6993           inlined both
6994
6995 2005-09-02  Andy Wingo  <wingo@pobox.com>
6996
6997         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
6998         consider this enum an enum and not a flags.
6999
7000 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7001
7002         * docs/gst/gstreamer-docs.sgml:
7003         * docs/gst/tmpl/.cvsignore:
7004         * docs/gst/tmpl/gstghostpad.sgml:
7005         * docs/gst/tmpl/gstiterator.sgml:
7006         * docs/gst/tmpl/gstmacros.sgml:
7007         * docs/gst/tmpl/gstrealpad.sgml:
7008         * docs/gst/tmpl/gstregistry.sgml:
7009         * docs/gst/tmpl/gstregistrypool.sgml:
7010         * docs/gst/tmpl/gststructure.sgml:
7011         * docs/gst/tmpl/gstsystemclock.sgml:
7012         * docs/gst/tmpl/gsttrace.sgml:
7013         * gst/gstghostpad.c:
7014         * gst/gstmacros.h:
7015         * gst/gstmemchunk.c:
7016         * gst/gstmemchunk.h:
7017         * gst/gstqueue.c:
7018         * gst/gstregistry.c:
7019         * gst/gstregistrypool.c:
7020         * gst/gststructure.c:
7021         * gst/gstsystemclock.c:
7022           more docs inlined
7023
7024 2005-09-02  Andy Wingo  <wingo@pobox.com>
7025
7026         * gst/gstelement.h (GstState): Renamed from GstElementState,
7027         changed to be a normal enum instead of flags.
7028         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
7029         munged to be GST_STATE_CHANGE_*.
7030         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
7031         work with the new state representation.
7032         (GstStateChange): New enumeration of possible state transitions.
7033         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
7034         (GstElementClass::change_state): Pass the GstStateChange along as
7035         an argument. Helps language bindings, so they don't have to use
7036         tricky lock-needing macros like GST_STATE_CHANGE ().
7037
7038         * scripts/update-states (file): New script. Run it on a file to
7039         update it for state naming and API changes. Updates files in
7040         place.
7041
7042         * All files updated for the new API.
7043
7044 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7045
7046         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
7047         * gst/gstutils.c: (gst_util_set_value_from_string),
7048         (gst_util_set_object_arg):
7049           fix a bunch of unchecked return values
7050         * tools/gst-complete.c: (main):
7051         * gstreamer.spec.in:
7052           clean up a little
7053
7054 2005-09-01  Wim Taymans  <wim@fluendo.com>
7055
7056         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7057         (gst_base_sink_event), (gst_base_sink_do_sync),
7058         (gst_base_sink_handle_event):
7059         * gst/base/gstbasesink.h:
7060         Handle newsegments more correctly.
7061
7062         * gst/gstbus.c:
7063         Fix docs.
7064
7065         * gst/gstevent.c: (gst_event_new_newsegment):
7066         A newsegment cannot have a start_time of -1
7067
7068 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
7069
7070         * win32/gstenumtypes.c:
7071         * win32/gstenumtypes.h:
7072           Update
7073
7074 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7075
7076         * libs/gst/controller/gst-controller.c:
7077         (gst_controlled_property_set_interpolation_mode),
7078         (gst_controlled_property_new):
7079          fixed boolean again
7080
7081 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
7082
7083         * docs/faq/gst-uninstalled:
7084           add -good
7085         * gst/gstevent.c:
7086         * gst/gstevent.h:
7087           remove wrong docs
7088         * gst/gstutils.c: (gst_element_link_filtered):
7089         * gst/gstutils.h:
7090           add gst_element_link_filtered
7091
7092 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7093
7094         * docs/gst/gstreamer-docs.sgml:
7095         * docs/gst/gstreamer-sections.txt:
7096         * docs/gst/tmpl/.cvsignore:
7097         * docs/gst/tmpl/gsterror.sgml:
7098         * docs/gst/tmpl/gstfilter.sgml:
7099         * docs/gst/tmpl/gsturihandler.sgml:
7100         * docs/gst/tmpl/gsturitype.sgml:
7101         * docs/gst/tmpl/gstutils.sgml:
7102         * docs/gst/tmpl/gstxml.sgml:
7103         * gst/gsterror.c:
7104         * gst/gsterror.h:
7105         * gst/gstfilter.c:
7106         * gst/gsturi.c:
7107         * gst/gsturitype.c:
7108         * gst/gstutils.c:
7109         * gst/gstxml.c:
7110           inlined more docs, fixed double id-ref
7111
7112 2005-08-31  Wim Taymans  <wim@fluendo.com>
7113
7114         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7115         (gst_base_transform_handle_buffer):
7116         Passthrough elements don't need the caps as they don't care.
7117
7118 2005-08-31  Wim Taymans  <wim@fluendo.com>
7119
7120         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7121         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
7122         Don't leak refcounts on buffers.
7123
7124 2005-08-31  Wim Taymans  <wim@fluendo.com>
7125
7126         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
7127         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
7128         (gst_base_transform_chain), (gst_base_transform_change_state):
7129         * gst/base/gstbasetransform.h:
7130         Handle the case where we are not negotiated more gracefully.
7131
7132 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
7133
7134         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
7135         (gst_file_src_map_region):
7136           Set READONLY flag on mmap'ed buffers, otherwise
7137           gst_buffer_make_writable() won't work properly (#314708).
7138
7139 2005-08-31  Wim Taymans  <wim@fluendo.com>
7140
7141         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
7142         passthrough elements can even do inplace on non writable
7143         buffers (as they don't touch them).
7144
7145 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7146
7147         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7148         (gst_test_mono_source_set_property),
7149         (gst_test_mono_source_class_init), (GST_START_TEST),
7150         (gst_controller_suite):
7151           more tests (hehe I have the most)
7152         * gst/gstbus.c:
7153           describe popping messages whenusing mulltiple sources
7154         * libs/gst/controller/gst-controller.c:
7155         (gst_controlled_property_set_interpolation_mode),
7156         (gst_controlled_property_new):
7157         * libs/gst/controller/gst-controller.h:
7158         * libs/gst/controller/gst-interpolation.c:
7159           implement boolean properties
7160
7161 2005-08-31  Wim Taymans  <wim@fluendo.com>
7162
7163         * gst/gstminiobject.c: (gst_mini_object_ref):
7164         Cannot assert that the refcount has to be positive
7165         since a disposed object can be resurrected.
7166
7167 2005-08-31  Wim Taymans  <wim@fluendo.com>
7168
7169         * gst/gstpad.c: (gst_pad_init):
7170         Revert change, need to first fix badly behaving 
7171         apps.
7172
7173 2005-08-30  Wim Taymans  <wim@fluendo.com>
7174
7175         * check/elements/fakesrc.c: (setup_fakesrc):
7176         * check/elements/identity.c: (setup_identity):
7177         Activate pads before using them.
7178
7179 2005-08-30  Wim Taymans  <wim@fluendo.com>
7180
7181         * gst/base/gstadapter.c: (gst_adapter_flush):
7182         Flushing out 0 bytes is ok for this function.
7183
7184         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7185         no newsegment gives a warning and sets the start/stop to 
7186         invalid.
7187
7188         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
7189         (gst_base_transform_set_passthrough):
7190         Some debug info.
7191
7192         * gst/gstminiobject.c: (gst_mini_object_ref):
7193         Check refcount here too.
7194
7195         * gst/gstpad.c: (gst_pad_init):
7196         Pads are initially flushing and refusing data.
7197
7198         * gst/gstutils.c: (gst_element_link_pads_filtered):
7199         When adding a capsfilter element make sure it has the
7200         same state as the parent bin.
7201
7202 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7203
7204         * docs/gst/tmpl/.cvsignore:
7205         * docs/gst/tmpl/gstformat.sgml:
7206         * docs/gst/tmpl/gstversion.sgml:
7207         * gst/gstbus.h:
7208         * gst/gstformat.c:
7209         * gst/gstformat.h:
7210         * gst/gstversion.h.in:
7211           more docs and two more inlined
7212
7213 2005-08-30  Wim Taymans  <wim@fluendo.com>
7214
7215         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
7216         Don't sync to clock.
7217
7218 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7219
7220         * docs/gst/gstreamer-sections.txt:
7221           ultral33t func10ns deserve to appear in the docs actually
7222         * docs/gst/tmpl/.cvsignore:
7223         * docs/gst/tmpl/gstcompat.sgml:
7224         * docs/gst/tmpl/gstconfig.sgml:
7225         * gst/check/gstcheck.c:
7226         * gst/gstcompat.h:
7227         * gst/gstconfig.h.in:
7228           inlined more docs
7229
7230 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7231
7232         * docs/gst/tmpl/.cvsignore:
7233         * docs/gst/tmpl/gstquery.sgml:
7234         * docs/gst/tmpl/gstutils.sgml:
7235         * gst/gstquery.c:
7236         * gst/gstquery.h:
7237           inlined and extended docs
7238
7239 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7240
7241         * check/gst-libs/controller.c: (GST_START_TEST),
7242         (gst_controller_suite):
7243           more tests
7244         * docs/gst/tmpl/gstutils.sgml:
7245         * docs/libs/gstreamer-libs-sections.txt:
7246         * docs/libs/tmpl/gstdataprotocol.sgml:
7247           include path fixes
7248         * examples/controller/audio-example.c: (main):
7249           controller example works now
7250         * gst/gstclock.h:
7251           doc fixes
7252         * tools/gst-inspect.c: (print_element_properties_info):
7253           show param spec flags
7254
7255 2005-08-29  Andy Wingo  <wingo@pobox.com>
7256
7257         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
7258
7259 2005-08-28  Andy Wingo  <wingo@pobox.com>
7260
7261         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
7262         as having two arguments instead of just one. Allows superclasses
7263         to access information on subclasses -- see the terrible for() loop
7264         in gtype.c:g_type_create_instance for the reason why. All callers
7265         changed.
7266
7267 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7268
7269         * docs/design/part-messages.txt:
7270           update info
7271         * docs/gst/tmpl/.cvsignore:
7272         * docs/gst/tmpl/gstcaps.sgml:
7273         * docs/gst/tmpl/gstclock.sgml:
7274         * gst/gstbus.c:
7275         * gst/gstcaps.c:
7276         * gst/gstcaps.h:
7277         * gst/gstclock.c:
7278         * gst/gstclock.h:
7279         * gst/gstmessage.c:
7280           added descriptions for bus and message
7281           inline caps and clock docs
7282
7283 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7284
7285         * gst/gstmessage.c:
7286         * gst/gstmessage.h:
7287           doc fixes
7288
7289 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7290
7291         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7292           fix div-by-zero
7293
7294 2005-08-26  Andy Wingo  <wingo@pobox.com>
7295
7296         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
7297         element_set_state's return val.
7298         (test_2_elements): Add test that's been disabled for months.
7299
7300         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
7301         can-activate-pull properties.
7302
7303         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
7304         can-activate-pull properties. Implement is_seekable so fakesrc can
7305         operate in pull mode.
7306
7307         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7308         properties.
7309         (gst_base_sink_activate, gst_base_sink_activate_pull)
7310         (gst_base_sink_activate_push): Make activation mode choosing work.
7311         Cleanups.
7312         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7313         is right. Make pull mode work. Post an eos before pausing in pull
7314         mode.
7315         (gst_base_sink_change_state): Pay attention to the core's
7316         change_state() return val.
7317         
7318         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7319         has-getrange properties. Cleanups.
7320         
7321         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7322         has_getrange and replace with can_activate_pull and
7323         can_activate_push.
7324
7325         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7326         locking comments. Remove has_loop, has_chain and replace with
7327         can_activate_pull and can_activate_push.
7328
7329 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
7330
7331         * configure.ac:
7332         * examples/Makefile.am:
7333         * examples/metadata/Makefile.am:
7334         * examples/metadata/read-metadata.c: (message_loop),
7335         (have_pad_handler), (make_pipeline), (print_tag), (main):
7336           Add metadata reading example that loops over a list of filenames,
7337           dumping any tags found.
7338
7339         * gst/gstbus.c: (gst_bus_dispose):
7340         * gst/gstelement.c: (gst_element_dispose):
7341           Release a few potentially-held references in dispose.
7342
7343 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7344
7345         * docs/gst/tmpl/gstminiobject.sgml:
7346           do *not* add tmpl/*.sgml files to CVS!
7347
7348 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7349
7350         * libs/gst/bytestream/.cvsignore:
7351         * libs/gst/bytestream/Makefile.am:
7352         * libs/gst/bytestream/adapter.c:
7353         * libs/gst/bytestream/adapter.h:
7354         * libs/gst/bytestream/bytestream.c:
7355         * libs/gst/bytestream/bytestream.h:
7356         * libs/gst/bytestream/filepad.c:
7357         * libs/gst/bytestream/filepad.h:
7358           removing obsolete files
7359
7360 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7361
7362         * docs/gst/gstreamer-docs.sgml:
7363         * docs/libs/gstreamer-libs-docs.sgml:
7364           disabed additional index entries again, as this makes docs-gen just
7365           slow and they aren't useful yet
7366         * docs/libs/gstreamer-libs-sections.txt:
7367           little -section.txt cleanup for libs
7368
7369 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7370
7371         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7372         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7373           fix up some debugging
7374         (gst_base_transform_get_unit_size),
7375         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7376         (gst_base_transform_handle_buffer):
7377         * gst/base/gstbasetransform.h:
7378           handle and store timed NEWSEGMENT events so that subclasses that
7379           calculate time by counting samples have a segment_start time they
7380           need to add to their timestamps - see audioresample
7381
7382 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7383
7384         * gst/gstbin.h:
7385           removed ';' from the end of macro defs
7386         * docs/gst/gstreamer-docs.sgml:
7387         * docs/gst/gstreamer-sections.txt:
7388         * docs/gst/tmpl/.cvsignore:
7389         * gst/gstbus.h:
7390         * gst/gstelement.c: (gst_element_class_init),
7391         (gst_element_set_state), (activate_pads),
7392         (gst_element_save_thyself):
7393         * gst/gstevent.c: (gst_event_new_newsegment):
7394         * gst/gstevent.h:
7395         * gst/gstiterator.c:
7396         * gst/gstiterator.h:
7397         * gst/gstpad.c:
7398         * gst/gstprobe.h:
7399         * gst/gstutils.c: (gst_pad_query_convert):
7400         * gst/gstutils.h:
7401           fixed parameter name mismatches between source, header and docs
7402           added some more docs, resolved the last batch of unused elements in
7403           docs (now someone needs to doc them)
7404
7405 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7406
7407         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7408         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7409           don't walk through the plugins backwards.  Where is all this
7410           reversed logic coming from ?
7411
7412 2005-08-25  Wim Taymans  <wim@fluendo.com>
7413
7414         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7415         (gst_base_transform_transform_size),
7416         (gst_base_transform_configure_caps),
7417         (gst_base_transform_get_unit_size),
7418         (gst_base_transform_buffer_alloc),
7419         (gst_base_transform_change_state):
7420         * gst/base/gstbasetransform.h:
7421         Cache caps unit_size.
7422         Make sure we cannot negotiate up and downstream at the
7423         same time.
7424
7425 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7426
7427         * gst/gst.c: (init_pre), (init_post):
7428           register the installed plugin path after the env var
7429         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7430         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7431           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7432           directories, so the tests can prefer uninstalled over installed
7433
7434 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7435
7436         * gst/base/gstbasetransform.h:
7437           comment
7438         * gst/gstpad.c:
7439           add to docs
7440
7441 2005-08-25  Wim Taymans  <wim@fluendo.com>
7442
7443         * gst/gstbin.c: (bin_bus_handler):
7444         Be a bit more conservative about the posted message.
7445         
7446         * gst/gstbus.c: (gst_bus_post):
7447         Some cleanups, warn wrong return values.
7448
7449 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
7450
7451         * check/gst/gstbin.c: (GST_START_TEST):
7452         * gst/gstbin.c: (bin_bus_handler):
7453         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7454         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7455         (gst_message_new_warning), (gst_message_new_tag),
7456         (gst_message_new_state_changed), (gst_message_new_segment_start),
7457         (gst_message_new_segment_done), (gst_message_new_custom):
7458         * gst/gstmessage.h:
7459         * tools/gst-launch.c: (event_loop):
7460         * tools/gst-md5sum.c: (event_loop):
7461           Revert unpopular change for GST_MESSAGE_SRC to GObject.
7462
7463 2005-08-25  Wim Taymans  <wim@fluendo.com>
7464
7465         * check/generic/states.c: (GST_START_TEST):
7466         Cleanup can be done at the end.
7467
7468         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7469         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7470         (gst_task_get_state), (gst_task_start), (gst_task_pause):
7471         Oh boy.. Thanks for finding this, Thomas. 
7472
7473 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7474
7475         * docs/gst/gstreamer.types:
7476           added missing types
7477
7478 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7479
7480         * docs/gst/gstreamer-docs.sgml:
7481         * docs/gst/gstreamer-sections.txt:
7482         * docs/gst/tmpl/.cvsignore:
7483         * gst/gstbin.c:
7484         * gst/gstiterator.c:
7485         * gst/gstutils.c:
7486         * gst/registries/gstxmlregistry.h:
7487           added missing classes and symbols (123 more to go)
7488           removed removed symbols from section file
7489           fixed many doc-comments
7490
7491 2005-08-24  Wim Taymans  <wim@fluendo.com>
7492
7493         * check/generic/states.c: (GST_START_TEST):
7494         Make sure all tasks are stopped.
7495
7496         * check/gst/gstbin.c: (GST_START_TEST):
7497         Unref after usage for proper valgrinding.
7498
7499         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
7500         Really wait for the task to stop before destroying the
7501         mutex.
7502
7503         * gst/gstqueue.c: (gst_queue_sink_activate_push),
7504         (gst_queue_src_activate_push):
7505         Small cleanups. Don't stop the task when we did not start
7506         it.
7507
7508         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
7509         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7510         (gst_task_get_state), (gst_task_start), (gst_task_pause),
7511         (gst_task_join):
7512         * gst/gsttask.h:
7513         Protect the stream lock with the object lock.
7514         Disallow setting the stream lock when running.
7515         Add cleanup_all to wait for the threadpool to finish.
7516         Remove code to autoallocate a mutex if none was provided.
7517         Add _join() to wait for a task to stop.
7518         Protect the thread pool with a global lock.
7519
7520 2005-08-24  Wim Taymans  <wim@fluendo.com>
7521
7522         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7523         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7524         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
7525         * gst/base/gstbasesink.h:
7526         Handle newsegment events correctly.
7527         Drop buffers out of the segment range.
7528
7529 2005-08-22  Andy Wingo  <wingo@pobox.com>
7530
7531         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
7532         macro, implements an interface and gstimplementsinterface for a
7533         new type.
7534
7535 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7536
7537         * check/Makefile.am:
7538         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
7539           add a test that does a bunch of state changes on elements
7540           needs some fixing for valgrind
7541         * check/states/sinks.c: (gst_object_suite):
7542           whitespace
7543         * gst/gstcaps.h:
7544           add prototype for gst_caps_is_equal_fixed
7545         * gst/gstplugin.c:
7546         * gst/gstregistrypool.c:
7547           doc fixes
7548
7549 2005-08-24  Andy Wingo  <wingo@pobox.com>
7550
7551         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
7552         convert a negative value. Doesn't make much sense. Mostly this is
7553         here to force callers to ensure -1 maps to -1.
7554
7555 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7556
7557         * docs/pwg/advanced-types.xml:
7558           Well done to Michael for catching my deliberate introduction
7559           of this spelling mistake. 
7560         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
7561         * gst/gstelement.h:
7562           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
7563           unlink pads before removing the element from the bin.
7564
7565 2005-08-24  Andy Wingo  <wingo@pobox.com>
7566
7567         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
7568         the same thing as GST_DEBUG=*:4.
7569         (parse_debug_level, parse_debug_category): New helper parsers.
7570
7571 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7572
7573         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7574         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
7575         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
7576         (gst_base_transform_buffer_alloc),
7577         (gst_base_transform_handle_buffer):
7578           use gboolean return values and pointers to size so we can use the
7579           full GST_BUFFER_SIZE range (guint) for buffer sizes
7580           use GstPadDirection for transform_caps
7581         * gst/base/gstbasetransform.h:
7582           rename get_size to get_unit_size since that's what it is
7583         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
7584           use GstPadDirection for transform_caps
7585         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7586         * gst/gstutils.h:
7587           cleanup and debugging
7588
7589 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7590
7591         * gst/gstelement.c: (gst_element_class_init),
7592         (gst_element_set_state), (activate_pads),
7593         (gst_element_save_thyself):
7594         * tools/gst-compprep.c: (main):
7595         * tools/gst-inspect.c: (print_element_properties_info):
7596         * tools/gst-xmlinspect.c: (print_element_properties):
7597           Fixed long standing mem-leak
7598
7599 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7600
7601         * check/gst/gstbin.c: (GST_START_TEST):
7602         * gst/gstbin.c: (bin_bus_handler):
7603         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7604         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7605         (gst_message_new_warning), (gst_message_new_tag),
7606         (gst_message_new_state_changed), (gst_message_new_segment_start),
7607         (gst_message_new_segment_done), (gst_message_new_custom):
7608         * gst/gstmessage.h:
7609         * tools/gst-launch.c: (event_loop):
7610         * tools/gst-md5sum.c: (event_loop):
7611           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
7612           that applications can sensibly post custom messages with references
7613           to their own objects.
7614
7615 2005-08-24  Andy Wingo  <wingo@pobox.com>
7616
7617         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
7618         already.
7619
7620 2005-08-24  Wim Taymans  <wim@fluendo.com>
7621
7622         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7623         (gst_base_transform_transform_caps),
7624         (gst_base_transform_transform_size),
7625         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7626         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7627         (gst_base_transform_handle_buffer):
7628         * gst/base/gstbasetransform.h:
7629         Many fixes and new features added by Thomas. Can now also do
7630         transforms with variable sizes and a custom fixate_caps function.
7631
7632 2005-08-24  Wim Taymans  <wim@fluendo.com>
7633
7634         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7635         Some debugging.
7636
7637         * gst/gstclock.h:
7638         Cast to ClockTime before formatting to time.
7639
7640         * gst/gstutils.h:
7641         Cleanups.
7642
7643 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7644
7645         * check/gst-libs/controller.c: (GST_START_TEST),
7646         (gst_controller_suite):
7647         * docs/gst/tmpl/gstcaps.sgml:
7648         * docs/gst/tmpl/gstghostpad.sgml:
7649         * docs/gst/tmpl/gstquery.sgml:
7650         * docs/gst/tmpl/gstutils.sgml:
7651         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
7652         (gst_object_sink_values), (gst_object_get_value_arrays),
7653         (gst_object_get_value_array):
7654           gracefully handle helper method calls to objects that are not beeing
7655           controlled, added test case for that          
7656
7657 2005-08-23  Wim Taymans  <wim@fluendo.com>
7658
7659         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
7660         (gst_event_new_newsegment), (gst_event_parse_newsegment),
7661         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
7662         (gst_event_parse_qos), (gst_event_new_seek),
7663         (gst_event_parse_seek):
7664         * gst/gstevent.h:
7665         Some more debugging output and doc cleanups.
7666
7667         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7668         Fix possible deadlock.
7669
7670 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7671
7672         * docs/gst/gstreamer-docs.sgml:
7673         * docs/gst/gstreamer-sections.txt:
7674         * docs/gst/gstreamer.types:
7675         * docs/gst/tmpl/.cvsignore:
7676         * gst/gstbin.h:
7677         * gst/gstbus.c:
7678         * gst/gstelement.c:
7679         * gst/gstevent.h:
7680           added 100 symbols from gstreamer-unused.txt to the right sections
7681           fixed more broken comments
7682           added GstBus to docs
7683
7684 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7685
7686         * docs/gst/gstreamer-sections.txt:
7687         * docs/gst/tmpl/.cvsignore:
7688         * docs/gst/tmpl/gstbin.sgml:
7689         * docs/gst/tmpl/gstbuffer.sgml:
7690         * gst/base/gstbasesrc.c:
7691         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
7692         * gst/gstbuffer.c:
7693         * gst/gstbuffer.h:
7694         * tools/gst-launch.1.in:
7695           inlined more doc comments, added missing comments and fixed comments
7696           fixed typos
7697
7698 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7699
7700         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7701           some debugging
7702         * gst/gstcaps.h:
7703           whitespace fixes
7704         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
7705           more debugging
7706         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
7707         * gst/gststructure.h:
7708           add a fixate function for booleans; add a FIXME that these func
7709           names should probably be gst_structure_fixate_*
7710
7711 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7712
7713         * docs/gst/gstreamer-docs.sgml:
7714         * docs/gst/gstreamer-sections.txt:
7715         * gst/Makefile.am:
7716         * gst/gstbin.c: (gst_bin_get_type),
7717         (gst_bin_child_proxy_get_child_by_index),
7718         (gst_bin_child_proxy_get_children_count),
7719         (gst_bin_child_proxy_init):
7720         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
7721         (gst_child_proxy_get_child_by_index),
7722         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
7723         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
7724         (gst_child_proxy_get), (gst_child_proxy_set_property),
7725         (gst_child_proxy_set_valist), (gst_child_proxy_set),
7726         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
7727         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
7728         * gst/gstchildproxy.h:
7729         * gst/parse/grammar.y:
7730         * tools/gst-inspect.c: (print_interfaces),
7731         (print_element_properties_info), (print_element_info):
7732           ported gstchildproxy over from 0.8
7733           ported gst-inspect fixes and enhancements over from 0.8
7734
7735 2005-08-22  Wim Taymans  <wim@fluendo.com>
7736
7737         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7738         (gst_base_transform_handle_buffer):
7739         Also call the transform function if we have ANY caps.
7740
7741         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
7742         Fix debug info.
7743
7744 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7745
7746         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
7747           Don't pretend to handle seek events if the source is not seekable
7748
7749 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7750
7751         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7752           Remove extra parameter to debug output
7753
7754         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7755         (gst_base_src_do_seek), (gst_base_src_activate_push):
7756           Fix seek event handling.
7757
7758         * gst/gstpipeline.c: (gst_pipeline_change_state):
7759         * gst/gstqueue.c: (gst_queue_handle_sink_event),
7760         (gst_queue_src_activate_push):
7761           Don't start the src pad task on FLUSH_STOP if the pad
7762           isn't linked.
7763           Debug changes.
7764
7765 2005-08-22  Wim Taymans  <wim@fluendo.com>
7766
7767         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
7768         Added check for gst_static_caps_get() refcounting.
7769
7770 2005-08-22  Wim Taymans  <wim@fluendo.com>
7771
7772         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
7773         Make _static_caps_get() refcounting sane.
7774         
7775         * gst/gstelement.c: (gst_element_set_state):
7776         Add g_return_val_if_fail() to protect against segfaults.
7777
7778 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
7779
7780         * docs/gst/tmpl/gstevent.sgml:
7781         * gst/gstevent.c:
7782         * gst/gstevent.h:
7783           inlined remaining docs, added missing doc comments
7784
7785 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7786
7787         * check/gst/gstbin.c: (GST_START_TEST):
7788           since we don't know when preroll is done, use refcount range
7789           check for the sink
7790         * gst/check/gstcheck.h:
7791           add macro for checking refcount range
7792
7793 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7794
7795         * check/Makefile.am:
7796           clean up environment for when registry gets built versus
7797           when actual tests are run; valgrind seems to not report
7798           leaks if GST_PLUGIN_PATH is set to some specific values
7799         * check/gst/gstbin.c: (GST_START_TEST):
7800           add more refcounting checks; maybe this exposes a
7801           preroll lock bug ?
7802         * common/check.mak:
7803         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7804         * gst/check/gstcheck.h:
7805         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
7806         (gst_bin_change_state):
7807         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
7808           add/fix debugging/whitespace
7809
7810 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7811
7812         * check/gst/gstevent.c: (event_probe), (test_event),
7813         (GST_START_TEST):
7814          Er, don't call gst_bin_watch_for_state_change you idiot.
7815
7816 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7817
7818         * check/Makefile.am:
7819           Use CHECK_CFLAGS and CHECK_LIBS
7820         * check/gst/gstevent.c: (event_probe), (test_event),
7821         (GST_START_TEST):
7822           Don't leak events.
7823         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7824         (gst_base_src_start), (gst_base_src_stop),
7825         (gst_base_src_activate_push), (gst_base_src_activate_pull),
7826         (gst_base_src_change_state):
7827           Sprinkle gst_base_src_stop liberally around error paths to fix
7828           problems reusing a source after failed state changes.
7829         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7830         (helper_find_suggest), (gst_type_find_helper):
7831           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
7832         * gst/gstevent.h:
7833         * docs/gst/tmpl/gstevent.sgml:
7834           Migrate part of the docs from the SGML file. Wait for ensonic to
7835           tell me how I did it wrong ;)
7836         * tools/gst-typefind.c: (main):
7837           Extra robustness to state changes between files.
7838
7839 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7840
7841         * check/Makefile.am:
7842           don't valgrind the controller test - it's leaking - Stefan, HELP
7843         * gst/check/gstcheck.c: (gst_check_message_error),
7844         (gst_check_chain_func), (gst_check_setup_element),
7845         (gst_check_teardown_element), (gst_check_setup_src_pad),
7846         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
7847         (gst_check_teardown_sink_pad):
7848         * gst/check/gstcheck.h:
7849           add a bunch of methods to set up elements, and src and sink pads
7850         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
7851         * check/elements/identity.c: (setup_identity), (cleanup_identity),
7852         (GST_START_TEST):
7853           use them
7854         * gst/gstmessage.c:
7855         * gst/gsttag.h:
7856           whitespace/doc fixes
7857
7858 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7859
7860         * gst/gstelement.h:
7861           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
7862           be handled by the application and not always printed as well
7863
7864 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7865
7866         * check/Makefile.am:
7867           set GST_TOOLS_DIR
7868         * gst/check/gstcheck.c: (gst_check_message_error):
7869         * gst/check/gstcheck.h:
7870           add a fail_unless_equals_int
7871           add fail_unless for error messages
7872
7873 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7874
7875         * check/Makefile.am:
7876         * check/gst.supp:
7877         * common/Makefile.am:
7878         * common/check.mak:
7879         * common/gst.supp:
7880           factor out some of the common stuff so we can use it
7881
7882 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7883
7884         * check/Makefile.am:
7885         * check/gst/gstiterator.c: (GST_START_TEST):
7886         * check/gst/gstsystemclock.c: (GST_START_TEST),
7887         (gst_systemclock_suite):
7888         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7889         * gst/gstclock.c:
7890           valgrind more tests
7891
7892 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7893
7894         * check/elements/.cvsignore:
7895         * check/elements/gstfakesrc.c:
7896           rename to name of element
7897         * check/elements/identity.c: (chain_func), (event_func),
7898         (setup_identity), (cleanup_identity), (GST_START_TEST),
7899         (identity_suite), (main):
7900           add a test for identity
7901         * check/Makefile.am:
7902         * pkgconfig/Makefile.am:
7903         * pkgconfig/gstreamer-check.pc.in:
7904         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7905         * gst/check:
7906         * gst/Makefile.am:
7907         * configure.ac:
7908           move the check stuff to a library that gets installed
7909         * check/gst-libs/controller.c: (GST_START_TEST):
7910         * check/gst-libs/gdp.c:
7911         * check/gst/gst.c: (GST_START_TEST):
7912         * check/gst/gstbin.c:
7913         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7914         * check/gst/gstbus.c:
7915         * check/gst/gstcaps.c: (GST_START_TEST):
7916         * check/gst/gstelement.c:
7917         * check/gst/gstghostpad.c:
7918         * check/gst/gstiterator.c:
7919         * check/gst/gstmessage.c:
7920         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
7921         * check/gst/gstobject.c:
7922         * check/gst/gstpad.c: (GST_START_TEST):
7923         * check/gst/gststructure.c: (GST_START_TEST):
7924         * check/gst/gstsystemclock.c: (GST_START_TEST),
7925         (gst_systemclock_suite):
7926         * check/gst/gsttag.c: (gst_tag_suite):
7927         * check/gst/gstvalue.c:
7928         * check/pipelines/cleanup.c:
7929         * check/pipelines/simple_launch_lines.c:
7930         * check/states/sinks.c:
7931           change include statement
7932
7933         * docs/gst/gstreamer-sections.txt:
7934         * docs/gst/tmpl/gstpad.sgml:
7935           document more pad stuff
7936         * gst/gstminiobject.c: (gst_mini_object_ref),
7937         (gst_mini_object_unref):
7938           debug refcounting
7939
7940 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
7941
7942         * docs/gst/tmpl/gst.sgml:
7943         * gst/gst.c:
7944           eliminate another tmpl file, fix spelling in the long-description
7945
7946 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7947
7948         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7949         (test_event), (timediff), (gstevents_suite):
7950           Should fix build on 64-bit arch's
7951
7952 2005-08-18  Andy Wingo  <wingo@pobox.com>
7953
7954         Make sure that when a pipeline goes to PLAYING, that data has
7955         actually hit the sink.
7956
7957         * check/states/sinks.c (test_sink): A sink that doesn't get any
7958         data shouldn't return SUCCESS for going to either PLAYING or
7959         PAUSED. Test also the return values on the way back down.
7960
7961         * gst/gstelement.c (gst_element_set_state): When changing the
7962         state of an element currently changing state asynchronously, go to
7963         lost-state after commiting the pending state. Makes future calls
7964         to get_state continue to return ASYNC.
7965
7966         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
7967         ASYNC when going to PLAYING if we still don't have preroll, as can
7968         happen with live sources.
7969
7970 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7971
7972         * docs/pwg/advanced-types.xml:
7973           Hack long paragraph into 2 chunks as a workaround for buggy
7974           jadetex version in sid and breezy that loops infinitely and
7975           eats all RAM.
7976
7977 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7978
7979         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7980         (test_event), (timediff), (gstevents_suite):
7981           Provide more error margin in clock measurements to allow for 
7982           g_get_current_time inaccuracies.
7983
7984 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7985
7986         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7987         (test_event), (timediff), (gstevents_suite):
7988            Fix error message output so I might be able to tell why the
7989            test works here but fails on the build farm.
7990
7991 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7992
7993         * check/Makefile.am:
7994         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7995         (test_event), (timediff), (gstevents_suite), (main):
7996           I wrote a test!
7997
7998         * docs/design/part-seeking.txt:
7999           Spelling correction
8000
8001         * docs/gst/tmpl/gstevent.sgml:
8002         * docs/gst/tmpl/gstfakesrc.sgml:
8003           Docs updates.
8004
8005         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8006           Treat a buffer-without-newsegment the same as a receiving 
8007           a newsegment not in time format, and disable syncing to the clock
8008           with a warning.
8009
8010         * gst/gstbus.c: (gst_bus_set_sync_handler):
8011           Assert if anyone tries to replace the existing sync_handler for bus, 
8012           as only the owner should be setting it.
8013
8014         * gst/gstevent.h:
8015           Have a fixed set of custom event enums with events identified by
8016           their structure name (as in 0.8), rather than a free-for-all
8017           allowing collisions between enum values from different plugins.
8018
8019         * gst/gstpad.c: (gst_pad_class_init):
8020           Docs change.
8021           
8022         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8023           Handle out-of-band downstream events from the sending thread.
8024
8025 2005-08-17  Andy Wingo  <wingo@pobox.com>
8026
8027         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
8028         play-timeout==0 to mean no timeout at all. In that case, don't
8029         bother with a get_state or a warning, just return directly, even
8030         if it's ASYNC.
8031
8032         * gst/base/gstbasetransform.c: Debug changes.
8033
8034         * gst/gstutils.h:
8035         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
8036         ensure bins post state change messages. A bit of a hack but I can't
8037         think of a way to avoid it.
8038
8039         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
8040
8041 2005-08-16  Andy Wingo  <wingo@pobox.com>
8042
8043         * gst/base/gstadapter.h:
8044         * gst/base/gstadapter.c (gst_adapter_take): New function, like
8045         peek() but you own the data. Not terribly efficient atm.
8046
8047 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8048
8049         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
8050         (gst_element_found_tags):
8051         * gst/gstutils.h:
8052           Add two utility functions for tag handling.
8053
8054 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8055
8056         * docs/manual/advanced-dataaccess.xml:
8057         * docs/manual/basics-helloworld.xml:
8058           Fix docs to use _bin_add() before _link(), which fixes the examples
8059           with recent core versions (reported by Madhan Raj M
8060           <raj_madan@rediffmail.com>, #313199).
8061
8062 2005-08-16  Wim Taymans  <wim@fluendo.com>
8063
8064         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8065         Added subtract checks.
8066
8067         * docs/design/part-events.txt:
8068         Some more docs about newsegment
8069
8070         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8071         Fix FIXME
8072
8073         * gst/gstcaps.c: (gst_caps_to_string):
8074         Add comments, cleanups.
8075         
8076         * gst/gstelement.c: (gst_element_save_thyself):
8077         cleanups
8078         
8079         * gst/gstvalue.c: (gst_value_collect_int_range),
8080         (gst_string_unwrap), (gst_value_union_int_int_range),
8081         (gst_value_union_int_range_int_range),
8082         (gst_value_intersect_int_int_range),
8083         (gst_value_intersect_int_range_int_range),
8084         (gst_value_intersect_double_double_range),
8085         (gst_value_intersect_double_range_double_range),
8086         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
8087         (gst_value_subtract_int_range_int),
8088         (gst_value_subtract_double_range_double),
8089         (gst_value_subtract_double_range_double_range),
8090         (gst_value_subtract_from_list), (gst_value_subtract_list),
8091         (gst_value_can_compare), (gst_value_compare_fraction):
8092         Cleanups, add comments, remove unneeded asserts.
8093
8094 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8095
8096         * tools/gst-launch.c: (event_loop):
8097           don't convert NULL structures to strings
8098
8099 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
8100
8101         * docs/gst/gstreamer-sections.txt:
8102           made some defines private
8103         * docs/gst/tmpl/gstconfig.sgml:
8104         * docs/gst/tmpl/gstqueue.sgml:
8105         * docs/gst/tmpl/gsttaglist.sgml:
8106         * docs/gst/tmpl/gsttypes.sgml:
8107         * docs/gst/tmpl/gstutils.sgml:
8108         * docs/pwg/appendix-porting.xml:
8109         * gst/base/gstbasesink.h:
8110         * gst/base/gstbasesrc.c:
8111         * gst/base/gstbasesrc.h:
8112         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
8113         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
8114         * gst/gstelement.c: (gst_element_class_init):
8115         * gst/gstpad.c: (gst_pad_class_init):
8116         * gst/gstqueue.c: (gst_queue_class_init):
8117         * gst/gstxml.c: (gst_xml_class_init):
8118           documented all undocumented signal inline
8119         * libs/gst/controller/gst-controller.h:
8120           added padding
8121
8122 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8123
8124         * docs/pwg/appendix-porting.xml:
8125           Document _set_link_function -> _set_setcaps_function.
8126
8127 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8128
8129         * check/Makefile.am:
8130           add a .check target for running the check
8131         * check/gst-libs/controller.c: (GST_START_TEST):
8132           cosmetic fixups
8133         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8134           complete checks for gstbuffer; would be nice if I could get the
8135           gcov stuff to work so I can see if I actually completed gstbuffer.c
8136         * check/gstcheck.h:
8137           add ASSERT_BUFFER_REFCOUNT
8138
8139 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
8140
8141         * docs/gst/gstreamer-sections.txt:
8142         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
8143         * gst/gsttag.h:
8144           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
8145           spew out a warning if a tag that is already registered
8146           is re-registered, unless it is re-registered with a 
8147           different type (#308438).
8148
8149 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
8150
8151         * docs/pwg/appendix-porting.xml:
8152         * docs/pwg/building-state.xml:
8153           Add some paragraphs about state changes in 0.9 to the PWG
8154           and the porting guide, in particular about the new meaning
8155           of GST_STATE_PAUSED and how to write state change functions
8156           with concurrent access by multiple threads in mind.
8157
8158 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
8159
8160         * docs/gst/gstreamer-docs.sgml:
8161         * docs/libs/gstreamer-libs-docs.sgml:
8162           added deprecation and since indexes
8163         * libs/gst/controller/gst-controller.c:
8164         * libs/gst/controller/gst-helper.c:
8165           added since tags
8166
8167
8168 2005-08-11  Wim Taymans  <wim@fluendo.com>
8169
8170         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
8171         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
8172         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
8173         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
8174         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
8175         (gst_ghost_pad_set_target):
8176         Actually implement (re)setting the target on a ghostpad
8177         as described in the docs.
8178
8179 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8180
8181         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
8182           Check whether GST_DEBUG_NO_COLOR environment variable is
8183           set and disable coloured debug output if that is the case.
8184
8185 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8186
8187         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8188         (gst_type_find_helper):
8189           The memory returned by gst_type_find_peek() needs to
8190           stay valid until the end of a typefind function, and
8191           typefind functions may keep results from different 
8192           offsets around, so we can't just unref the buffer from
8193           the previous _peek(), but have to save all buffers 
8194           returned by _peek() until typefinding is done and only
8195           free them then.
8196
8197 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
8198
8199         * docs/gst/gstreamer-sections.txt:
8200         * gst/gstutils.h:
8201           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
8202
8203 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8204
8205         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8206           Fix a pretty good memleak.
8207
8208 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8209
8210         * gst/gstiterator.h:
8211           Fix wrong include and 'make distcheck'.
8212
8213 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8214
8215         * gst/gstbin.c: (bin_bus_handler):
8216           Use gst_element_post_message() instead.
8217
8218 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8219
8220         * gst/base/gstadapter.h:
8221         * gst/base/gstbasesink.h:
8222         * gst/base/gstbasesrc.h:
8223         * gst/base/gstbasetransform.h:
8224         * gst/base/gstcollectpads.h:
8225         * gst/base/gstpushsrc.h:
8226         * gst/gstiterator.h:
8227           Add padding to our base elements' class and instance structs and
8228           to GstIterator (you will need to rebuild all plugins and apps!)
8229
8230 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8231
8232         * gst/gstbin.c: (bin_bus_handler):
8233           Make default message forwarding from child->bus to bin->bus
8234           threadsafe and make it not emit warnings if the parent has no bus.
8235
8236 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8237
8238         * gst/gstelement.c: (activate_pads):
8239           On paused->ready, set pad->caps to NULL, as is the documented
8240           behaviour in this state change. Fixes playback of series of
8241           media files when visualization is enabled in Totem.
8242
8243 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8244
8245         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8246           Allow NULL as filter-caps (which means "any").
8247
8248 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8249
8250         * docs/libs/gstreamer-libs-sections.txt:
8251         * libs/gst/controller/gst-controller.c:
8252         * libs/gst/controller/gst-controller.h:
8253         * libs/gst/controller/gst-helper.c:
8254           adding more entries to the docs and fix small doc-bugs
8255
8256 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8257
8258         * docs/gst/gstreamer-docs.sgml:
8259         * docs/gst/gstreamer-sections.txt:
8260         * docs/gst/gstreamer.types:
8261         * docs/gst/tmpl/gstbasesink.sgml:
8262         * docs/gst/tmpl/gstbasesrc.sgml:
8263         * docs/gst/tmpl/gstbasetransform.sgml:
8264         * docs/gst/tmpl/gstfakesrc.sgml:
8265         * gst/base/gstcollectpads.c:
8266         * gst/base/gstcollectpads.h:
8267         * libs/gst/controller/gst-controller.c:
8268         * libs/gst/controller/gst-controller.h:
8269         * libs/gst/controller/gst-helper.c:
8270         * libs/gst/controller/gst-interpolation.c:
8271         * libs/gst/controller/lib.c:
8272           added long/short desc for controller docs
8273           added collectpads base class docs
8274           added correct includes to base-class docs
8275
8276 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8277
8278         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8279         (gst_test_mono_source_set_property),
8280         (gst_test_mono_source_class_init), (GST_START_TEST),
8281         (gst_controller_suite):
8282         * docs/gst/gstreamer-docs.sgml:
8283         * docs/gst/gstreamer-sections.txt:
8284         * docs/gst/gstreamer.types:
8285         * docs/libs/gstreamer-libs-docs.sgml:
8286         * docs/libs/gstreamer-libs-sections.txt:
8287         * gst/base/gstadapter.c:
8288         * libs/gst/controller/gst-controller.c:
8289         (gst_controlled_property_new), (gst_controlled_property_free),
8290         (gst_controller_new_valist),
8291         (gst_controller_remove_properties_valist),
8292         (gst_controller_sink_values), (_gst_controller_finalize):
8293         * libs/gst/controller/gst-controller.h:
8294         * libs/gst/controller/gst-helper.c:
8295         (gst_object_control_properties), (gst_object_uncontrol_properties),
8296         (gst_object_get_controller), (gst_object_set_controller),
8297         (gst_object_sink_values), (gst_object_get_value_arrays),
8298         (gst_object_get_value_array):
8299           more tests (and fixes) for the controller
8300           more docs for the controller
8301           integrated companies docs for the adapter 
8302
8303 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8304
8305         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8306         (GST_START_TEST), (fakesrc_suite):
8307           add tests for sizetype
8308
8309 2005-08-04  Andy Wingo  <wingo@pobox.com>
8310
8311         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8312         fixes buffer_alloc proxying among other things.
8313
8314         * gst/base/gstbasetransform.c:
8315         * gst/base/gstbasetransform.h:
8316         Revert patch to gstbasetransform from 7-28 removing
8317         delay_configure.
8318
8319         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8320         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8321         Semantics changed, should return not the size of the output buffer
8322         but the byte size of a buffer with a given caps.
8323
8324         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8325         debug object.
8326         (gst_base_transform_configure_caps): Don't set out_size here: (in,
8327         out) are not the pad caps until setcaps finishes.
8328         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8329         not-in-place case as well. Deal with changing from in-place to
8330         not-in-place within calling pad_alloc_buffer. Still a bit
8331         concerned about the overhead here...
8332
8333 2005-08-03  Andy Wingo  <wingo@pobox.com>
8334
8335         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8336         fixating is an error.
8337
8338 2005-08-04  Edward Hervey  <edward@fluendo.com>
8339
8340         * gst/base/gstadapter.h: 
8341         Added gst_adapter_get_type() to the header
8342
8343 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8344
8345         * check/Makefile.am:
8346         * check/gst-libs/controller.c:
8347         * libs/gst/controller/gst-controller.c:
8348         (gst_controller_new_valist):
8349           added check test suite for the controller
8350         * gst/base/gstpushsrc.c:
8351           fixed a doc typo
8352
8353 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8354
8355         * docs/gst/Makefile.am:
8356         * docs/gst/gstreamer-docs.sgml:
8357         * docs/gst/gstreamer-sections.txt:
8358         * docs/gst/gstreamer.types:
8359         * docs/gst/tmpl/gstfakesrc.sgml:
8360         * gst/base/README:
8361         * gst/base/gstbasesink.c:
8362         * gst/base/gstbasesink.h:
8363         * gst/base/gstbasesrc.c:
8364         * gst/base/gstbasesrc.h:
8365         * gst/base/gstbasetransform.c:
8366         * gst/base/gstpushsrc.c:
8367         * gst/base/gstpushsrc.h:
8368           add short/long description docs to base classes
8369           add pushsrc to the docs
8370           remove consolidated doc fragments
8371
8372 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8373
8374         * configure.ac:
8375         * docs/libs/Makefile.am:
8376         * docs/libs/gstreamer-libs-docs.sgml:
8377         * docs/libs/gstreamer-libs-sections.txt:
8378         * docs/libs/gstreamer-libs.types:
8379         * examples/Makefile.am:
8380         * examples/controller/.cvsignore:
8381         * examples/controller/Makefile.am:
8382         * examples/controller/audio-example.c: (main):
8383         * libs/gst/Makefile.am:
8384         * libs/gst/controller/.cvsignore:
8385         * libs/gst/controller/Makefile.am:
8386         * libs/gst/controller/gst-controller.c:
8387         (on_object_controlled_property_changed), (gst_timed_value_compare),
8388         (gst_timed_value_find),
8389         (gst_controlled_property_set_interpolation_mode),
8390         (gst_controlled_property_new), (gst_controlled_property_free),
8391         (gst_controller_find_controlled_property),
8392         (gst_controller_new_valist), (gst_controller_new),
8393         (gst_controller_remove_properties_valist),
8394         (gst_controller_remove_properties), (gst_controller_set),
8395         (gst_controller_set_from_list), (gst_controller_unset),
8396         (gst_controller_get), (gst_controller_get_all),
8397         (gst_controller_sink_values), (gst_controller_get_value_arrays),
8398         (gst_controller_get_value_array),
8399         (gst_controller_set_interpolation_mode),
8400         (_gst_controller_finalize), (_gst_controller_init),
8401         (_gst_controller_class_init), (gst_controller_get_type):
8402         * libs/gst/controller/gst-controller.h:
8403         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8404         (g_object_uncontrol_properties), (g_object_get_controller),
8405         (g_object_set_controller), (g_object_sink_values),
8406         (g_object_get_value_arrays), (g_object_get_value_array):
8407         * libs/gst/controller/gst-interpolation.c:
8408         (gst_controlled_property_find_timed_value_node),
8409         (interpolate_none_get), (interpolate_trigger_get),
8410         (interpolate_trigger_get_value_array):
8411         * libs/gst/controller/lib.c: (gst_controller_init):
8412         * pkgconfig/Makefile.am:
8413         * pkgconfig/gstreamer-control-uninstalled.pc.in:
8414         * pkgconfig/gstreamer-control.pc.in:
8415         * testsuite/Makefile.am:
8416         * testsuite/controller/.cvsignore:
8417         * testsuite/controller/Makefile.am:
8418         * testsuite/controller/interpolator.c: (main):
8419           added controller code
8420           removed dparam pc files
8421
8422 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8423         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8424         (gst_collectpads_stop):
8425           Broadcast the condition when shutting down, to make sure we wake all
8426           threads up. Shut down pads on finalize, for safety.
8427
8428 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8429         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8430         (gst_base_transform_handle_buffer),
8431         (gst_base_transform_change_state):
8432           Handle PAUSED->READY->PAUSED transition after negotiation
8433           occurred already.
8434         * gst/gstmessage.c: (gst_message_init):
8435           Extra piece of debug for new messages.
8436
8437 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
8438
8439         * configure.ac:
8440         * docs/gst/tmpl/gstbasesrc.sgml:
8441         * docs/gst/tmpl/gstelement.sgml:
8442         * docs/gst/tmpl/gstevent.sgml:
8443         * docs/gst/tmpl/gstfakesrc.sgml:
8444         * docs/gst/tmpl/gstformat.sgml:
8445         * docs/gst/tmpl/gstghostpad.sgml:
8446         * docs/gst/tmpl/gstpad.sgml:
8447         * docs/gst/tmpl/gstquery.sgml:
8448         * docs/gst/tmpl/gststructure.sgml:
8449         * docs/gst/tmpl/gsttaglist.sgml:
8450         * docs/gst/tmpl/gstvalue.sgml:
8451         * docs/libs/gstreamer-libs-docs.sgml:
8452         * docs/libs/gstreamer-libs-sections.txt:
8453         * docs/libs/gstreamer-libs.types:
8454         * libs/gst/Makefile.am:
8455         * libs/gst/control/.cvsignore:
8456         * libs/gst/control/Makefile.am:
8457         * libs/gst/control/control.c:
8458         * libs/gst/control/control.h:
8459         * libs/gst/control/dparam.c:
8460         * libs/gst/control/dparam.h:
8461         * libs/gst/control/dparam_smooth.c:
8462         * libs/gst/control/dparam_smooth.h:
8463         * libs/gst/control/dparamcommon.h:
8464         * libs/gst/control/dparammanager.c:
8465         * libs/gst/control/dparammanager.h:
8466         * libs/gst/control/dplinearinterp.c:
8467         * libs/gst/control/dplinearinterp.h:
8468         * libs/gst/control/unitconvert.c:
8469         * libs/gst/control/unitconvert.h:
8470         * testsuite/Makefile.am:
8471         * testsuite/dynparams/.cvsignore:
8472         * testsuite/dynparams/Makefile.am:
8473         * testsuite/dynparams/dparamstest.c:
8474         * tools/Makefile.am:
8475         * tools/gst-inspect.c: (print_element_info), (main):
8476         * tools/gst-xmlinspect.c: (print_element_info), (main):
8477           deactivate and remove dparams (libgstcontrol)
8478
8479 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8480
8481         * gst/elements/gsttypefindelement.c:
8482         (gst_type_find_element_have_type), (gst_type_find_element_init),
8483         (stop_typefinding), (gst_type_find_element_handle_event),
8484         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8485         * gst/elements/gsttypefindelement.h:
8486           Set caps on all outgoing buffers, not just the first one.
8487
8488 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8489
8490         * gst/elements/gsttypefindelement.c:
8491         (gst_type_find_element_have_type),
8492         (gst_type_find_element_check_set_buffer_caps),
8493         (gst_type_find_element_init), (stop_typefinding),
8494         (gst_type_find_element_handle_event),
8495         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8496         * gst/elements/gsttypefindelement.h:
8497           Set caps on first outgoing buffer when we've found the type.
8498
8499 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8500
8501         * docs/gst/gstreamer-docs.sgml:
8502         * docs/gst/gstreamer-sections.txt:
8503         * docs/gst/tmpl/gstscheduler.sgml:
8504         * docs/gst/tmpl/gstschedulerfactory.sgml:
8505           Remove some old cruft from docs.
8506
8507 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
8508
8509         * gst/gstpad.h:
8510           Fix inline docs for GstPadLinkReturn.
8511           
8512         * gst/gststructure.c: (gst_structure_has_name):
8513         * gst/gststructure.h:
8514         * docs/gst/gstreamer-sections.txt:
8515           New API: gst_structure_has_name().
8516
8517 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
8518
8519         * configure.ac:
8520           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
8521           and _LARGEFILE_SOURCE in config.h as required. Do not 
8522           export those flags in our .pc files any longer (#142209).
8523
8524           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
8525
8526         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
8527         (gst_file_sink_do_seek), (gst_file_sink_event),
8528         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8529           Redo seek/tell calls with large file support in mind; add some
8530           debugging messages; add log message that tells us when large
8531           file support is unavailable or not enabled for some reason.
8532
8533         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
8534           Add log message that tells us when large file support 
8535           is unavailable or not enabled for some reason.
8536
8537 2005-07-29  Wim Taymans  <wim@fluendo.com>
8538
8539         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8540         Added test for removing an element with ghostpad from a bin.
8541         Fixed test as current implementation does the right thing.
8542
8543         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
8544         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
8545         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
8546         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
8547         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
8548         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8549         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8550         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8551         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
8552         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
8553         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
8554         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
8555         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8556         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
8557         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
8558         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8559         * gst/gstghostpad.h:
8560         Clean up ghostpads, remove properties for internal stuff.
8561         Make threadsafe.
8562         Fix refcounting.
8563         Prepare for switching targets, not all use cases work yet.
8564
8565 2005-07-29  Wim Taymans  <wim@fluendo.com>
8566
8567         * docs/design/part-gstghostpad.txt:
8568         Small update.
8569
8570         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8571         (gst_bin_remove_func):
8572         Unlinking pads while holding the bin LOCK is not a good
8573         idea.
8574
8575         * gst/gstpad.c: (gst_pad_class_init),
8576         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
8577         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
8578         No prob setting template after creating the pad.
8579
8580 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
8581
8582         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
8583         (gst_bus_peek), (gst_bus_source_dispatch),
8584         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
8585         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
8586           gst_bus_poll may be called from other threads. Handle
8587           this nicely by not making poll_data disappear off the
8588           stack once gst_bus_poll returns.
8589           gst_bus_peek now increments the refcount on the returned
8590           message.
8591
8592 2005-07-29  Wim Taymans  <wim@fluendo.com>
8593
8594         * docs/design/part-gstghostpad.txt:
8595         Overview of current GhostPad datastructures and use
8596         cases for changing the target.
8597
8598 2005-07-28  Wim Taymans  <wim@fluendo.com>
8599
8600         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8601         Added checks for hierarchy consistency whan adding linked
8602         elements to bins.
8603
8604         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8605         Added check to test element scheduling without bin/pipeline.
8606
8607         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8608         First add elements to bin, then link.
8609         
8610         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8611         (gst_bin_remove_func):
8612         Unlink pads from elements added/removed from bin to maintain
8613         hierarchy consistency.
8614
8615 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8616
8617         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8618         (gst_base_transform_handle_buffer):
8619         * gst/base/gstbasetransform.h:
8620           Remove broken delay_configure (fixes renegotiation of software
8621           scaling pipelines); remove some leftover printf()s.
8622
8623 2005-07-28  Wim Taymans  <wim@fluendo.com>
8624
8625         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8626         Added some more tests for wrong hierarchy
8627
8628         * docs/design/part-overview.txt:
8629         Some updates.
8630
8631         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
8632         Cleanups.
8633
8634         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
8635         (gst_element_dispose):
8636         Some more cleanups.
8637
8638         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8639         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
8640         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8641         (gst_pad_set_caps), (gst_pad_send_event):
8642         Check for correct hierarchy when linking pads. Moving to
8643         strict requirement for ghostpads when linking elements in
8644         different bins.
8645
8646         * gst/gstpad.h:
8647         Clean ups. Added WRONG_HIERARCHY return value.
8648
8649 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8650
8651         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8652           Better debug if no transform is possible.
8653
8654 2005-07-27  Wim Taymans  <wim@fluendo.com>
8655
8656         * docs/random/wtay/network-transp:
8657         Some old doc I had.
8658
8659 2005-07-27  Wim Taymans  <wim@fluendo.com>
8660
8661         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8662         (gst_dp_event_from_packet):
8663         Fix serialization of seek events.
8664
8665 2005-07-27  Wim Taymans  <wim@fluendo.com>
8666
8667         * check/gst-libs/gdp.c: (GST_START_TEST):
8668         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8669         Fix compilation and fix event serialization.
8670
8671 2005-07-27  Wim Taymans  <wim@fluendo.com>
8672
8673         * CHANGES-0.9:
8674         * docs/design/part-TODO.txt:
8675         * docs/design/part-events.txt:
8676         Some docs updates
8677
8678         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8679         (gst_base_sink_event), (gst_base_sink_do_sync),
8680         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8681         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8682         (gst_base_src_do_seek), (gst_base_src_event_handler),
8683         (gst_base_src_loop):
8684         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8685         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8686         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8687         (gst_base_transform_event), (gst_base_transform_handle_buffer),
8688         (gst_base_transform_set_passthrough),
8689         (gst_base_transform_is_passthrough):
8690         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8691         * gst/elements/gstfilesink.c: (gst_file_sink_event):
8692         Event updates.
8693
8694         * gst/gstbuffer.h:
8695         Use faster casts.
8696
8697         * gst/gstelement.c: (gst_element_seek):
8698         * gst/gstelement.h:
8699         Update gst_element_seek.
8700
8701         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
8702         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
8703         (gst_event_new_flush_start), (gst_event_new_flush_stop),
8704         (gst_event_new_eos), (gst_event_new_newsegment),
8705         (gst_event_parse_newsegment), (gst_event_new_tag),
8706         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
8707         (gst_event_parse_qos), (gst_event_new_seek),
8708         (gst_event_parse_seek), (gst_event_new_navigation):
8709         * gst/gstevent.h:
8710         Make GstEvent use GstStructure. Add parsing code, make sure the
8711         API is sufficiently generic.
8712         Mark possible directions of events and serialization.
8713
8714         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
8715         (_gst_message_copy), (gst_message_new_segment_start),
8716         (gst_message_new_segment_done), (gst_message_new_custom),
8717         (gst_message_parse_segment_start),
8718         (gst_message_parse_segment_done):
8719         Small cleanups.
8720
8721         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8722         (gst_pad_set_caps), (gst_pad_send_event):
8723         Update for new events. 
8724         Catch events sent in wrong directions.
8725
8726         * gst/gstqueue.c: (gst_queue_link_src),
8727         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
8728         (gst_queue_handle_src_query):
8729         Event updates.
8730
8731         * gst/gsttag.c:
8732         * gst/gsttag.h:
8733         Remove event code from this file.
8734
8735         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8736         (gst_dp_event_from_packet):
8737         Event updates.
8738
8739 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8740
8741         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
8742         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8743         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
8744           Make debugging actually useful.
8745
8746 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8747
8748         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
8749         (gst_pad_fixate_caps):
8750           Implement default fixation once again, so that gst_pad_fixate()
8751           actually does anything at all. This probably needs to be some
8752           sort of a last resort, and use profile-based fixation first, but
8753           since that doesn't exist yet, this is the best we have. Fixes
8754           visualization in Totem.
8755
8756 2005-07-22  Wim Taymans  <wim@fluendo.com>
8757
8758         * docs/design/part-events.txt:
8759         Small update.
8760
8761         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8762         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
8763         (gst_base_sink_activate_pull):
8764         Some more comments.
8765
8766         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
8767         (gst_fake_src_create):
8768         Fix handoff marshall.
8769
8770         * gst/elements/gstidentity.c: (gst_identity_class_init),
8771         (gst_identity_transform_ip):
8772         We're a real inplace element.
8773
8774         * gst/gstbus.c: (gst_bus_post):
8775         Added some comments.
8776
8777         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
8778         * tests/muxing/case1.c: (main):
8779         * tests/sched/dynamic-pipeline.c: (main):
8780         * tests/sched/interrupt1.c: (main):
8781         * tests/sched/interrupt2.c: (main):
8782         * tests/sched/interrupt3.c: (main):
8783         * tests/sched/runxml.c: (main):
8784         * tests/sched/sched-stress.c: (main):
8785         * tests/seeking/seeking1.c: (event_received), (main):
8786         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
8787         (main):
8788         * tests/threadstate/threadstate3.c: (main):
8789         * tests/threadstate/threadstate4.c: (main):
8790         * tests/threadstate/threadstate5.c: (main):
8791         Fix the tests.
8792
8793 2005-07-21  Wim Taymans  <wim@fluendo.com>
8794
8795         * docs/design/part-seeking.txt:
8796         Some small additions.
8797
8798         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8799         (gst_base_sink_get_times), (gst_base_sink_do_sync),
8800         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8801         * gst/base/gstbasesink.h:
8802         discont values are gint64, handle the math correctly.
8803
8804         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8805         Make the basesrc report error if the source pad is not linked.
8806
8807         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8808         (gst_queue_loop), (gst_queue_handle_src_query),
8809         (gst_queue_src_activate_push):
8810         Make queue collect data even if the srcpad is not linked.
8811         Start pushing out data as soon as it is linked.
8812
8813         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
8814         * gst/gstutils.h:
8815         Added gst_flow_get_name() to ease error reporting.
8816
8817 2005-07-20  Wim Taymans  <wim@fluendo.com>
8818
8819         * gst/gstmessage.c: (gst_message_new_segment_start),
8820         (gst_message_new_segment_done), (gst_message_parse_segment_start),
8821         (gst_message_parse_segment_done):
8822         * gst/gstmessage.h:
8823         Added a bunch of messages for advanced seeking.
8824
8825         * gst/parse/grammar.y:
8826         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
8827         (gst_dpman_state_changed):
8828         Fix some new-pad -> pad-added signals
8829
8830 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8831
8832         * docs/manual/appendix-porting.xml:
8833         * docs/pwg/appendix-porting.xml:
8834           Document new-pad/state-change signal renames and the FixedList
8835           type rename.
8836
8837 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8838
8839         * docs/manual/advanced-autoplugging.xml:
8840         * docs/manual/basics-helloworld.xml:
8841         * docs/manual/basics-pads.xml:
8842         * docs/random/ds/0.9-suggested-changes:
8843         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
8844         * gst/gstelement.h:
8845         * gst/gstevent.h:
8846         * gst/gstformat.h:
8847         * gst/gstquery.h:
8848         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8849         (gst_structure_parse_array), (gst_structure_parse_value):
8850         * gst/gstvalue.c: (gst_type_is_fixed),
8851         (gst_value_list_prepend_value), (gst_value_list_append_value),
8852         (gst_value_list_get_size), (gst_value_list_get_value),
8853         (gst_value_transform_array_string), (gst_value_serialize_array),
8854         (gst_value_deserialize_array), (gst_value_intersect_array),
8855         (gst_value_is_fixed), (_gst_value_initialize):
8856         * gst/gstvalue.h:
8857           GstElement::new-pad -> pad-added, GstElement::state-change ->
8858           state-changed, GstValueFixedList -> GstValueArray, add format and
8859           flags as their own arguments in gst_element_seek() (should improve
8860           "bindeability"), remove function generators since they don't work
8861           under a whole bunch of compilers (they were deprecated already
8862           anyway).
8863
8864 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8865
8866         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
8867         (_gst_debug_register_funcptr):
8868         * gst/gstinfo.h:
8869           Fix illegal cast on some platforms (#309253).
8870
8871 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8872
8873         * gst/gstmessage.c: (gst_message_new_custom):
8874         * gst/gstmessage.h:
8875           Add _new_custom, make _new_application a macro to _new_custom.
8876
8877 2005-07-20  Wim Taymans  <wim@fluendo.com>
8878
8879         * gst/base/gstbasesrc.c: (gst_base_src_init),
8880         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8881         * gst/base/gstbasesrc.h:
8882         Add a gboolean to decide when to push out a discont.
8883
8884         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8885         (gst_queue_loop), (gst_queue_handle_src_query),
8886         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
8887         (gst_queue_set_property), (gst_queue_get_property):
8888         Some cleanups.
8889
8890         * tests/threadstate/threadstate1.c: (main):
8891         Make a thread test compile and run... very silly..
8892
8893
8894 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8895
8896         * docs/manual/appendix-porting.xml:
8897           Mention removal of libgstgconf-0.9.la and existence of gconf
8898           elements.
8899
8900 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8901
8902         * docs/pwg/advanced-clock.xml:
8903         * docs/pwg/appendix-porting.xml:
8904         * docs/pwg/intro-preface.xml:
8905         * docs/pwg/other-base.xml:
8906         * docs/pwg/other-manager.xml:
8907         * docs/pwg/other-nton.xml:
8908         * docs/pwg/other-ntoone.xml:
8909         * docs/pwg/other-oneton.xml:
8910         * docs/pwg/pwg.xml:
8911           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
8912           demuxer), remove n-to-n (was never written), fix some code examples
8913           and links and update the porting section to include all this.
8914
8915 2005-07-19  Wim Taymans  <wim@fluendo.com>
8916
8917         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
8918         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
8919         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
8920         (gst_queue_src_activate_push), (gst_queue_change_state),
8921         (gst_queue_get_property):
8922         * gst/gstqueue.h:
8923         Propagate GstFlowReturn more intelligently upstream and output
8924         an ERROR/EOS when streaming stopped due to fatal error.
8925
8926 2005-07-19  Wim Taymans  <wim@fluendo.com>
8927
8928         * tools/gst-launch.c: (check_intr), (event_loop), (main):
8929         Don't block forever for the state change to complete, the
8930         pipeline already did with a sensible timeout.
8931
8932 2005-07-19  Wim Taymans  <wim@fluendo.com>
8933
8934         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8935         Make sure we never call the create function is we
8936         got deactivated.
8937
8938 2005-07-19  Andy Wingo  <wingo@pobox.com>
8939
8940         * gst/parse/parse.l: Attempt to solve bug #172815.
8941
8942 2005-07-19  Wim Taymans  <wim@fluendo.com>
8943
8944         * docs/design/part-clocks.txt:
8945         * docs/design/part-events.txt:
8946         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
8947         Small docs updates.
8948         Only update the seeking values when we are not
8949         busy streaming.
8950
8951 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8952
8953         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8954           Oops, ignore the result of gst_pad_push_event here.
8955
8956 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8957
8958         * gst/base/gstbasesrc.c: (gst_base_src_loop),
8959         (gst_base_src_activate_push):
8960           Send discont event from the loop function, as pads
8961           aren't activated yet in the activate_push handler.
8962
8963         * gst/gstbin.c: (bin_bus_handler):
8964           Don't leak element name.
8965
8966 2005-07-18  Andy Wingo  <wingo@pobox.com>
8967
8968         * configure.ac: Use AS_LIBTOOL_TAGS.
8969
8970 2005-07-18  Wim Taymans  <wim@fluendo.com>
8971
8972         * docs/gst/gstreamer.types:
8973         Remove deleted types.
8974
8975 2005-07-18  Wim Taymans  <wim@fluendo.com>
8976
8977         * check/elements/gstfakesrc.c: (GST_START_TEST):
8978         * configure.ac:
8979         * gst/Makefile.am:
8980         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
8981         (init_popt_callback):
8982         * gst/gst.h:
8983         * gst/gst_private.h:
8984         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
8985         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
8986         * gst/gstbin.h:
8987         * gst/gstbus.h:
8988         * gst/gstconfig.h.in:
8989         * gst/gstelement.c: (gst_element_class_init),
8990         (gst_element_set_base_time), (gst_element_get_base_time),
8991         (iterator_fold_with_resync), (gst_element_change_state),
8992         (gst_element_dispose), (gst_element_get_bus):
8993         * gst/gstelement.h:
8994         * gst/gstelementfactory.h:
8995         * gst/gsterror.c: (_gst_core_errors_init):
8996         * gst/gsterror.h:
8997         * gst/gstevent.h:
8998         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8999         * gst/gstindex.c:
9000         * gst/gstinfo.c: (_gst_debug_init):
9001         * gst/gstmessage.c: (_gst_message_copy):
9002         * gst/gstmessage.h:
9003         * gst/gstminiobject.h:
9004         * gst/gstobject.c:
9005         * gst/gstobject.h:
9006         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9007         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
9008         * gst/gstpad.h:
9009         * gst/gstparse.h:
9010         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9011         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9012         (gst_pipeline_get_last_stream_time):
9013         * gst/gstpipeline.h:
9014         * gst/gstpluginfeature.h:
9015         * gst/gstquery.h:
9016         * gst/gstscheduler.c:
9017         * gst/gstscheduler.h:
9018         * gst/gststructure.h:
9019         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
9020         (gst_task_finalize), (gst_task_func), (gst_task_create),
9021         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
9022         (gst_task_stop), (gst_task_pause):
9023         * gst/gsttask.h:
9024         * gst/gsttypefind.h:
9025         * gst/gsttypes.h:
9026         * gst/registries/gstlibxmlregistry.c: (load_feature),
9027         (gst_xml_registry_load), (gst_xml_registry_save_feature):
9028         * gst/registries/gstxmlregistry.c:
9029         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
9030         * gst/schedulers/threadscheduler.c:
9031         * libs/gst/control/dparammanager.h:
9032         * tools/gst-inspect.c: (print_element_list),
9033         (print_plugin_features), (print_element_features):
9034         * tools/gst-xmlinspect.c: (print_element_list),
9035         (print_plugin_info), (main):
9036         Removed plugable schedulers.
9037         Removed Scheduler/Manager from elements.
9038         Removed gsttypes.h, rearranged includes.
9039         Removed dependency pad<->element, element<>pipeline, and
9040         various others,  fix includes.
9041         implement gst_pad_get_parent() with gst_object_get_parent()
9042         Make GstTask sefcontained.
9043         Fix _get_state() on GstBin, it did not return ASYNC with a 0
9044         timeout.
9045         Fix endless loop in iterator_fold_with_resync.
9046
9047
9048 2005-07-18  Wim Taymans  <wim@fluendo.com>
9049
9050         * gst/Makefile.am:
9051         * gst/gstarch.h:
9052         Remove old file.
9053
9054 2005-07-18  Wim Taymans  <wim@fluendo.com>
9055
9056         * gst/Makefile.am:
9057         No more cothreads.h
9058
9059 2005-07-18  Wim Taymans  <wim@fluendo.com>
9060
9061         * gst/cothreads.c:
9062         * gst/cothreads.h:
9063         Let's remove these.
9064
9065 2005-07-18  Wim Taymans  <wim@fluendo.com>
9066
9067         * docs/design/part-dynamic.txt:
9068         * docs/design/part-events.txt:
9069         * docs/design/part-seeking.txt:
9070         Some more docs in the works.
9071
9072         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9073         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
9074         (gst_base_transform_setcaps), (gst_base_transform_get_size),
9075         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
9076         (gst_base_transform_handle_buffer),
9077         (gst_base_transform_sink_activate_push),
9078         (gst_base_transform_src_activate_pull),
9079         (gst_base_transform_set_passthrough),
9080         (gst_base_transform_is_passthrough):
9081         Refcounting fixes.
9082
9083         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
9084         Cleanups.
9085
9086         * gst/gstevent.c: (gst_event_finalize):
9087         Set SRC to NULL.
9088
9089         * gst/gstutils.c: (gst_element_unlink),
9090         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
9091         (gst_pad_proxy_setcaps):
9092         * gst/gstutils.h:
9093         Add _get_parent_element() to get a pads parent as an element.
9094
9095 2005-07-18  Wim Taymans  <wim@fluendo.com>
9096
9097         * check/gst/gstbin.c: (GST_START_TEST):
9098         Remove bogus test.
9099
9100 2005-07-18  Wim Taymans  <wim@fluendo.com>
9101
9102         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9103         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9104         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9105         (gst_base_sink_event), (gst_base_sink_do_sync),
9106         (gst_base_sink_chain), (gst_base_sink_loop),
9107         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
9108         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
9109         Refcounting fixes.
9110         Fix logic for returning ASYNC when not prerolled.
9111
9112 2005-07-18  Wim Taymans  <wim@fluendo.com>
9113
9114         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9115         Fix nasty refcount bug.
9116
9117 2005-07-16 Philippe Khalaf <burger@speedy.org>
9118
9119         * gst/elements/gstfdsrc.c:
9120         * gst/elements/gstfdsrc.h:
9121         * gst/elements/gstelements.c:
9122         * gst/elements/Makefile.am:
9123         Ported fdsrc to 0.9.
9124
9125 2005-07-16  Wim Taymans  <wim@fluendo.com>
9126
9127         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9128         (gst_base_sink_do_sync):
9129         Fix compile error.
9130
9131 2005-07-16  Wim Taymans  <wim@fluendo.com>
9132
9133         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9134         (gst_base_sink_event), (gst_base_sink_get_times),
9135         (gst_base_sink_do_sync), (gst_base_sink_change_state):
9136         * gst/base/gstbasesink.h:
9137         Store and use discont values when syncing buffers as described
9138         in design docs.
9139         
9140         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9141         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
9142         (gst_base_src_activate_push):
9143         Push discont event when starting.
9144
9145         * gst/elements/gstidentity.c: (gst_identity_transform):
9146         Small cleanups.
9147
9148         * gst/gstbin.c: (gst_bin_change_state):
9149         Small cleanups in base_time  distribution.
9150
9151         * gst/gstelement.c: (gst_element_set_base_time),
9152         (gst_element_get_base_time), (gst_element_change_state):
9153         * gst/gstelement.h:
9154         Added methods for the base_time of the element.
9155         Some MT fixes.
9156
9157         * gst/gstpipeline.c: (gst_pipeline_send_event),
9158         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9159         (gst_pipeline_get_last_stream_time):
9160         * gst/gstpipeline.h:
9161         MT fixes.
9162         Handle seeking as described in design doc, remove stream_time
9163         hack.
9164         Cleanups clock and stream_time selection code. Added accessors
9165         for the stream_time.
9166         
9167
9168 2005-07-16  Andy Wingo  <wingo@pobox.com>
9169
9170         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
9171         (#305291).
9172
9173 2005-07-16  Wim Taymans  <wim@fluendo.com>
9174
9175         * check/gst/gstbin.c: (GST_START_TEST):
9176         Make elements silent as the deep_notify refs the
9177         parent, which might make the test fail.
9178
9179         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9180         Don't hold the lock for too long.
9181
9182 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
9183
9184         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9185           Don't unref the caps we passed to gst_caps_make_writable() after
9186           passing them. gst_caps_make_writable() will do that for us.
9187
9188 2005-07-15  Andy Wingo  <wingo@pobox.com>
9189
9190         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
9191         (#157311).
9192
9193         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
9194         own marshalling function for the handoff signal. Properly type the
9195         buffer as a buffer. Fixes some warnings. Should do a more general
9196         solution.
9197         (gst_identity_class_init): Plug into the right marshaller.
9198
9199 2005-07-15  Wim Taymans  <wim@fluendo.com>
9200
9201         * docs/design/part-TODO.txt:
9202         * docs/design/part-clocks.txt:
9203         * docs/design/part-element-sink.txt:
9204         * docs/design/part-events.txt:
9205         * docs/design/part-gstpipeline.txt:
9206         Updated docs, mostly DISCONT related.
9207
9208 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
9209
9210         * docs/pwg/building-pads.xml:
9211           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
9212
9213 2005-07-15  Andy Wingo  <wingo@pobox.com>
9214
9215         * tools/gst-typefind.c: Update, add copyright block.
9216
9217         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
9218         Normalize and truncate caps before fixation.
9219
9220         * gst/gstcaps.h:
9221         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
9222         discards all but the first structure from its argument.
9223
9224 2005-07-15  Wim Taymans  <wim@fluendo.com>
9225
9226         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9227         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
9228         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9229         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9230         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
9231         (gst_base_transform_chain), (gst_base_transform_change_state),
9232         (gst_base_transform_set_passthrough),
9233         (gst_base_transform_is_passthrough):
9234         * gst/base/gstbasetransform.h:
9235         Make passthrough work using the bufferpools.
9236         Changed API a bit, subclasses have to write into a buffer
9237         provided by the base class.
9238         More debug info in nego functions.
9239         
9240         * gst/elements/gstidentity.c: (gst_identity_init),
9241         (gst_identity_transform):
9242         Port to new base class.
9243
9244 2005-07-15  Wim Taymans  <wim@fluendo.com>
9245
9246         * gst/gstmessage.c: (gst_message_new_state_changed):
9247         * tools/gst-launch.c: (event_loop), (main):
9248         Totally dump messages in -launch with the -m option.
9249         Fix message name for State messages,
9250
9251 2005-07-14  Wim Taymans  <wim@fluendo.com>
9252
9253         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9254         Post error messages on errors.
9255
9256 2005-07-14  Wim Taymans  <wim@fluendo.com>
9257
9258         * gst/gstcaps.c: (gst_caps_do_simplify):
9259         Remove debug info.
9260
9261         * gst/gsterror.h:
9262         Define error for stream stopped.
9263
9264         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9265         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
9266         Do proper return values.
9267
9268         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9269         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
9270         (gst_pad_get_range):
9271         Better return values.
9272
9273         * gst/gstpad.h:
9274         Reorganise return values, add macro to check for fatal errors.
9275
9276         * gst/gstqueue.c: (gst_queue_chain):
9277         Return proper GstFlowReturn values,
9278
9279 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9280
9281         * docs/gst/gstreamer-sections.txt:
9282         * docs/gst/gstreamer.types:
9283         * docs/gst/tmpl/gst.sgml:
9284         * docs/gst/tmpl/gstbasesink.sgml:
9285         * docs/gst/tmpl/gstbasesrc.sgml:
9286         * docs/gst/tmpl/gstbasetransform.sgml:
9287         * docs/gst/tmpl/gstbin.sgml:
9288         * docs/gst/tmpl/gstbuffer.sgml:
9289         * docs/gst/tmpl/gstcaps.sgml:
9290         * docs/gst/tmpl/gstclock.sgml:
9291         * docs/gst/tmpl/gstcompat.sgml:
9292         * docs/gst/tmpl/gstconfig.sgml:
9293         * docs/gst/tmpl/gstelement.sgml:
9294         * docs/gst/tmpl/gstelementdetails.sgml:
9295         * docs/gst/tmpl/gstelementfactory.sgml:
9296         * docs/gst/tmpl/gstenumtypes.sgml:
9297         * docs/gst/tmpl/gsterror.sgml:
9298         * docs/gst/tmpl/gstevent.sgml:
9299         * docs/gst/tmpl/gstfakesink.sgml:
9300         * docs/gst/tmpl/gstfakesrc.sgml:
9301         * docs/gst/tmpl/gstfilesink.sgml:
9302         * docs/gst/tmpl/gstfilesrc.sgml:
9303         * docs/gst/tmpl/gstfilter.sgml:
9304         * docs/gst/tmpl/gstformat.sgml:
9305         * docs/gst/tmpl/gstghostpad.sgml:
9306         * docs/gst/tmpl/gstimplementsinterface.sgml:
9307         * docs/gst/tmpl/gstindex.sgml:
9308         * docs/gst/tmpl/gstindexfactory.sgml:
9309         * docs/gst/tmpl/gstinfo.sgml:
9310         * docs/gst/tmpl/gstiterator.sgml:
9311         * docs/gst/tmpl/gstmacros.sgml:
9312         * docs/gst/tmpl/gstmemchunk.sgml:
9313         * docs/gst/tmpl/gstminiobject.sgml:
9314         * docs/gst/tmpl/gstobject.sgml:
9315         * docs/gst/tmpl/gstpad.sgml:
9316         * docs/gst/tmpl/gstpadtemplate.sgml:
9317         * docs/gst/tmpl/gstparse.sgml:
9318         * docs/gst/tmpl/gstpipeline.sgml:
9319         * docs/gst/tmpl/gstplugin.sgml:
9320         * docs/gst/tmpl/gstpluginfeature.sgml:
9321         * docs/gst/tmpl/gstquery.sgml:
9322         * docs/gst/tmpl/gstqueue.sgml:
9323         * docs/gst/tmpl/gstregistry.sgml:
9324         * docs/gst/tmpl/gstregistrypool.sgml:
9325         * docs/gst/tmpl/gstscheduler.sgml:
9326         * docs/gst/tmpl/gstschedulerfactory.sgml:
9327         * docs/gst/tmpl/gststructure.sgml:
9328         * docs/gst/tmpl/gstsystemclock.sgml:
9329         * docs/gst/tmpl/gsttaglist.sgml:
9330         * docs/gst/tmpl/gsttagsetter.sgml:
9331         * docs/gst/tmpl/gsttrace.sgml:
9332         * docs/gst/tmpl/gsttrashstack.sgml:
9333         * docs/gst/tmpl/gsttypefind.sgml:
9334         * docs/gst/tmpl/gsttypefindfactory.sgml:
9335         * docs/gst/tmpl/gsttypes.sgml:
9336         * docs/gst/tmpl/gsturihandler.sgml:
9337         * docs/gst/tmpl/gsturitype.sgml:
9338         * docs/gst/tmpl/gstutils.sgml:
9339         * docs/gst/tmpl/gstvalue.sgml:
9340         * docs/gst/tmpl/gstversion.sgml:
9341         * docs/gst/tmpl/gstxml.sgml:
9342         * docs/libs/tmpl/gstcontrol.sgml:
9343         * docs/libs/tmpl/gstdataprotocol.sgml:
9344         * docs/libs/tmpl/gstdparam.sgml:
9345         * docs/libs/tmpl/gstdplinint.sgml:
9346         * docs/libs/tmpl/gstdpman.sgml:
9347         * docs/libs/tmpl/gstdpsmooth.sgml:
9348         * docs/libs/tmpl/gstgetbits.sgml:
9349         * docs/libs/tmpl/gstunitconvert.sgml:
9350         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9351         (gst_push_src_base_init), (gst_push_src_class_init),
9352         (gst_push_src_init), (gst_push_src_create):
9353         * gst/base/gstpushsrc.h:
9354         * gst/elements/gstelements.c:
9355         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9356         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9357         (gst_fake_sink_init), (gst_fake_sink_set_property),
9358         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9359         (gst_fake_sink_event), (gst_fake_sink_preroll),
9360         (gst_fake_sink_render), (gst_fake_sink_change_state):
9361         * gst/elements/gstfakesink.h:
9362         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9363         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9364         (gst_fake_src_base_init), (gst_fake_src_class_init),
9365         (gst_fake_src_init), (gst_fake_src_event_handler),
9366         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9367         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9368         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9369         (gst_fake_src_create_buffer), (gst_fake_src_create),
9370         (gst_fake_src_start), (gst_fake_src_stop):
9371         * gst/elements/gstfakesrc.h:
9372         * gst/elements/gstfilesink.c: (_do_init),
9373         (gst_file_sink_base_init), (gst_file_sink_class_init),
9374         (gst_file_sink_init), (gst_file_sink_dispose),
9375         (gst_file_sink_set_location), (gst_file_sink_set_property),
9376         (gst_file_sink_get_property), (gst_file_sink_open_file),
9377         (gst_file_sink_close_file), (gst_file_sink_query),
9378         (gst_file_sink_event), (gst_file_sink_render),
9379         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9380         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9381         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9382         * gst/elements/gstfilesink.h:
9383         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9384         (gst_file_src_class_init), (gst_file_src_init),
9385         (gst_file_src_finalize), (gst_file_src_set_location),
9386         (gst_file_src_set_property), (gst_file_src_get_property),
9387         (gst_file_src_map_region), (gst_file_src_map_small_region),
9388         (gst_file_src_create_mmap), (gst_file_src_create_read),
9389         (gst_file_src_create), (gst_file_src_is_seekable),
9390         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9391         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9392         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9393         (gst_file_src_uri_handler_init):
9394         * gst/elements/gstfilesrc.h:
9395           more autistic cleanliness in functions/names/defines
9396
9397 2005-07-13  Andy Wingo  <wingo@pobox.com>
9398
9399         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9400         source couldn't negotiate.
9401
9402         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9403         connections again.
9404
9405         * gst/gstutils.h:
9406         * gst/gstutils.c (gst_element_link_pads_filtered): New old
9407         function. I am channeling Hades. Put your boots on suckers!!!
9408
9409 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9410
9411         * testsuite/caps/Makefile.am:
9412         * testsuite/caps/value_compare.c:
9413         * testsuite/caps/value_intersect.c:
9414         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9415           move two testsuite apps over to the check dir
9416
9417 2005-07-12  Wim Taymans  <wim@fluendo.com>
9418
9419         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9420         Added more debug info in the negotiate process.
9421
9422         * gst/gstmessage.h:
9423         Prepare for segment playback.
9424
9425         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9426         Better debugging.
9427
9428         * gst/gstutils.c:
9429         Some more docs.
9430
9431         * tools/gst-launch.c: (main):
9432         NULL pipeline on errors.
9433
9434 2005-07-12  Andy Wingo  <wingo@pobox.com>
9435
9436         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9437         not it comes from a malloc region. Make sure our copy gets freed.
9438
9439 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9440
9441         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9442         * check/gst/gstmessage.c: (GST_START_TEST):
9443         * check/gst/gststructure.c: (GST_START_TEST),
9444         (gst_structure_suite), (main):
9445           more testing
9446         * gst/gstelement.c: (gst_element_message_full):
9447           clean up GError and debug string now that they get copied
9448         * gst/gstmessage.c: (gst_message_new_error),
9449         (gst_message_new_warning), (gst_message_parse_error),
9450         (gst_message_parse_warning):
9451           use GST_TYPE_G_ERROR for structure_new, and take copies of
9452           arguments, so that we don't mess up refcounting
9453
9454 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9455
9456         * check/Makefile.am:
9457           add per-test valgrind targets
9458         * check/gst-libs/gdp.c: (GST_START_TEST),
9459         (gst_data_protocol_suite), (main):
9460           clean up
9461
9462 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9463
9464         * check/Makefile.am:
9465           instate more valgrindable tests
9466         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9467         (GST_START_TEST), (fakesrc_suite):
9468         * check/gst/gstpad.c: (GST_START_TEST):
9469         * check/gst/gststructure.c: (GST_START_TEST):
9470           fix test leaks
9471         * docs/gst/tmpl/gstminiobject.sgml:
9472         * gst/gstpad.c: (gst_pad_finalize):
9473           fix the static mutex leak
9474
9475 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9476
9477         * check/Makefile.am:
9478           add two more tests for valgrinding
9479         * check/gst/gstvalue.c: (GST_START_TEST):
9480           test refcount of deserialized buffer, found a leak
9481         * docs/gst/gstreamer-docs.sgml:
9482         * docs/gst/gstreamer-sections.txt:
9483         * docs/gst/gstreamer.types:
9484         * docs/gst/tmpl/gstminiobject.sgml:
9485           add miniobject to docs
9486         * gst/gstminiobject.c:
9487           add some docs
9488         * gst/gstvalue.c: (gst_value_deserialize_buffer),
9489         (gst_string_unwrap):
9490           fix a hard-to-find invalid write for one of the tests
9491           fix a leak for deserialized buffers
9492
9493 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9494
9495         * docs/pwg/advanced-events.xml:
9496         * docs/pwg/advanced-request.xml:
9497         * docs/pwg/advanced-scheduling.xml:
9498         * docs/pwg/appendix-porting.xml:
9499         * docs/pwg/building-boiler.xml:
9500         * docs/pwg/intro-preface.xml:
9501         * docs/pwg/other-ntoone.xml:
9502           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
9503           of example code and explanation for pad activation, loop() and
9504           getrange() functions and a bit more. Remove old comments pointing
9505           to loop-functions.
9506         * examples/pwg/Makefile.am:
9507           Add loop/getrange examples.
9508
9509 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9510
9511         * configure.ac:
9512           check for valgrind binary + some fixes
9513         * check/gst.supp:
9514           valgrind suppressions for the tests
9515         * check/Makefile.am:
9516           add a valgrind: target that valgrinds the unit tests
9517         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
9518         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9519         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9520         * check/gst/gstghostpad.c:
9521           added some cleanup
9522         * check/gst/gstdata.c:
9523           removed
9524         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
9525         (thread_unref), (gst_mini_object_suite), (main):
9526           added
9527         * gst/gst.c: (gst_deinit):
9528         * gst/gst.h:
9529           add a method to clean up.
9530         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9531         (gst_system_clock_obtain):
9532           allow for disposing the system clock.
9533         * tools/gst-launch.c: (main):
9534           deinit
9535
9536 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9537
9538         * docs/gst/tmpl/gstbasesrc.sgml:
9539         * docs/gst/tmpl/gstfakesrc.sgml:
9540         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9541         (gst_base_src_init), (gst_base_src_set_property),
9542         (gst_base_src_get_property), (gst_base_src_get_range),
9543         (gst_base_src_start):
9544         * gst/base/gstbasesrc.h:
9545           add num-buffers property
9546         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9547         (gst_fakesrc_init), (gst_fakesrc_set_property),
9548         (gst_fakesrc_get_property), (gst_fakesrc_create),
9549         (gst_fakesrc_start):
9550           remove num-buffers property
9551
9552 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9553
9554         * docs/gst/gstreamer-sections.txt:
9555         * docs/gst/tmpl/gstbasesink.sgml:
9556         * docs/gst/tmpl/gstbasesrc.sgml:
9557         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9558         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9559         (gst_base_sink_finalize), (gst_base_sink_set_clock),
9560         (gst_base_sink_set_property), (gst_base_sink_get_property),
9561         (gst_base_sink_handle_object), (gst_base_sink_event),
9562         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9563         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
9564         (gst_base_sink_loop), (gst_base_sink_deactivate),
9565         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
9566         (gst_base_sink_change_state):
9567         * gst/base/gstbasesink.h:
9568         * gst/base/gstbasesrc.h:
9569         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
9570         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9571         (gst_filesink_init):
9572           more macro splitting
9573
9574 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9575
9576         * gst/gstelement.c: (gst_element_get_bus):
9577           add debug
9578         * tools/gst-launch.c: (check_intr), (event_loop):
9579           fix bus leaks
9580
9581 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9582
9583         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9584           fix a caps leak
9585
9586 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9587
9588         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9589         (gst_base_src_finalize):
9590           add finalize method and clean up properly
9591         * gst/gstpipeline.c: (gst_pipeline_dispose):
9592           add debug
9593
9594 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9595
9596         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
9597         (gst_bin_suite):
9598           add more things to check
9599         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9600         * gst/gstelement.c:
9601           more debug
9602
9603 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9604
9605         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9606         (GST_START_TEST), (fakesrc_suite):
9607         * check/gst-libs/gdp.c: (GST_START_TEST):
9608         * check/gst/gst.c: (GST_START_TEST):
9609         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9610         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9611         * check/gst/gstbus.c: (GST_START_TEST):
9612         * check/gst/gstcaps.c: (GST_START_TEST):
9613         * check/gst/gstdata.c: (GST_START_TEST):
9614         * check/gst/gstelement.c: (GST_START_TEST):
9615         * check/gst/gstghostpad.c: (GST_START_TEST):
9616         * check/gst/gstiterator.c: (GST_START_TEST):
9617         * check/gst/gstmessage.c: (GST_START_TEST):
9618         * check/gst/gstobject.c: (GST_START_TEST):
9619         * check/gst/gstpad.c: (GST_START_TEST):
9620         * check/gst/gststructure.c: (GST_START_TEST):
9621         * check/gst/gstsystemclock.c: (GST_START_TEST),
9622         (gst_systemclock_suite):
9623         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9624         * check/gst/gstvalue.c: (GST_START_TEST):
9625         * check/pipelines/cleanup.c: (GST_START_TEST):
9626         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9627         * check/states/sinks.c: (GST_START_TEST):
9628         * check/gstcheck.c: (gst_check_init):
9629         * check/gstcheck.h:
9630           add debugging category
9631           use GST_START_TEST now, so we add a debug line
9632
9633 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9634
9635         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
9636           add test for state change message on a bin
9637         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
9638           add another test
9639         * gst/gstbin.c: (gst_bin_init):
9640         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
9641         * gst/gstelement.c: (gst_element_post_message),
9642         (gst_element_set_state):
9643         * gst/gstelementfactory.c: (gst_element_factory_create):
9644         * gst/gstmessage.c: (gst_message_new):
9645         * gst/gstscheduler.c:
9646           various debugging additions and cleanups
9647
9648 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9649
9650         * check/Makefile.am:
9651         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
9652         (main):
9653           adding tests for elements
9654         * gst/gstelement.c: (gst_element_dispose):
9655
9656 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9657
9658         * gst/registries/gstlibxmlregistry.c: (load_feature):
9659           plug more leaks.  A simple gst_init() now is leakfree, yay.
9660
9661 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9662
9663         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
9664         (gst_xml_registry_load):
9665           plug another memleak
9666
9667 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9668
9669         * configure.ac:
9670           use GST_SET_ERROR_CFLAGS
9671         * docs/faq/cvs.xml:
9672           change to ERROR_CFLAGS
9673
9674 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9675
9676         * configure.ac:
9677           make GST_ERROR_CFLAGS overridable and re-enable Werror
9678         * docs/faq/cvs.xml:
9679           add a note about error CFLAGS
9680         * docs/gst/tmpl/gstfakesrc.sgml:
9681         * gst/elements/gstfakesrc.c:
9682           comment out some unused code
9683         * gst/gst.c: (split_and_iterate):
9684         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
9685         (load_feature):
9686           plug some memleaks
9687
9688 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9689
9690         * common/Makefile.am:
9691         * common/gtk-doc.mak:
9692         * docs/gst/Makefile.am:
9693           factor out gtk-doc.mak
9694
9695 2005-07-07  Wim Taymans  <wim@fluendo.com>
9696
9697         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
9698         (gst_thread_scheduler_dispose):
9699         Unlock the STREAM_LOCK completely.
9700
9701 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9702
9703         * check/Makefile.am:
9704         * check/elements/.cvsignore:
9705         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9706         (START_TEST), (fakesrc_suite), (main):
9707         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9708         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
9709         (gst_fakesrc_create), (gst_fakesrc_start):
9710         * gst/elements/gstfakesrc.h:
9711           adding a first element test
9712
9713 2005-07-07  Andy Wingo  <wingo@pobox.com>
9714
9715         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
9716         debug message.
9717
9718 2005-07-07  Wim Taymans  <wim@fluendo.com>
9719
9720         * gst/gstquery.c:
9721         * gst/gstquery.h:
9722         Remove old types
9723
9724 2005-07-07  Wim Taymans  <wim@fluendo.com>
9725
9726         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
9727         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
9728         Allow subclasses to implement their own negotiation.
9729
9730 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9731
9732         * docs/design/part-gstbin.txt:
9733         * docs/design/part-gstpipeline.txt:
9734           Update design notes to reflect the movement of
9735           responsibility for bus handling from GstPipeline to
9736           GstBin
9737
9738 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9739
9740         * configure.ac:
9741           Remove unnecessary queue2/3/4 examples.
9742
9743 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9744
9745         * examples/Makefile.am:
9746         * examples/helloworld/helloworld.c: (event_loop), (main):
9747         * examples/queue/queue.c: (event_loop), (main):
9748         * examples/queue2/queue2.c: (main):
9749           Update a couple of the examples to work again.
9750
9751         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9752         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
9753          Spelling corrections and extra debug.
9754         
9755         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
9756         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
9757         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
9758         * gst/gstbin.h:
9759         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9760         (gst_pipeline_change_state):
9761         * gst/gstpipeline.h:
9762           Move the bus handler for children to the GstBin, and create a
9763           separate bus for receiving messages from children to the one the
9764           bus sends 'upwards' on.
9765
9766 2005-07-06  Wim Taymans  <wim@fluendo.com>
9767
9768         * gst/base/README:
9769         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9770         (gst_base_sink_handle_object), (gst_base_sink_loop),
9771         (gst_base_sink_change_state):
9772         * gst/base/gstbasesink.h:
9773         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9774         (gst_base_src_init), (gst_base_src_setcaps),
9775         (gst_base_src_getcaps), (gst_base_src_loop),
9776         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
9777         (gst_base_src_start), (gst_base_src_change_state):
9778         * gst/base/gstbasesrc.h:
9779         Make basesrc negotiate.
9780         Handle the case where preroll fails in basesink.
9781         Update README.
9782
9783 2005-07-06  Wim Taymans  <wim@fluendo.com>
9784
9785         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
9786         Implement the fixate function.
9787         Clean up acceptcaps.
9788
9789 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9790
9791         * docs/pwg/building-filterfactory.xml:
9792         * docs/pwg/pwg.xml:
9793           Remove never-written filter-factory chapter; I'll add the various
9794           base classes to part 4 ("other element types") later on.
9795
9796 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9797
9798         * docs/pwg/advanced-negotiation.xml:
9799         * docs/pwg/building-boiler.xml:
9800         * docs/pwg/building-pads.xml:
9801         * docs/pwg/pwg.xml:
9802         * examples/pwg/Makefile.am:
9803           Add a chapter on caps negotiation, simplify the original code
9804           samples a bit w.r.t. caps negotiation, add link to the advanced
9805           section. Add a bunch of examples showing different use cases of
9806           different types of caps negotiation. Upstream renegotiation isn't
9807           fully documented yet since nobody knows how that works.
9808
9809 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9810
9811         * check/gst/gstpad.c:
9812         * check/gstcheck.c:
9813         * gst/gstpad.c: (gst_pad_get_internal_links_default):
9814           if pad has no parent, return NULL as list of internal links
9815
9816 2005-07-05  Andy Wingo  <wingo@pobox.com>
9817
9818         * gst/elements/gstfilesrc.c:
9819         * gst/elements/gstfakesrc.c: 
9820         * gst/base/gstpushsrc.c:
9821         * gst/base/gstbasesrc.h: 
9822         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
9823         
9824 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
9825
9826         * Makefile.am:
9827           better report generation target (lcov needs a patch)
9828
9829 2005-07-05  Andy Wingo  <wingo@pobox.com>
9830
9831         * gst/elements, testsuite: Null if we got it...
9832
9833 2005-07-05  Wim Taymans  <wim@fluendo.com>
9834
9835         * configure.ac:
9836         * libs/gst/dataprotocol/Makefile.am:
9837         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
9838         * libs/gst/dataprotocol/dataprotocol.h:
9839         * pkgconfig/Makefile.am:
9840         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
9841         * pkgconfig/gstreamer-dataprotocol.pc.in:
9842         Ported dataprotol to 0.9. 
9843         Added pkgconfig files.
9844
9845 2005-07-05  Andy Wingo  <wingo@pobox.com>
9846
9847         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
9848         Default to returning TRUE for the case when tranform_caps returns
9849         a fixed caps, like for identity or volume.
9850
9851         * check/gst/gstbus.c (pound_bus_with_messages): 
9852         * check/gst/gstmessage.c (START_TEST): 
9853         * check/pipelines/simple_launch_lines.c (got_handoff): Application
9854         message API change.
9855
9856         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
9857         logic weaks here: always run transform_caps, trying passthrough
9858         operation only if the original caps intersects with the transform.
9859
9860         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
9861         source and sink caps.
9862
9863         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
9864         Intersect the peer caps with the pad template before going into
9865         transform_caps.
9866         (gst_base_transform_transform_caps): More debugging.
9867
9868         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
9869         src argument.
9870
9871 2005-07-04  Edward Hervey  <edward@fluendo.com>
9872
9873         * gst/gstutils.c:
9874         * gst/gstutils.h:
9875         (gst_pad_add_*_probe): now returns the signal id for better wrapping
9876         in bindings.
9877
9878 2005-07-04  Andy Wingo  <wingo@pobox.com>
9879
9880         * check/gst/gstpad.c: Only set explicit caps on pads.
9881
9882 2005-07-01  Andy Wingo  <wingo@pobox.com>
9883
9884         * tests/network-clock.scm: Commentary update.
9885
9886         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
9887         Didn't really make sense, not implementable with basetransform,
9888         etc.
9889         (gst_identity_transform): Unref inbuf via make_writable. Feeble
9890         attempt at implementing the sync property, needs an unlock method.
9891
9892         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
9893         New func, by default returns the same caps (the identity
9894         transformation).
9895         (gst_base_transform_getcaps): Uses transform_caps to return
9896         something sensible.
9897         (gst_base_transform_setcaps): Complicated logic to get caps on
9898         both pads, even if they are different, and to call set_caps once
9899         for every time both pads get their caps set.
9900         (gst_base_transform_handle_buffer): Give the ref to the transform
9901         function. Allows in-place modification of the buffer.
9902
9903         * gst/base/gstbasetransform.h (transform_caps): New class method.
9904         Given caps on one side, what can I do on the other.
9905         (set_caps): Take two caps, one for each side of the element.
9906
9907         * gst/gstpad.h:
9908         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
9909         caps in place. This is safe because we can check the mutability of
9910         the caps, and a good idea because fixate functions are just called
9911         as a matter of last resort. (Not actually implemented.)
9912         (gst_pad_set_caps): If the caps we're setting is actually the same
9913         as the existing pad caps, just update the pointer without calling
9914         setcaps. Assert that caps is either NULL or fixed, as per the
9915         docs.
9916
9917         * gst/gstghostpad.c: Update for fixate changes.
9918
9919 2005-07-02  Andy Wingo  <wingo@pobox.com>
9920
9921         * gst/gstcaps.c:
9922         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
9923         two refcounts makes it immutable, which is enough. Doc more.
9924
9925 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
9926
9927         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
9928           Put the mini_object into GValue as a mini_object,
9929           not a gpointer, since that's how we declared
9930           the signal.
9931
9932 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9933
9934         * examples/pwg/Makefile.am:
9935           Fix buildbot again.
9936
9937 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9938
9939         * docs/pwg/building-testapp.xml:
9940           Add extra check.
9941         * examples/pwg/Makefile.am:
9942           Fix buildbot.
9943
9944 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9945
9946         * configure.ac:
9947         * examples/Makefile.am:
9948         * examples/pwg/Makefile.am:
9949         * examples/pwg/extract.pl:
9950           Enable building the PWG examples.
9951         * docs/pwg/advanced-interfaces.xml:
9952           Add URI interface stub.
9953         * docs/pwg/advanced-types.xml:
9954         * docs/pwg/other-autoplugger.xml:
9955         * docs/pwg/appendix-porting.xml:
9956         * docs/pwg/pwg.xml:
9957           Add porting guide (mostly stubs), remove autoplugging (see ADM).
9958         * docs/pwg/building-boiler.xml:
9959         * docs/pwg/building-chainfn.xml:
9960         * docs/pwg/building-pads.xml:
9961         * docs/pwg/building-props.xml:
9962         * docs/pwg/building-state.xml:
9963         * docs/pwg/building-testapp.xml:
9964           Update the building-*.xml parts for 0.9 changes. All examples
9965           code blocks compile in examples/pwg/*.
9966
9967 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9968
9969         * docs/manual/advanced-autoplugging.xml:
9970         * docs/manual/appendix-checklist.xml:
9971         * docs/manual/appendix-integration.xml:
9972         * docs/manual/highlevel-components.xml:
9973           Fix playbin/decodebin examples, update docs a bit, mention bus
9974           instead of signals in various places, mention kmplayer and
9975           kaffeine since they have a working GStreamer backend in the KDE
9976           section.
9977
9978 2005-06-30  Wim Taymans  <wim@fluendo.com>
9979
9980         * CHANGES-0.9:
9981         * docs/design/draft-ghostpads.txt:
9982         * docs/design/draft-push-pull.txt:
9983         * docs/design/draft-query.txt:
9984         * docs/design/part-TODO.txt:
9985         * docs/design/part-query.txt:
9986         Added CHANGES-0.9 doc, updated status of other docs.
9987         
9988         * gst/gstquery.h:
9989         Remove "hmm" macro
9990
9991 2005-06-30  Wim Taymans  <wim@fluendo.com>
9992
9993         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9994         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9995         (gst_base_sink_change_state):
9996         * gst/base/gstbasesink.h:
9997         Some tweaks, only EOS and a buffer complete a preroll.
9998
9999 2005-06-30  Andy Wingo  <wingo@pobox.com>
10000
10001         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
10002         activate_push down to the internal pad as well.
10003
10004 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
10005
10006         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10007
10008         * gst/gsttaginterface.c:
10009           Some documentation fixes (#307394 and #307397).
10010
10011 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
10012
10013         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10014
10015         * gst/gstvalue.c: (gst_value_intersect_list):
10016           Fix memleak (#309125).
10017
10018 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10019
10020         * docs/manual/advanced-dataaccess.xml:
10021           Fix fakesrc example to compile; doesn't work, bug somewhere...?
10022         * docs/manual/basics-pads.xml:
10023           Add reference for filtered caps to above chapter.
10024
10025 2005-06-30  Wim Taymans  <wim@fluendo.com>
10026
10027         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
10028         (gst_bin_change_state):
10029         Probes are gone.
10030         Lame attempt at making the state change function a bit
10031         more readable.
10032
10033 2005-06-30  Wim Taymans  <wim@fluendo.com>
10034
10035         * docs/design/part-clocks.txt:
10036         * docs/design/part-element-sink.txt:
10037         * docs/design/part-events.txt:
10038         * docs/design/part-preroll.txt:
10039         * docs/design/part-states.txt:
10040         Some more tweeks and additions to the docs.
10041
10042 2005-06-30  Wim Taymans  <wim@fluendo.com>
10043
10044         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10045         (default_have_data), (gst_pad_class_init), (gst_pad_init),
10046         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10047         (gst_pad_check_pull_range), (gst_pad_get_range),
10048         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
10049         * gst/gstpad.h:
10050         * gst/gstutils.c: (gst_atomic_int_set), (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         Removed atomic operations, use existing LOCK.
10055         Move exception handling out of main code path.
10056
10057 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10058
10059         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10060         (silly_return_true_function), (gst_pad_class_init),
10061         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10062         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
10063         (gst_pad_send_event):
10064           Fix accumulator, add default value by using _emitv() instead
10065           of _emit() for signal emission.
10066
10067 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10068
10069         * docs/manual/advanced-dataaccess.xml:
10070         * examples/manual/Makefile.am:
10071           Add probe example.
10072         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
10073           Make work (??).
10074
10075 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
10076
10077         * gst/elements/gstfilesink.c: (gst_filesink_render):
10078           Simplify code so that we don't have to handle short
10079           writes and return GST_FLOW_ERROR if an error occured.
10080
10081 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10082
10083         * docs/gst/gstreamer-docs.sgml:
10084           Remove probes more.
10085
10086 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10087
10088         * docs/gst/gstreamer-sections.txt:
10089         * docs/gst/tmpl/gstpad.sgml:
10090         * docs/gst/tmpl/gstprobe.sgml:
10091         * gst/Makefile.am:
10092         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10093         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
10094         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10095         (gst_pad_push_event), (gst_pad_send_event):
10096         * gst/gstpad.h:
10097         * gst/gstutils.c: (gst_pad_add_data_probe),
10098         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10099         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10100         (gst_pad_remove_buffer_probe):
10101         * gst/gstutils.h:
10102           Remove old probes, add new g-signal-based probes and some utility
10103           functions.
10104
10105 2005-06-29  Edward Hervey  <edward@fluendo.com>
10106
10107         * gst/gstelementfactory.c:
10108         * gst/gstutils.h:
10109         * gst/gstutils.c:
10110         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
10111         the definition to the header file.
10112
10113 2005-06-29  Andy Wingo  <wingo@pobox.com>
10114
10115         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
10116         plugins from the source directory.
10117
10118 2005-06-29  Wim Taymans  <wim@fluendo.com>
10119
10120         * docs/gst/tmpl/gstbuffer.sgml:
10121         * docs/gst/tmpl/gstclock.sgml:
10122         Some fixings for blantently wrong text.
10123
10124 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10125
10126         * check/Makefile.am:
10127         * gst/gst.c: (add_path_func), (init_pre):
10128         * gst/gstregistry.c: (gst_registry_add_path):
10129           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
10130           only scan the GST_PLUGIN_PATH locations, and not add
10131           system locations
10132
10133 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10134
10135         * docs/gst/gstreamer-sections.txt:
10136         * docs/gst/tmpl/gstbasesrc.sgml:
10137         * gst/gstelement.c:
10138         * gst/gstelement.h:
10139         * gst/gstevent.c:
10140         * gst/gstutils.c:
10141           doc fixes
10142
10143 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10144
10145         * docs/manual/advanced-autoplugging.xml:
10146           Fix autoplugging example.
10147
10148 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10149
10150         * docs/manual/advanced-autoplugging.xml:
10151         * docs/manual/mime-world.fig:
10152           Try to get autoplugging working, fix type detection. Fix text
10153           in hello-world image.
10154
10155 2005-06-29  Wim Taymans  <wim@fluendo.com>
10156
10157         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10158         (gst_base_sink_change_state):
10159         Small debug line.
10160
10161         * gst/gstclock.h:
10162         map SIGNAL and BROADCAST to the right function.
10163
10164         * gst/gstobject.h:
10165         Remove redundant braces.
10166
10167         * gst/gstpad.c: (gst_pad_set_caps):
10168         Don't call setcaps function when reseting caps to NULL.
10169
10170         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10171         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
10172         (gst_system_clock_id_unschedule):
10173         Use BROADCAST as this is what we do.
10174
10175 2005-06-29  Wim Taymans  <wim@fluendo.com>
10176
10177         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10178         We are actually prerolling before commiting the state
10179         change. 
10180
10181 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10182
10183         * docs/manual/advanced-clocks.xml:
10184         * docs/manual/advanced-interfaces.xml:
10185         * docs/manual/advanced-metadata.xml:
10186         * docs/manual/advanced-position.xml:
10187         * docs/manual/advanced-schedulers.xml:
10188         * docs/manual/advanced-threads.xml:
10189         * docs/manual/appendix-porting.xml:
10190         * docs/manual/basics-bins.xml:
10191         * docs/manual/basics-bus.xml:
10192         * docs/manual/basics-elements.xml:
10193         * docs/manual/basics-helloworld.xml:
10194         * docs/manual/basics-pads.xml:
10195         * docs/manual/highlevel-components.xml:
10196         * docs/manual/manual.xml:
10197         * docs/manual/thread.fig:
10198           Update (until threads/scheduling) Application Development Manual;
10199           remove GstThread, add GstBus, add simple porting checklist, add
10200           documentation for tag writing, clocks, make all examples until this
10201           part compile and run.
10202         * examples/manual/Makefile.am:
10203           Update from changes to Application Development Manual; add bus
10204           example, remove thread example.
10205
10206 2005-06-28  Wim Taymans  <wim@fluendo.com>
10207
10208         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
10209         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
10210         (gst_bus_source_dispatch):
10211         Add debugging messages.
10212         Make internal methods static.
10213         Handle the case where the bus is flushed in the handler.
10214         
10215         * gst/gstelement.c: (gst_element_get_bus):
10216         Fix refcount in _get_bus();
10217
10218         * gst/gstpipeline.c: (gst_pipeline_change_state),
10219         (gst_pipeline_get_clock_func):
10220         Clock refcounting fixes.
10221         Handle the case where preroll timed out more gracefully.
10222         
10223         * gst/gstsystemclock.c: (gst_system_clock_dispose):
10224         Clean up the internal thread in dispose. This is needed
10225         for subclasses that actually get disposed.
10226         
10227         * gst/schedulers/threadscheduler.c:
10228         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10229         (gst_thread_scheduler_dispose):
10230         Free thread pool in dispose.
10231
10232 2005-06-28  Andy Wingo  <wingo@pobox.com>
10233
10234         * tests/network-clock-utils.scm (debug, print-event): New utils.
10235
10236         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
10237         (*packet-loss*): Unified loss probability.
10238         (network-time): Report out-of-band events.
10239
10240         * tests/plot-data: Add support for out-of-band events. Hack it
10241         into this script instead of passing it down the pipe; should fix
10242         this later.
10243
10244 2005-06-28  Wim Taymans  <wim@fluendo.com>
10245
10246         * docs/gst/gstreamer.types:
10247         * docs/gst/tmpl/gstbasesrc.sgml:
10248         * docs/gst/tmpl/gstpad.sgml:
10249         Docs fixes.
10250
10251 2005-06-28  Wim Taymans  <wim@fluendo.com>
10252
10253         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10254         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
10255         (gst_proxy_pad_do_fixatecaps):
10256         Correctly proxy the check_pull_range function.
10257
10258 2005-06-28  Andy Wingo  <wingo@pobox.com>
10259
10260         * tests/network-clock.scm: Removed need for slib.
10261         
10262 2005-06-28  Wim Taymans  <wim@fluendo.com>
10263
10264         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
10265         (gst_basesink_preroll_queue_flush):
10266         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
10267         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
10268         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10269         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10270         (gst_proxy_pad_set_property):
10271         * gst/gstpad.c:
10272         * gst/gstpad.h:
10273         * gst/gstqueue.c: (gst_queue_init):
10274         The deprecated pad loop function is removed now.
10275
10276 2005-06-28  Andy Wingo  <wingo@pobox.com>
10277
10278         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
10279         New parameters, simulate network packet loss.
10280
10281         * tests/network-clock-utils.scm: Initialize the RNG.
10282
10283 2005-06-28  Wim Taymans  <wim@fluendo.com>
10284
10285         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
10286         (gst_basesink_event), (gst_basesink_deactivate):
10287         Flushing the preroll queue always needs to unlock the waiters.
10288
10289 2005-06-28  Edward Hervey  <edward@fluendo.com>
10290
10291         * gst/gstpipeline.c: (gst_pipeline_send_event): 
10292         Wheen a seek was successful on a pipeline, set the stream_time to the
10293         seek offset in order to have a synchronized stream_time.
10294
10295 2005-06-28  Wim Taymans  <wim@fluendo.com>
10296
10297         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10298         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10299         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
10300         (gst_proxy_pad_do_fixatecaps):
10301         Call wrapper function instead of just calling the function
10302         pointers. This takes care of any locking and whatmore.
10303
10304 2005-06-28  Wim Taymans  <wim@fluendo.com>
10305
10306         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10307         (gst_pad_pull_range):
10308         * gst/gstpad.h:
10309         CONNECTED -> LINKED.
10310
10311 2005-06-28  Andy Wingo  <wingo@pobox.com>
10312
10313         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10314         source-munging commit!!!
10315
10316         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
10317         (gst_object_sink): Take gpointer arguments, not GstObject --
10318         avoids casts. Like GLib.
10319
10320         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10321         activate.
10322
10323 2005-06-27  Andy Wingo  <wingo@pobox.com>
10324
10325         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10326         remaining buffer.
10327
10328         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10329         returns a sorted copy of the trace list.
10330         (gst_alloc_trace_print_live): New API, only prints traces with
10331         live objects. Sort the list.
10332         (gst_alloc_trace_print_all): Sort the list.
10333         (gst_alloc_trace_print): Align columns.
10334
10335         * gst/elements/gstttypefindelement.c:
10336         * gst/elements/gsttee.c:
10337         * gst/base/gstbasesrc.c:
10338         * gst/base/gstbasesink.c:
10339         * gst/base/gstbasetransform.c:
10340         * gst/gstqueue.c: Adapt for pad activation changes.
10341
10342         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10343         sched.
10344         (gst_pipeline_dispose): Drop ref on sched.
10345
10346         * gst/gstpad.c (gst_pad_init): Set the default activate func.
10347         (gst_pad_activate_default): Push mode by default.
10348         (pre_activate_switch, post_activate_switch): New stubs, things to
10349         do before and after switching activation modes on pads.
10350         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10351         the pad's activate function to choose which mode to activate.
10352         Shortcut on deactivation and call the right function directly.
10353         (gst_pad_activate_pull): New API, (de)activates a pad in pull
10354         mode.
10355         (gst_pad_activate_push): New API, same for push mode.
10356         (gst_pad_set_activate_function) 
10357         (gst_pad_set_activatepull_function) 
10358         (gst_pad_set_activatepush_function): Setters for new API.
10359
10360         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10361         Trace all miniobjects.
10362         (gst_mini_object_make_writable): Unref the arg if we copy, like
10363         gst_caps_make_writable.
10364
10365         * gst/gstmessage.c (_gst_message_initialize): No trace init.
10366
10367         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
10368         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10369         Adapt for new pad API.
10370
10371         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10372
10373         * gst/gstelement.h:
10374         * gst/gstelement.c (gst_element_iterate_src_pads) 
10375         (gst_element_iterate_sink_pads): New API functions.
10376         
10377         * gst/gstelement.c (iterator_fold_with_resync): New utility,
10378         should fold into gstiterator.c in some form.
10379         (gst_element_pads_activate): Simplified via use of fold and
10380         delegation of decisions to gstpad->activate.
10381
10382         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10383         help in debugging.
10384
10385         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10386         class once in init, like gstmessage. Didn't run into this issue
10387         but it seems correct. Don't initialize a trace, gstminiobject does
10388         that.
10389
10390         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10391         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10392         to the bus.
10393         (assert_live_count): New util function, uses alloc traces to check
10394         cleanup.
10395
10396         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10397         To be modified when unlink drops the internal pad.
10398
10399 2005-06-27  Wim Taymans  <wim@fluendo.com>
10400
10401         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10402         (gst_bin_change_state):
10403         Cleanup the get_state() function a little, make sure it
10404         iterates the same set of elements.
10405         Added stub iterate_state_order().
10406
10407 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10408
10409         * docs/gst/gstreamer-docs.sgml:
10410         * docs/gst/gstreamer-sections.txt:
10411         * docs/gst/gstreamer.types:
10412         * docs/gst/tmpl/gstbasesink.sgml:
10413         * docs/gst/tmpl/gstbasesrc.sgml:
10414         * docs/gst/tmpl/gstbasetransform.sgml:
10415         * docs/gst/tmpl/gstelement.sgml:
10416         * docs/gst/tmpl/gstiterator.sgml:
10417         * gst/base/gstbasesrc.c:
10418         * gst/base/gstbasesrc.h:
10419         * gst/base/gstbasetransform.h:
10420         * gst/gstelement.c:
10421         * gst/gstiterator.h:
10422           adding basetransform and iterator docs
10423
10424 2005-06-27  Andy Wingo  <wingo@pobox.com>
10425
10426         * docs/design/part-activation.txt: Notes on how activation should
10427         work -- not quite implemented yet.
10428
10429 2005-06-25  Wim Taymans  <wim@fluendo.com>
10430
10431         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10432         At least get the chain function correct, needs more
10433         fixing.
10434
10435 2005-06-25  Wim Taymans  <wim@fluendo.com>
10436
10437         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10438         (gst_basesink_handle_object), (gst_basesink_event),
10439         (gst_basesink_do_sync), (gst_basesink_handle_event),
10440         (gst_basesink_change_state):
10441         * gst/gsttask.h:
10442         Right, two problems here: ghostpads don't take locks and
10443         glib _rec_mutex_lock_full() with depth==0 still locks.
10444         Catch illegal locking and g_warn them.
10445
10446 2005-06-25  Wim Taymans  <wim@fluendo.com>
10447
10448         * check/states/sinks.c: (START_TEST), (gst_object_suite):
10449         Have to check for completion now...
10450
10451 2005-06-25  Wim Taymans  <wim@fluendo.com>
10452
10453         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10454         (gst_basesink_handle_object), (gst_basesink_event),
10455         (gst_basesink_do_sync), (gst_basesink_handle_event),
10456         (gst_basesink_change_state):
10457         * gst/gstpad.h:
10458         Unlock STREAM_LOCK whatever the recursion was.
10459
10460 2005-06-25  Wim Taymans  <wim@fluendo.com>
10461
10462         * gst/base/gstbasesink.c: (gst_basesink_set_property),
10463         (gst_basesink_preroll_queue_empty),
10464         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10465         (gst_basesink_event), (gst_basesink_do_sync),
10466         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10467         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10468         (gst_basesink_change_state):
10469         Reworked the base sink, handle event and buffer serialisation
10470         correctly and removed possible deadlock.
10471         Handle EOS correctly.
10472
10473 2005-06-25  Wim Taymans  <wim@fluendo.com>
10474
10475         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10476         (gst_pipeline_change_state):
10477         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10478         Allow elements to post EOS in the state change function.
10479         Fix up -launch, make it exit the poll loop when the
10480         pipeline actually changed state.
10481         Fix up warning parsing in -launch.
10482
10483 2005-06-25  Wim Taymans  <wim@fluendo.com>
10484
10485         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10486         (gst_tee_sink_activate):
10487         Core takes STREAM_LOCK for us now.
10488
10489 2005-06-25  Wim Taymans  <wim@fluendo.com>
10490
10491         * gst/gstelement.c: (gst_element_get_state_func),
10492         (gst_element_set_state):
10493         * gst/gstelement.h:
10494         * gst/gstmessage.c: (gst_message_parse_error),
10495         (gst_message_parse_warning):
10496         Keep track of current target state while performing a state
10497         change so that subclasses can do something interesting.
10498         Fix parsing of warning/error messages when GError is NULL.
10499
10500 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10501
10502         * docs/gst/Makefile.am:
10503         * docs/gst/gstreamer-docs.sgml:
10504         * docs/gst/gstreamer-sections.txt:
10505         * docs/gst/gstreamer.types:
10506         * docs/gst/tmpl/gstbasesink.sgml:
10507         * docs/gst/tmpl/gstbasesrc.sgml:
10508         * docs/gst/tmpl/gstbin.sgml:
10509         * docs/gst/tmpl/gstcompat.sgml:
10510         * docs/gst/tmpl/gstfakesink.sgml:
10511         * docs/gst/tmpl/gstfakesrc.sgml:
10512         * docs/gst/tmpl/gstfilesink.sgml:
10513         * docs/gst/tmpl/gstfilesrc.sgml:
10514         * docs/gst/tmpl/gstindex.sgml:
10515         * docs/manual/appendix-quotes.xml:
10516         * gst/base/gstbasesrc.h:
10517         * gst/elements/gstfakesrc.h:
10518         * gst/gstmessage.h:
10519           start pulling in base classes and elements in our docs
10520
10521 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
10522
10523         * docs/gst/Makefile.am:
10524         * docs/libs/Makefile.am:
10525           fixed make distcheck with gtk-doc 1.3
10526
10527 2005-06-23  Wim Taymans  <wim@fluendo.com>
10528
10529         * gst/gstelement.c: (gst_element_get_state_func),
10530         (gst_element_set_state), (gst_element_change_state):
10531         When the state did not change, also report NO_PREROLL
10532         when it matters.
10533
10534 2005-06-23  Wim Taymans  <wim@fluendo.com>
10535
10536         * gst/gstpad.c: (gst_pad_event_default):
10537         * gst/gstqueue.c: (gst_queue_loop):
10538         No unsafe task pausing please.
10539
10540 2005-06-23  Wim Taymans  <wim@fluendo.com>
10541
10542         * gst/schedulers/threadscheduler.c:
10543         (gst_thread_scheduler_task_start),
10544         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
10545         Ref the task before pushing it on the threadpool. This
10546         makes sure that we have a ref when the threadfunction is
10547         actually called.
10548
10549 2005-06-23  Andy Wingo  <wingo@pobox.com>
10550
10551         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
10552         offset is greater than the file's size.
10553
10554         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
10555         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
10556         * gst/gstobject.c (gst_object_class_init): Make the class lock
10557         recursive. Wim won't let me drop deep_notify. Decodebin works
10558         again, whoopdy doo.
10559
10560         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
10561         internal pad, and hacks accordingly. Doesn't do it on the target
10562         pad because we change its caps. Probably catches all cases of
10563         interest tho.
10564         (gst_ghost_pad_set_property): Connect to notify::caps as
10565         appropritate.
10566
10567         * tests/network-clock.scm (plot-simulation): Pipe data to the
10568         elite python skript.
10569
10570         * tests/network-clock-utils.scm (define-parameter): New macro,
10571         defines a parameter that can be set via the command line.
10572         (set-parameter!, parse-parameter-arguments): Command line args
10573         parser.
10574
10575         * tests/plot-data: Simple matplotlib-based plotter, takes input on
10576         stdin.
10577
10578 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
10579
10580         * gst/elements/gsttypefindelement.c:
10581         (gst_type_find_element_handle_event):
10582           Don't restart typefinding on a discont.
10583         * gst/gstelement.c: (gst_element_set_state):
10584           Debug spelling fix.
10585         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
10586           Allow changing mode of an active pad.
10587           Debug output fixes.
10588         * gst/registries/gstlibxmlregistry.c: (load_feature):
10589           Don't cast a static pad template to a normal pad template.
10590
10591 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10592
10593         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10594         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10595           remove gst_strtoll completely, since it didn't actually do
10596           anything more than what g_ascii_strtoull already does.
10597           check for range errors when deserializing
10598           do a cast for the unsigned cases; but further fixing needs
10599           a decision on what the interpretation of "(int)" and
10600           deserialization should be for values that fall outside the
10601           type's boundaries (ie, refuse, or interpret as casting)
10602
10603 2005-06-23  Wim Taymans  <wim@fluendo.com>
10604
10605         * check/Makefile.am:
10606         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
10607         * docs/design/part-live-source.txt:
10608         * docs/design/part-states.txt:
10609         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10610         (gst_basesrc_set_live), (gst_basesrc_is_live),
10611         (gst_basesrc_get_range), (gst_basesrc_activate),
10612         (gst_basesrc_change_state):
10613         * gst/base/gstbasesrc.h:
10614         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10615         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10616         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
10617         * gst/gstelement.c: (gst_element_get_state_func),
10618         (gst_element_set_state):
10619         * gst/gstelement.h:
10620         * gst/gsttypes.h:
10621         * tools/gst-launch.c: (event_loop), (main):
10622         Added support for live sources and other elements that
10623         cannot do preroll.
10624         Updated design docs, added live-source design doc.
10625         Implemented live source functionality in basesrc
10626         Fix error condition in _bin_get_state()
10627         Implement live source handling in -launch.
10628         Added check for live sources.
10629         Fixed case in GstBin where elements were changed state
10630         multiple times.
10631
10632
10633 2005-06-23  Andy Wingo  <wingo@pobox.com>
10634
10635         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
10636         borken refcounting.
10637
10638         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
10639         gst_caps_replace takes care of this for us.
10640
10641         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
10642         gst_pad_set_caps on the target, not just its setcaps() function.
10643
10644         * tests/network-clock.scm: 
10645         * tests/network-clock-utils.scm: A network clock simulator.
10646         Something of an algorithmic testbed before doing something in C.
10647
10648 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10649
10650         * check/Makefile.am:
10651         * check/gst/capslist.h:
10652           copy over from 0.8, and add two with bitmasks specified with
10653           (int) 0xFF...
10654         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10655           add test to parse everything from capslist.h
10656         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
10657         (main):
10658           add test for structure deserialization
10659         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10660           add tests for deserialization of strings to int types
10661         * gst/gststructure.c: (gst_structure_nth_field_name):
10662         * gst/gststructure.h:
10663           add a way to get the name of a field referenced by index
10664         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10665           instead of checking if the resulting long long lies between
10666           min and max, we check if the long long would fit into
10667           a number of bytes for the final type.
10668           This fixes cases where a string represents 2^32 - 1, which
10669           when cast to int would be the (valid) -1, but is bigger than
10670           G_MAXINT
10671
10672 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10673
10674         * gst/parse/grammar.y:
10675           add a log line for type deserialization
10676
10677 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10678
10679         * check/gst/gstvalue.c: (START_TEST):
10680         * gst/gstvalue.c: (gst_value_deserialize):
10681           return long long, not int, so gint64 deserialization actually
10682           works.  Is there any flag that makes the compiler check this ?
10683           Fixes #308559
10684
10685 2005-06-22  Wim Taymans  <wim@fluendo.com>
10686
10687         * gst/gstbuffer.h:
10688         Added convenience macros for setting buffers in GValue.
10689
10690 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10691
10692         * check/gst/.cvsignore:
10693         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10694           add a test deserializing int64, and comment part out because
10695           it fails, yay !
10696
10697 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10698
10699         * check/Makefile.am:
10700         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
10701         * testsuite/Makefile.am:
10702         * testsuite/caps/Makefile.am:
10703         * testsuite/caps/value_serialize.c:
10704         * testsuite/test_gst_init.c:
10705           move a value_serialize test over
10706
10707 2005-06-20  Wim Taymans  <wim@fluendo.com>
10708
10709         * gst/gstpad.c:
10710         Small doc updates.
10711         
10712         * gst/gstvalue.c: (gst_value_compare_buffer),
10713         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
10714         (gst_value_compare_flags), (gst_value_serialize_flags),
10715         (gst_value_deserialize_flags), (_gst_value_initialize):
10716         Fix serialisation of buffers, they are not boxed types anymore
10717
10718 2005-06-20  Wim Taymans  <wim@fluendo.com>
10719
10720         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10721         Testcase to show error in buffer-on-caps serialisation.
10722
10723 2005-06-20  Andy Wingo  <wingo@pobox.com>
10724
10725         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
10726         will be adding to later.
10727
10728         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
10729         if its socks fill with rocks.
10730         (gst_system_clock_obtain): Set the name on object construction.
10731         Avoid double-checked locking.
10732
10733 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
10734
10735         * gst/gsturi.c: (gst_element_make_from_uri):
10736           Fix potential endless loop.
10737
10738 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10739
10740         * check/Makefile.am:
10741           add gsttag
10742         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
10743         (main):
10744           move over from testsuite dir and clean up
10745         * configure.ac:
10746         * gst/gsttag.c:
10747         * testsuite/Makefile.am:
10748         * testsuite/tags/.cvsignore:
10749         * testsuite/tags/Makefile.am:
10750         * testsuite/tags/merge.c:
10751           remove testsuite/tags
10752
10753 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10754
10755         * docs/gst/gstreamer-sections.txt:
10756         * docs/gst/tmpl/gstenumtypes.sgml:
10757         * win32/gstenumtypes.c:
10758           clean up documentation build a little
10759
10760 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10761
10762         * check/gstcheck.h:
10763           add macros for checking refcounts on objects and caps
10764         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
10765           add some more unit tests
10766         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
10767         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
10768           fix leaked refcounts (I hope :)) so unittest works
10769         * gst/gstpad.h:
10770           whitespace removal
10771
10772 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10773
10774         * configure.ac: back to HEAD
10775
10776 === release 0.9.1 ===
10777
10778 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10779
10780         * NEWS:
10781         * RELEASE:
10782           updated
10783
10784 2005-06-17  Andy Wingo  <wingo@pobox.com>
10785
10786         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
10787         assert; it's always possible that the pad gets deactivated in
10788         between the checks in gstpad.c and the implementation. Rely on
10789         finish_preroll() to return a FLUSHING or similar instead of on the
10790         assert.
10791         
10792         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
10793         clock and post an EOS message if we come out of finish_preroll in
10794         the playing state.
10795
10796 2005-06-16  David Schleef  <ds@schleef.org>
10797
10798         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
10799         (gst_capsfilter_set_property): Allow NULL as possible value
10800         for filter_caps property, indicating GST_CAPS_ANY.
10801
10802 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10803
10804         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
10805           fix debug output
10806         * gst/schedulers/Makefile.am:
10807           use libgst prefix
10808         * gstreamer.spec.in:
10809           fix spec for it
10810
10811 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10812
10813         * gstreamer.spec.in:
10814           clean up
10815
10816 2005-06-08  Andy Wingo  <wingo@pobox.com>
10817
10818         * gst/gstutils.c: RPAD fixes all around.
10819         (gst_element_link_pads): Refcounting fixes.
10820
10821         * tools/gst-inspect.c:
10822         * tools/gst-xmlinspect.c:
10823         * parse/grammar.y:
10824         * gst/base/gsttypefindhelper.c:
10825         * gst/base/gstbasesink.c:
10826         * gst/gstqueue.c: RPAD fixes.
10827
10828         * gst/gstghostpad.h:
10829         * gst/gstghostpad.c: New ghost pad implementation as full proxy
10830         pads. The tricky thing is they provide both source and sink
10831         interfaces, since they proxy the internal pad for the external
10832         pad, and vice versa. Implement with lower-level ProxyPad objects,
10833         with the interior proxy pad as a child of the exterior ghost pad.
10834         Should write a doc on this.
10835         
10836         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
10837         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
10838         gst_object API.
10839         
10840         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
10841         pads are real pads. No ghost pads in this file. Not documenting
10842         the myriad s/RPAD/PAD/ and REALIZE fixes.
10843         (gst_pad_class_init): Add properties for "direction" and
10844         "template". Both are construct-only, so they can't change during
10845         the life of the pad. Fixes properly deriving from GstPad.
10846         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
10847         derived objects, just set properties when creating the objects via
10848         g_object_new.
10849         (gst_pad_get_parent): Implement as a function, return NULL if the
10850         parent is not an element.
10851         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
10852         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
10853         
10854         * gst/gstobject.c (gst_object_class_init): Make name a construct
10855         property. Don't set it in the object init.
10856
10857         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
10858         with UNKNOWN direction.
10859         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
10860         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
10861         (gst_element_remove_pad): Remove ghost-pad special cases.
10862         (gst_element_pads_activate): Remove rpad cruft.
10863
10864         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
10865         catch the pad's-parent-not-an-element case.
10866
10867         * gst/gst.h: Include gstghostpad.h.
10868
10869         * gst/gst.c (init_post): No more real, ghost pads.
10870
10871         * gst/Makefile.am: Add gstghostpad.[ch].
10872
10873         * check/Makefile.am:
10874         * check/gst/gstbin.c:
10875         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
10876         into a bin creates ghost pads, and that the refcounts are right.
10877         Partly moved from gstbin.c.
10878
10879 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10880
10881         * check/gst-libs/.cvsignore:
10882         * check/gst/.cvsignore:
10883         * check/pipelines/.cvsignore:
10884           ignore more
10885         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
10886         (START_TEST), (cleanup_suite), (main):
10887           add some tests related to cleanup after running pipelines
10888
10889 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10890
10891         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
10892           add a testsuite for GstBuffer
10893
10894 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10895
10896         * gst/gstminiobject.h:
10897           add defines for accessing the refcount
10898
10899 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
10900
10901         * Makefile.am: added support for html unit test coverage reports
10902
10903 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
10904
10905         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
10906           Free existing caps if the capsfilter changes. Add a FIXME about
10907           setting those caps on the pads.
10908
10909         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
10910           Before adding a ghost pad to a parent bin, check that there isn't
10911           already one for the element on the bin. Prevents infinite recursion
10912           when using decodebin in parse pipelines. Andy says he'll rewrite the
10913           way this works anyway, so ignore the hack.
10914
10915 2005-06-02  Andy Wingo  <wingo@pobox.com>
10916
10917         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
10918         file size, pass it on to the type find helper.
10919
10920         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
10921         segment_start and segment_end properly according to the seek
10922         method. Segment_end is still a bit flaky because offset can be
10923         negative for CUR and END cases, but it takes -1 as an "unset"
10924         value.
10925
10926 2005-06-02  Wim Taymans  <wim@fluendo.com>
10927
10928         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
10929         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
10930         (gst_basesink_activate):
10931         * gst/base/gstbasesink.h:
10932         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10933         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10934         (gst_pad_query), (gst_pad_start_task):
10935         * gst/gstpad.h:
10936         * gst/gstqueue.c: (gst_queue_bufferalloc),
10937         (gst_queue_handle_sink_event), (gst_queue_chain):
10938         Bufferalloc: return GstFlowReturn to more accuratly report
10939         why allocation failed.
10940
10941 2005-06-02  Wim Taymans  <wim@fluendo.com>
10942
10943         * gst/gstpipeline.c: (gst_pipeline_send_event):
10944         Take snapshot of state without blocking.
10945
10946 2005-06-02  Wim Taymans  <wim@fluendo.com>
10947
10948         * docs/design/part-TODO.txt:
10949         * docs/design/part-caps.txt:
10950         * docs/design/part-clocks.txt:
10951         * docs/design/part-negotiation.txt:
10952         * docs/design/part-preroll.txt:
10953         Small doc updates 
10954
10955 2005-05-30  Wim Taymans  <wim@fluendo.com>
10956
10957         * gst/elements/gstidentity.c: (gst_identity_event),
10958         (gst_identity_transform), (gst_identity_get_property):
10959         Protect last_message property as it is accessed from
10960         multiple threads.
10961
10962 2005-05-30  Wim Taymans  <wim@fluendo.com>
10963
10964         * gst/gstelement.c: (gst_element_init),
10965         (gst_element_pads_activate), (gst_element_change_state):
10966         Slicker pad activation code.
10967
10968 2005-05-30  Wim Taymans  <wim@fluendo.com>
10969
10970         * gst/Makefile.am:
10971         * gst/gstelement.h:
10972         * gst/gstelementfactory.h:
10973         * gst/gsttypes.h:
10974         Move elementfactory methods to separate .h file.
10975
10976 2005-05-30  Wim Taymans  <wim@fluendo.com>
10977
10978         * docs/design/part-overview.txt:
10979         * gst/gstsystemclock.h:
10980         Small typo fixes, doc updates.
10981
10982 2005-05-30  Wim Taymans  <wim@fluendo.com>
10983
10984         * gst/gst.c: (gst_init_get_popt_table), (init_post),
10985         (init_popt_callback):
10986         Remove cpu-opt flag.
10987
10988 2005-05-30  Wim Taymans  <wim@fluendo.com>
10989
10990         * gst/gstbuffer.c: (gst_subbuffer_finalize),
10991         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
10992         * gst/gstbuffer.h:
10993         Avoid typechecking in places where not needed.
10994         Added accessor for malloc_data.
10995
10996 2005-05-30  Wim Taymans  <wim@fluendo.com>
10997
10998         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
10999         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
11000         (gst_pad_configure_sink), (gst_pad_configure_src),
11001         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
11002         (gst_pad_start_task):
11003         Propagate errors from _set_caps() in configure_src/sink
11004         functions instead of returning TRUE.
11005         FLUSH events can travel up and downstream
11006
11007
11008 2005-05-30  Wim Taymans  <wim@fluendo.com>
11009
11010         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11011         (gst_basesink_activate):
11012         Handle EOS in preroll.
11013
11014 2005-05-30  Wim Taymans  <wim@fluendo.com>
11015
11016         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11017         (gst_queue_loop), (gst_queue_handle_src_event):
11018         Remove old pieces of code
11019         Flushing the queue in an upstream event is a very bad idea.
11020
11021 2005-05-26  Andy Wingo  <wingo@pobox.com>
11022
11023         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
11024         gst_value_set_mini_object so as to add a ref on the object (which
11025         will be removed when the value is unset).
11026
11027         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
11028         arg type in ::handoff.
11029
11030         * gst/gstelement.c (gst_element_change_state): Also deactivate
11031         pads in READY->NULL, just in case the element didn't make it to
11032         PAUSED. Wingo tested, Wim approved.
11033
11034 2005-05-26  Wim Taymans  <wim@fluendo.com>
11035
11036         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11037         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11038         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
11039         A flushing pad cannot be used to alloc_buffer from.
11040
11041 2005-05-26  Wim Taymans  <wim@fluendo.com>
11042
11043         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
11044         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
11045         (gst_bus_source_dispatch), (gst_bus_source_finalize),
11046         (gst_bus_create_watch), (gst_bus_add_watch_full):
11047         * gst/gstbus.h:
11048         Implement a real GSource and use g_main_context_wakeup() to
11049         signal new messages instead of the socketpair.
11050
11051 2005-05-25  Wim Taymans  <wim@fluendo.com>
11052
11053         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
11054         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
11055         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11056         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11057         (gst_pad_send_event), (gst_pad_start_task):
11058         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
11059         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
11060         (gst_queue_sink_activate), (gst_queue_src_activate),
11061         (gst_queue_change_state):
11062         * gst/gstqueue.h:
11063         Fix state changes for non sinks. We now change sinks, then elements
11064         with unconnected srcpads, then the rest.
11065         More efficient queue unlocking in flush and state changes.
11066         Set the pad activate mode even if it does not have an activate
11067         function.
11068
11069 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11070
11071         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
11072           Don't go in pull mode for non-seekable sources.
11073         * gst/elements/gsttypefindelement.h:
11074         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11075         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
11076         (free_entry), (stop_typefinding),
11077         (gst_type_find_element_handle_event), (find_peek),
11078         (gst_type_find_element_chain), (do_pull_typefind),
11079         (gst_type_find_element_change_state):
11080           Allow typefinding (w/o seeking) in push-mode, simplified version
11081           of what was in 0.8.
11082         * gst/gstutils.c: (gst_buffer_join):
11083         * gst/gstutils.h:
11084           gst_buffer_join() from 0.8.
11085
11086 2005-05-25  Wim Taymans  <wim@fluendo.com>
11087
11088         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11089         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11090         (gst_pad_send_event), (gst_pad_start_task):
11091         Disable attempt at mode switching until it is figured out.
11092
11093 2005-05-25  Wim Taymans  <wim@fluendo.com>
11094
11095         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
11096         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11097         (gst_basesink_finish_preroll), (gst_basesink_chain),
11098         (gst_basesink_loop), (gst_basesink_activate),
11099         (gst_basesink_change_state):
11100         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
11101         (gst_basesrc_get_range), (gst_basesrc_loop),
11102         (gst_basesrc_activate):
11103         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11104         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
11105         (gst_real_pad_init), (gst_real_pad_set_property),
11106         (gst_real_pad_get_property), (gst_pad_set_active),
11107         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
11108         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
11109         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
11110         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
11111         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11112         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
11113         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
11114         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11115         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
11116         (gst_pad_stop_task):
11117         * gst/gstpad.h:
11118         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11119         (gst_queue_loop), (gst_queue_src_activate):
11120         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
11121         (gst_task_get_state):
11122         * gst/gsttask.h:
11123         * gst/schedulers/threadscheduler.c:
11124         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
11125         Implement gst_pad_pause/start/stop_task(), take STREAM lock
11126         in task function.
11127         Remove ACTIVE pad flag, use FLUSHING everywhere
11128         Added _pad_chain(), _pad_get_range() to call chain/getrange 
11129         functions.
11130         Add locks around IS_FLUSHING when reading.
11131         Take STREAM lock in chain(), get_range() functions so plugins
11132         don't need to take it anymore.
11133         
11134
11135
11136 2005-05-25  Wim Taymans  <wim@fluendo.com>
11137
11138         * tools/gst-launch.c: (event_loop):
11139         Unref message after using its contents instead of
11140         before.
11141
11142 2005-05-24  Wim Taymans  <wim@fluendo.com>
11143
11144         * docs/design/draft-ghostpads.txt:
11145         * docs/design/draft-push-pull.txt:
11146         * docs/design/draft-query.txt:
11147         * docs/design/part-overview.txt:
11148         Docs updates, added general overview doc.
11149
11150 2005-05-21  David Schleef  <ds@schleef.org>
11151
11152         * docs/gst/tmpl/old/GstBin.sgml:
11153         * docs/gst/tmpl/old/GstBuffer.sgml:
11154         * docs/gst/tmpl/old/GstCaps.sgml:
11155         * docs/gst/tmpl/old/GstClock.sgml:
11156         * docs/gst/tmpl/old/GstCompat.sgml:
11157         * docs/gst/tmpl/old/GstData.sgml:
11158         * docs/gst/tmpl/old/GstElement.sgml:
11159         * docs/gst/tmpl/old/GstEvent.sgml:
11160         * docs/gst/tmpl/old/GstIndex.sgml:
11161         * docs/gst/tmpl/old/GstStructure.sgml:
11162         * docs/gst/tmpl/old/GstTag.sgml:
11163         * docs/gst/tmpl/old/cothreads.sgml:
11164         * docs/gst/tmpl/old/cothreads_compat.sgml:
11165         * docs/gst/tmpl/old/gettext.sgml:
11166         * docs/gst/tmpl/old/gobject2gtk.sgml:
11167         * docs/gst/tmpl/old/grammar.tab.sgml:
11168         * docs/gst/tmpl/old/gst-i18n-app.sgml:
11169         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
11170         * docs/gst/tmpl/old/gst_private.sgml:
11171         * docs/gst/tmpl/old/gstaggregator.sgml:
11172         * docs/gst/tmpl/old/gstarch.sgml:
11173         * docs/gst/tmpl/old/gstatomic_impl.sgml:
11174         * docs/gst/tmpl/old/gstbufferstore.sgml:
11175         * docs/gst/tmpl/old/gstdata_private.sgml:
11176         * docs/gst/tmpl/old/gstdisksink.sgml:
11177         * docs/gst/tmpl/old/gstdisksrc.sgml:
11178         * docs/gst/tmpl/old/gstelementfactory.sgml:
11179         * docs/gst/tmpl/old/gstextratypes.sgml:
11180         * docs/gst/tmpl/old/gstfakesink.sgml:
11181         * docs/gst/tmpl/old/gstfakesrc.sgml:
11182         * docs/gst/tmpl/old/gstfdsink.sgml:
11183         * docs/gst/tmpl/old/gstfdsrc.sgml:
11184         * docs/gst/tmpl/old/gstfilesink.sgml:
11185         * docs/gst/tmpl/old/gstfilesrc.sgml:
11186         * docs/gst/tmpl/old/gsthttpsrc.sgml:
11187         * docs/gst/tmpl/old/gstidentity.sgml:
11188         * docs/gst/tmpl/old/gstindexfactory.sgml:
11189         * docs/gst/tmpl/old/gstmarshal.sgml:
11190         * docs/gst/tmpl/old/gstmd5sink.sgml:
11191         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
11192         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
11193         * docs/gst/tmpl/old/gstpadtemplate.sgml:
11194         * docs/gst/tmpl/old/gstpipefilter.sgml:
11195         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
11196         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
11197         * docs/gst/tmpl/old/gstshaper.sgml:
11198         * docs/gst/tmpl/old/gstspider.sgml:
11199         * docs/gst/tmpl/old/gstspideridentity.sgml:
11200         * docs/gst/tmpl/old/gststatistics.sgml:
11201         * docs/gst/tmpl/old/gsttee.sgml:
11202         * docs/gst/tmpl/old/gsttimecache.sgml:
11203         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
11204         * docs/gst/tmpl/old/gstxmlregistry.sgml:
11205         * docs/gst/tmpl/old/gthread-cothreads.sgml:
11206         * docs/gst/tmpl/old/types.sgml:
11207           I didn't intend to add these or check them in.
11208
11209 2005-05-19  David Schleef  <ds@schleef.org>
11210
11211         * configure.ac: Use -no-common everywhere.  In a sane world, it
11212           would be the default in libtool, because without it, you can't
11213           build DLLs on Windows.
11214         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
11215         * docs/gst/gstreamer-sections.txt:
11216         * docs/gst/tmpl/gstcpu.sgml:
11217         * docs/gst/tmpl/gstdata.sgml:
11218         * docs/gst/tmpl/gstthread.sgml:
11219
11220 2005-05-19  David Schleef  <ds@schleef.org>
11221
11222         * gst/gstminiobject.c: (gst_value_set_mini_object),
11223         (gst_value_take_mini_object), (gst_value_get_mini_object):
11224         * gst/gstminiobject.h: Add GValue set/get functions.
11225
11226 2005-05-19  Wim Taymans  <wim@fluendo.com>
11227
11228         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
11229         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
11230         (gst_subbuffer_init), (gst_buffer_is_span_fast):
11231         * gst/gstbuffer.h:
11232         * gst/gstbus.c: (gst_bus_post):
11233         * gst/gstelement.c: (gst_element_get_random_pad):
11234         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
11235         Make subbufer unref the parent in finalize.
11236         some more debugging info.
11237
11238
11239 2005-05-19  Wim Taymans  <wim@fluendo.com>
11240
11241         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11242         (gst_basesink_init), (gst_basesink_finalize),
11243         (gst_basesink_activate), (gst_basesink_change_state):
11244         Don't free preroll queue too early.
11245
11246 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11247
11248         * gst/Makefile.am:
11249         * gst/ROADMAP:
11250           Hi, I'm outdated. Please shoot me.
11251
11252 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11253
11254         * gst/gstpipeline.c: (gst_pipeline_send_event):
11255           Do not access variables after they have been deleted.
11256
11257 2005-05-19  Wim Taymans  <wim@fluendo.com>
11258
11259         * tools/gst-inspect.c: (print_plugin_features):
11260         A plugin feature does unfortunatly not use the
11261         object name yet...
11262
11263 2005-05-18  Wim Taymans  <wim@fluendo.com>
11264
11265         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
11266         Port _span() functions to new subbuffers.
11267
11268 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11269
11270         * gst/gstbin.c: (gst_bin_add_func):
11271           Fix clock settery in bins when adding kids after the clock has
11272           been selected.
11273
11274 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11275
11276         * gst/elements/gstidentity.c: (gst_identity_class_init):
11277           Workaround until signals support GstMiniObject.
11278
11279 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
11280
11281         * gst/gstbuffer.c:
11282         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11283
11284 2005-05-18  Wim Taymans  <wim@fluendo.com>
11285
11286         * gst/base/Makefile.am:
11287         * gst/base/gstadapter.c: (gst_adapter_base_init),
11288         (gst_adapter_class_init), (gst_adapter_init),
11289         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
11290         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
11291         (gst_adapter_flush), (gst_adapter_available),
11292         (gst_adapter_available_fast):
11293         * gst/base/gstadapter.h:
11294         Ported and added adapter to the base classes.
11295
11296 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11297
11298         * gst/gst.c:
11299         * gst/gstmessage.c:
11300           Make sure the class is reffed/unreffed once before threads can be
11301           used.  Fixes #304551.
11302
11303 2005-05-17  Wim Taymans  <wim@fluendo.com>
11304
11305         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11306         (gst_basesink_chain_unlocked), (gst_basesink_activate):
11307         * gst/gstminiobject.c: (gst_mini_object_get_type),
11308         (gst_mini_object_free):
11309         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11310         (gst_pad_push), (gst_pad_push_event):
11311         * gst/gstqueue.c: (gst_queue_change_state):
11312         Don't queue buffers in basesink when we are flushing.
11313         Unref buffer when flushing in basesink.
11314         Flush queue when going to READY
11315         Unref buffer when _push() returns an error.
11316         Don't free MiniObject instance when refcount is incremented
11317         in _finalize() so that we can recover objects.
11318
11319 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11320
11321         * docs/manual/advanced-schedulers.xml:
11322         * docs/manual/appendix-checklist.xml:
11323         * docs/pwg/advanced-clock.xml:
11324         * docs/pwg/advanced-interfaces.xml:
11325         * docs/pwg/advanced-request.xml:
11326         * docs/pwg/advanced-types.xml:
11327         * docs/pwg/intro-preface.xml:
11328         * examples/plugins/example.c: (gst_example_get_type),
11329         (gst_example_class_init), (gst_example_chain),
11330         (gst_example_set_property), (gst_example_get_property),
11331         (gst_example_change_state), (plugin_init):
11332         * examples/plugins/example.h:
11333           small doc fixes
11334
11335 2005-05-17  Wim Taymans  <wim@fluendo.com>
11336
11337         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11338         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11339         * gst/gstqueue.c: (gst_queue_change_state):
11340         Clear queue when going to READY.
11341         Remove IN_SETCAPS flag too.
11342
11343 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
11344
11345         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11346           Remove implicit cast from gboolean to GstElementStateReturn;
11347           make sure we still return failure in paused => ready case if
11348           the parent class fails to change state and our own stop 
11349           vfunc succeeds.
11350
11351 2005-05-17  Wim Taymans  <wim@fluendo.com>
11352
11353         * tools/gst-launch.c: (event_loop):
11354         Message was unreffed too soon.
11355
11356 2005-05-16  Andy Wingo  <wingo@pobox.com>
11357
11358         * gst/gstbin.c (sink_iterator_filter): Err... um...
11359
11360         * check/gst/gstbin.c (test_ghost_pads): New test for the
11361         ghosting-if-elements-not-in-same-bin behavior.
11362
11363 2005-05-16  David Schleef  <ds@schleef.org>
11364
11365         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11366         accessing refcount directly.
11367
11368 2005-05-15  David Schleef  <ds@schleef.org>
11369
11370         * check/Makefile.am: remove GstData checks
11371         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11372         * gst/Makefile.am: add miniobject, remove data
11373         * gst/gst.h: add miniobject, remove data
11374         * gst/gstdata.c: remove
11375         * gst/gstdata.h: remove
11376         * gst/gstdata_private.h: remove
11377         * gst/gsttypes.h: remove GstEvent and GstMessage
11378         * gst/gstelement.c: (gst_element_post_message): fix for API changes
11379         * gst/gstmarshal.list: change BOXED -> OBJECT
11380
11381         Implement GstMiniObject.
11382         * gst/gstminiobject.c:
11383         * gst/gstminiobject.h:
11384
11385         Modify to be subclasses of GstMiniObject.
11386         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11387         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11388         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11389         (gst_subbuffer_get_type), (gst_subbuffer_init),
11390         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11391         (gst_buffer_span):
11392         * gst/gstbuffer.h:
11393         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11394         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11395         (_gst_event_copy), (gst_event_new):
11396         * gst/gstevent.h:
11397         * gst/gstmessage.c: (_gst_message_initialize),
11398         (gst_message_get_type), (gst_message_class_init),
11399         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11400         (gst_message_new), (gst_message_new_error),
11401         (gst_message_new_warning), (gst_message_new_tag),
11402         (gst_message_new_state_changed), (gst_message_new_application):
11403         * gst/gstmessage.h:
11404         * gst/gstprobe.c: (gst_probe_perform),
11405         (gst_probe_dispatcher_dispatch):
11406         * gst/gstprobe.h:
11407         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11408         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11409         (_gst_query_copy), (gst_query_new):
11410
11411         Update elements for GstData -> GstMiniObject changes
11412         * gst/gstquery.h:
11413         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11414         (gst_queue_chain), (gst_queue_loop):
11415         * gst/elements/gstbufferstore.c:
11416         (gst_buffer_store_add_buffer_func),
11417         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11418         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11419         (gst_fakesink_render):
11420         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11421         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11422         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11423         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11424         (gst_filesrc_create_read):
11425         * gst/elements/gstidentity.c: (gst_identity_class_init):
11426         * gst/elements/gsttypefindelement.c:
11427         (gst_type_find_element_src_event), (free_entry_buffers),
11428         (gst_type_find_element_handle_event):
11429         * libs/gst/dataprotocol/dataprotocol.c:
11430         (gst_dp_header_from_buffer):
11431         * libs/gst/dataprotocol/dataprotocol.h:
11432         * libs/gst/dataprotocol/dp-private.h:
11433
11434 2005-05-15  David Schleef  <ds@schleef.org>
11435
11436         * gst/elements/gstelements.c: Don't include headers that were
11437         just removed.
11438
11439 2005-05-15  David Schleef  <ds@schleef.org>
11440
11441         * gst/elements/Makefile.am: Remove some elements that don't
11442         need to be in the core (or even exist at all).
11443         * gst/elements/gstaggregator.c:
11444         * gst/elements/gstaggregator.h:
11445         * gst/elements/gstmd5sink.c:
11446         * gst/elements/gstmd5sink.h:
11447         * gst/elements/gstmultifilesrc.c:
11448         * gst/elements/gstmultifilesrc.h:
11449         * gst/elements/gstpipefilter.c:
11450         * gst/elements/gstpipefilter.h:
11451         * gst/elements/gstshaper.c:
11452         * gst/elements/gstshaper.h:
11453         * gst/elements/gststatistics.c:
11454         * gst/elements/gststatistics.h:
11455         * po/POTFILES.in: Remove above files.
11456
11457 2005-05-14  Andy Wingo  <wingo@pobox.com>
11458
11459         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11460         so as to get the refs right.
11461         (sink_iterator_filter): New function, wraps bin_element_is_sink,
11462         unreffing objects that don't pass the filter.
11463
11464         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11465         gst_element_set_bus.
11466         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11467         normal cases, this will destroy the bus.
11468
11469         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11470         object.
11471
11472         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11473         has no sinks.
11474
11475 2005-05-13  Andy Wingo  <wingo@pobox.com>
11476
11477         * gst/gstutils.c (gst_element_link_pads): Instead of calling
11478         gst_pad_link, call pad_link_maybe_ghosting,
11479         (pad_link_maybe_ghosting): Links pads, making sure that the
11480         elements being linked are in the same bin.
11481         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11482         Helpers for pad_link_maybe_ghosting.
11483
11484 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11485
11486         * configure.ac:
11487           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11488
11489 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11490
11491         * docs/design/part-element-source.txt:
11492           Mention GstPushSrc
11493
11494 2005-05-12  Wim Taymans  <wim@fluendo.com>
11495
11496         * gst/base/gstbasesink.c: (gst_basesink_init),
11497         (gst_basesink_activate):
11498         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11499         (gst_basesrc_is_seekable):
11500         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11501         (bin_element_is_sink), (gst_bin_change_state):
11502         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11503         * gst/gstelement.h:
11504         Identify sinks by their flag to avoid overly complicated
11505         checks (fow now).
11506         Do state changes even for elements not reachable from the
11507         sinks.
11508         BaseSink is a sink now :)
11509         Some more debugging info in the basesrc.
11510
11511
11512 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11513
11514         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
11515           Implement _query on a bin, similar to _send_event.
11516
11517 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
11518
11519         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
11520           Discont event offset format should be GST_FORMAT_BYTES,
11521           not GST_FORMAT_TIME.
11522
11523 2005-05-12  Wim Taymans  <wim@fluendo.com>
11524
11525         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
11526         Same fix as Ronald's but without the signal. 
11527
11528 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11529
11530         * gst/gstutils.c: (gst_element_query_position):
11531           No, an element is not a pad.
11532
11533 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11534
11535         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
11536         (gst_bin_get_state):
11537           If a child is removed from a bin while we remove the child from
11538           the bin and while we're retrieving its state, signal this to the
11539           get_state function so we abort the wait (instead of waiting for
11540           a timeout) and can immediately re-iterate over all other elements.
11541
11542 2005-05-12  Wim Taymans  <wim@fluendo.com>
11543
11544         * gst/base/Makefile.am:
11545         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
11546         (gst_basesrc_start):
11547         * gst/base/gstbasesrc.h:
11548         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
11549         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
11550         (gst_pushsrc_init), (gst_pushsrc_create):
11551         * gst/base/gstpushsrc.h:
11552         Added is_seekable to BaseSrc
11553         Added simple PushSrc.
11554
11555 2005-05-11  Wim Taymans  <wim@fluendo.com>
11556
11557         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11558         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11559         (gst_element_link_pads), (gst_element_query_position),
11560         (gst_element_query_convert), (intersect_caps_func),
11561         (gst_pad_query_position), (gst_pad_query_convert):
11562         Fix refcounting in utils function.
11563         No point in trying to activate a pad when it's added, it could
11564         be added from the state change function and then we deadlock, the
11565         element has to decide what to do.
11566
11567 2005-05-10  Andy Wingo  <wingo@pobox.com>
11568
11569         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
11570         *all* the arguments.
11571
11572         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
11573         stream lock if it's a FLUSH_DONE; normal flushes don't get the
11574         lock (according to the docs -- if this is wrong change the docs).
11575
11576         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
11577         flush messages in the NULL state.
11578
11579         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
11580         message immediately and return.
11581         (gst_bus_set_flushing): New function. If a bus is flushing, it
11582         flushes out any queued messages and immediately unrefs new
11583         messages. This is so when an element goes to NULL, all of the
11584         unhandled messages coming from it can be freed, and their
11585         references to the element dropped. In other words: message source
11586         ref considered harmful :P
11587
11588         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
11589         we're finished with it.
11590
11591         * gst/gstmessage.c (gst_message_new_state_changed): 
11592
11593 2005-05-10  Wim Taymans  <wim@fluendo.com>
11594
11595         * gst/gstvalue.c: (gst_value_compare_flags),
11596         (gst_value_serialize_flags), (gst_value_deserialize_flags),
11597         (_gst_value_initialize):
11598         Added flags serialize/deserialize/compare code.
11599
11600 2005-05-09  Andy Wingo  <wingo@pobox.com>
11601
11602         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
11603         Intersect the peer's caps with our caps.
11604
11605 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11606
11607         * gst/base/gsttypefindhelper.c: (helper_find_peek):
11608         * gst/elements/gsttypefindelement.c: (find_peek):
11609           Handle negative offsets better. Fixes decodebin.
11610
11611 2005-05-09  Wim Taymans  <wim@fluendo.com>
11612
11613         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
11614         (gst_base_transform_event):
11615         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
11616         Implement accept_caps.
11617         Fix silly lock/unlock mismatch in base class.
11618
11619 2005-05-09  Wim Taymans  <wim@fluendo.com>
11620
11621         * docs/design/draft-push-pull.txt:
11622         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
11623         * gst/elements/gstfilesink.c: (gst_filesink_init),
11624         (gst_filesink_query):
11625         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11626         (gst_type_find_handle_src_query), (find_element_get_length):
11627         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
11628         * gst/gstelement.h:
11629         * gst/gstmessage.c:
11630         * gst/gstmessage.h:
11631         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
11632         (gst_real_pad_get_caps_unlocked),
11633         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
11634         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11635         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
11636         (gst_real_pad_dispose), (gst_real_pad_finalize),
11637         (gst_pad_load_and_link), (gst_pad_save_thyself),
11638         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
11639         (gst_pad_check_pull_range), (gst_pad_pull_range),
11640         (gst_pad_template_get_type), (gst_pad_template_class_init),
11641         (gst_pad_template_init), (gst_pad_template_dispose),
11642         (name_is_valid), (gst_static_pad_template_get),
11643         (gst_pad_template_new), (gst_static_pad_template_get_caps),
11644         (gst_pad_template_get_caps), (gst_pad_set_element_private),
11645         (gst_pad_get_element_private), (gst_pad_start_task),
11646         (gst_pad_pause_task), (gst_pad_stop_task),
11647         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
11648         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
11649         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
11650         (gst_ghost_pad_new):
11651         * gst/gstpad.h:
11652         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
11653         (gst_query_new_position), (gst_query_set_position),
11654         (gst_query_parse_position), (gst_query_new_convert),
11655         (gst_query_set_convert), (gst_query_parse_convert):
11656         * gst/gstquery.h:
11657         * gst/gstqueryutils.c:
11658         * gst/gstqueryutils.h:
11659         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11660         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11661         (gst_queue_handle_src_query):
11662         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11663         (gst_element_query_position), (gst_element_query_convert),
11664         (intersect_caps_func), (gst_pad_query_position),
11665         (gst_pad_query_convert):
11666         * gst/gstutils.h:
11667         * tools/gst-inspect.c: (print_pad_info):
11668         * tools/gst-xmlinspect.c: (print_element_info):
11669         Remove old query functions. Ported old code.
11670         Added position/convert helper functions to gstutils.
11671         Reordered gstpad.c code, grouping relevant things.
11672         Remove gst_message_new(), always need to speficy a specific
11673         message.
11674
11675
11676 2005-05-09  Andy Wingo  <wingo@pobox.com>
11677
11678         * gst/gstiterator.h: Add some includes.
11679
11680         * gst/gstqueryutils.h: Include more headers.
11681
11682         * gst/gstpad.h:
11683         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
11684         some uses of gst_pad_query.
11685
11686         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
11687         NULL out parameters.
11688         (gst_query_new_position): New proc, allocates a new position
11689         query.
11690
11691         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
11692         gstqueryutils.c to the build.
11693
11694         * gst/gststructure.c (gst_structure_set_valist): Implement with
11695         the generic G_VALUE_COLLECT.
11696         
11697 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
11698
11699         * gst/Makefile.am: (gst_headers):
11700         Added gstqueryutils.h to the list of headers to install, that was
11701         a 'nachty' move wingo :)
11702
11703 2005-05-06  Andy Wingo  <wingo@pobox.com>
11704
11705         * gst/gstquery.h
11706         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
11707         GstData, init a memchunk.
11708         (standard_definitions): Add a few query types, deprecate a few.
11709         (gst_query_get_type): New proc.
11710         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
11711         implementation.
11712         (gst_query_new_application, gst_query_get_structure): New public
11713         procs.
11714
11715         * docs/design/draft-query.txt: Removed LINKS from the query types,
11716         because all the rest can be dispatched to other pads -- seemed
11717         ugly to have a query that couldn't be dispatched. internal_links
11718         is fine as a pad method.
11719
11720         * gst/gstpad.h: Add query2 as a pad method, add the new functions
11721         in gstpad.c, but maintain binary compatibility for the moment.
11722         Will fix before 0.9 is out.
11723
11724         * gst/gstqueryutils.c: 
11725         * gst/gstqueryutils.h: New files, implement 3 methods for each
11726         query type: parse_query, parse_response, and set. Probably need an
11727         allocator as well.
11728
11729         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
11730
11731         * gst/elements/gstfilesink.c (gst_filesink_query2):
11732         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
11733         query_types, and formats methods.
11734
11735         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
11736         (gst_pad_set_query2_function): New functions.
11737         (gst_real_pad_init): Set query2_default as the default query2
11738         function. Basically just dispatches to internally linked pads.
11739
11740         Needs review!
11741         
11742         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
11743         without using the atomic operations. Only one thread can possibly
11744         be accessing the data at this point. Changed so as to avoid
11745         gst_atomic operations.
11746
11747 2005-05-06  Wim Taymans  <wim@fluendo.com>
11748
11749         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
11750         Also set caps if we use the fallback buffer alloc.
11751
11752 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
11753
11754         * docs/gst/Makefile.am:
11755         * docs/gst/gstreamer-docs.sgml:
11756         * docs/gst/gstreamer-sections.txt:
11757         * docs/gst/tmpl/gstatomic.sgml:
11758         * docs/gst/tmpl/gstmemchunk.sgml:
11759         * testsuite/elements/struct_i386.h:
11760         * win32/GStreamer.vcproj:
11761         * win32/Makefile:
11762           Purge GstAtomic stuff from docs and win32 makefiles as well
11763
11764 2005-05-06  Wim Taymans  <wim@fluendo.com>
11765
11766         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
11767         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
11768         * gst/gstpad.c: (gst_pad_peer_get_caps):
11769         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11770         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11771         (gst_queue_src_activate), (gst_queue_change_state):
11772         * gst/gstqueue.h:
11773         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11774         (intersect_caps_func):
11775         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
11776         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
11777         Some fixes for the peer_get_caps() change.
11778
11779 2005-05-06  Wim Taymans  <wim@fluendo.com>
11780
11781         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11782         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
11783         (gst_basesink_activate):
11784         Actually do something with error codes returned from the push
11785         functions.
11786
11787 2005-05-06  Wim Taymans  <wim@fluendo.com>
11788
11789         * docs/design/part-element-sink.txt:
11790         * docs/design/part-element-source.txt:
11791         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11792         (gst_basesink_event), (gst_basesink_activate):
11793         * gst/base/gstbasesink.h:
11794         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
11795         (gst_basesrc_activate):
11796         * gst/base/gstbasesrc.h:
11797         * gst/gstelement.c: (gst_element_pads_activate):
11798         Some more documentation.
11799         Fixed scheduling decision in _pads_activate().
11800
11801 2005-05-05  Andy Wingo  <wingo@pobox.com>
11802
11803         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
11804         the test suite.
11805
11806 2005-05-05  Wim Taymans  <wim@fluendo.com>
11807
11808         * gst/base/Makefile.am:
11809         * gst/base/gstbasesink.h:
11810         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11811         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
11812         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
11813         (gst_collectpads_class_init), (gst_collectpads_init),
11814         (gst_collectpads_finalize), (gst_collectpads_new),
11815         (gst_collectpads_set_function), (gst_collectpads_add_pad),
11816         (find_pad), (gst_collectpads_remove_pad),
11817         (gst_collectpads_is_active), (gst_collectpads_collect),
11818         (gst_collectpads_collect_range), (gst_collectpads_start),
11819         (gst_collectpads_stop), (gst_collectpads_peek),
11820         (gst_collectpads_pop), (gst_collectpads_available),
11821         (gst_collectpads_read), (gst_collectpads_flush),
11822         (gst_collectpads_chain):
11823         * gst/base/gstcollectpads.h:
11824         * gst/elements/Makefile.am:
11825         * gst/elements/gstelements.c:
11826         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11827         (gst_fakesink_get_times), (gst_fakesink_event),
11828         (gst_fakesink_preroll), (gst_fakesink_render):
11829         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
11830         (gst_filesink_init), (gst_filesink_set_location),
11831         (gst_filesink_open_file), (gst_filesink_close_file),
11832         (gst_filesink_pad_query), (gst_filesink_event),
11833         (gst_filesink_render), (gst_filesink_change_state):
11834         * gst/elements/gstfilesink.h:
11835         Added object to help in making collect pad based elements.
11836         Ported filesink.
11837         Make event function in sink baseclass return gboolean.
11838
11839 2005-05-05  Wim Taymans  <wim@fluendo.com>
11840
11841         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
11842         (gst_bin_get_by_name):
11843         * gst/gstbuffer.h:
11844         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
11845         (gst_clock_finalize):
11846         * gst/gstdata.c: (gst_data_replace):
11847         * gst/gstdata.h:
11848         * gst/gstelement.c: (gst_element_request_pad),
11849         (gst_element_pads_activate):
11850         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
11851         (gst_object_unref):
11852         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11853         (gst_pad_set_checkgetrange_function),
11854         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
11855         (gst_pad_check_pull_range), (gst_pad_pull_range),
11856         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11857         (gst_pad_pause_task), (gst_pad_stop_task):
11858         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11859         (gst_element_request_pad), (gst_pad_proxy_getcaps):
11860         Fix name lookup in GstBin.
11861         Added _data_replace() function and _buffer_replace()
11862         Use finalize method to clean up clock.
11863         Fix refcounting on request pads.
11864         Fix pad schedule mode error.
11865         Some more object refcounting debug info,
11866
11867
11868 2005-05-04  Andy Wingo <wingo@pobox.com>
11869
11870         * check/Makefile.am:
11871         * docs/gst/tmpl/gstatomic.sgml:
11872         * docs/gst/tmpl/gstplugin.sgml:
11873         * gst/base/gstbasesink.c: (gst_basesink_activate):
11874         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
11875         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
11876         (gst_basesrc_query), (gst_basesrc_set_property),
11877         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
11878         (gst_basesrc_activate):
11879         * gst/base/gstbasesrc.h:
11880         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
11881         (gst_base_transform_src_activate):
11882         * gst/elements/gstelements.c:
11883         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11884         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11885         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11886         * gst/elements/gsttypefindelement.c: (find_element_get_length),
11887         (gst_type_find_element_checkgetrange),
11888         (gst_type_find_element_activate):
11889         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
11890         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
11891         (gst_caps_load_thyself):
11892         * gst/gstelement.c: (gst_element_pads_activate),
11893         (gst_element_save_thyself), (gst_element_restore_thyself):
11894         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
11895         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
11896         * gst/gstpad.h:
11897         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
11898         (gst_xml_parse_file), (gst_xml_parse_memory),
11899         (gst_xml_get_element), (gst_xml_make_element):
11900         * gst/indexers/gstfileindex.c: (gst_file_index_load),
11901         (_file_index_id_save_xml), (gst_file_index_commit):
11902         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
11903         (read_enum), (load_pad_template), (load_feature), (load_plugin),
11904         (load_paths):
11905         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
11906         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
11907         * tools/gst-complete.c: (main):
11908         * tools/gst-compprep.c: (main):
11909         * tools/gst-inspect.c: (print_element_properties_info):
11910         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
11911         * tools/gst-xmlinspect.c: (print_element_properties):
11912         GCC 4 fixen.
11913         
11914 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11915
11916         * gst/gstplugin.c: (gst_plugin_check_module),
11917         (gst_plugin_check_file), (gst_plugin_load_file):
11918             apply patch from #172526 to make register work on MacOSX
11919
11920 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11921
11922         * docs/gst/tmpl/gstconfig.sgml:
11923         * gst/gstconfig.h.in:
11924           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
11925         * testsuite/debug/printf_extension.c: (main):
11926           Do not use GST_PTR_FORMAT on pointers to types with
11927           sizeof < sizeof(gpointer).  Fixes test on 64-bit
11928         * testsuite/elements/property.h:
11929           use correct printf format
11930
11931 2005-05-02  Wim Taymans  <wim@fluendo.com>
11932
11933         * docs/design/draft-push-pull.txt:
11934         * docs/design/draft-query.txt:
11935         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
11936         (gst_basesrc_start):
11937         Added draft for new query API.
11938         Added draft for better selecting scheduling methods.
11939         Make basesrc ignore length if the subclass does not support
11940         it.
11941
11942 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11943
11944         * gst/Makefile.am:
11945           possible fixes for automake-1.5 - _LIBADD is reserved
11946
11947 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11948
11949         * docs/faq/Makefile.am:
11950         * docs/manual/Makefile.am:
11951         * docs/manuals.mak:
11952         * docs/pwg/Makefile.am:
11953         * gst/Makefile.am:
11954           possible fixes for automake-1.5
11955
11956 2005-04-28  Wim Taymans  <wim@fluendo.com>
11957
11958         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11959         (gst_basesink_pad_getcaps), (gst_basesink_init),
11960         (gst_basesink_do_sync):
11961         * gst/gstclock.c: (gst_clock_entry_new):
11962         * gst/gstevent.c: (gst_event_discont_get_value):
11963         * gst/gstpipeline.c: (pipeline_bus_handler),
11964         (gst_pipeline_change_state):
11965         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
11966         Better debugging of clocking info.
11967         Allow NULL values when getting discont values.
11968
11969 2005-04-27  Wim Taymans  <wim@fluendo.com>
11970
11971         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11972         * check/gst/gstpad.c: (gst_pad_suite):
11973         Increase timeout for checks.
11974
11975 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11976
11977         * check/Makefile.am:
11978           fix the broken rule for cleanup.  Apparently this rule is
11979           only needed on FC2, so maybe this warrants further autotool
11980           inspection.
11981
11982 2005-04-26  Wim Taymans  <wim@fluendo.com>
11983
11984         * gst/gsttrashstack.h:
11985         Ooohh. a nasty one! After having a failed pop() from the stack,
11986         it's possible that the stack is empty. In that case, don't
11987         follow the NULL pointer.
11988
11989 2005-04-25  Wim Taymans  <wim@fluendo.com>
11990
11991         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11992         (gst_pad_set_checkgetrange_function),
11993         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
11994         (gst_pad_check_pull_range), (gst_pad_pull_range),
11995         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11996         (gst_pad_pause_task), (gst_pad_stop_task):
11997         * gst/gstplugin.c: (gst_plugin_load):
11998         * gst/gstplugin.h:
11999         Remove gst_library_load as it does more harm than good with
12000         the new g_module flags.
12001         Revert bogus caps template check in pad linking, pad caps
12002         are important when linking not the template, which is more
12003         general than the current caps.
12004
12005 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12006
12007         * gst/autoplug/.cvsignore:
12008         * gst/autoplug/Makefile.am:
12009         * gst/autoplug/gstsearchfuncs.c:
12010         * gst/autoplug/gstsearchfuncs.h:
12011         * gst/autoplug/gstspider.c:
12012         * gst/autoplug/gstspider.h:
12013         * gst/autoplug/gstspideridentity.c:
12014         * gst/autoplug/gstspideridentity.h:
12015         * gst/autoplug/spidertest.c:
12016           Die, spider, die.
12017
12018 2005-04-25  Wim Taymans  <wim@fluendo.com>
12019
12020         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12021         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12022         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
12023         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
12024         * gst/gstpad.h:
12025         Added stubs for unimplemented functions. 
12026
12027 2005-04-24  David Schleef  <ds@schleef.org>
12028
12029         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
12030         please fix.
12031
12032 2005-04-24  David Schleef  <ds@schleef.org>
12033
12034         Convert everything from GstAtomicInt to g_atomic_int_*, and
12035         remove gstatomic.
12036         * gst/Makefile.am:
12037         * gst/gstatomic.c:
12038         * gst/gstatomic.h:
12039         * gst/gstatomic_impl.h:
12040         * gst/gstbuffer.c:
12041         * gst/gstcaps.c:
12042         * gst/gstcaps.h:
12043         * gst/gstclock.c:
12044         * gst/gstclock.h:
12045         * gst/gstdata.c:
12046         * gst/gstdata.h:
12047         * gst/gstdata_private.h:
12048         * gst/gstevent.c:
12049         * gst/gstinfo.c:
12050         * gst/gstinfo.h:
12051         * gst/gstmessage.c:
12052         * gst/gstobject.c:
12053         * gst/gstobject.h:
12054         * gst/gststructure.c:
12055         * gst/gststructure.h:
12056         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
12057         * gst/gstutils.h:
12058
12059 2005-04-24  David Schleef  <ds@schleef.org>
12060
12061         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
12062         make the regressions tests work.  Remove some code that is no
12063         longer true.
12064         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
12065         Disable warning for pads without templates.
12066
12067 2005-04-24  David Schleef  <ds@schleef.org>
12068
12069         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
12070         functions that handle filtered links.
12071         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
12072         removed functions.
12073         * gst/gstutils.c: Fix/remove utility functions that handle
12074         filtered caps.
12075         * gst/gstutils.h:
12076         * gst/gstvalue.c: Add serialization/deserialization of caps
12077         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
12078         requires fixing so that the filter caps notation creates
12079         a capsfilter element and sets the filter_caps property.  I
12080         think everyone probably wants to keep the shorthand notation.
12081         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
12082         * docs/gst/tmpl/gstpad.sgml:
12083
12084         * gst/elements/gstelements.c: Register capsfilter element.
12085         * gst/Makefile.am: fix spacing
12086         * docs/random/ds/0.9-suggested-changes: random
12087
12088 2005-04-23  David Schleef  <ds@schleef.org>
12089
12090         * gst/elements/Makefile.am:
12091         * gst/elements/gstcapsfilter.c: New element that acts like an
12092         identity, but filters caps.  Will eventually replace filtered
12093         caps in pad linking.
12094         * gst/gstutils.c: (gst_element_create_all_pads): New function
12095         to create all the ALWAYS pads that are registered with an
12096         element class.  This functionality should eventually be
12097         merged in with GstElement initialization.
12098         * gst/gstutils.h:
12099         * testsuite/trigger/README: part of trigger test code that should
12100         have been checked in a long time ago.
12101
12102 2005-04-23  David Schleef  <ds@schleef.org>
12103
12104         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
12105         needed with new versions of libtool (nobody will confirm this),
12106         and hard to carry around.
12107         * gst/autoplug/Makefile.am:
12108         * gst/base/Makefile.am:
12109         * gst/elements/Makefile.am:
12110         * gst/indexers/Makefile.am:
12111         * gst/schedulers/Makefile.am:
12112         * libs/gst/bytestream/Makefile.am:
12113         * libs/gst/control/Makefile.am:
12114         * libs/gst/dataprotocol/Makefile.am:
12115         * libs/gst/getbits/Makefile.am:
12116
12117 2005-04-21  Wim Taymans  <wim@fluendo.com>
12118
12119         * docs/design/draft-push-pull.txt:
12120         * docs/design/part-MT-refcounting.txt:
12121         * docs/design/part-TODO.txt:
12122         * docs/design/part-caps.txt:
12123         * docs/design/part-events.txt:
12124         * docs/design/part-gstbus.txt:
12125         * docs/design/part-gstpipeline.txt:
12126         * docs/design/part-messages.txt:
12127         * docs/design/part-push-pull.txt:
12128         * docs/design/part-query.txt:
12129         Some more docs.
12130
12131 2005-04-21  Wim Taymans  <wim@fluendo.com>
12132
12133         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
12134         (gst_message_new), (gst_message_new_error),
12135         (gst_message_new_warning), (gst_message_new_tag),
12136         (gst_message_new_state_changed), (gst_message_new_application),
12137         (gst_message_get_structure):
12138         * gst/gstmessage.h:
12139         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12140         (gst_structure_copy_conditional):
12141         Use parent refcount in GstMessage to ensure GstStructure
12142         consistency.
12143         Cleaned up headers a bit.
12144         
12145
12146 2005-04-20  Wim Taymans  <wim@fluendo.com>
12147
12148         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12149         (gst_basesink_pad_getcaps), (gst_basesink_init),
12150         (gst_basesink_chain_unlocked):
12151         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
12152         (gst_type_find_helper):
12153         * gst/elements/gsttypefindelement.c:
12154         (gst_type_find_element_have_type), (gst_type_find_element_init),
12155         (stop_typefinding), (gst_type_find_element_handle_event),
12156         (find_suggest), (gst_type_find_element_chain),
12157         (gst_type_find_element_checkgetrange),
12158         (gst_type_find_element_getrange), (do_typefind),
12159         (gst_type_find_element_activate):
12160         * gst/gstbuffer.c: (_gst_buffer_sub_free),
12161         (gst_buffer_default_free), (gst_buffer_default_copy),
12162         (gst_buffer_set_caps):
12163         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
12164         (gst_caps_replace):
12165         * gst/gstmessage.c: (gst_message_new),
12166         (gst_message_new_state_changed):
12167         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12168         (gst_pad_set_checkgetrange_function),
12169         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
12170         (gst_pad_set_caps), (gst_pad_check_pull_range),
12171         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
12172         * gst/gstpad.h:
12173         * gst/gsttypefind.c: (gst_type_find_register):
12174         Make gst_caps_replace() work like other _replace() functions.
12175         Use _caps_replace() where possible.
12176         Make sure _message_new() initialises its field.
12177         Add gst_static_pad_template_get_caps()
12178
12179
12180 2005-04-18  Andy Wingo  <wingo@pobox.com>
12181
12182         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
12183         on the peer, not the pad. I think that was a typo. Pass an extra
12184         arg to see if random access is possible. Activate the pads as
12185         PULL_RANGE if possible.
12186
12187         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
12188
12189         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
12190         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
12191         to PROP_....
12192
12193 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12194
12195         * docs/faq/using.xml:
12196           Add note on gstreamer-properties (#154996).
12197
12198 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12199
12200         * docs/random/bbb/optional-properties:
12201           Some analysis on optional properties.
12202
12203 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12204
12205         * docs/gst/tmpl/gstelementfactory.sgml:
12206         * gst/gstelement.h:
12207         * gst/gstelementfactory.c: (gst_element_factory_init),
12208         (gst_element_factory_cleanup), (gst_element_register),
12209         (__gst_element_factory_add_static_pad_template),
12210         (gst_element_factory_get_static_pad_templates),
12211         (gst_element_factory_can_src_caps),
12212         (gst_element_factory_can_sink_caps):
12213         * gst/registries/Makefile.am:
12214         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
12215         (gst_xml_registry_class_init), (gst_xml_registry_init),
12216         (gst_xml_registry_new), (gst_xml_registry_set_property),
12217         (gst_xml_registry_get_property), (get_time), (make_dir),
12218         (gst_xml_registry_get_perms_func),
12219         (plugin_times_older_than_recurse), (plugin_times_older_than),
12220         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
12221         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
12222         (add_to_char_array), (read_string), (read_uint), (read_enum),
12223         (load_pad_template), (load_feature), (load_plugin), (load_paths),
12224         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
12225         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
12226         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
12227         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
12228         (gst_xml_registry_rebuild):
12229         * gst/registries/gstlibxmlregistry.h:
12230         * tools/gst-compprep.c: (main):
12231         * tools/gst-inspect.c: (print_pad_templates_info):
12232         * tools/gst-xmlinspect.c: (print_element_info):
12233           Use libxml2 for registry parsing, use staticpadtemplates in
12234           elementfactories. Makes gst_init() +/- 10x faster.
12235
12236 2005-04-12  Wim Taymans  <wim@fluendo.com>
12237
12238         * gst/base/Makefile.am:
12239         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12240         (gst_basesink_pad_getcaps), (gst_basesink_init),
12241         (gst_basesink_event), (gst_basesink_change_state):
12242         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12243         (gst_basesrc_init), (gst_basesrc_query),
12244         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12245         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12246         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12247         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12248         (gst_basesrc_stop), (gst_basesrc_activate),
12249         (gst_basesrc_change_state):
12250         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12251         (helper_find_suggest), (gst_type_find_helper):
12252         * gst/base/gsttypefindhelper.h:
12253         * gst/elements/Makefile.am:
12254         * gst/elements/gstelements.c:
12255         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12256         (gst_fakesink_get_times), (gst_fakesink_event),
12257         (gst_fakesink_preroll), (gst_fakesink_render):
12258         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12259         (gst_fakesrc_init), (gst_fakesrc_event_handler),
12260         (gst_fakesrc_get_property), (gst_fakesrc_create),
12261         (gst_fakesrc_start), (gst_fakesrc_stop):
12262         * gst/elements/gstfakesrc.h:
12263         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
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_is_seekable), (gst_filesrc_get_size),
12268         (gst_filesrc_start):
12269         * gst/elements/gsttypefindelement.c:
12270         (gst_type_find_element_have_type), (gst_type_find_element_init),
12271         (start_typefinding), (stop_typefinding), (push_buffer_store),
12272         (gst_type_find_element_handle_event),
12273         (gst_type_find_element_chain),
12274         (gst_type_find_element_checkgetrange),
12275         (gst_type_find_element_getrange), (do_typefind),
12276         (gst_type_find_element_activate),
12277         (gst_type_find_element_change_state):
12278         * gst/elements/gsttypefindelement.h:
12279         * gst/gstpipeline.c: (pipeline_bus_handler):
12280         Added typefind helper.
12281         Small preroll fix in the base sink.
12282         Disable typefind code in basesrc.
12283         Crude port of typefindelement.
12284         Fakesrc cleanups.
12285
12286
12287 2005-04-11  Wim Taymans  <wim@fluendo.com>
12288
12289         * check/gst/gstbus.c: (gstbus_suite):
12290         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
12291         * check/gstcheck.h:
12292           Fix up the timeout so that the test does not fail.
12293
12294 2005-04-06  Wim Taymans  <wim@fluendo.com>
12295
12296         * gst/base/README:
12297         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12298         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
12299         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12300         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12301         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12302         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12303         (gst_basesrc_stop), (gst_basesrc_activate),
12304         (gst_basesrc_change_state), (basesrc_find_peek),
12305         (basesrc_find_suggest), (gst_basesrc_type_find):
12306         * gst/base/gstbasesrc.h:
12307         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12308         (gst_filesrc_class_init), (gst_filesrc_init),
12309         (gst_filesrc_finalize), (gst_filesrc_set_location),
12310         (gst_filesrc_set_property), (gst_filesrc_get_property),
12311         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12312         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12313         (gst_filesrc_create_read), (gst_filesrc_create),
12314         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12315         * gst/elements/gstfilesrc.h:
12316         * gst/gstelement.c: (gst_element_get_state_func),
12317         (gst_element_lost_state), (gst_element_pads_activate):
12318         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12319         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12320         (gst_pad_pull_range):
12321         * gst/gstpad.h:
12322         More work on the generic source base class, implement seeking,
12323         query.
12324         Make filesrc extend the base source class.
12325         Added gst_pad_set_checkgetrange_function to GstPad.
12326
12327 2005-04-06  Andy Wingo  <wingo@pobox.com>
12328
12329         * pkgconfig/gstreamer-base.pc.in:
12330         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12331
12332         * pkgconfig/Makefile.am:
12333         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12334
12335 2005-04-04  Wim Taymans  <wim@fluendo.com>
12336
12337         * gst/base/Makefile.am:
12338         * gst/base/README:
12339         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12340         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12341         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12342         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12343         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12344         (gst_basesrc_base_init), (gst_basesrc_class_init),
12345         (gst_basesrc_init), (gst_basesrc_get_formats),
12346         (gst_basesrc_get_query_types), (gst_basesrc_query),
12347         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12348         (gst_basesrc_set_property), (gst_basesrc_get_property),
12349         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12350         (gst_basesrc_loop), (gst_basesrc_activate),
12351         (gst_basesrc_change_state):
12352         * gst/base/gstbasesrc.h:
12353         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12354         (gst_fakesrc_class_init), (gst_fakesrc_init),
12355         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12356         (gst_fakesrc_get_property), (gst_fakesrc_create):
12357         * gst/elements/gstfakesrc.h:
12358         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12359         (gst_filesrc_open_file), (gst_filesrc_loop),
12360         (gst_filesrc_activate), (filesrc_find_peek),
12361         (gst_filesrc_type_find):
12362         Made base source class, make fakesrc extend it.
12363         Add comments to basesink class.
12364         Some filesrc cleanup.
12365
12366 2005-03-31  David Schleef  <ds@schleef.org>
12367
12368         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12369         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12370         expected to link against libgstreamer.
12371         * gst/base/Makefile.am: link against libgstreamer
12372         * gst/elements/Makefile.am: same
12373
12374 2005-03-31  Andy Wingo  <wingo@pobox.com>
12375
12376         * tests/instantiate/Makefile.am:
12377         * tests/instantiate/caps.c: Add test to test speed of caps copy
12378         and free.
12379
12380         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12381         GMemChunk to be fair.
12382
12383         * gst/gsttrashstack.h: Remove warning about using the fallback
12384         trash stack implementation, it's still faster than malloc.
12385
12386 2005-03-30  Andy Wingo  <wingo@pobox.com>
12387
12388         * tests/complexity.c: Add a copyright.
12389
12390 2005-03-31  Wim Taymans  <wim@fluendo.com>
12391
12392         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12393         (gst_base_transform_class_init), (gst_base_transform_init),
12394         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12395         (gst_base_transform_get_property),
12396         (gst_base_transform_sink_activate),
12397         (gst_base_transform_src_activate),
12398         (gst_base_transform_change_state):
12399         * gst/base/gstbasetransform.h:
12400         * gst/elements/gstidentity.c: (gst_identity_class_init),
12401         (gst_identity_event), (gst_identity_check_perfect),
12402         (gst_identity_transform), (gst_identity_start),
12403         (gst_identity_stop):
12404         Added start/stop methods to transform base class so subclasses 
12405         don't need to deal with state changes even.
12406
12407 2005-03-31  Wim Taymans  <wim@fluendo.com>
12408
12409         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12410         (gst_event_new_discontinuous), (gst_event_discont_get_value):
12411         * gst/gstevent.h:
12412         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12413         (gst_pad_pull_range):
12414         Added rate to the discont event to prepare for variable speed
12415         and reverse playback.
12416
12417 2005-03-29  David Schleef  <ds@schleef.org>
12418
12419         * configure.ac:
12420         * testsuite/trigger/Makefile.am:
12421         * testsuite/trigger/trigger.c: A little example program to show
12422         how trigger-based elements can work.
12423
12424 2005-03-29  Wim Taymans  <wim@fluendo.com>
12425
12426         * gst/base/Makefile.am:
12427         * gst/base/README:
12428         * gst/base/gstbasesink.c: (gst_basesink_get_type),
12429         (gst_basesink_base_init), (gst_basesink_class_init),
12430         (gst_basesink_pad_getcaps), (gst_basesink_init),
12431         (gst_basesink_activate), (gst_basesink_change_state):
12432         * gst/base/gstbasesink.h:
12433         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12434         (gst_base_transform_base_init), (gst_base_transform_finalize),
12435         (gst_base_transform_class_init), (gst_base_transform_init),
12436         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12437         (gst_base_transform_event), (gst_base_transform_getrange),
12438         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12439         (gst_base_transform_set_property),
12440         (gst_base_transform_get_property),
12441         (gst_base_transform_sink_activate),
12442         (gst_base_transform_src_activate),
12443         (gst_base_transform_change_state):
12444         * gst/base/gstbasetransform.h:
12445         * gst/elements/gstidentity.c: (gst_identity_finalize),
12446         (gst_identity_class_init), (gst_identity_init),
12447         (gst_identity_event), (gst_identity_check_perfect),
12448         (gst_identity_transform), (gst_identity_set_property),
12449         (gst_identity_get_property), (gst_identity_change_state):
12450         * gst/elements/gstidentity.h:
12451         * gst/gstelement.c: (gst_element_get_state_func),
12452         (gst_element_lost_state), (gst_element_pads_activate):
12453         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12454         (gst_pad_check_pull_range), (gst_pad_pull_range):
12455         * gst/gstpad.h:
12456         Simplify pad activation.
12457         Added function to check if pull_range can be performed.
12458         Error out when pulling inactive or flushing pads.
12459         Removed const from refcounted types as it does not make sense.
12460         Simplify pad templates in basesink
12461         Added base class for simple 1-to-1 transforms.
12462         Make identity subclass the base transform.
12463
12464 2005-03-29  Andy Wingo  <wingo@pobox.com>
12465
12466         * docs/libs/gstreamer-libs-overrides.txt: 
12467         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12468         really don't understand what's going on, but like whatever. I want
12469         green buildbot!
12470
12471         * docs/gst/Makefile.am:
12472         * docs/libs/Makefile.am: Dist the overrides files.
12473
12474         * check/Makefile.am (clean-local): Remove .libs directories.
12475
12476         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12477         elements to EXTRA_DIST, so po/ files are happy.
12478
12479         * po/POTFILES.in: Er, remove it here.
12480
12481         * po/POTFILES: Remove gstspider.c.
12482
12483         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12484
12485         * docs/libs/gstreamer-libs-docs.sgml: 
12486         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12487         bytestream.
12488
12489         * tests/complexity.c (main): Set the length of the preroll queue
12490         on the sinks to prevent a lockup.
12491
12492         * libs/gst/dataprotocol/Makefile.am: 
12493         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12494         the same as the one in check/gst-libs/gdp.c.
12495
12496         * po/, docs/gst/: Commit automatic changes to docs and po files.
12497
12498         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12499         the versioned libgstbase.
12500
12501         * check/Makefile.am: Depend on an unversioned gst-register, seems
12502         to make autoconf happier.
12503
12504         * gst/base/Makefile.am: Make libgstbase a versioned lib.
12505
12506 2005-03-28  Wim Taymans  <wim@fluendo.com>
12507
12508         * configure.ac:
12509         * docs/design/part-gstelement.txt:
12510         * docs/design/part-negotiation.txt:
12511         * docs/design/part-preroll.txt:
12512         * docs/design/part-scheduling.txt:
12513         * docs/design/part-states.txt:
12514         * gst/Makefile.am:
12515         * gst/base/Makefile.am:
12516         * gst/base/README:
12517         * gst/base/gstbasesink.c: (gst_basesink_get_template),
12518         (gst_basesink_base_init), (gst_basesink_class_init),
12519         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12520         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12521         (gst_basesink_set_pad_functions),
12522         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
12523         (gst_basesink_set_property), (gst_basesink_get_property),
12524         (gst_base_sink_get_template), (gst_base_sink_get_caps),
12525         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
12526         (gst_basesink_preroll_queue_push),
12527         (gst_basesink_preroll_queue_empty),
12528         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
12529         (gst_basesink_event), (gst_basesink_get_times),
12530         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
12531         (gst_basesink_chain_unlocked), (gst_basesink_chain),
12532         (gst_basesink_loop), (gst_basesink_activate),
12533         (gst_basesink_change_state):
12534         * gst/base/gstbasesink.h:
12535         * gst/elements/Makefile.am:
12536         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
12537         (gst_fakesink_class_init), (gst_fakesink_init),
12538         (gst_fakesink_set_property), (gst_fakesink_get_property),
12539         (gst_fakesink_get_times), (gst_fakesink_event),
12540         (gst_fakesink_preroll), (gst_fakesink_render),
12541         (gst_fakesink_change_state):
12542         * gst/elements/gstfakesink.h:
12543         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12544         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
12545         * gst/gstelement.c: (gst_element_add_pad),
12546         (gst_element_get_state_func), (gst_element_abort_state),
12547         (gst_element_commit_state), (gst_element_lost_state),
12548         (gst_element_set_state), (gst_element_pads_activate):
12549         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
12550         * gst/gstpipeline.c: (gst_pipeline_send_event),
12551         (gst_pipeline_change_state):
12552         Added state change code.
12553         Added/updated docs.
12554         Added sink base class, make fakesink extend the base class.
12555         Small cleanups in GstPipeline.
12556
12557 2005-03-26  David Schleef  <ds@schleef.org>
12558
12559         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
12560         is broken and should be implemented in a different library.
12561         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
12562         * gst/gst.h: remove gstcpu.h
12563         * gst/gstcpu.c: remove
12564         * gst/gstcpu.h: remove
12565         * gst/Makefile.am.future: Remove this file.  It's ancient.
12566
12567 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12568
12569         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12570         (gst_bin_send_event):
12571           Add default event/set_manager handlers. The set_manager handler
12572           takes care that the manager is distributed over kids that were
12573           already in the bin before the manager was set. The event handler
12574           is a utility virtual function that sends the event over all sinks,
12575           so that gst_element_send_event (bin, event); has the expected
12576           behaviour.
12577         * gst/gstpad.c: (gst_pad_event_default):
12578           Re-install default event handling for discontinuities, so that
12579           seeking works without requiring hacks in applications or extra
12580           code in sinks.
12581         * gst/gstpipeline.c: (gst_pipeline_class_init),
12582         (gst_pipeline_send_event):
12583           Half hack, half utility: set a pipeline to PAUSED for seek events,
12584           since that is the only way we can guarantee a/v sync. Means that
12585           you can do gst_element_seek (pipeline, method, pos); on a pipeline
12586           and it "just works".
12587
12588 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12589
12590         * gst/gstpipeline.c: (gst_pipeline_use_clock):
12591           Lock/unlock mismatch.
12592
12593 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12594
12595         * docs/faq/gst-uninstalled:
12596           add gst-plugins-base
12597         * docs/gst/Makefile.am:
12598           don't error out until docs are fixed
12599         * docs/gst/gstreamer.types:
12600           remove thread
12601
12602 2005-03-22  Wim Taymans  <wim@fluendo.com>
12603
12604         * check/Makefile.am:
12605         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
12606         * gst/gststructure.c: (gst_structure_set_valist),
12607         (gst_structure_copy_conditional):
12608         Activated more tests.
12609         Added message test.
12610         Added G_TYPE_POINTER to GstStructure.
12611         
12612
12613 2005-03-22  Wim Taymans  <wim@fluendo.com>
12614
12615         * docs/design/part-TODO.txt:
12616         * docs/design/part-events.txt:
12617         * docs/design/part-gstbin.txt:
12618         * docs/design/part-gstbus.txt:
12619         * docs/design/part-gstpipeline.txt:
12620         * docs/design/part-messages.txt:
12621         * gst/gstbus.c:
12622         * gst/gstmessage.c:
12623         Docs updates
12624
12625 2005-03-21  Wim Taymans  <wim@fluendo.com>
12626
12627         * gst/gstbus.c: (gst_bus_post):
12628         Fix copy-and-paste error.
12629
12630 2005-03-21  Wim Taymans  <wim@fluendo.com>
12631
12632         * check/Makefile.am:
12633         * gst/Makefile.am:
12634         * gst/elements/Makefile.am:
12635         * gst/elements/gstelements.c:
12636         * gst/elements/gstfakesink.c: (gst_fakesink_init),
12637         (gst_fakesink_event), (gst_fakesink_chain):
12638         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12639         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
12640         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
12641         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
12642         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
12643         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
12644         (gst_fakesrc_loop), (gst_fakesrc_activate),
12645         (gst_fakesrc_change_state):
12646         * gst/elements/gstfakesrc.h:
12647         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12648         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
12649         (gst_filesrc_open_file), (gst_filesrc_loop),
12650         (gst_filesrc_activate), (gst_filesrc_change_state),
12651         (filesrc_find_peek), (filesrc_find_suggest),
12652         (gst_filesrc_type_find):
12653         * gst/elements/gstidentity.c: (gst_identity_finalize),
12654         (gst_identity_class_init), (gst_identity_init),
12655         (gst_identity_proxy_getcaps), (identity_queue_push),
12656         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
12657         (gst_identity_getrange), (gst_identity_chain),
12658         (gst_identity_sink_loop), (gst_identity_src_loop),
12659         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
12660         (gst_identity_set_property), (gst_identity_get_property),
12661         (gst_identity_change_state):
12662         * gst/elements/gstidentity.h:
12663         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
12664         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
12665         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
12666         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
12667         (gst_tee_sink_activate):
12668         * gst/elements/gsttee.h:
12669         * gst/gst.c: (gst_register_core_elements), (init_post):
12670         * gst/gst.h:
12671         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
12672         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
12673         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
12674         (gst_bin_change_state):
12675         * gst/gstbin.h:
12676         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
12677         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
12678         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
12679         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
12680         (gst_bus_set_sync_handler), (gst_bus_create_watch),
12681         (bus_watch_callback), (bus_watch_destroy),
12682         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
12683         (poll_timeout), (gst_bus_poll):
12684         * gst/gstbus.h:
12685         * gst/gstcaps.h:
12686         * gst/gstdata.h:
12687         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12688         (gst_element_post_message), (gst_element_message_full),
12689         (gst_element_get_state_func), (gst_element_get_state),
12690         (gst_element_abort_state), (gst_element_commit_state),
12691         (gst_element_lost_state), (gst_element_set_state),
12692         (gst_element_pads_activate), (gst_element_change_state),
12693         (gst_element_dispose), (gst_element_set_manager_func),
12694         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
12695         (gst_element_set_manager), (gst_element_get_manager),
12696         (gst_element_set_bus), (gst_element_get_bus),
12697         (gst_element_set_scheduler), (gst_element_get_scheduler):
12698         * gst/gstelement.h:
12699         * gst/gstevent.c: (gst_event_new_segment_seek),
12700         (gst_event_new_flush):
12701         * gst/gstevent.h:
12702         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
12703         (_gst_message_free), (gst_message_get_type), (gst_message_new),
12704         (gst_message_new_eos), (gst_message_new_error),
12705         (gst_message_new_warning), (gst_message_new_tag),
12706         (gst_message_new_state_changed), (gst_message_new_application),
12707         (gst_message_get_structure), (gst_message_parse_tag),
12708         (gst_message_parse_state_changed), (gst_message_parse_error),
12709         (gst_message_parse_warning):
12710         * gst/gstmessage.h:
12711         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
12712         (gst_real_pad_set_property), (gst_pad_set_active),
12713         (gst_pad_is_active), (gst_pad_set_blocked_async),
12714         (gst_pad_set_blocked), (gst_pad_is_blocked),
12715         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
12716         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
12717         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
12718         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
12719         (gst_pad_link_filtered), (gst_pad_relink_filtered),
12720         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
12721         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
12722         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
12723         (gst_pad_set_caps), (gst_pad_configure_sink),
12724         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
12725         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
12726         (gst_real_pad_dispose), (gst_real_pad_finalize),
12727         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
12728         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12729         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
12730         * gst/gstpad.h:
12731         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
12732         (pipeline_bus_handler), (gst_pipeline_change_state),
12733         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
12734         * gst/gstpipeline.h:
12735         * gst/gstprobe.h:
12736         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
12737         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
12738         (gst_queue_link_src), (gst_queue_bufferalloc),
12739         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
12740         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
12741         (gst_queue_loop), (gst_queue_handle_src_event),
12742         (gst_queue_handle_src_query), (gst_queue_src_activate),
12743         (gst_queue_change_state):
12744         * gst/gstqueue.h:
12745         * gst/gstscheduler.c: (gst_scheduler_init),
12746         (gst_scheduler_dispose), (gst_scheduler_create_task),
12747         (gst_scheduler_factory_create):
12748         * gst/gstscheduler.h:
12749         * gst/gststructure.c: (gst_structure_get_type),
12750         (gst_structure_copy_conditional):
12751         * gst/gststructure.h:
12752         * gst/gsttaginterface.h:
12753         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
12754         (gst_task_init), (gst_task_dispose), (gst_task_create),
12755         (gst_task_get_state), (gst_task_start), (gst_task_stop),
12756         (gst_task_pause):
12757         * gst/gsttask.h:
12758         * gst/gstthread.c:
12759         * gst/gstthread.h:
12760         * gst/gsttypes.h:
12761         * gst/schedulers/Makefile.am:
12762         * gst/schedulers/cothreads_compat.h:
12763         * gst/schedulers/entryscheduler.c:
12764         * gst/schedulers/faircothreads.c:
12765         * gst/schedulers/faircothreads.h:
12766         * gst/schedulers/fairscheduler.c:
12767         * gst/schedulers/gstbasicscheduler.c:
12768         * gst/schedulers/gstoptimalscheduler.c:
12769         * gst/schedulers/gthread-cothreads.h:
12770         * gst/schedulers/threadscheduler.c:
12771         (gst_thread_scheduler_task_get_type),
12772         (gst_thread_scheduler_task_class_init),
12773         (gst_thread_scheduler_task_init),
12774         (gst_thread_scheduler_task_start),
12775         (gst_thread_scheduler_task_stop),
12776         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
12777         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
12778         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
12779         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
12780         (plugin_init):
12781         * libs/gst/Makefile.am:
12782         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
12783         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
12784         (gst_file_pad_parent_set):
12785         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12786         (gst_dp_event_from_packet):
12787         * tests/complexity.c: (main):
12788         * tests/mass_elements.c: (main):
12789         * testsuite/states/locked.c: (message_received), (main):
12790         * testsuite/states/parent.c: (main):
12791         * tools/gst-inspect.c: (print_element_flag_info),
12792         (print_implementation_info), (print_pad_info):
12793         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
12794         (main):
12795         * tools/gst-md5sum.c: (event_loop), (main):
12796         * tools/gst-typefind.c: (main):
12797         * tools/gst-xmlinspect.c: (print_element_info):
12798         Next big merge.
12799         Added GstBus for mainloop integration.
12800         Added GstMessage for sending notifications on the bus.
12801         Added GstTask as an abstraction for pipeline entry points.
12802         Removed GstThread.
12803         Removed Schedulers.
12804         Simplified GstQueue for multithreaded core.
12805         Made _link threadsafe, removed old capsnego.
12806         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
12807         Added pad blocking functions.
12808         Reworked scheduling functions in GstPad to prepare for
12809         scheduling updates soon.
12810         Moved events out of data stream.
12811         Simplified GstEvent types.
12812         Added return values to push/pull.
12813         Removed clocking from GstElement.
12814         Added prototypes for state change function for next merge.
12815         Removed iterate from bins and state change management.
12816         Fixed some elements, disabled others for now.
12817         Fixed -inspect and -launch.
12818         Added check for GstBus.
12819
12820 2005-03-10  Wim Taymans  <wim@fluendo.com>
12821
12822         * docs/design/part-MT-refcounting.txt:
12823         * docs/design/part-clocks.txt:
12824         * docs/design/part-gstelement.txt:
12825         * docs/design/part-gstobject.txt:
12826         * docs/design/part-standards.txt:
12827         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12828         (gst_bin_remove_func), (gst_bin_remove):
12829         * gst/gstbin.h:
12830         * gst/gstbuffer.c:
12831         * gst/gstcaps.h:
12832         * testsuite/clock/clock1.c: (main):
12833         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
12834         (main):
12835         * testsuite/dlopen/loadgst.c: (do_test):
12836         * testsuite/refcounting/bin.c: (add_remove_test1),
12837         (add_remove_test2), (main):
12838         * testsuite/refcounting/element.c: (main):
12839         * testsuite/refcounting/element_pad.c: (main):
12840         * testsuite/refcounting/pad.c: (main):
12841         * tools/gst-launch.c: (sigint_handler_sighandler):
12842         * tools/gst-typefind.c: (main):
12843         Doc updates.
12844         Added doc about clock.
12845         removed gst_bin_iterate_recurse_up(), marked methods
12846         for removal.
12847         Fix more testsuites.
12848
12849 2005-03-09  Wim Taymans  <wim@fluendo.com>
12850
12851         * gst/gstpad.c: (gst_pad_get_direction),
12852         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
12853         (gst_pad_collect_valist):
12854         * testsuite/bins/interface.c: (main):
12855         * testsuite/caps/audioscale.c: (test_caps):
12856         * testsuite/caps/caps.c: (test1), (test2), (test3):
12857         * testsuite/caps/deserialize.c: (main):
12858         * testsuite/caps/enumcaps.c: (main):
12859         * testsuite/caps/filtercaps.c: (main):
12860         * testsuite/caps/intersect2.c: (main):
12861         * testsuite/caps/random.c: (main):
12862         * testsuite/caps/renegotiate.c: (my_fixate), (main):
12863         * testsuite/caps/sets.c: (check_caps):
12864         * testsuite/caps/simplify.c: (check_caps), (main):
12865         * testsuite/caps/subtract.c: (check_caps):
12866         Fix _pad_get_direction wrt ghostpads.
12867         Fix caps testsuite.
12868
12869 2005-03-09  Wim Taymans  <wim@fluendo.com>
12870
12871         * check/Makefile.am:
12872         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
12873         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
12874         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
12875         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
12876         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
12877         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
12878         (gst_bin_remove), (gst_bin_iterate_recurse_up),
12879         (bin_element_is_sink), (gst_bin_iterate_sinks),
12880         (gst_bin_iterate_all_by_interface):
12881         * gst/gstbin.h:
12882         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
12883         (gst_element_change_state), (gst_element_dispose),
12884         (gst_element_finalize), (gst_element_set_loop_function):
12885         * gst/gstelement.h:
12886         * gst/gstiterator.c: (find_custom_fold_func):
12887         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12888         (gst_pad_collectv), (gst_pad_collect_valist),
12889         (gst_pad_template_new):
12890         * gst/gstpipeline.c: (gst_pipeline_class_init),
12891         (gst_pipeline_dispose), (gst_pipeline_set_property),
12892         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
12893         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
12894         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
12895         * gst/gstutils.h:
12896         * gst/schedulers/entryscheduler.c:
12897         * gst/schedulers/gstbasicscheduler.c:
12898         (gst_basic_scheduler_cothreaded_chain),
12899         (gst_basic_scheduler_chain_add_element):
12900         * testsuite/bins/interface.c: (main):
12901         Added GstBin test.
12902         Added GstSystemClock test.
12903         Implemented clock distribution code in GstBin.
12904         Implemented iterate sinks method for future use.
12905         Rearranged gstelement.h
12906         Fix GstIterator comparison bug.
12907         Moved some code to GstPipeline, mostly clocking related.
12908
12909 2005-03-09  Wim Taymans  <wim@fluendo.com>
12910
12911         * configure.ac:
12912         * gst/gst_private.h:
12913         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12914         (gst_bin_remove_func), (gst_bin_remove),
12915         (gst_bin_get_by_name_recurse_up):
12916         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
12917         (gst_clock_id_compare_func), (gst_clock_id_wait),
12918         (gst_clock_id_wait_async), (gst_clock_init),
12919         (gst_clock_adjust_unlocked), (gst_clock_get_time):
12920         * gst/gstelement.h:
12921         * gst/gstinfo.c: (_gst_debug_init):
12922         * gst/gstobject.h:
12923         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12924         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
12925         * gst/gstpad.h:
12926         Bump version number, we're now 0.9.0
12927         Add future debugging category.
12928         Fix NULL _unref() in _get_by_name_recurse_up
12929         Rearrange gstpad.h.
12930         Update some docs.
12931
12932 2005-03-08  Wim Taymans  <wim@fluendo.com>
12933
12934         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
12935         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
12936         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
12937         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
12938         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
12939         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
12940         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
12941         * gst/elements/gstidentity.c: (gst_identity_class_init):
12942         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
12943         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12944         * gst/elements/gstshaper.c: (gst_shaper_class_init):
12945         * gst/elements/gststatistics.c: (gst_statistics_class_init):
12946         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
12947         (gst_tee_link):
12948         * gst/gstelement.c: (gst_element_class_init),
12949         (gst_element_base_class_init), (gst_element_init),
12950         (gst_element_get_random_pad), (gst_element_wait_state_change),
12951         (gst_element_change_state), (gst_element_dispose),
12952         (gst_element_finalize), (gst_element_set_loop_function):
12953         * gst/gstelement.h:
12954         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
12955         * gst/gstthread.c: (gst_thread_class_init),
12956         (gst_thread_release_children_locks), (gst_thread_change_state):
12957         * gst/schedulers/gstbasicscheduler.c:
12958         (gst_basic_scheduler_loopfunc_wrapper),
12959         (gst_basic_scheduler_chain_wrapper),
12960         (gst_basic_scheduler_src_wrapper),
12961         (gst_basic_scheduler_remove_element):
12962         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
12963         Remove threadsafe properties. Fix elements because GObject
12964         complains when installing a property before declaring a
12965         set/get_property handler.
12966         Rearrange gstelement.h file, use STATE macros for state locks.
12967         Free mutexes in the finalize method instead of dispose.
12968
12969 2005-03-08  Wim Taymans  <wim@fluendo.com>
12970
12971         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12972         * gst/gstthread.c: (gst_thread_release_children_locks):
12973         Added parentage check.
12974         Fix build og GstThread again.
12975
12976 2005-03-08  Wim Taymans  <wim@fluendo.com>
12977
12978         * docs/design/part-MT-refcounting.txt:
12979         * docs/design/part-conventions.txt:
12980         * docs/design/part-gstobject.txt:
12981         * docs/design/part-relations.txt:
12982         * docs/design/part-standards.txt:
12983         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12984         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
12985         (gst_bin_get_by_name), (gst_bin_get_by_interface),
12986         (gst_bin_iterate_all_by_interface):
12987         * gst/gstbuffer.h:
12988         * gst/gstclock.h:
12989         * gst/gstelement.c: (gst_element_class_init),
12990         (gst_element_change_state), (gst_element_set_loop_function):
12991         * gst/gstelement.h:
12992         * gst/gstiterator.c:
12993         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
12994         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
12995         (gst_object_dispatch_properties_changed), (gst_object_set_name),
12996         (gst_object_set_parent), (gst_object_unparent),
12997         (gst_object_check_uniqueness):
12998         * gst/gstobject.h:
12999         Docs updates, clean up some headers.
13000
13001 2005-03-07  Wim Taymans  <wim@fluendo.com>
13002
13003         * check/.cvsignore:
13004         * check/Makefile.am:
13005         * check/gst-libs/.cvsignore:
13006         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
13007         * check/gst/.cvsignore:
13008         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
13009         (START_TEST), (gstbus_suite), (main):
13010         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
13011         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
13012         (gst_data_suite), (main):
13013         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
13014         (add_fold_func), (gstiterator_suite), (main):
13015         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
13016         (thread_name_object), (thread_name_object_default),
13017         (gst_object_name_compare), (gst_object_suite), (main):
13018         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
13019         (gst_pad_suite), (main):
13020         * check/gstcheck.c: (gst_check_log_message_func),
13021         (gst_check_log_critical_func), (gst_check_init):
13022         * check/gstcheck.h:
13023         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
13024         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
13025         Added checks.
13026
13027 2005-03-07  Wim Taymans  <wim@fluendo.com>
13028
13029         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
13030         (gst_list_iterator_next), (gst_list_iterator_resync),
13031         (gst_list_iterator_free), (gst_iterator_new_list),
13032         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
13033         (gst_iterator_free), (gst_iterator_push), (filter_next),
13034         (filter_resync), (filter_uninit), (filter_free),
13035         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
13036         (gst_iterator_foreach), (find_custom_fold_func),
13037         (gst_iterator_find_custom):
13038         * gst/gstiterator.h:
13039         Added missing files.
13040
13041 2005-03-07  Wim Taymans  <wim@fluendo.com>
13042
13043         * Makefile.am:
13044         * configure.ac:
13045         * docs/design/part-MT-refcounting.txt:
13046         * docs/design/part-conventions.txt:
13047         * docs/design/part-gstobject.txt:
13048         * docs/design/part-relations.txt:
13049         * examples/mixer/mixer.c: (main):
13050         * examples/thread/thread.c: (eos), (main):
13051         * gst/Makefile.am:
13052         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13053         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
13054         (gst_spider_plug_from_srcpad):
13055         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
13056         (gst_spider_identity_change_state),
13057         (gst_spider_identity_sink_loop_type_finding):
13058         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
13059         * gst/elements/gstidentity.c: (gst_identity_init):
13060         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
13061         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
13062         * gst/elements/gsttypefindelement.c: (free_entry):
13063         * gst/gst.c:
13064         * gst/gst.h:
13065         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
13066         (gst_bin_set_clock_func), (gst_bin_auto_clock),
13067         (gst_bin_set_index), (gst_bin_set_element_sched),
13068         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
13069         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
13070         (gst_bin_iterate_elements), (iterate_child_recurse),
13071         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
13072         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
13073         (compare_interface), (gst_bin_get_by_interface),
13074         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
13075         * gst/gstbin.h:
13076         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
13077         (gst_buffer_default_free), (gst_buffer_default_copy),
13078         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
13079         (gst_buffer_create_sub):
13080         * gst/gstbuffer.h:
13081         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
13082         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
13083         (gst_caps_unref), (gst_static_caps_get),
13084         (gst_caps_remove_and_get_structure), (gst_caps_append),
13085         (gst_caps_append_structure), (gst_caps_remove_structure),
13086         (gst_caps_copy_nth), (gst_caps_set_simple),
13087         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
13088         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
13089         (gst_caps_structure_intersect_field), (gst_caps_intersect),
13090         (gst_caps_structure_subtract_field), (gst_caps_subtract),
13091         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
13092         (gst_caps_structure_figure_out_union),
13093         (gst_caps_switch_structures), (gst_caps_do_simplify),
13094         (gst_caps_replace), (gst_caps_from_string),
13095         (gst_caps_copy_conditional):
13096         * gst/gstcaps.h:
13097         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
13098         (_gst_clock_id_free), (gst_clock_id_unref),
13099         (gst_clock_id_compare_func), (gst_clock_id_wait),
13100         (gst_clock_id_wait_async), (gst_clock_class_init),
13101         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
13102         (gst_clock_get_time), (gst_clock_set_time_adjust),
13103         (gst_clock_set_property), (gst_clock_get_property):
13104         * gst/gstclock.h:
13105         * gst/gstcompat.h:
13106         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
13107         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
13108         * gst/gstdata.h:
13109         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13110         (gst_element_requires_clock), (gst_element_provides_clock),
13111         (gst_element_set_clock), (gst_element_clock_wait),
13112         (gst_element_wait), (gst_element_set_time_delay),
13113         (gst_element_is_indexable), (gst_element_add_pad),
13114         (gst_element_add_ghost_pad), (gst_element_remove_pad),
13115         (pad_compare_name), (gst_element_get_static_pad),
13116         (gst_element_request_pad), (gst_element_get_request_pad),
13117         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
13118         (gst_element_class_get_pad_template_list),
13119         (gst_element_class_get_pad_template), (gst_element_error_func),
13120         (gst_element_get_random_pad), (gst_element_get_event_masks),
13121         (gst_element_send_event), (gst_element_seek),
13122         (gst_element_get_query_types), (gst_element_query),
13123         (gst_element_get_formats), (gst_element_convert),
13124         (gst_element_is_locked_state), (gst_element_set_locked_state),
13125         (gst_element_sync_state_with_parent), (gst_element_change_state),
13126         (gst_element_finalize), (gst_element_yield),
13127         (gst_element_interrupt), (gst_element_set_scheduler),
13128         (gst_element_get_scheduler), (gst_element_set_loop_function):
13129         * gst/gstelement.h:
13130         * gst/gstevent.h:
13131         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
13132         (gst_format_get_by_nick), (gst_format_get_details),
13133         (gst_format_iterate_definitions):
13134         * gst/gstformat.h:
13135         * gst/gstindex.c: (gst_index_gtype_resolver):
13136         * gst/gstinfo.c:
13137         * gst/gstinfo.h:
13138         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
13139         (gst_mem_chunk_free):
13140         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
13141         (gst_object_ref), (gst_object_unref), (gst_object_sink),
13142         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
13143         (gst_object_dispatch_properties_changed),
13144         (gst_object_set_name_default), (gst_object_set_name),
13145         (gst_object_get_name), (gst_object_set_name_prefix),
13146         (gst_object_get_name_prefix), (gst_object_set_parent),
13147         (gst_object_get_parent), (gst_object_unparent),
13148         (gst_object_check_uniqueness), (gst_object_save_thyself),
13149         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
13150         (gst_object_set_property), (gst_object_get_property),
13151         (gst_object_get_path_string):
13152         * gst/gstobject.h:
13153         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13154         (gst_real_pad_init), (gst_real_pad_get_property),
13155         (gst_pad_custom_new), (gst_pad_get_direction),
13156         (gst_pad_set_active), (gst_pad_is_active),
13157         (gst_pad_set_event_function), (gst_pad_is_linked),
13158         (gst_pad_link_free), (gst_pad_link_intersect),
13159         (gst_pad_link_fixate), (gst_pad_set_caps),
13160         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
13161         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
13162         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
13163         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
13164         (gst_pad_get_caps), (gst_pad_peer_get_caps),
13165         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
13166         (gst_pad_realize), (gst_pad_get_allowed_caps),
13167         (gst_real_pad_dispose), (gst_real_pad_finalize),
13168         (gst_pad_collectv), (gst_pad_collect_valist),
13169         (gst_pad_template_dispose), (gst_pad_template_new),
13170         (gst_pad_get_internal_links):
13171         * gst/gstpad.h:
13172         * gst/gstpipeline.c: (gst_pipeline_dispose),
13173         (gst_pipeline_change_state):
13174         * gst/gstpipeline.h:
13175         * gst/gstplugin.c:
13176         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
13177         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
13178         * gst/gstpluginfeature.h:
13179         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
13180         * gst/gstquery.c: (_gst_query_type_initialize),
13181         (gst_query_type_register), (gst_query_type_get_by_nick),
13182         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
13183         * gst/gstquery.h:
13184         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
13185         * gst/gstscheduler.c: (gst_scheduler_add_element),
13186         (gst_scheduler_factory_create):
13187         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13188         (gst_structure_free), (gst_structure_set_name),
13189         (gst_structure_id_set_value), (gst_structure_set_value),
13190         (gst_structure_set_valist), (gst_structure_remove_field),
13191         (gst_structure_remove_fields),
13192         (gst_structure_remove_fields_valist),
13193         (gst_structure_remove_all_fields), (gst_structure_foreach),
13194         (gst_structure_map_in_place),
13195         (gst_caps_structure_fixate_field_nearest_int),
13196         (gst_caps_structure_fixate_field_nearest_double):
13197         * gst/gststructure.h:
13198         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13199         (gst_system_clock_init), (gst_system_clock_dispose),
13200         (gst_system_clock_async_thread),
13201         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
13202         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
13203         * gst/gstsystemclock.h:
13204         * gst/gsttag.c: (gst_tag_list_add_value_internal),
13205         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
13206         * gst/gsttaginterface.c:
13207         * gst/gstthread.c: (gst_thread_dispose),
13208         (gst_thread_release_children_locks), (gst_thread_change_state),
13209         (gst_thread_main_loop):
13210         * gst/gsttrashstack.h:
13211         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
13212         * gst/gsttypes.h:
13213         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13214         (gst_element_request_pad), (gst_element_get_pad_from_template),
13215         (gst_element_request_compatible_pad),
13216         (gst_element_get_compatible_pad_filtered),
13217         (gst_element_get_compatible_pad), (gst_element_state_get_name),
13218         (gst_element_link_pads_filtered), (gst_element_link_filtered),
13219         (gst_element_link_many), (gst_element_link),
13220         (gst_element_link_pads), (gst_element_unlink_pads),
13221         (gst_element_unlink_many), (gst_element_unlink),
13222         (gst_pad_can_link_filtered), (gst_pad_can_link),
13223         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
13224         (gst_object_default_error), (gst_bin_add_many),
13225         (gst_bin_remove_many), (gst_element_populate_std_props),
13226         (gst_element_class_install_std_props), (gst_buffer_merge),
13227         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
13228         (link_fold_func), (gst_pad_proxy_setcaps):
13229         * gst/gstutils.h:
13230         * gst/gstvalue.c: (gst_value_deserialize_string):
13231         * gst/parse/grammar.y:
13232         * gst/schedulers/gstbasicscheduler.c:
13233         (gst_basic_scheduler_cothreaded_chain),
13234         (gst_basic_scheduler_chain_recursive_add),
13235         (gst_basic_scheduler_pad_link):
13236         * gst/schedulers/gstoptimalscheduler.c:
13237         (get_group_schedule_function),
13238         (gst_opt_scheduler_state_transition),
13239         (gst_opt_scheduler_add_element), (element_get_reachables_func):
13240         * libs/gst/bytestream/bytestream.c:
13241         * libs/gst/dataprotocol/dataprotocol.c:
13242         (gst_dp_header_from_buffer):
13243         * po/nb.po:
13244         * po/ru.po:
13245         * tests/threadstate/threadstate2.c: (eos):
13246         * tools/gst-compprep.c: (main):
13247         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
13248         (print_pad_info), (print_children_info):
13249         * tools/gst-launch.c: (idle_func), (main):
13250         * tools/gst-md5sum.c: (idle_func), (main):
13251         * tools/gst-xmlinspect.c: (print_element_info):
13252         First THREADED backport attempt, focusing on adding locks and
13253         making sure the API is threadsafe. Needs more work. More docs
13254         follow this week.
13255
13256 2005-02-24  Andy Wingo  <wingo@pobox.com>
13257
13258         * tests/bench-complexity.scm:
13259         * tests/complexity.gnuplot: New files, good for running complexity
13260         benchmarks.
13261
13262         * tests/Makefile.am:
13263         * tests/complexity.c: New test, sets up N elements, at each level
13264         teeing into M streams per element. Eeeenteresting.
13265
13266         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
13267         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
13268         running bench-mass_elements.scm.
13269
13270         * tests/bench-mass_elements.scm: New script, runs mass_elements
13271         for various numbers of identities, outputting the results to a
13272         file. Requires guile 1.6. Just for testing.
13273
13274 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13275
13276         * gst/schedulers/fairscheduler.c:
13277           compile with debug disabled
13278
13279 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13280
13281         * configure.ac:
13282           hunting season on 0.9 is now OPEN