Back out previous code changes, leave doc updates, file bugs instead.
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-12-05  Wim Taymans  <wim@fluendo.com>
2
3         * gst/gstcaps.c: (gst_caps_is_equal):
4         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
5         (gst_fake_src_create):
6         Back out previous code changes, leave doc updates, file bugs 
7         instead. 
8
9 2005-12-05  Wim Taymans  <wim@fluendo.com>
10
11         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
12         (gst_fake_src_get_times), (gst_fake_src_create):
13         * plugins/elements/gstfakesrc.h:
14         Fix broken sync code.
15
16 2005-12-05  Wim Taymans  <wim@fluendo.com>
17
18         * gst/gstcaps.c: (gst_caps_is_equal):
19         Comparing NULL against !NULL yields different caps, not a
20         failure.
21
22 2005-12-05  Wim Taymans  <wim@fluendo.com>
23
24         * gst/gstpipeline.c:
25         Fix small typo in docs.
26
27 2005-12-05  Andy Wingo  <wingo@pobox.com>
28
29         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
30
31         * gst/gst.c (init_post): remove hard-coded 0.9 location for
32         registries/plugins with a MAJORMINOR one.
33         (plugin_desc): Rename library from gstcoreleements to
34         staticelements. Fixes #323222.
35
36 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
37
38         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
39           Change debug category to 'collectpads' from 'collect_pads'
40           (fixes #323250).
41
42 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
43
44         patch by: Sebastien Moutte
45
46         * libs/gst/controller/gstinterpolation.c:
47           use convert function for uint64/double
48         * win32/vs6/libgstcontroller.dsp:
49           link to GLib
50
51 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
52
53         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
54         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
55         * gst/gstutils.h:
56         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
57           add tests that seem to show that the guint64/gdouble conversions
58           are correct.
59
60 2005-12-02  Wim Taymans  <wim@fluendo.com>
61
62         * gst/gstregistry.c: (gst_registry_add_path):
63         * gst/gstregistry.h:
64         * gst/gstregistryxml.c:
65         Fix docs again.
66
67 2005-12-02  Wim Taymans  <wim@fluendo.com>
68
69         * gst/gstutils.c: (gst_util_uint64_scale_int64),
70         (gst_util_uint64_scale_int):
71         Small cleanup.
72
73         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
74         Add debug log line.
75
76         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
77         Add FIXME.
78
79 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
80
81         * win32/MANIFEST:
82         * win32/common/config.h:
83         * win32/vs6/gstreamer.dsw:
84         * win32/vs6/libgstcoreelements.dsp:
85         * win32/vs6/libgstelements.dsp:
86           renamed core elements plugin
87
88 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
89
90         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
91         (get_candidates):
92           do piece-wise major/minor comparison so 0.9 < 0.10
93           also allow .exe extensions for tools
94
95 2005-12-02  Michael Smith  <msmith@fluendo.com>
96
97         * gst/gst.c:
98           Escape a % to make gtkdoc happier; bug 322958.
99
100 === release 0.9.7 ===
101
102 2005-12-01   <thomas (at) apestaart (dot) org>
103
104         * configure.ac:
105           releasing 0.9.7, "My Dog Has No Nose"
106
107 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
108
109         * common/gst-xmlinspect.py:
110         * configure.ac:
111         * docs/libs/tmpl/gstdataprotocol.sgml:
112         * docs/random/release:
113         * po/af.po:
114         * po/az.po:
115         * po/bg.po:
116         * po/ca.po:
117         * po/cs.po:
118         * po/de.po:
119         * po/en_GB.po:
120         * po/fr.po:
121         * po/it.po:
122         * po/nb.po:
123         * po/nl.po:
124         * po/ru.po:
125         * po/sq.po:
126         * po/sr.po:
127         * po/sv.po:
128         * po/tr.po:
129         * po/uk.po:
130         * po/vi.po:
131         * win32/common/config.h:
132         * win32/common/config.h.in:
133         * win32/vs6/gst_inspect.dsp:
134         * win32/vs6/gst_launch.dsp:
135         * win32/vs6/libgstbase.dsp:
136         * win32/vs6/libgstelements.dsp:
137         * win32/vs6/libgstreamer.dsp:
138         * win32/vs7/GStreamer.vcproj:
139         * win32/vs7/gst-inspect.vcproj:
140         * win32/vs7/gst-launch.vcproj:
141         * win32/vs7/libgstbase.vcproj:
142           bump GST_MAJORMINOR to 0.10
143           reset libtool version
144
145 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
146
147         * po/LINGUAS:
148         * po/bg.po:
149           Added Bulgarian translation by (Alexander Shopov)
150
151 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
152
153         * tests/check/gst/gstplugin.c:
154           fix test
155
156 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
157
158         * common/gst-xmlinspect.py:
159         * common/gtk-doc-plugins.mak:
160         * configure.ac:
161         * docs/Makefile.am:
162         * docs/gst/Makefile.am:
163         * docs/gst/gstreamer-docs.sgml:
164         * docs/gst/gstreamer-sections.txt:
165         * docs/gst/gstreamer.types:
166         * docs/gst/gstreamer.types.in:
167         * docs/plugins/Makefile.am:
168         * docs/plugins/gstreamer-plugins-docs.sgml:
169         * docs/plugins/gstreamer-plugins-sections.txt:
170         * docs/plugins/gstreamer-plugins.types:
171         * docs/plugins/inspect.stamp:
172         * docs/plugins/inspect/plugin-coreelements.xml:
173         * docs/plugins/inspect/plugin-coreindexers.xml:
174         * docs/plugins/scanobj-build.stamp:
175         * gstreamer.spec.in:
176         * plugins/elements/Makefile.am:
177         * plugins/elements/gstelements.c:
178         * plugins/elements/gstfakesink.c:
179         * plugins/elements/gstfakesrc.c:
180         * plugins/elements/gstfilesink.c:
181         * plugins/elements/gstfilesrc.c:
182         * plugins/elements/gstqueue.c:
183         * plugins/indexers/Makefile.am:
184         * plugins/indexers/gstindexers.c:
185           document core plugins in a separate document just like all the
186           others
187           rename these plugins to something starting with core
188
189 2005-12-01  Andy Wingo  <wingo@pobox.com>
190
191         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
192         padding here before, but it missed the commit.
193
194 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
195
196         * libs/gst/controller/gstinterpolation.c:
197           whitespace prices have crashed, we should feel free to use some now
198           use gst_guint64_to_gdouble
199
200 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
201
202         * libs/gst/controller/gstcontroller.c:
203         * libs/gst/controller/gsthelper.c:
204         * libs/gst/controller/gstinterpolation.c:
205         * libs/gst/controller/lib.c:
206           wrap config.h include
207
208 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
209
210         * docs/gst/gstreamer-sections.txt:
211           update docs
212
213 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
214
215         * plugins/elements/gstelements.c:
216         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
217         (gst_fd_sink__class_init), (gst_fd_sink__init),
218         (gst_fd_sink__chain), (gst_fd_sink__set_property),
219         (gst_fd_sink__get_property):
220         * plugins/elements/gstfdsink.h:
221         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
222         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
223         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
224         (gst_fd_src_unlock), (gst_fd_src_set_property),
225         (gst_fd_src_get_property), (gst_fd_src_create),
226         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
227         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
228         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
229         (gst_fd_src_uri_handler_init):
230         * plugins/elements/gstfdsrc.h:
231         * plugins/elements/gstqueue.c: (gst_queue_get_type):
232           more anal cleanup
233
234 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
235
236         * docs/gst/Makefile.am:
237         * docs/gst/gstreamer.types.in:
238         * gst/Makefile.am:
239           fix the docs build
240
241 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
242
243         * configure.ac:
244         * gst/Makefile.am:
245         * gst/gst.c:
246         * gst/gstplugin.h:
247         * gst/gstregistry.h:
248         * tests/benchmarks/complexity.c:
249         * tests/benchmarks/mass-elements.c:
250         * tests/check/Makefile.am:
251         * tools/Makefile.am:
252         * tools/gst-inspect.c:
253         * tools/gst-xmlinspect.c:
254           various fixes to make
255           --disable-nls --disable-registry --disable-loadsave
256           --disable-parse --disable-gst-debug
257           work and get the core .so down to 360444 bytes after stripping
258
259 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
260
261         * Makefile.am:
262         * configure.ac:
263           descend into tests
264         * docs/random/thomasvs/TODO:
265         * tests/Makefile.am:
266         * tests/README:
267           add a README
268
269 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
270
271         * win32/GStreamer.vcproj:
272         * win32/MANIFEST:
273         * win32/Makefile:
274         * win32/Makefile.inspect:
275         * win32/Makefile.launch:
276         * win32/Makefile.register:
277         * win32/README.txt:
278         * win32/gst-inspect.vcproj:
279         * win32/gst-launch.vcproj:
280         * win32/gst-register.vcproj:
281         * win32/gstelements.vcproj:
282         * win32/gstgetbits.def:
283         * win32/gstgetbits.vcproj:
284         * win32/gstreamer-dbg.def:
285         * win32/gstreamer.def:
286         * win32/libgstbase.def:
287         * win32/libgstbase.vcproj:
288         * win32/link_oldruntime.c:
289         * win32/mman.c:
290         * win32/mman.h:
291         * win32/mman.inl:
292         * win32/msvc71.sln:
293           move even more stuff, win32/ is nice and clean now
294
295 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
296
297         * libs/gst/control/.cvsignore:
298         * win32/MANIFEST:
299         * win32/config.h:
300         * win32/dirent.c:
301         * win32/dirent.h:
302         * win32/gstbytestream.def:
303         * win32/gstbytestream.vcproj:
304         * win32/gstconfig.h:
305         * win32/gstenumtypes.c:
306         * win32/gstenumtypes.h:
307         * win32/gstoptimalscheduler.vcproj:
308         * win32/gstversion.h:
309         * win32/gtchar.h:
310         * win32/testsuite/bins.vcproj:
311         * win32/testsuite/bytestream.vcproj:
312         * win32/testsuite/caps.vcproj:
313         * win32/testsuite/cleanup.vcproj:
314         * win32/testsuite/clock.vcproj:
315         * win32/testsuite/debug.vcproj:
316         * win32/testsuite/dlopen.vcproj:
317         * win32/testsuite/dynparams.vcproj:
318         * win32/testsuite/elements.vcproj:
319         * win32/testsuite/ghostpads.vcproj:
320         * win32/testsuite/indexers.vcproj:
321         * win32/testsuite/negotiation.vcproj:
322         * win32/testsuite/parse.vcproj:
323         * win32/testsuite/plugin.vcproj:
324         * win32/testsuite/refcounting.vcproj:
325         * win32/testsuite/schedulers.vcproj:
326         * win32/testsuite/states.vcproj:
327         * win32/testsuite/tags.vcproj:
328         * win32/testsuite/threads.vcproj:
329           remove old win32 stuff that isn't maintained and should be
330           reorganized
331
332 2005-11-30  Andy Wingo  <wingo@pobox.com>
333
334         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
335         loading the gst.interfaces python module bork.
336
337         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
338         available since GLib 2.2. Fixes #318031.
339
340 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
341
342         * Makefile.am:
343         * check/.cvsignore:
344         * check/Makefile.am:
345         * check/elements/.cvsignore:
346         * check/elements/fakesrc.c:
347         * check/elements/fdsrc.c:
348         * check/elements/identity.c:
349         * check/generic/.cvsignore:
350         * check/generic/states.c:
351         * check/gst-libs/.cvsignore:
352         * check/gst-libs/controller.c:
353         * check/gst-libs/gdp.c:
354         * check/gst/.cvsignore:
355         * check/gst/capslist.h:
356         * check/gst/gst.c:
357         * check/gst/gstbin.c:
358         * check/gst/gstbuffer.c:
359         * check/gst/gstbus.c:
360         * check/gst/gstcaps.c:
361         * check/gst/gstelement.c:
362         * check/gst/gstevent.c:
363         * check/gst/gstghostpad.c:
364         * check/gst/gstiterator.c:
365         * check/gst/gstmessage.c:
366         * check/gst/gstminiobject.c:
367         * check/gst/gstobject.c:
368         * check/gst/gstpad.c:
369         * check/gst/gstpipeline.c:
370         * check/gst/gstplugin.c:
371         * check/gst/gstsegment.c:
372         * check/gst/gststructure.c:
373         * check/gst/gstsystemclock.c:
374         * check/gst/gsttag.c:
375         * check/gst/gstutils.c:
376         * check/gst/gstvalue.c:
377         * check/net/.cvsignore:
378         * check/net/gstnetclientclock.c:
379         * check/net/gstnettimeprovider.c:
380         * check/pipelines/.cvsignore:
381         * check/pipelines/cleanup.c:
382         * check/pipelines/simple_launch_lines.c:
383         * check/pipelines/stress.c:
384         * check/states/.cvsignore:
385         * check/states/sinks.c:
386         * configure.ac:
387         * examples/Makefile.am:
388         * examples/appreader/.cvsignore:
389         * examples/appreader/Makefile.am:
390         * examples/appreader/appreader.c:
391         * examples/controller/.cvsignore:
392         * examples/controller/Makefile.am:
393         * examples/controller/audio-example.c:
394         * examples/cutter/.cvsignore:
395         * examples/cutter/Makefile.am:
396         * examples/cutter/cutter.c:
397         * examples/cutter/cutter.h:
398         * examples/events/Makefile.am:
399         * examples/events/seek.c:
400         * examples/helloworld/.cvsignore:
401         * examples/helloworld/Makefile.am:
402         * examples/helloworld/helloworld.c:
403         * examples/helloworld2/.cvsignore:
404         * examples/helloworld2/Makefile.am:
405         * examples/helloworld2/helloworld2.c:
406         * examples/launch/.cvsignore:
407         * examples/launch/Makefile.am:
408         * examples/launch/mp3parselaunch.c:
409         * examples/launch/mp3play:
410         * examples/manual/.cvsignore:
411         * examples/manual/Makefile.am:
412         * examples/manual/extract.pl:
413         * examples/metadata/Makefile.am:
414         * examples/metadata/read-metadata.c:
415         * examples/mixer/.cvsignore:
416         * examples/mixer/Makefile.am:
417         * examples/mixer/mixer.c:
418         * examples/mixer/mixer.h:
419         * examples/pingpong/.cvsignore:
420         * examples/pingpong/Makefile.am:
421         * examples/pingpong/pingpong.c:
422         * examples/plugins/.cvsignore:
423         * examples/plugins/Makefile.am:
424         * examples/plugins/example.c:
425         * examples/plugins/example.h:
426         * examples/pwg/.cvsignore:
427         * examples/pwg/Makefile.am:
428         * examples/pwg/extract.pl:
429         * examples/queue/.cvsignore:
430         * examples/queue/Makefile.am:
431         * examples/queue/queue.c:
432         * examples/queue2/.cvsignore:
433         * examples/queue2/Makefile.am:
434         * examples/queue2/queue2.c:
435         * examples/queue3/.cvsignore:
436         * examples/queue3/Makefile.am:
437         * examples/queue3/queue3.c:
438         * examples/queue4/.cvsignore:
439         * examples/queue4/Makefile.am:
440         * examples/queue4/queue4.c:
441         * examples/retag/.cvsignore:
442         * examples/retag/Makefile.am:
443         * examples/retag/retag.c:
444         * examples/retag/transcode.c:
445         * examples/thread/.cvsignore:
446         * examples/thread/Makefile.am:
447         * examples/thread/thread.c:
448         * examples/typefind/.cvsignore:
449         * examples/typefind/Makefile.am:
450         * examples/typefind/typefind.c:
451         * examples/xml/.cvsignore:
452         * examples/xml/Makefile.am:
453         * examples/xml/createxml.c:
454         * examples/xml/runxml.c:
455         * tests/Makefile.am:
456         * tests/check/Makefile.am:
457         * testsuite/.cvsignore:
458         * testsuite/Makefile.am:
459         * testsuite/Rules:
460         * testsuite/caps/.cvsignore:
461         * testsuite/caps/Makefile.am:
462         * testsuite/caps/app_fixate.c:
463         * testsuite/caps/audioscale.c:
464         * testsuite/caps/caps.c:
465         * testsuite/caps/caps.h:
466         * testsuite/caps/caps_strings:
467         * testsuite/caps/compatibility.c:
468         * testsuite/caps/deserialize.c:
469         * testsuite/caps/enumcaps.c:
470         * testsuite/caps/eratosthenes.c:
471         * testsuite/caps/filtercaps.c:
472         * testsuite/caps/fixed.c:
473         * testsuite/caps/fraction-convert.c:
474         * testsuite/caps/fraction-multiply-and-zero.c:
475         * testsuite/caps/intersect2.c:
476         * testsuite/caps/intersection.c:
477         * testsuite/caps/normalisation.c:
478         * testsuite/caps/random.c:
479         * testsuite/caps/renegotiate.c:
480         * testsuite/caps/sets.c:
481         * testsuite/caps/simplify.c:
482         * testsuite/caps/string-conversions.c:
483         * testsuite/caps/structure.c:
484         * testsuite/caps/subtract.c:
485         * testsuite/caps/union.c:
486         * testsuite/debug/.cvsignore:
487         * testsuite/debug/Makefile.am:
488         * testsuite/debug/category.c:
489         * testsuite/debug/commandline.c:
490         * testsuite/debug/global.c:
491         * testsuite/debug/output.c:
492         * testsuite/debug/printf_extension.c:
493         * testsuite/dlopen/.cvsignore:
494         * testsuite/dlopen/Makefile.am:
495         * testsuite/dlopen/dlopen_gst.c:
496         * testsuite/dlopen/loadgst.c:
497         * testsuite/elements/.cvsignore:
498         * testsuite/elements/Makefile.am:
499         * testsuite/elements/gst-inspect-check.in:
500         * testsuite/elements/struct_i386.h:
501         * testsuite/elements/struct_size.c:
502         * testsuite/indexers/.cvsignore:
503         * testsuite/indexers/Makefile.am:
504         * testsuite/indexers/cache1.c:
505         * testsuite/indexers/indexdump.c:
506         * testsuite/parse/.cvsignore:
507         * testsuite/parse/Makefile.am:
508         * testsuite/parse/parse1.c:
509         * testsuite/parse/parse2.c:
510         * testsuite/plugin/.cvsignore:
511         * testsuite/plugin/Makefile.am:
512         * testsuite/plugin/README:
513         * testsuite/plugin/dynamic.c:
514         * testsuite/plugin/linked.c:
515         * testsuite/plugin/loading.c:
516         * testsuite/plugin/registry.c:
517         * testsuite/plugin/static.c:
518         * testsuite/plugin/static2.c:
519         * testsuite/plugin/testplugin.c:
520         * testsuite/plugin/testplugin2.c:
521         * testsuite/plugin/testplugin2_s.c:
522         * testsuite/plugin/testplugin_s.c:
523         * testsuite/refcounting/.cvsignore:
524         * testsuite/refcounting/Makefile.am:
525         * testsuite/refcounting/bin.c:
526         * testsuite/refcounting/element.c:
527         * testsuite/refcounting/element_pad.c:
528         * testsuite/refcounting/mainloop.c:
529         * testsuite/refcounting/mem.c:
530         * testsuite/refcounting/mem.h:
531         * testsuite/refcounting/object.c:
532         * testsuite/refcounting/pad.c:
533         * testsuite/refcounting/sched.c:
534         * testsuite/refcounting/thread.c:
535         * testsuite/states/.cvsignore:
536         * testsuite/states/Makefile.am:
537         * testsuite/states/bin.c:
538         * testsuite/states/locked.c:
539         * testsuite/states/parent.c:
540         * testsuite/threads/.cvsignore:
541         * testsuite/threads/159566.c:
542         * testsuite/threads/159852.c:
543         * testsuite/threads/Makefile.am:
544         * testsuite/threads/queue.c:
545         * testsuite/threads/signals.c:
546         * testsuite/threads/staticrec.c:
547         * testsuite/threads/thread.c:
548         * testsuite/threads/threadb.c:
549         * testsuite/threads/threadc.c:
550         * testsuite/threads/threadd.c:
551         * testsuite/threads/threade.c:
552         * testsuite/threads/threadf.c:
553         * testsuite/threads/threadg.c:
554         * testsuite/threads/threadh.c:
555         * testsuite/threads/threadi.c:
556           move all of these under tests
557
558 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
559
560         * configure.ac:
561         * tests/Makefile.am:
562           fix distcheck
563
564 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
565
566         * docs/gst/gstreamer-sections.txt:
567         * tests/sched/.cvsignore:
568         * tests/sched/Makefile.am:
569         * tests/sched/cases/(fs-fs).xml:
570         * tests/sched/cases/(fs-i-fs).xml:
571         * tests/sched/cases/(fs-i-i-fs).xml:
572         * tests/sched/cases/(fs-i-q[i-fs]).xml:
573         * tests/sched/dynamic-pipeline.c:
574         * tests/sched/interrupt1.c:
575         * tests/sched/interrupt2.c:
576         * tests/sched/interrupt3.c:
577         * tests/sched/runtestcases:
578         * tests/sched/runxml.c:
579         * tests/sched/sched-stress.c:
580         * tests/sched/sort.c:
581         * tests/sched/testcases:
582         * tests/sched/testcases1.tc:
583         * tests/seeking/.cvsignore:
584         * tests/seeking/Makefile.am:
585         * tests/seeking/seeking1.c:
586         * tests/threadstate/.cvsignore:
587         * tests/threadstate/Makefile.am:
588         * tests/threadstate/test1.c:
589         * tests/threadstate/test2.c:
590         * tests/threadstate/threadstate1.c:
591         * tests/threadstate/threadstate2.c:
592         * tests/threadstate/threadstate3.c:
593         * tests/threadstate/threadstate4.c:
594         * tests/threadstate/threadstate5.c:
595           remove obsolete tests
596         * configure.ac:
597         * tests/bench-complexity.scm:
598         * tests/bench-mass_elements.scm:
599         * tests/complexity.c:
600         * tests/complexity.gnuplot:
601         * tests/instantiate/.cvsignore:
602         * tests/instantiate/Makefile.am:
603         * tests/instantiate/caps.c:
604         * tests/mass_elements.c:
605         * tests/network-clock-utils.scm:
606         * tests/network-clock.scm:
607         * tests/plot-data:
608         First pass at cleaning up tests/ dir before moving the rest
609         Combined with CVS surgery
610
611 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
612
613         * po/POTFILES.in:
614           queue has moved, update
615
616 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
617
618         * docs/gst/gstreamer-sections.txt:
619           remove double entries from the docs
620         * gst/gst_private.h:
621         * gst/gstinfo.c: (_gst_debug_init):
622           remove the THREAD debug category
623         * gst/Makefile.am:
624         * gst/gstqueue.c:
625         * gst/gstqueue.h:
626         * docs/gst/gstreamer.types:
627         * plugins/elements/gstqueue.c: (gst_queue_get_type),
628         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
629           completely move queue and fix up debugging categories
630
631 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
632
633         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
634           make initialization portable, using LL is not
635
636 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
637
638         * win32/common/gstconfig.h:
639           add large padding
640
641 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
642
643         * win32/common/libgstreamer.def:
644           rename symbols; sort base section
645
646 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
647
648         * gst/gstclock.c: (do_linear_regression):
649           remove crack non-portable handrolled DEBUG macro
650
651 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
652
653         * docs/random/release:
654           update notes
655         * win32/common/gstenumtypes.c: (register_gst_object_flags),
656         (gst_object_flags_get_type), (register_gst_bin_flags),
657         (gst_bin_flags_get_type), (register_gst_buffer_flag),
658         (gst_buffer_flag_get_type), (register_gst_bus_flags),
659         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
660         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
661         (gst_caps_flags_get_type), (register_gst_clock_return),
662         (gst_clock_return_get_type), (register_gst_clock_entry_type),
663         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
664         (gst_clock_flags_get_type), (register_gst_state),
665         (gst_state_get_type), (register_gst_state_change_return),
666         (gst_state_change_return_get_type), (register_gst_state_change),
667         (gst_state_change_get_type), (register_gst_element_flags),
668         (gst_element_flags_get_type), (register_gst_core_error),
669         (gst_core_error_get_type), (register_gst_library_error),
670         (gst_library_error_get_type), (register_gst_resource_error),
671         (gst_resource_error_get_type), (register_gst_stream_error),
672         (gst_stream_error_get_type), (register_gst_event_type_flags),
673         (gst_event_type_flags_get_type), (register_gst_event_type),
674         (gst_event_type_get_type), (register_gst_seek_type),
675         (gst_seek_type_get_type), (register_gst_seek_flags),
676         (gst_seek_flags_get_type), (register_gst_format),
677         (gst_format_get_type), (register_gst_index_certainty),
678         (gst_index_certainty_get_type), (register_gst_index_entry_type),
679         (gst_index_entry_type_get_type),
680         (register_gst_index_lookup_method),
681         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
682         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
683         (gst_index_resolver_method_get_type), (register_gst_index_flags),
684         (gst_index_flags_get_type), (register_gst_debug_level),
685         (gst_debug_level_get_type), (register_gst_debug_color_flags),
686         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
687         (gst_iterator_result_get_type), (register_gst_iterator_item),
688         (gst_iterator_item_get_type), (register_gst_message_type),
689         (gst_message_type_get_type), (register_gst_mini_object_flags),
690         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
691         (gst_pad_link_return_get_type), (register_gst_flow_return),
692         (gst_flow_return_get_type), (register_gst_activate_mode),
693         (gst_activate_mode_get_type), (register_gst_pad_direction),
694         (gst_pad_direction_get_type), (register_gst_pad_flags),
695         (gst_pad_flags_get_type), (register_gst_pad_presence),
696         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
697         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
698         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
699         (gst_plugin_error_get_type), (register_gst_plugin_flags),
700         (gst_plugin_flags_get_type), (register_gst_rank),
701         (gst_rank_get_type), (register_gst_query_type),
702         (gst_query_type_get_type), (register_gst_tag_merge_mode),
703         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
704         (gst_tag_flag_get_type), (register_gst_task_state),
705         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
706         (gst_alloc_trace_flags_get_type),
707         (register_gst_type_find_probability),
708         (gst_type_find_probability_get_type), (register_gst_uri_type),
709         (gst_uri_type_get_type), (register_gst_parse_error),
710         (gst_parse_error_get_type):
711         * win32/common/gstenumtypes.h:
712         * win32/common/gstversion.h:
713           update visual studio generated files
714
715 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
716
717         * win32/vs6/libgstbase.dsp:
718         * win32/vs6/libgstelements.dsp:
719           update project files for new locations
720
721 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
722
723         * Makefile.am:
724           remove some files
725         * README:
726           reinstate and update
727         * DEVEL:
728         * REQUIREMENTS:
729           removed
730         * LICENSE:
731         * docs/random/LICENSE:
732           moved to random
733
734 2005-11-30  Edward Hervey  <edward@fluendo.com>
735
736         * gst/gsttypefind.c: (gst_type_find_register):
737         * gst/gsttypefind.h:
738         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
739         (gst_type_find_factory_dispose):
740         * gst/gsttypefindfactory.h:
741         Fix memory leak in GstTypeFindFactory.
742
743 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
744
745         * gst/gst.c:
746         * plugins/elements/Makefile.am:
747         * plugins/elements/gstelements.c:
748         * plugins/elements/gstqueue.c:
749           move queue from core to the elements plugin
750
751 2005-11-29  Andy Wingo  <wingo@pobox.com>
752
753         * libs/gst/base/gstbasetransform.h: 
754         * libs/gst/base/gstbasesrc.h: 
755         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
756
757         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
758         of pointers by which to pad very extensible base classes (like the
759         ones in libs/gst/base).
760
761 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
762
763         * docs/gst/gstreamer-docs.sgml:
764         * docs/gst/gstreamer-sections.txt:
765         * docs/libs/gstreamer-libs-docs.sgml:
766         * docs/libs/gstreamer-libs-sections.txt:
767           moving documentation from core to lib
768
769 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
770
771         * check/Makefile.am:
772         * configure.ac:
773         * docs/gst/Makefile.am:
774         * gst/Makefile.am:
775         * gst/base/.cvsignore:
776         * gst/base/Makefile.am:
777         * gst/base/README:
778         * gst/base/gstadapter.c:
779         * gst/base/gstadapter.h:
780         * gst/base/gstbasesink.c:
781         * gst/base/gstbasesink.h:
782         * gst/base/gstbasesrc.c:
783         * gst/base/gstbasesrc.h:
784         * gst/base/gstbasetransform.c:
785         * gst/base/gstbasetransform.h:
786         * gst/base/gstcollectpads.c:
787         * gst/base/gstcollectpads.h:
788         * gst/base/gstpushsrc.c:
789         * gst/base/gstpushsrc.h:
790         * gst/base/gsttypefindhelper.c:
791         * gst/base/gsttypefindhelper.h:
792         * gst/check/Makefile.am:
793         * gst/check/gstcheck.c:
794         * gst/check/gstcheck.h:
795         * gst/net/Makefile.am:
796         * gst/net/gstnet.h:
797         * gst/net/gstnetclientclock.c:
798         * gst/net/gstnetclientclock.h:
799         * gst/net/gstnettimepacket.c:
800         * gst/net/gstnettimepacket.h:
801         * gst/net/gstnettimeprovider.c:
802         * gst/net/gstnettimeprovider.h:
803         * libs/gst/Makefile.am:
804         * libs/gst/base/Makefile.am:
805         * libs/gst/base/gstbasetransform.c:
806         * libs/gst/check/Makefile.am:
807         * plugins/elements/Makefile.am:
808         * po/POTFILES.in:
809           CVS surgery + support to move base, check, and net out of gst
810           and into libs/gst
811
812 2005-11-29  Andy Wingo  <wingo@pobox.com>
813
814         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
815
816         * gst/gststructure.h (struct _GstStructure): Only one pointer of
817         padding.
818
819         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
820
821         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
822
823         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
824
825         * gst/gstobject.h: (struct _GstObject): Only one pointer of
826         padding; reduces object size by about 30%. We don't expect
827         anything else to go into gstobject.
828
829         * gst/gstminiobject.h (struct _GstMiniObject)
830         (struct _GstMiniObjectClass): Only one pointer of padding; the
831         payload is only a pointer and two ints anyway. For the class there
832         are only two methods as well.
833         
834         * gst/gstelement.h (struct _GstElementClass): Removed
835         the state_changed signal callback, it is not used.
836
837 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
838
839         * docs/gst/gstreamer.types:
840           fix includes, though they are a little dinky
841
842 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
843
844         * check/Makefile.am:
845           look in the right place for elements, a lot more chance of
846           success
847         * gst/Makefile.am:
848           remove indexers and elements subdirs
849         * plugins/Makefile.am:
850           make indexers conditional
851
852 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
853
854         * Makefile.am:
855         * configure.ac:
856         * plugins/elements/Makefile.am:
857         * plugins/elements/gstcapsfilter.c:
858         * plugins/elements/gstfilesink.c:
859         * plugins/elements/gstfilesrc.c:
860         * plugins/elements/gstidentity.c:
861         * plugins/indexers/Makefile.am:
862           do CVS surgery and related build fixery to move elements
863           and indexers in a new gstreamer/plugins directory, out of the
864           gst/ directory
865
866 2005-11-29  Andy Wingo  <wingo@pobox.com>
867
868         * check/Makefile.am:
869         * pkgconfig/gstreamer-net-uninstalled.pc.in:
870         * pkgconfig/gstreamer-net.pc.in:
871         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
872         #322257.
873
874 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
875
876         * tools/Makefile.am:
877         * tools/gst-complete.1.in:
878         * tools/gst-complete.c:
879         * tools/gst-compprep.1.in:
880         * tools/gst-compprep.c:
881           removing -compprep and -complete
882
883 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
884
885         * gst/gstevent.c: (gst_event_new_new_segment),
886         (gst_event_parse_new_segment):
887         * gst/gstevent.h:
888           fix #320529 - clean up new_segment API and structure.
889           Let's hope everyone was using the methods, and not the structure.
890
891 2005-11-29  Edward Hervey  <edward@fluendo.com>
892
893         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
894         (gst_base_sink_event), (gst_base_sink_do_sync),
895         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
896         Properly handle non GST_FORMAT_TIME segment
897         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
898         Properly handle non GST_FORMAT_TIME segment
899         * gst/gstsegment.c:
900         This function is valid if the accumulator is 0 and the format
901         is different from the requested format.
902         
903 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
904
905         * docs/gst/gstreamer-sections.txt:
906         Add gst_query_new_seeking and gst_query_parse_seeking to the
907         docs.
908
909 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
910
911         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
912           Treat a pad alloc with new caps the same as if we were not
913           negotiated, in order to allow a changing upstream output
914           to produce a new format of data.
915
916 2005-11-29  Edward Hervey  <edward@fluendo.com>
917
918         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
919         (gst_base_transform_event), (gst_base_transform_eventfunc):
920         The event virtual method is now properly implemented, with a default
921         handler
922         Sub classes should call the parent_class event method. They should
923         return FALSE if they had a problem handling the given event, or don't
924         want GstBaseTransform to send that even downstream
925         * gst/elements/gstidentity.c: (gst_identity_class_init),
926         (gst_identity_init), (gst_identity_event),
927         (gst_identity_transform_ip), (gst_identity_set_property),
928         (gst_identity_get_property):
929         * gst/elements/gstidentity.h:
930         Added the single-segment boolean property.
931         If set to TRUE, it will output a single segment of data, starting from
932         0, will eat up all incoming newsegment, and modify the timestamp of the
933         buffers accordingly
934
935 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
936
937         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
938           Don't ref NULL target pad (#322751). Improve docs.
939
940 2005-11-29  Michael Smith  <msmith@fluendo.com>
941
942         * gst/gstregistryxml.c: (load_plugin):
943           Don't crash if we failed to load a feature from a plugin. 
944
945 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
946
947         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
948         (GST_START_TEST):
949           use more check API and less GLib API
950
951 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
952
953         * Makefile.am:
954           don't run checks if we don't have check
955         * common/check.mak:
956           remove the registry when running make torture
957         * docs/gst/gstreamer-sections.txt:
958           remove second multiply
959         * gst/gstqueue.c: (gst_queue_loop):
960           fix a compile warning when disabling debug
961
962 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
963
964         * gst/gstinfo.h:
965         Hey! Let's print the pad name if the pointer != NULL instead
966         of when it == NULL :-)
967
968 2005-11-28  Wim Taymans  <wim@fluendo.com>
969
970         * check/gst/gstutils.c: (GST_START_TEST):
971         Updated check, add some scaling accuracy checking code.
972
973         * gst/gstutils.c: (gst_util_div128_64),
974         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
975         (gst_util_uint64_scale_int):
976         Fix 6 times faster division code. Optimize for common 
977         1/1 and less common X/1 cases.
978
979 2005-11-28  Wim Taymans  <wim@fluendo.com>
980
981         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
982         More checks.
983
984         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
985         (do_linear_regression), (gst_clock_add_observation):
986         Cleanups.
987         Release lock when the clock cannot be slaved.
988         Catch the case where the regression returned an invalid denominator.
989
990         * gst/gstutils.c: (gst_util_div128_64_iterate),
991         (gst_util_div128_64), (gst_util_uint64_scale_int64),
992         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
993         Add protentially more performant non-iterative 128/64 divide function
994         that unfortunatly does not work yet.
995         Shortcut the trivial 0/X = 0 case.
996         Remove the warnings on overflow.
997
998 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
999
1000         * gst/gstplugin.c: (gst_plugin_register_func):
1001           everything causing a plugin not to load should be at least a WARNING
1002
1003 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
1004
1005         * docs/random/ensonic/dparams.txt:
1006           some TODOs for the next dev cycle
1007         * libs/gst/controller/gstcontroller.c:
1008         (gst_controlled_property_set_interpolation_mode),
1009         (gst_controlled_property_new):
1010         * libs/gst/controller/gstcontroller.h:
1011           use base type to assign acccessor functions
1012
1013 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1014
1015         * check/Makefile.am:
1016         Oops, that should have been top_srcdir
1017
1018 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1019
1020         * check/Makefile.am:
1021         * check/elements/fdsrc.c: (GST_START_TEST):
1022         Use a cmdline define to specify the location of a file to use for
1023         testing, to avoid breaking distcheck.
1024
1025 2005-11-28  Andy Wingo  <wingo@pobox.com>
1026
1027         * gst/gstpad.c (fixate_value): Use array functions for arrays.
1028
1029 2005-11-28  Edward Hervey  <edward@fluendo.com>
1030
1031         * tools/gst-launch.c: (main):
1032         Clarify the output strings, makes it easier to translate.
1033         Fixes #322626
1034
1035 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1036
1037         * gst/Makefile.am:
1038           don't try and build net if we don't even have <sys/socket.h>
1039
1040 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
1041
1042         * check/Makefile.am:
1043         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
1044         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
1045           Add tests for fdsrc seekability
1046
1047         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
1048         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
1049         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
1050         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
1051         * gst/elements/gstfdsrc.h:
1052           fdsrc should not be a 'live' source.
1053           Implement seeking on seekable fd's.
1054
1055         * gst/gstquery.c: (gst_query_new_seeking),
1056         (gst_query_parse_seeking):
1057         * gst/gstquery.h:
1058           Implement SEEKING query functions: 
1059             *_new_seeking and *_parse_seeking
1060
1061 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
1062
1063         * gst/gstelement.c: (gst_element_dispose):
1064           don't loop forever
1065
1066         * gst/gstiterator.c:
1067         * gst/gststructure.c:
1068           doc fixes
1069
1070         * libs/gst/controller/gstcontroller.c:
1071         (gst_controlled_property_set_interpolation_mode):
1072         * libs/gst/controller/gstcontroller.h:
1073         * libs/gst/controller/gstinterpolation.c:
1074         (interpolate_none_get_enum_value_array):
1075           support controlling enums
1076
1077 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1078
1079         * gst/gstvalue.c:
1080           Improve documentation for gst_value_union().
1081
1082         * gst/gstvalue.h:
1083           Change return value for union, intersect and subtract functions
1084           from gint to gboolean.
1085
1086 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1087
1088         * gst/gstvalue.c: (gst_value_serialize_any_list),
1089         (gst_value_transform_any_list_string),
1090         (gst_value_deserialize_list), (gst_value_deserialize_array),
1091         (gst_value_set_int_range), (gst_value_deserialize_int_range),
1092         (gst_value_set_double_range), (gst_value_deserialize_double_range),
1093         (gst_value_set_fraction_range_full),
1094         (gst_value_deserialize_fraction_range),
1095         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
1096         (gst_value_deserialize_boolean),
1097         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
1098         (gst_value_serialize_float), (gst_value_deserialize_float),
1099         (gst_string_wrap), (gst_value_deserialize_string),
1100         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
1101         (gst_value_union_int_range_int_range),
1102         (gst_value_intersect_int_range_int_range),
1103         (gst_value_intersect_double_range_double_range),
1104         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
1105         (gst_value_subtract_int_range_int_range),
1106         (gst_value_subtract_double_double_range),
1107         (gst_value_subtract_double_range_double_range),
1108         (gst_value_deserialize_fraction):
1109         * gst/gstvalue.h:
1110           Use gint, gdouble and gchar in our API instead of int, double and
1111           char (and make usage in gstvalue.c more consistent).
1112
1113 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1114
1115         * check/Makefile.am:
1116         * libs/gst/controller/Makefile.am:
1117         * libs/gst/dataprotocol/Makefile.am:
1118           fix up Makefile.am and remove GST_ENABLE_NEW
1119
1120 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1121
1122         * configure.ac:
1123         * gst/Makefile.am:
1124         * gst/base/Makefile.am:
1125         * gst/check/Makefile.am:
1126         * gst/elements/Makefile.am:
1127         * gst/net/Makefile.am:
1128           update LDFLAGS use some more
1129
1130 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1131
1132         * common/m4/gst-doc.m4:
1133           Fixes #312589
1134
1135 2005-11-26  Edward Hervey  <edward@fluendo.com>
1136
1137         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1138         This shouldn't issue a g_warning since it returns NULL if it
1139         couldn't find the plugin, and all functions using this behave
1140         properly on a NULL return. Switching to a GST_WARNING.
1141
1142 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
1143
1144         * gst/gstbin.c: (gst_bin_handle_message_func):
1145         Don't leak clock messages.
1146
1147 2005-11-25  Wim Taymans  <wim@fluendo.com>
1148
1149         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1150         (gst_util_uint64_scale_int):
1151         Optimisations, remove unneeded vars.
1152
1153 2005-11-25  Wim Taymans  <wim@fluendo.com>
1154
1155         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1156         Added more checks for the high precision uint64 cases.
1157
1158         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1159         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1160         Implement high precision (guint64 * guint64) / guint64.
1161
1162 2005-11-24  Wim Taymans  <wim@fluendo.com>
1163
1164         * gst/base/gstbasesrc.c: (gst_base_src_query):
1165         Fix wrong percentage query.
1166
1167         * gst/gstutils.c: (gst_util_uint64_scale),
1168         (gst_util_uint64_scale_int):
1169         Add some more common cases that can be handled 
1170         efficiently to _scale.
1171
1172 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1173
1174         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
1175         (gst_mini_object_suite):
1176           don't use check calls from threads; check probably isn't
1177           threadsafe and using a lock to make it threadsafe would
1178           defeat the purpose of this check
1179         * gst/check/gstcheck.c:
1180         * gst/check/gstcheck.h:
1181           use GST_DEBUG some more
1182
1183 2005-11-24  Wim Taymans  <wim@fluendo.com>
1184
1185         * gst/gstutils.c: (gst_util_uint64_scale),
1186         (gst_util_uint64_scale_int):
1187         Chain trivial case to _scale_int.
1188
1189 2005-11-24  Wim Taymans  <wim@fluendo.com>
1190
1191         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1192         Added test for scaling.
1193
1194         * gst/gstclock.h:
1195         Small doc fix.
1196
1197         * gst/gstutils.c: (gst_util_uint64_scale_int):
1198         Implemented high precision scaling code.
1199
1200 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
1201
1202         * gst/gstinfo.h:
1203           do not crash on pad==NULL
1204
1205 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1206
1207         Patch by: Stefan Kost
1208
1209         * common/gtk-doc.mak:
1210         * docs/gst/Makefile.am:
1211         * docs/libs/Makefile.am:
1212           Fix distcheck issues for the libraries docs build
1213           Closes #319599.
1214
1215 2005-11-24  Michael Smith <msmith@fluendo.com>
1216
1217         * docs/manual/basics-helloworld.xml:
1218           Fix bug #315027: memory leak in example code in docs.
1219
1220 2005-11-24  Michael Smith <msmith@fluendo.com>
1221
1222         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1223           Unlock the PREROLL_LOCK in a failure case.
1224
1225 2005-11-24  Wim Taymans  <wim@fluendo.com>
1226
1227         * docs/gst/gstreamer-sections.txt:
1228         * gst/base/gstadapter.h:
1229         * gst/base/gstbasesink.h:
1230         * gst/base/gstbasesrc.h:
1231         * gst/base/gstbasetransform.h:
1232         * gst/base/gstpushsrc.h:
1233         * gst/elements/gstfakesink.h:
1234         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1235         * gst/elements/gstfakesrc.h:
1236         * gst/elements/gstfilesink.h:
1237         * gst/elements/gstfilesrc.h:
1238         * gst/gst.c:
1239         * gst/gstbin.c:
1240         * gst/gstbuffer.c: (_gst_buffer_copy):
1241         * gst/gstbus.h:
1242         * gst/gstcaps.c:
1243         * gst/gstchildproxy.c:
1244         * gst/gstclock.c:
1245         * gst/gstelement.c:
1246         * gst/gstelementfactory.c:
1247         * gst/gstelementfactory.h:
1248         * gst/gstevent.c:
1249         * gst/gstghostpad.h:
1250         * gst/gstindex.h:
1251         * gst/gstinterface.h:
1252         * gst/gstminiobject.c:
1253         * gst/gstminiobject.h:
1254         * gst/gstpad.c:
1255         * gst/gstpad.h:
1256         * gst/gstpadtemplate.h:
1257         * gst/gstpipeline.h:
1258         * gst/gstpluginfeature.h:
1259         * gst/gstquery.h:
1260         * gst/gstqueue.h:
1261         * gst/gsttaglist.c:
1262         * gst/gsttaglist.h:
1263         * gst/gsttagsetter.c:
1264         * gst/gsttagsetter.h:
1265         * gst/gsttrace.c:
1266         * gst/gsttrace.h:
1267         * gst/gsttypefind.h:
1268         * gst/gsturi.h:
1269         * gst/gstvalue.c:
1270         * gst/net/gstnetclientclock.c:
1271         * gst/net/gstnetclientclock.h:
1272         * gst/net/gstnettimepacket.c:
1273         * gst/net/gstnettimeprovider.c:
1274         * gst/net/gstnettimeprovider.h:
1275         Doc fixes.
1276
1277 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1278
1279         * configure.ac: back to HEAD
1280
1281 === release 0.9.6 ===
1282
1283 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
1284
1285         * configure.ac:
1286           releasing 0.9.6, "Always On Time"
1287
1288 2005-11-23  Wim Taymans  <wim@fluendo.com>
1289
1290         * docs/gst/gstreamer-sections.txt:
1291         * gst/glib-compat.c:
1292         * gst/gsttagsetter.c:
1293         * gst/gstvalue.c:
1294         * gst/net/gstnetclientclock.c:
1295         * gst/net/gstnettimepacket.h:
1296         Doc updates.
1297
1298 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1299
1300         * docs/faq/using.xml:
1301         * docs/libs/tmpl/gstcontrol.sgml:
1302         * docs/manual/advanced-dparams.xml:
1303         * docs/manual/appendix-checklist.xml:
1304         * docs/manual/basics-elements.xml:
1305         * docs/pwg/other-source.xml:
1306         * docs/random/moving-plugins:
1307         * gst/gstpad.c:
1308         * tools/gst-launch.1.in:
1309           remove mentions of sinesrc
1310
1311 2005-11-23  Michael Smith <msmith@fluendo.com>
1312
1313         * docs/gst/gstreamer-sections.txt:
1314           Update for new API and API changes.
1315         * gst/gstobject.h:
1316           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1317         * gst/gstvalue.c:
1318           Documentation typo fix.
1319         * gst/net/gstnettimepacket.c:
1320           Documentation fixes for arguments.
1321
1322 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
1323
1324         * gst/gststructure.c: (gst_structure_get_fraction),
1325         (gst_structure_parse_value),
1326         (gst_structure_fixate_field_nearest_fraction):
1327         * gst/gststructure.h:
1328         * gst/gstutils.c: (gst_util_uint64_scale_int):
1329         * gst/gstutils.h:
1330         * scripts/update-funcnames:
1331         API Changes. 
1332         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1333         Make gst_structure_fixate_field_nearest_fraction take a numerator
1334         and denominator argument instead of a GValue
1335         add gst_structure_get_fraction helper function.
1336
1337 2005-11-23  Wim Taymans  <wim@fluendo.com>
1338
1339         * docs/design/part-TODO.txt:
1340         Update TODO.
1341
1342         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1343         * gst/net/gstnetclientclock.h:
1344         Use parent fields for timeout and window_size.
1345
1346 2005-11-23  Andy Wingo  <wingo@pobox.com>
1347
1348         * check/net/gstnetclientclock.c (test_functioning): Adjust to
1349         rate_num/rate_denom change.
1350
1351         * gst/net/gstnetclientclock.c
1352         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1353         OBJECT_LOCK. Don't call add_observation with the lock.
1354
1355         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1356         fraction.
1357         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1358         rate fraction.
1359         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1360         deal with rate as a fraction whose numerator and denominator are
1361         GstClockTime values.
1362         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1363         master; the other fields are protected by the SLAVE_LOCK.
1364         (do_linear_regression): Note that this must be called with the
1365         SLAVE_LOCK.
1366         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1367         OBJECT_LOCK. Call set_calibration instead of touching the
1368         variables directly.
1369         (gst_clock_set_property, gst_clock_get_property): Protect
1370         master/slave parameters with the SLAVE_LOCK.
1371
1372         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1373         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1374         note that all of the instance variables that add_observation and
1375         the set_master functions use are protected by that lock and not
1376         the OBJECT_LOCK.
1377         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1378
1379         * gst/gstclock.c (gst_clock_add_observation): No longer requires
1380         the caller to take the object lock.
1381
1382 2005-11-23  Wim Taymans  <wim@fluendo.com>
1383
1384         * gst/gsterror.c: (_gst_core_errors_init):
1385         * gst/gsterror.h:
1386         Add error for clock stuff.
1387
1388         * gst/gstpipeline.c: (gst_pipeline_change_state),
1389         (gst_pipeline_set_clock):
1390         Post clock error when clock cannot be used in a pipeline.
1391
1392 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
1393
1394         * docs/gst/gstreamer-sections.txt:
1395           make two symbols from gstinfo private for the docs
1396         * gst/base/gstcollectpads.h:
1397         * gst/gstutils.c:
1398           fix doc typos, update docs
1399
1400 2005-11-22  Wim Taymans  <wim@fluendo.com>
1401
1402         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1403         (gst_base_sink_wait), (gst_base_sink_do_sync),
1404         (gst_base_sink_handle_event):
1405         * gst/base/gstbasesink.h:
1406         No need to store the clock, the parent element class already
1407         has it.
1408
1409         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
1410         Updates for clock_set returning a gboolean
1411
1412         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
1413         (gst_clock_id_wait_async), (gst_clock_class_init),
1414         (gst_clock_init), (gst_clock_finalize),
1415         (gst_clock_get_internal_time), (gst_clock_get_time),
1416         (gst_clock_slave_callback), (gst_clock_set_master),
1417         (gst_clock_get_master), (do_linear_regression),
1418         (gst_clock_add_observation), (gst_clock_set_property),
1419         (gst_clock_get_property):
1420         * gst/gstclock.h:
1421         Implement master/slave. When setting a clock as a slave, a
1422         periodic timeout is scheduled to sample master and slave times.
1423         Then the slave clock is recalibrated to match offset and rate
1424         of the master clock.
1425         Update logging a bit.
1426         Add flag so that a clock can state that is cannot be slaved to
1427         another clock.
1428
1429         * gst/gstelement.c: (gst_element_set_clock):
1430         * gst/gstelement.h:
1431         The set clock returns a gboolean for when an element cannot
1432         deal with the selected clock in the pipeline. 
1433
1434         * gst/gstpipeline.c: (gst_pipeline_change_state),
1435         (gst_pipeline_set_clock):
1436         * gst/gstpipeline.h:
1437         Handle the case where the selected clock cannot be set on
1438         the pipeline.
1439
1440         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
1441         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1442         (gst_net_client_clock_set_property),
1443         (gst_net_client_clock_get_property),
1444         (gst_net_client_clock_observe_times):
1445         * gst/net/gstnetclientclock.h:
1446         Use regression code in GstClock parent, remove duplicated
1447         functionality.
1448
1449 2005-11-22  Michael Smith <msmith@fluendo.com>
1450
1451         * gst/gstutils.c: (gst_util_clock_time_scale):
1452         * gst/gstutils.h:
1453         * docs/gst/gstreamer-sections.txt:
1454           Rename method to have extra underscore.
1455
1456 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1457
1458         * gst/elements/Makefile.am:
1459         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
1460         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1461         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1462         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
1463         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
1464         * gst/elements/gstfakesrc.h:
1465         * gst/gstqueue.c: (queue_leaky_get_type):
1466           correctly fix GEnumValues so that nick is the short lowercase
1467           dashed tag
1468         * tools/gst-inspect.c: (print_element_properties_info):
1469           also show the nick, since it's useful to use from parse_launch
1470           syntax
1471           Fixes #322139
1472
1473 2005-11-22  Michael Smith <msmith@fluendo.com>
1474
1475         * gst/gstutils.c: (gst_util_clocktime_scale):
1476         * gst/gstutils.h:
1477         * docs/gst/gstreamer-sections.txt:
1478           Add util method for scaling a clocktime by a fraction. Useful 
1479           implementation is left as an exercise for the reader.
1480
1481 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1482
1483         * gst/gstvalue.c: (gst_value_collect_fraction_range):
1484         If needed, allocate storage in the destination value during
1485         collection.
1486
1487 2005-11-22  Edward Hervey  <edward@fluendo.com>
1488
1489         * docs/gst/gstreamer-sections.txt:
1490         * gst/Makefile.am:
1491         * gst/gst.h:
1492         * gst/gsturitype.c:
1493         * gst/gsturitype.h:
1494         * gst/gstutils.c: (gst_util_set_object_arg):
1495         * tools/gst-compprep.c: (main):
1496         * tools/gst-inspect.c: (print_element_properties_info):
1497         Removed GstURI, closes bug #321061
1498
1499 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1500
1501         * check/gst/gststructure.c: (GST_START_TEST):
1502         * gst/gststructure.c: (gst_structure_parse_value):
1503           Oops, broke automatic string type parsing.
1504           Add a test to catch it in future.
1505
1506 2005-11-22  Andy Wingo  <wingo@pobox.com>
1507
1508         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
1509         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
1510         Actually rename the function implementations. Grr.
1511
1512 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1513
1514         * check/gst/capslist.h:
1515           Comment test cases
1516         * check/gst/gststructure.c: (GST_START_TEST),
1517         (gst_structure_suite):
1518           Test automatic value type detection in gst_structure_from_string.
1519         * gst/gststructure.c: (gst_structure_parse_value):
1520           Add fraction as a type we try and guess automatically in
1521           caps/structure strings.
1522
1523 2005-11-22  Andy Wingo  <wingo@pobox.com>
1524
1525         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
1526
1527         * gst/gsttagsetter.h:
1528         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
1529         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
1530         (gst_tag_setter_add_tag_valist)
1531         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
1532         _add_values, _add_valist, and _add_valist_values. Since this is an
1533         interface the function suffixes should be more explicit so
1534         language binding don't end up with element.add_valist ->
1535         gst_tag_setter_add_valist, for example. Fixes #322069.
1536
1537 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1538
1539         * check/gst/gstcaps.c: (GST_START_TEST):
1540           Extend caps string tests to check that a caps to string
1541           conversion is reversible and produces the same caps.
1542
1543         * gst/gststructure.c: (gst_structure_value_get_generic_type):
1544           Output "fraction" as the generic type fraction range, so caps
1545           serialisation and deserialisation works.
1546         * check/gst/capslist.h:
1547         * gst/gstvalue.c: (gst_value_deserialize_fraction):
1548           Support 'MIN' and 'MAX' for deserialising fractions.
1549
1550 2005-11-22  Andy Wingo  <wingo@pobox.com>
1551
1552         * gst/gstevent.h (gst_event_new_new_segment)
1553         (gst_event_parse_new_segment, gst_event_new_buffer_size)
1554         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
1555         Renamed from *_newsegment, *_buffersize, *_notarget.
1556
1557         * scripts/update-funcnames: New script, performs the changes
1558         listed above.
1559
1560 2005-11-22  Wim Taymans  <wim@fluendo.com>
1561
1562         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1563         Make sure the GstFlowReturn is returned.
1564
1565         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
1566         (gst_bus_add_signal_watch):
1567         * gst/gstbus.h:
1568         add gst_bus_add_signal_watch_full.
1569
1570         * gst/gstplugin.c: (gst_plugin_load_file):
1571         Small style cleanup.
1572
1573 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1574
1575         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
1576           Block the fakesrc srcpad when we send an event, to avoid
1577           contention on the stream_lock causing random test failures.
1578
1579 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1580
1581         * check/gst/gstvalue.c: (GST_START_TEST):
1582         * gst/gstvalue.c: (gst_value_fraction_subtract):
1583           Fix subtraction.
1584
1585 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
1586
1587         * gst/gst.h:
1588           include "gstchildproxy.h"
1589         * gst/gstchildproxy.h:
1590         * libs/gst/controller/gstcontroller.h:
1591           use G_GNUC_NULL_TERMINATED
1592
1593 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1594
1595         * check/gst/capslist.h:
1596         * check/gst/gstcaps.c: (GST_START_TEST):
1597         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1598         * gst/gststructure.c: (gst_structure_parse_range),
1599         (gst_structure_fixate_field_nearest_fraction):
1600         * gst/gststructure.h:
1601         * gst/gstvalue.c: (gst_value_init_fraction_range),
1602         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
1603         (gst_value_collect_fraction_range),
1604         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
1605         (gst_value_set_fraction_range_full),
1606         (gst_value_get_fraction_range_min),
1607         (gst_value_get_fraction_range_max),
1608         (gst_value_serialize_fraction_range),
1609         (gst_value_transform_fraction_range_string),
1610         (gst_value_compare_fraction_range),
1611         (gst_value_deserialize_fraction_range),
1612         (gst_value_intersect_fraction_fraction_range),
1613         (gst_value_intersect_fraction_range_fraction_range),
1614         (gst_value_subtract_fraction_fraction_range),
1615         (gst_value_subtract_fraction_range_fraction),
1616         (gst_value_subtract_fraction_range_fraction_range),
1617         (gst_value_collect_fraction), (gst_value_fraction_multiply),
1618         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
1619         (gst_value_transform_string_fraction), (_gst_value_initialize):
1620         * gst/gstvalue.h:
1621           Implement fraction ranges and extend GstFraction to support
1622           arithmetic subtraction, as well as deserialization from integer
1623           strings such as "100"
1624           Add a testsuite as for int and double range set operations
1625
1626 2005-11-21  Andy Wingo  <wingo@pobox.com>
1627
1628         * gst/gsttaglist.h: 
1629         * gst/gstcaps.h: 
1630         * gst/gststructure.h: Add glib-compat.h.
1631
1632 2005-11-21  Wim Taymans  <wim@fluendo.com>
1633
1634         * gst/gstbin.c: (gst_bin_change_state_func):
1635         Fix for #321595
1636
1637 2005-11-21  Wim Taymans  <wim@fluendo.com>
1638
1639         * gst/gstsegment.h:
1640         And add a nice define too.
1641
1642 2005-11-21  Wim Taymans  <wim@fluendo.com>
1643
1644         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
1645         (gst_segment_new), (gst_segment_free), (gst_segment_init),
1646         (gst_segment_set_duration), (gst_segment_set_last_stop),
1647         (gst_segment_set_seek), (gst_segment_set_newsegment),
1648         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1649         (gst_segment_clip):
1650         * gst/gstsegment.h:
1651         Make binding friendly.
1652
1653 2005-11-21  Andy Wingo  <wingo@pobox.com>
1654
1655         * gst/gsttagsetter.h: 
1656         * gst/gsttaglist.h: 
1657         * gst/gststructure.h: 
1658         * gst/gstcaps.h: 
1659         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
1660         #319940.
1661
1662         * gst/gsterror.c (_gst_core_errors_init):
1663         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
1664         category.
1665
1666         * gst/Makefile.am (gst_headers): Add glib-compat.h.
1667         (noinst_HEADERS): noinst the -private.
1668
1669 2005-11-21  Michael Smith <msmith@fluendo.com>
1670
1671         * gst/gstplugin.h:
1672         * gst/gstregistry.h:
1673           Remove unimplemented declarations for which we can see no sensible
1674           use.
1675
1676 2005-11-21  Andy Wingo  <wingo@pobox.com>
1677
1678         * gst/gst.h: Include glib-compat.h.
1679
1680         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
1681
1682         * gst/glib-compat.c: Include the public and the private header.
1683
1684         * gst/glib-compat-private.h: Copied here from glib-compat.h.
1685
1686         * gst/gstvalue.c: 
1687         * gst/gstpad.c: 
1688         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
1689
1690         * check/gst/gstevent.c (create_custom_events): Check that
1691         FLUSH_STOP is serialized.
1692
1693         * check/elements/identity.c (event_func): 
1694         * check/elements/fakesrc.c (event_func): No stream lock, the core
1695         takes it.
1696
1697         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
1698         stream lock taking, yay.
1699
1700         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
1701         ensure that core takes the stream lock.
1702
1703         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
1704         lock name change.
1705
1706         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
1707         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
1708         it already. For the flush start we do take it though so we get the
1709         right preroll state change messages.
1710
1711         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
1712         the stream lock here, the core does it for us.
1713
1714         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
1715         GST_STREAM_GET_LOCK.
1716         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
1717         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
1718         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
1719         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
1720         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
1721         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
1722
1723         * gst/gstpad.c: Update for stream lock name change.
1724
1725         * gst/base/gstbasesink.c: Update for preroll lock name change.
1726
1727 2005-11-21  Wim Taymans  <wim@fluendo.com>
1728
1729         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
1730         (gst_clock_get_master):
1731         * gst/gstclock.h:
1732         * gst/gstsystemclock.c: (gst_system_clock_init):
1733         Convert Clock flags to object flags.
1734         Added methods to manage master/slave clocks.
1735
1736 2005-11-21  Wim Taymans  <wim@fluendo.com>
1737
1738         * check/gst/gstsegment.c: (GST_START_TEST):
1739         * docs/design/part-TODO.txt:
1740         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1741         (gst_base_sink_event), (gst_base_sink_do_sync),
1742         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
1743         (gst_base_sink_query), (gst_base_sink_change_state):
1744         * gst/base/gstbasesink.h:
1745         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
1746         (gst_base_src_default_newsegment),
1747         (gst_base_src_configure_segment), (gst_base_src_do_seek),
1748         (gst_base_src_get_range), (gst_base_src_loop),
1749         (gst_base_src_change_state):
1750         * gst/base/gstbasesrc.h:
1751         * gst/base/gstbasetransform.c:
1752         (gst_base_transform_prepare_output_buf),
1753         (gst_base_transform_event), (gst_base_transform_change_state):
1754         * gst/base/gstbasetransform.h:
1755         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1756         (gst_collect_pads_event):
1757         * gst/base/gstcollectpads.h:
1758         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
1759         (gst_fake_src_create):
1760         * gst/elements/gstfakesrc.h:
1761         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1762         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1763         (gst_segment_set_last_stop), (gst_segment_set_seek),
1764         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
1765         (gst_segment_to_running_time), (gst_segment_clip):
1766         * gst/gstsegment.h:
1767         More segment updates, replace code in plugins with segment
1768         helper functions.
1769
1770 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1771
1772         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
1773         Don't ignore sscanf results
1774
1775 2005-11-21  Andy Wingo  <wingo@pobox.com>
1776
1777         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
1778
1779         * *.h:
1780         * *.c: Ran scripts/update-macros. Oh yes.
1781
1782         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
1783         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
1784         GST_GET_LOCK, etc.
1785
1786         * scripts/update-macros: New script. Run it on your files to
1787         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
1788         well.
1789
1790 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1791
1792         * docs/gst/Makefile.am:
1793         * docs/gst/gstreamer-docs.sgml:
1794         * docs/gst/gstreamer-sections.txt:
1795         * docs/gst/gstreamer.types:
1796         * gst/gstinfo.h:
1797           more docs fixes, add new api to the docs
1798
1799 2005-11-21  Andy Wingo  <wingo@pobox.com>
1800
1801         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
1802         state_broadcast call.
1803
1804         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
1805
1806 2005-11-21  Julien MOUTTE  <julien@moutte.net>
1807
1808         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
1809         function calls for arrays.
1810
1811 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1812
1813         * docs/random/ensonic/media-device-daemon.txt:
1814           wild idea, can this be done?
1815         * docs/gst/gstreamer-sections.txt:
1816         * gst/gsterror.h:
1817         * gst/gstfilter.c:
1818         * gst/gstfilter.h:
1819         * gst/gstplugin.h:
1820         * gst/gstpluginfeature.c:
1821         * gst/gsttrace.c:
1822         * gst/gstvalue.c:
1823         * gst/gstvalue.h:
1824           doc fixes and additions
1825
1826 2005-11-21  Andy Wingo  <wingo@pobox.com>
1827
1828         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
1829         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
1830         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
1831         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
1832         private to the basesrc implementation.
1833
1834         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
1835         behalf of event function if necessary. It should no longer be
1836         necessary to take the stream lock in pad's event functions. Fixes
1837         #320299.
1838
1839 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1840         * docs/gst/gstreamer-sections.txt:
1841         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
1842         (gst_structure_fixate_field_nearest_double),
1843         (gst_structure_fixate_field_boolean):
1844         * gst/gststructure.h:
1845         * win32/common/libgstreamer.def:
1846         * win32/gstreamer.def:
1847
1848         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
1849         (#322027)
1850
1851 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1852
1853         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
1854         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
1855         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
1856         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
1857         (gst_fdsrc_uri_handler_init):
1858         * gst/elements/gstfdsrc.h:
1859           Port fd:// URI handler from 0.8 to fdsrc
1860
1861 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1862
1863         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
1864         (gst_value_serialize_fourcc):
1865         * gst/gstvalue.h:
1866           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
1867           consistent with our other format defines (#320324).
1868
1869 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1870
1871         * gst/gstvalue.c: (gst_value_is_fixed):
1872           Revert previous commit. Value lists are by definition
1873           not fixed, as they are a list of possible values.
1874
1875 2005-11-21  Andy Wingo  <wingo@pobox.com>
1876
1877         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
1878         during the stable series if we need it. Fixes #319178.
1879
1880         * gst/gstevent.c (gst_event_new_filler): Removed.
1881
1882         * check/gst/gstevent.c: Update comment about filler events.
1883
1884 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1885
1886         * gst/gstvalue.c: (gst_value_is_fixed):
1887           Should handle both value arrays and value lists.
1888
1889 2005-11-21  Andy Wingo  <wingo@pobox.com>
1890
1891         patch by: Alessandro Dessina <alessandro nnva org>
1892
1893         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
1894         functions to access arrays. Fixes #321962.
1895
1896 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1897
1898         * docs/gst/gstreamer.types:
1899           gst_collectpads_get_type => gst_collect_pads_get_type.
1900           
1901         * gst/base/gstbasetransform.c:
1902           Remove unused SIGNAL_HANDOFF enum.
1903
1904 2005-11-21  Andy Wingo  <wingo@pobox.com>
1905
1906         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
1907         the event type (upstream, downstream, serialized). Renamed
1908         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
1909         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
1910         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
1911
1912         * gst/gstevent.c: Update for new CUSTOM event names.
1913
1914         * check/gst/gstevent.c: Update check for new CUSTOM event names.
1915
1916         * gst/gstevent.h:
1917         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
1918         bug #319392.
1919
1920 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1921
1922         * docs/gst/gstreamer-sections.txt:
1923         * win32/common/libgstbase.def:
1924         * win32/libgstbase.def:
1925         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1926         (gst_collect_pads_class_init), (gst_collect_pads_init),
1927         (gst_collect_pads_finalize), (gst_collect_pads_new),
1928         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
1929         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
1930         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
1931         (gst_collect_pads_start), (gst_collect_pads_stop),
1932         (gst_collect_pads_peek), (gst_collect_pads_pop),
1933         (gst_collect_pads_available), (gst_collect_pads_read),
1934         (gst_collect_pads_flush), (gst_collect_pads_event),
1935         (gst_collect_pads_chain):
1936         * gst/base/gstcollectpads.h:
1937           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
1938           unimplemented functions as unimplemented. Add padding to
1939           GstCollectData. (#320766, #320423)
1940
1941 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1942
1943         * gst/gstmessage.c:
1944           Improve docs for DURATION message (usage of duration parameter)
1945           (#320113)
1946
1947 2005-11-20  Wim Taymans  <wim@fluendo.com>
1948
1949         * check/Makefile.am:
1950         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
1951         (main):
1952         * gst/Makefile.am:
1953         * gst/gst.h:
1954         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1955         (gst_segment_set_seek), (gst_segment_set_newsegment),
1956         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1957         (gst_segment_clip):
1958         * gst/gstsegment.h:
1959         Added segment helper structure and methods. Not fully implemented
1960         yet.
1961         Added segment check.
1962
1963 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
1964
1965         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1966           Add a deserialisation test for fractions
1967         * examples/metadata/read-metadata.c: (message_loop),
1968         (make_pipeline), (main):
1969           Fix up metadata reading sample.
1970         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1971           Debug format fix
1972         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1973           Don't try and fixate empty caps
1974         * gst/gst_private.h:
1975           Wrap in G_BEGIN_DECLS/G_END_DECLS
1976         * gst/gstvalue.c: (gst_value_collect_fraction),
1977         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
1978         (gst_value_transform_string_fraction),
1979         (gst_value_compare_fraction):
1980           Add some extra guards to ensure that we don't end up 
1981           with an invalid denominator of 0 in a gstfraction and
1982           that fractions always get reduced.
1983
1984 2005-11-20  Wim Taymans  <wim@fluendo.com>
1985
1986         * docs/gst/gstreamer-sections.txt:
1987         * gst/gstbuffer.h:
1988         * gst/gstelement.c:
1989         * gst/gstformat.c:
1990         * gst/gstformat.h:
1991         * gst/gstindex.h:
1992         * gst/gstquery.c:
1993         * gst/gstquery.h:
1994         * gst/gstvalue.c:
1995         Doc fixes.
1996
1997 2005-11-20  Wim Taymans  <wim@fluendo.com>
1998
1999         * docs/design/part-TODO.txt:
2000         * gst/gstcaps.h:
2001         Make a proper enum of the flag.
2002
2003 2005-11-19  Wim Taymans  <wim@fluendo.com>
2004
2005         * docs/design/part-TODO.txt:
2006         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
2007         (gst_format_to_quark), (gst_format_register):
2008         * gst/gstformat.h:
2009         * gst/gstquery.c: (_gst_query_initialize),
2010         (gst_query_type_get_name), (gst_query_type_to_quark),
2011         (gst_query_type_register):
2012         * gst/gstquery.h:
2013         Add type to quark and type to string conversions.
2014
2015 2005-11-19  Andy Wingo  <wingo@pobox.com>
2016
2017         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
2018         #320097.
2019
2020 2005-11-19  Wim Taymans  <wim@fluendo.com>
2021
2022         * docs/design/part-TODO.txt:
2023         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
2024         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
2025         (gst_bin_handle_message_func):
2026         * gst/gstbin.h:
2027         Make message handling overridable.
2028
2029 2005-11-19  Andy Wingo  <wingo@pobox.com>
2030
2031         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
2032
2033         * gst/gstclock.h:
2034         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
2035         be a GstClockTime.
2036         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
2037         is a GstClockTime. Fixes #321710.
2038
2039         * gst/gstclock.h (GstClock): Remove offset property. Add
2040         internal_calibration and external_calibration. Fix padding. Pad
2041         also by GstClockTime so we don't run into problems.
2042
2043         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
2044         (gst_clock_get_rate_offset): Remove.
2045         (gst_clock_set_time_adjust): Remove. Fixes #321712.
2046
2047         * gst/gstutils.h:
2048         * gst/gstutils.c (g_static_rec_cond_wait)
2049         (g_static_rec_cond_timed_wait): Removed, no longer needed.
2050
2051         * gst/gstbin.c: Remove terrible continue_state prototype.
2052
2053         * gst/gstelement.h (gst_element_continue_state): Make public.
2054
2055         * gst/gstelement.h:
2056         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
2057         by continue_state. Fixes #319389.
2058
2059         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
2060         Really fixes #168438. However I don't see anywhere where the
2061         filter function is called... stupid GStreamer...
2062         
2063         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
2064         don't have a dispose function, so it won't get called when the
2065         object is unreffed, but oh well!
2066
2067         * gst/gstindex.c (gst_index_set_filter_full): New API function,
2068         allows a destroy function to be set so user_data can be freed.
2069         Fixes #168438.
2070         (gst_index_set_filter): Call gst_index_set_filter_full.
2071
2072         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
2073
2074         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
2075         string should produce an error, given the lack of a way to
2076         represent NULL strings. Fixes #165650.
2077         
2078         * gst/gstvalue.h: 
2079         * gst/gstvalue.c (gst_value_array_append_value) 
2080         (gst_value_array_prepend_value, gst_value_array_get_size) 
2081         (gst_value_array_get_value): New API, copied from
2082         gst_value_list_*, only operates on arrays.
2083         (gst_value_list_append_value, gst_value_list_prepend_value) 
2084         (gst_value_list_concat, gst_value_list_get_size) 
2085         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
2086
2087         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
2088         init_list, because it works on both.
2089         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
2090         (gst_value_copy_list_or_array): Renamed from copy_list.
2091         (gst_value_free_list_or_array): Renamed from free_list.
2092         (gst_value_collect_list_or_array): Renamed from collect_list.
2093         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
2094         (gst_value_list_or_array_peek_pointer): Renamed from
2095         list_peek_pointer.
2096         (_gst_value_array_value_table, _gst_value_list_value_table):
2097         Update value table functions.
2098         (gst_value_compare_list_or_array): Renamed from compare_list.
2099
2100         * gsttaglist.h: Whoops, foreach function returns void. Also fix
2101         some constness.
2102
2103         * gst/gsttaglist.c:
2104         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
2105         GstTagList*. Fixes #143472.
2106
2107         * gst/gststructure.h: Clarify what the foreach/map functions can
2108         or can't do to their arguments.
2109
2110 2005-11-18  Wim Taymans  <wim@fluendo.com>
2111
2112         * gst/gstclock.c: (gst_clock_set_calibration),
2113         (gst_clock_get_calibration):
2114         Doc and API fixes.
2115         Calibration can be set with internal time equal to current
2116         internal time too.
2117
2118 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2119
2120         * gst/gsterror.c:
2121         * gst/gsterror.h:
2122           document
2123
2124 2005-11-18  Andy Wingo  <wingo@pobox.com>
2125
2126         * configure.ac: 
2127         * pkgconfig/gstreamer-net.pc.in:
2128         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2129         * pkgconfig/Makefile.am: Add net pkgconfig files.
2130
2131 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
2132
2133         * gst/gstcaps.c:
2134         * gst/gstghostpad.c:
2135         * gst/gsttrace.c:
2136         * gst/gstvalue.c:
2137         * gst/gstvalue.h:
2138           docs fixes
2139
2140 2005-11-18  Andy Wingo  <wingo@pobox.com>
2141
2142         * gst/net/gstnetclientclock.c: Turn off debugging.
2143
2144         * check/net/gstnetclientclock.c (test_functioning): Assert that the
2145         times connverge somewhat. Can't make a real test.
2146
2147         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
2148         integer arithmetic. Return the minimum of the domain, which can be
2149         set as "internal" for gst_clock_set_calibration.
2150         (gst_net_client_clock_observe_times): Call _set_calibration.
2151         (gst_net_client_clock_new): Call _set_calibration instead of
2152         rate_offset.
2153
2154         * check/net/gstnetclientclock.c (test_functioning): Use the right
2155         adjustment api.
2156
2157         * gst/gstclock.h:
2158         * gst/gstclock.c (gst_clock_get_calibration) 
2159         (gst_clock_set_calibration): New functions, obsolete the ones I
2160         added yesterday. Doh. Precision issues mean we have to extrapolate
2161         from a point in the more recent past than 1970.
2162         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
2163         obsolete.
2164         (gst_clock_adjust_unlocked): Use the right calibration data.
2165
2166 2005-11-18  Edward Hervey  <edward@fluendo.com>
2167
2168         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
2169         Also reset the ->current_* values in READY->PAUSED
2170
2171 2005-11-18  Andy Wingo  <wingo@pobox.com>
2172
2173         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
2174         Whoops, check the right fd. Also add some debugging.
2175         (gst_net_client_clock_observe_times): Adjust for int64 offset.
2176         (do_linear_regression): Add a crapload of debugging. Subtract off
2177         the minimum values from the input series to discard unneeded bits.
2178         Use only int arithmetic. There is still double arithmetic when
2179         calculating the intercept that needs fixing. Return boolean to
2180         indicate success; FALSE would mean the domain or range is too
2181         great. Still needs fixes.
2182
2183 2005-11-18  Wim Taymans  <wim@fluendo.com>
2184
2185         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2186         For the current position in stream time, we need to subtract
2187         accumulated time.
2188         
2189         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2190         Release lock before calling the callback function of async
2191         entries.
2192
2193 2005-11-18  Andy Wingo  <wingo@pobox.com>
2194
2195         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
2196         Port goes all the way to MAXUINT16.
2197
2198         * gst/net/gstnettimeprovider.c: Make the port range the same as
2199         for the kernel: 0 assigns, otherwise ports are less than
2200         MAXUINT16.
2201
2202         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
2203         port change.
2204
2205         * check/net/gstnetclientclock.c (test_functioning): Add the start
2206         of another test. 
2207
2208 2005-11-18  Wim Taymans  <wim@fluendo.com>
2209
2210         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2211         (gst_bin_remove_func), (bin_bus_handler):
2212         * gst/gstbin.h:
2213         Removing a clock provider from a bin, triggers a clock lost message
2214         so that a new clock will be selected.
2215         Adding a clock to a bin triggers a clock provider message.
2216         Make sure we reselect a clock when we received a clock lost message.
2217         Keep a reference to the element that provided the clock.
2218
2219 2005-11-18  Andy Wingo  <wingo@pobox.com>
2220
2221         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2222         the clock initially so it produces values around the base time.
2223         (gst_net_client_clock_class_init): Typo fix.
2224         (gst_net_client_clock_thread): Add note on when the socket gets
2225         closed.
2226
2227 2005-11-17  Wim Taymans  <wim@fluendo.com>
2228
2229         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2230         Free remote and local time arrays.
2231
2232 2005-11-17  Wim Taymans  <wim@fluendo.com>
2233
2234         * gst/net/gstnetclientclock.c: (do_linear_regression),
2235         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2236         Fix compilation, uninitialized vars and a forgotten continue.
2237
2238 2005-11-17  Andy Wingo  <wingo@pobox.com>
2239
2240         * check/Makefile.am (check_PROGRAMS): 
2241         * check/net/gstnetclientclock.c: Add a most minimal test for the
2242         net client clock. More to come later.
2243
2244         * gst/net/gstnet.h: 
2245         * gst/net/Makefile.am: Add netclientclock.
2246
2247         * gst/net/gstnetclientclock.h:
2248         * gst/net/gstnetclientclock.c: New files, implement an untested
2249         GstClock that takes its time from a network time provider.
2250         Implements the algorithm in network-clock.scm.
2251
2252         * tests/network-clock.scm (*window-size*): Rename from
2253         *queue-length*.
2254         * tests/network-clock.scm (network-time): 
2255         * tests/network-clock-utils.scm (q-push): Update callers.
2256
2257 2005-11-17  Wim Taymans  <wim@fluendo.com>
2258
2259         * gst/gstbin.c: (gst_bin_provide_clock_func),
2260         (gst_bin_sort_iterator_new):
2261         And unref the child too..
2262
2263 2005-11-17  Wim Taymans  <wim@fluendo.com>
2264
2265         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2266         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2267         Refactor the sort iterator so it can be used while holding the
2268         LOCK too.
2269         Make clock selection select a clock closest to the source.
2270
2271 2005-11-17  Michael Smith <msmith@fluendo.com>
2272
2273         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2274         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2275         * gst/gstclock.h:
2276           Anonymous structs are a gcc (and some other compilers) extension, so
2277           don't use them. Since this is only for ABI-compatibility, and our
2278           API/ABI freeze is over in a few days, this whole thing will only
2279           last a few days, so don't bother trying to think up a meaningful
2280           name for the struct.
2281
2282 2005-11-17  Andy Wingo  <wingo@pobox.com>
2283
2284         * gst/gstclock.h (GstClock): Add rate and offset properties,
2285         preserving ABI stability. Add rate/offset accessors. Will file bug
2286         for the freeze break.
2287
2288         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2289         and offset, trying to keep precision and avoiding
2290         underflow/overflow.
2291         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2292         functions. Make gst_clock_set_time_adjust obsolete.
2293         (gst_clock_set_time_adjust): Note that this function is obsolete.
2294         Will file bug soon.
2295
2296         * gst/base/gstbasetransform.h: Make the ABI-stability hack
2297         greppable by using GST_PADDING-1+1.
2298
2299 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
2300
2301         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2302
2303         * gst/gstmessage.c: (gst_message_parse_clock_lost):
2304           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2305
2306         * gst/gstpadtemplate.h:
2307         * gst/gstpluginfeature.h:
2308           Don't use c++ style comments in headers (#321638).
2309
2310 2005-11-16  Andy Wingo  <wingo@pobox.com>
2311
2312         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2313         buffer.
2314
2315         * check/net/gstnettimeprovider.c: Check to see that the time
2316         provider actually provides times. Works, yo!
2317
2318 2005-11-16  Wim Taymans  <wim@fluendo.com>
2319
2320         * check/Makefile.am:
2321         Enable more tests.
2322
2323         * check/elements/fakesrc.c: (GST_START_TEST):
2324         Set element to NULL before disposing it.
2325
2326 2005-11-16  Andy Wingo  <wingo@pobox.com>
2327
2328         * gst/net/Makefile.am:
2329         * gst/net/gstnet.h:
2330         * gst/net/gstnettimeprovider.c: 
2331         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2332         provider, include it from gstnet.h, and add it to the build.
2333
2334         * gst/net/gstnettimepacket.h: 
2335         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2336         sending and receiving.
2337
2338 2005-11-16  Wim Taymans  <wim@fluendo.com>
2339
2340         * check/Makefile.am:
2341         Enable valgrind check.
2342
2343         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2344         (gst_fake_src_alloc_buffer):
2345         Fix memleak.
2346
2347 2005-11-16  Wim Taymans  <wim@fluendo.com>
2348
2349         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2350         Call parent finalize too.
2351
2352 2005-11-16  Wim Taymans  <wim@fluendo.com>
2353
2354         * check/Makefile.am:
2355         Enable valgrind check that should work fine now.
2356
2357         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2358         * gst/gstqueue.c: (gst_queue_init):
2359         Fix memleaks in pad allocation.
2360
2361 2005-11-16  Andy Wingo  <wingo@pobox.com>
2362
2363         * gst/net/Makefile.am:
2364         * gst/net/gstnet.h: New part of core to hold network elements and
2365         objects. Put in core because it exposes API that applications want
2366         to use. The library is named libgstnet-tempname right now because
2367         of the existing libgstnet in gst-plugins-base. Solution is
2368         probably to rename the one in plugins-base; will file a bug for
2369         the freeze break.
2370
2371         * gst/net/gstnettimeprovider.c: 
2372         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2373         get_time call over the network.
2374
2375         * configure.ac: 
2376         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2377
2378         * check/Makefile.am:
2379         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2380         get additions shortly.
2381
2382 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2383
2384         * gst/gstpad.c: (gst_pad_new_from_static_template):
2385         * gst/gstpad.h:
2386           add gst_pad_new_from_static_template functions
2387         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2388         (gst_check_setup_sink_pad):
2389         * gst/elements/gsttee.c: (gst_tee_init):
2390           and use them
2391
2392 2005-11-16  Wim Taymans  <wim@fluendo.com>
2393
2394         * gst/gstpad.c: (gst_pad_pause_task):
2395         Removed warning, it's not really an error either.
2396
2397 2005-11-16  Wim Taymans  <wim@fluendo.com>
2398
2399         * gst/base/gstbasetransform.c:
2400         (gst_base_transform_prepare_output_buf),
2401         (gst_base_transform_event):
2402         Check if the caps are NULL, this can happen if the element
2403         is shutting down and the pad caps are set to NULL.
2404
2405 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2406
2407         * gst/elements/gsttee.c: (gst_tee_init):
2408           fix pad template leak in tee
2409
2410 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2411
2412         * gst/glib-compat.c: (g_value_dup_gst_object):
2413         * gst/glib-compat.h:
2414         * gst/gstpad.c: (gst_pad_set_property):
2415           use gst_object_ref when setting the pad template; this will
2416           trigger the pad template leaks on GLib 2.6 and the slaves
2417
2418 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2419
2420         * gst/glib-compat.c: (gst_flags_get_first_value):
2421         * gst/glib-compat.h:
2422         * gst/gstregistryxml.c:
2423           remove functions copied from GLib 2.6
2424
2425 2005-11-16  Michael Smith <msmith@fluendo.com>
2426
2427         * gst/Makefile.am:
2428           Don't link against VALGRIND_LIBS. That was always the wrong thing to
2429           do, but only breaks with newer valgrind versions. We're not a
2430           valgrind tool, we have no link-time dependencies on libcoregrind.
2431
2432 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2433
2434         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2435           some debug changes
2436         * gst/gstmessage.h:
2437           typo fixes
2438
2439 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2440
2441         * gst/base/gstbasesrc.c: (gst_base_src_init):
2442         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2443         * gst/gstqueue.c: (gst_queue_init):
2444         * gst/gstregistryxml.c: (load_feature):
2445           Revert all these unrefs, they don't even pass make check !
2446
2447 2005-11-15  Johan Dahlin  <johan@gnome.org>
2448
2449         * gst/base/gstbasesrc.c: (gst_base_src_init):
2450         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2451         * gst/gstqueue.c: (gst_queue_init): 
2452         Free pad templates, fixes a couple of leaks.
2453
2454 2005-11-15  Daniel Fischer  <dan at f3c dot com>
2455
2456         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2457
2458         * gst/gstpad.c: (gst_pad_get_property):
2459           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
2460           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
2461           (#321452)
2462
2463 2005-11-15  Wim Taymans  <wim@fluendo.com>
2464
2465         * gst/gstevent.c:
2466         Small doc update.
2467
2468 2005-11-15  Andy Wingo  <wingo@pobox.com>
2469
2470         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
2471
2472         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
2473         using GST_CLOCK_TIME_NONE to disable base time management.
2474         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
2475         time if it was NONE before.
2476         (gst_pipeline_change_state): Only munge the base time if
2477         stream_time != GST_CLOCK_TIME_NONE.
2478
2479         * check/gst/gstpipeline.c (test_base_time): Punt around the
2480         problem of the probe not being called, because that's not the
2481         issue I'm looking at. Add a check that setting stream_time to NONE
2482         disables base time management.
2483         
2484 2005-11-15  Wim Taymans  <wim@fluendo.com>
2485
2486         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2487         segment_stop == -1 at startup.
2488
2489         * gst/base/gstbasetransform.c: (gst_base_transform_event),
2490         (gst_base_transform_change_state):
2491         Init segment values at start.
2492
2493 2005-11-15  Wim Taymans  <wim@fluendo.com>
2494
2495         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2496         0 segment values are 0 in any format.
2497
2498         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2499         * gst/base/gstbasetransform.h:
2500         Parse newsegment correctly in basetransform
2501
2502         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2503         Sync to clock using updated segment values.
2504
2505 2005-11-15  Andy Wingo  <wingo@pobox.com>
2506
2507         * check/gst/gstpipeline.c (test_base_time): Add check that the
2508         base time and stream time are reset correctly.
2509
2510 2005-11-15  Wim Taymans  <wim@fluendo.com>
2511
2512         * docs/design/part-TODO.txt:
2513         Some more TODO items.
2514
2515 2005-11-15  Andy Wingo  <wingo@pobox.com>
2516
2517         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
2518         error if the user selected "no clock" as the clocking method.
2519
2520         * check/gst/gstpipeline.c (test_base_time): New test for buffer
2521         timestamps with live capture.
2522
2523         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
2524         is 0 but we are a live source, timestamp the buffers using the
2525         element's clock.
2526
2527 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
2528
2529         * docs/gst/gstreamer-sections.txt:
2530         * gst/gsterror.c:
2531         * gst/gstghostpad.c:
2532         * gst/gstobject.h:
2533         * gst/gstxml.c:
2534           more section docs
2535
2536 2005-11-14  Wim Taymans  <wim@fluendo.com>
2537
2538         * common/gst.supp:
2539           add suppressions from Wim's Debian machine
2540
2541 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2542
2543         * common/gst.supp:
2544           add suppressions from Andy's AMD64 Ubuntu machine
2545
2546 2005-11-14  Andy Wingo  <wingo@pobox.com>
2547
2548         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
2549         STATE_LOCK not necessary. Fixes #311489.
2550
2551         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
2552         #305291.
2553
2554         * gst/gstindex.c (gst_index_add_object): Note in the docs that
2555         this function is not implemented.
2556
2557 2005-11-14  Julien MOUTTE  <julien@moutte.net>
2558
2559         * gst/base/gstbasetransform.c:
2560         (gst_base_transform_prepare_output_buf):
2561         Ref the source pad caps while we need them.
2562         Fixes (#321386)
2563
2564 2005-11-11  Wim Taymans  <wim@fluendo.com>
2565
2566         * docs/gst/gstreamer-sections.txt:
2567         Added some docs for GstCollectData.
2568
2569         * gst/base/gstadapter.c:
2570         Some small code example fix.
2571
2572         * gst/base/gstcollectpads.c:
2573         * gst/base/gstcollectpads.h:
2574         Document some more.
2575
2576 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2577
2578         * configure.ac: back to HEAD
2579
2580 === release 0.9.5 ===
2581
2582 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
2583
2584         * configure.ac:
2585           releasing 0.9.5, "Bike Lunch Day"
2586
2587 2005-11-11  Wim Taymans  <wim@fluendo.com>
2588
2589         * gst/gstbuffer.c: (_gst_buffer_copy):
2590         Copy more flags.
2591
2592         * gst/gstcaps.c: (gst_caps_is_equal):
2593         Fix some docs.
2594         Make _is_equal fast in the trivial cases.
2595
2596         * gst/gstminiobject.c:
2597         * gst/gstminiobject.h:
2598         More docs. Spifify .h file.
2599
2600         * gst/gstutils.c:
2601         Small doc update.
2602
2603 2005-11-11  Wim Taymans  <wim@fluendo.com>
2604
2605         * gst/base/gstbasetransform.c:
2606         (gst_base_transform_prepare_output_buf),
2607         (gst_base_transform_handle_buffer):
2608         Small cleanups.
2609         If we're processing a buffer and need to allocate an output
2610         buffer, we cannot accept a format change. If we did get a 
2611         format change, we have to alloc a buffer ourselves of the 
2612         right size.
2613
2614 2005-11-11  Wim Taymans  <wim@fluendo.com>
2615
2616         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
2617         While checking the flag for reentrancy in the gstcaps function
2618         is nice to detect recursive invocations, it also makes it 
2619         impossible to call getcaps from multiple threads, which must be
2620         possible. So, checking for recursive calls has to go.
2621
2622 2005-11-11  Michael Smith <msmith@fluendo.com>
2623
2624         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2625           Don't sync on buffers that fall partially outside our current
2626           segment. Prevents an assertion failure/abort playing some files.
2627
2628 2005-11-10  Andy Wingo  <wingo@pobox.com>
2629
2630         * check/gst/gstbin.c (test_message_state_changed_children): Style
2631         fix..
2632
2633         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
2634         gst_bus_poll with the signal watch. Ensures that poll and a signal
2635         watch see the same messages.
2636
2637         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
2638         a poll and a watch at the same time get the same messages.
2639
2640 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2641
2642         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
2643         * gst/gstcaps.c: (gst_caps_intersect):
2644           Don't call gst_caps_do_simplify - it doesn't respect order of caps
2645           and it's not needed.
2646
2647 2005-11-10  Wim Taymans  <wim@fluendo.com>
2648
2649         * docs/design/part-TODO.txt:
2650         Updated todo.
2651
2652 2005-11-10  Wim Taymans  <wim@fluendo.com>
2653
2654         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2655         * gst/base/gstbasesrc.c: (gst_base_src_wait),
2656         (gst_base_src_do_sync), (gst_base_src_get_range):
2657         Implement clock sync in base class.
2658
2659 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2660
2661         patch by: Tim-Philipp Müller <tim at centricular dot net>
2662
2663         * gst/gststructure.c: (gst_structure_parse_field),
2664         (gst_structure_from_string):
2665           Forward-port a 0.8 patch to handle escaped spaces in structure string,
2666           so that gst_parse_launch() can deal with spaces in filtered link
2667           caps (fixes #164479)
2668         * check/gst/capslist.h:
2669         * check/gst/gststructure.c: (GST_START_TEST):
2670           add unit tests for this change
2671
2672 2005-11-10  Wim Taymans  <wim@fluendo.com>
2673
2674         * docs/gst/gstreamer-sections.txt:
2675         * gst/gstelement.c:
2676         * gst/gstelement.h:
2677         Fix docs, move some STATE macros to private.
2678
2679 2005-11-10  Wim Taymans  <wim@fluendo.com>
2680
2681         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
2682         Added check for bug #317341
2683
2684         * gst/gstbuffer.c:
2685         * gst/gstbuffer.h:
2686         Some more spiffifying.
2687
2688         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
2689         Call peer linkfunction if we are a source pad. Totally fixes
2690         #317341
2691
2692         * gst/gstpad.c:
2693         Update docs, source pads should call the peer linkfunction
2694         so they can atomically perform the pad link.
2695
2696 2005-11-09  Wim Taymans  <wim@fluendo.com>
2697
2698         * gst/gstbuffer.c:
2699         * gst/gstbuffer.h:
2700         Uber-spiffy-spiffify some more.
2701
2702 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
2703
2704         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
2705         * gst/elements/gstfilesink.c: (gst_file_sink_init):
2706         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2707         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
2708         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
2709         * gst/gstpad.c: (gst_pad_init):
2710           Use GST_DEBUG_FUNCPTR() more extensively.
2711
2712 2005-11-09  Wim Taymans  <wim@fluendo.com>
2713
2714         * gst/gstobject.c: (gst_object_class_init):
2715         * gst/gstobject.h:
2716         Documentation fixes.
2717
2718 2005-11-09  Edward Hervey  <edward@fluendo.com>
2719
2720         * gst/gsttypefindfactory.c:
2721         Fix docs.
2722         
2723 2005-11-09  Edward Hervey  <edward@fluendo.com>
2724
2725         * gst/base/gsttypefindhelper.c:
2726         * gst/gsttypefind.c:
2727         * gst/gsttypefind.h:
2728         Fix docs.
2729
2730 2005-11-09  Wim Taymans  <wim@fluendo.com>
2731
2732         * gst/gstiterator.c:
2733         Fix revision data.
2734
2735         * gst/gsttask.c:
2736         * gst/gsttask.h:
2737         Fix docs.
2738
2739 2005-11-09  Wim Taymans  <wim@fluendo.com>
2740
2741         * gst/gstevent.h:
2742         * gst/gsturi.h:
2743         Fix docs.
2744
2745 2005-11-09  Wim Taymans  <wim@fluendo.com>
2746
2747         * docs/gst/gstreamer-sections.txt:
2748         Moved the message async delivery private lock and cond
2749         to the private section.
2750
2751         * gst/gstmessage.c:
2752         * gst/gstmessage.h:
2753         Fixed docs.
2754
2755 2005-11-09  Edward Hervey  <edward@fluendo.com>
2756
2757         * docs/gst/gstreamer-sections.txt:
2758         * gst/gsturi.c:
2759         * gst/gsturi.h:
2760         Document GstURIHandler
2761
2762 2005-11-09  Wim Taymans  <wim@fluendo.com>
2763
2764         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
2765         (gst_iterator_find_custom):
2766         * gst/gstiterator.h:
2767         Fix iterator docs.
2768
2769 2005-11-09  Wim Taymans  <wim@fluendo.com>
2770
2771         * gst/gstbin.h:
2772         Document another field.
2773
2774         * gst/gststructure.c:
2775         * gst/gststructure.h:
2776         Document.
2777
2778 2005-11-09  Wim Taymans  <wim@fluendo.com>
2779
2780         * gst/gstbin.h:
2781         Documented structs.
2782
2783 2005-11-09  Wim Taymans  <wim@fluendo.com>
2784
2785         * docs/gst/gstreamer-sections.txt:
2786         Added some new macros.
2787
2788         * gst/gstclock.c:
2789         * gst/gstclock.h:
2790         * gst/gstobject.h:
2791         Docs updates.
2792
2793 2005-11-09  Wim Taymans  <wim@fluendo.com>
2794
2795         * docs/design/part-TODO.txt:
2796         Some more items for the TODO
2797
2798         * gst/gstcaps.c:
2799         * gst/gstcaps.h:
2800         Document GstCaps.
2801
2802 2005-11-09  Andy Wingo  <wingo@pobox.com>
2803
2804         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
2805         to work on something else now tho...
2806
2807         * gst/base/gstadapter.c: More adapter docs.
2808
2809         * gst/elements/gstfilesink.c (gst_file_sink_start) 
2810         (gst_file_sink_stop): New functions, replace the state change
2811         handler.
2812         (gst_file_sink_class_init): Hook up the start and stop functions.
2813         (gst_file_sink_base_init): Don't set the state change handler any
2814         more. It was a bit ugly too, being set from here...
2815         (gst_file_sink_get_property, gst_file_sink_set_property):
2816         Cleanups...
2817         (gst_file_sink_set_location): More robust check that doesn't call
2818         GST_STATE. Ugggggg.
2819
2820 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
2821
2822         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2823           Hold STREAM_LOCK while pushing newsegment or tag events as well.
2824
2825 2005-11-08  Wim Taymans  <wim@fluendo.com>
2826
2827         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2828         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
2829         (gst_base_sink_chain), (gst_base_sink_change_state):
2830         * gst/base/gstbasesink.h:
2831         * gst/base/gstbasesrc.h:
2832         * gst/gstelement.h:
2833         * gst/gstevent.h:
2834         Avoid excessive typechecking in macros.
2835
2836         * gst/gstminiobject.c: (gst_mini_object_get_type),
2837         (gst_mini_object_init), (gst_mini_object_new),
2838         (gst_mini_object_free):
2839         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
2840         (gst_object_finalize):
2841         Remove cruft code, optimize alloc_trace.
2842
2843 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2844
2845         * docs/faq/gst-uninstalled:
2846           fix up PS1 for systems that try to reset it
2847
2848 2005-11-07  Wim Taymans  <wim@fluendo.com>
2849
2850         * gst/base/gstbasesrc.c: (gst_base_src_init),
2851         (gst_base_src_get_range):
2852         Set the segment_end to -1 initially. Fixed typefind.
2853
2854 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2855
2856         * gst/base/gstadapter.c:
2857           Debug category should be 'adapter', not 'GstAdapter'.
2858           
2859         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
2860         (gst_collectpads_class_init), (gst_collectpads_init),
2861         (gst_collectpads_peek), (gst_collectpads_pop),
2862         (gst_collectpads_event), (gst_collectpads_chain):
2863           Add debug category and some debugging output. Use boilerplate
2864           macros. Remove some extraneous words from docs.
2865
2866 2005-11-05  Andy Wingo  <wingo@pobox.com>
2867
2868         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
2869         macro.
2870
2871 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2872
2873         * docs/gst/gstreamer-sections.txt:
2874         * gst/gstcaps.h:
2875         * gst/gstinfo.c:
2876         * gst/gstminiobject.h:
2877         * gst/gstobject.h:
2878         * gst/gstutils.h:
2879           more docs added
2880
2881 2005-11-04  Wim Taymans  <wim@fluendo.com>
2882
2883         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2884         Small update to stop at the configured segment_end
2885         position.
2886
2887 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2888
2889         * gst/gstregistry.c:
2890         * gst/gstregistry.h:
2891           added missing docs
2892
2893 2005-11-04  Edward Hervey  <edward@fluendo.com>
2894
2895         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2896         Check if we are doing a segment seek and have arrived at the
2897         end of that segment.
2898
2899 2005-11-04  Wim Taymans  <wim@fluendo.com>
2900
2901         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
2902         Don't leak a mutex unlock in case of an error.
2903
2904         * gst/gstbus.h:
2905         Doc fixes.
2906
2907 2005-11-04  Wim Taymans  <wim@fluendo.com>
2908
2909         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
2910         (gst_bus_post):
2911         Get the context to wake up only once.
2912
2913 2005-11-03  Wim Taymans  <wim@fluendo.com>
2914
2915         * check/states/sinks.c: (GST_START_TEST):
2916         Uncomment fixed check.
2917
2918         * docs/design/part-TODO.txt:
2919         Updated TODO.
2920
2921         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2922         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2923         (gst_base_sink_get_position):
2924         If we are going to PLAYING, post the right pending state
2925         when we post the intermediate paused message.
2926
2927         * gst/gstelement.c: (gst_element_continue_state),
2928         (gst_element_set_state_func), (gst_element_change_state):
2929         Don't post state changes that were between the same state
2930         and were not ASYNC.
2931
2932 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2933
2934         * docs/gst/gstreamer-sections.txt:
2935         * gst/gstcaps.h:
2936         * gst/gstinfo.c:
2937         * gst/gstminiobject.h:
2938         * gst/gstobject.h:
2939         * gst/gstutils.h:
2940           more docs and doc style fixes
2941
2942 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2943
2944         * docs/gst/gstreamer-sections.txt:
2945         * gst/gstelement.c:
2946         * gst/gstminiobject.c:
2947         doc fixes
2948
2949 2005-11-03  Andy Wingo  <wingo@pobox.com>
2950
2951         * check/states/sinks.c (test_livesrc_sink): Add checks that the
2952         state-changed messages actually have the right order and the right
2953         values.
2954
2955 2005-11-03  Wim Taymans  <wim@fluendo.com>
2956
2957         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
2958         Added some more checks. Specifically the case where NO_PREROLL
2959         elements are in the pipeline.
2960
2961         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2962         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2963         (gst_base_sink_get_position):
2964         Post READY->PAUSED state change messages too.
2965         Fix bug where VOID was posted as pending state...
2966
2967         * gst/gstbin.c: (gst_bin_recalc_state):
2968         use _element_continue_state() to continue the state change.
2969
2970         * gst/gstelement.c: (gst_element_continue_state),
2971         (gst_element_commit_state), (gst_element_set_state_func),
2972         (gst_element_change_state), (gst_element_change_state_func):
2973         Lots of state change cleanups, assign the STATE_RETURN in
2974         a new continue_state() function that also propagates the
2975         last return value from a state change to the app.
2976         Update some debug statements with proper category.
2977
2978 2005-11-03  Wim Taymans  <wim@fluendo.com>
2979
2980         * docs/design/part-events.txt:
2981         * docs/design/part-gstpipeline.txt:
2982         * docs/design/part-messages.txt:
2983         * docs/design/part-overview.txt:
2984         * docs/design/part-seeking.txt:
2985         * docs/design/part-states.txt:
2986         * docs/design/part-trickmodes.txt:
2987         * docs/manual/advanced-position.xml:
2988         Small docs updates.
2989
2990         * gst/gstobject.h:
2991         People think !! is ugly, this looks better.
2992
2993         * gst/gstpad.c: (gst_pad_set_blocked_async):
2994         Remove !! since it's fixed elsewhere now.
2995
2996 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2997
2998         * gst/gstminiobject.h:
2999         * gst/gstobject.h:
3000           Add !! to _FLAG_IS_SET macros to make the result boolean.
3001
3002 2005-11-03  Edward Hervey  <edward@fluendo.com>
3003
3004         * gst/gstpad.c: (gst_pad_set_blocked_async):
3005         comparing a flag and a gboolean rarely returns coherent results...
3006         Added two characters (!!) to make that work correctly.
3007         
3008 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3009
3010         * gst/gstbus.c: (gst_bus_class_init):
3011           Fix some typos.
3012           
3013         * gst/gstqueue.c: (gst_queue_loop):
3014           Don't assume a miniobject that isn't a buffer is an
3015           event (it could be that there is a refcounting
3016           problem somewhere and the pointer is stale and
3017           refers to an already destroyed miniobject).
3018
3019 2005-11-03  Julien MOUTTE  <julien@moutte.net>
3020
3021         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
3022
3023 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3024
3025         * docs/manual/advanced-position.xml:
3026           Update seek example and explanations to current 0.9 API.
3027
3028         * gst/elements/gsttypefindelement.c:
3029         (gst_type_find_element_activate):
3030           Remove FIXME comment now that the found caps
3031           are unreffed.
3032
3033 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3034
3035         * gst/gstregistryxml.c: (load_feature):
3036           Add another GST_STR_NULL instance
3037
3038 2005-11-02  Edward Hervey  <edward@fluendo.com>
3039
3040         * gst/gstpad.c: (handle_pad_block):
3041         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
3042         
3043 2005-11-02  Wim Taymans  <wim@fluendo.com>
3044
3045         * gst/gstbin.c:
3046         Fix typo in docs.
3047
3048         * gst/gstelement.c: (gst_element_commit_state):
3049         Remove unused value.
3050
3051         * gst/gstiterator.c:
3052         Mention that the returned element is reffed in the docs.
3053
3054 2005-11-02  Wim Taymans  <wim@fluendo.com>
3055
3056         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
3057         (gst_pad_push), (gst_pad_push_event):
3058         Unlock blocked pads when they are flushed.
3059
3060 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3061
3062         * docs/README:
3063         * docs/gst/gstreamer-sections.txt:
3064         * gst/gstbin.c:
3065           doc updates
3066         * gst/gstregistry.c: (gst_registry_scan_path_level):
3067           fix for a nasty little missed situation where an installed plug-in
3068           which was in the cache did not get overridden by an uninstalled one
3069           which was earlier in the plugin path because the newly created plugin
3070           for the uninstalled one (not in the registry) didn't get its
3071           ->registered set to TRUE
3072
3073 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3074
3075         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
3076         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
3077         (gst_collectpads_is_active), (gst_collectpads_collect),
3078         (gst_collectpads_collect_range), (gst_collectpads_start),
3079         (gst_collectpads_stop), (gst_collectpads_peek),
3080         (gst_collectpads_pop), (gst_collectpads_available),
3081         (gst_collectpads_read), (gst_collectpads_flush):
3082           Guard public API with assertions.
3083         
3084         * gst/gstpad.c:
3085           Fix docs for gst_pad_set_link_function().
3086
3087 2005-11-02  Johan Dahlin  <johan@gnome.org>
3088
3089         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
3090         Unref found_caps after we used it.
3091
3092 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3093
3094         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
3095           Don't try to ref NULL.
3096
3097 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3098
3099         * win32/common/config.h.in:
3100           provide a GST_FUNCTION that just gives a string for now
3101
3102 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3103
3104         * win32/common/gstenumtypes.c: (register_gst_object_flags),
3105         (gst_object_flags_get_type), (register_gst_bin_flags),
3106         (gst_bin_flags_get_type), (register_gst_buffer_flag),
3107         (gst_buffer_flag_get_type), (register_gst_bus_flags),
3108         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3109         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
3110         (gst_clock_return_get_type), (register_gst_clock_entry_type),
3111         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3112         (gst_clock_flags_get_type), (register_gst_state),
3113         (gst_state_get_type), (register_gst_state_change_return),
3114         (gst_state_change_return_get_type), (register_gst_state_change),
3115         (gst_state_change_get_type), (register_gst_element_flags),
3116         (gst_element_flags_get_type), (register_gst_core_error),
3117         (gst_core_error_get_type), (register_gst_library_error),
3118         (gst_library_error_get_type), (register_gst_resource_error),
3119         (gst_resource_error_get_type), (register_gst_stream_error),
3120         (gst_stream_error_get_type), (register_gst_event_type),
3121         (gst_event_type_get_type), (register_gst_seek_type),
3122         (gst_seek_type_get_type), (register_gst_seek_flags),
3123         (gst_seek_flags_get_type), (register_gst_format),
3124         (gst_format_get_type), (register_gst_index_certainty),
3125         (gst_index_certainty_get_type), (register_gst_index_entry_type),
3126         (gst_index_entry_type_get_type),
3127         (register_gst_index_lookup_method),
3128         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3129         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3130         (gst_index_resolver_method_get_type), (register_gst_index_flags),
3131         (gst_index_flags_get_type), (register_gst_debug_level),
3132         (gst_debug_level_get_type), (register_gst_debug_color_flags),
3133         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3134         (gst_iterator_result_get_type), (register_gst_iterator_item),
3135         (gst_iterator_item_get_type), (register_gst_message_type),
3136         (gst_message_type_get_type), (register_gst_mini_object_flags),
3137         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3138         (gst_pad_link_return_get_type), (register_gst_flow_return),
3139         (gst_flow_return_get_type), (register_gst_activate_mode),
3140         (gst_activate_mode_get_type), (register_gst_pad_direction),
3141         (gst_pad_direction_get_type), (register_gst_pad_flags),
3142         (gst_pad_flags_get_type), (register_gst_pad_presence),
3143         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3144         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3145         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3146         (gst_plugin_error_get_type), (register_gst_plugin_flags),
3147         (gst_plugin_flags_get_type), (register_gst_rank),
3148         (gst_rank_get_type), (register_gst_query_type),
3149         (gst_query_type_get_type), (register_gst_tag_merge_mode),
3150         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3151         (gst_tag_flag_get_type), (register_gst_task_state),
3152         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3153         (gst_alloc_trace_flags_get_type),
3154         (register_gst_type_find_probability),
3155         (gst_type_find_probability_get_type), (register_gst_uri_type),
3156         (gst_uri_type_get_type), (register_gst_parse_error),
3157         (gst_parse_error_get_type):
3158         * win32/common/gstversion.h:
3159           update win32 copies
3160
3161 2005-11-01  Luca Ognibene  <luogni@tin.it>
3162
3163         * gst/gst.c:
3164           fix docs. popt is dead, long live GOption.
3165
3166 2005-10-31  Wim Taymans  <wim@fluendo.com>
3167
3168         * gst/gstbuffer.h:
3169         Small doc fix.
3170
3171 2005-10-31  Andy Wingo  <wingo@pobox.com>
3172
3173         * Boo!
3174
3175         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
3176
3177         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
3178         need to serialize property notifications on GLib 2.8. GLib 2.6 has
3179         the possibility of deadlocks here if code calling notify() or
3180         set() has a lock that can be taken in another notify handler (ABBA
3181         with class lock and e.g. python GIL state lock).
3182
3183 2005-10-28  Julien MOUTTE  <julien@moutte.net>
3184
3185         * gst/gstbus.c: Doc updates.
3186
3187 2005-10-28  Wim Taymans  <wim@fluendo.com>
3188
3189         * docs/design/part-TODO.txt:
3190         * gst/gstiterator.c:
3191         * gst/gstsystemclock.c:
3192         * gst/gstsystemclock.h:
3193         Doc updates.
3194
3195 2005-10-28  Edward Hervey  <edward@fluendo.com>
3196
3197         * docs/gst/gstreamer-docs.sgml:
3198         * docs/gst/gstreamer-sections.txt:
3199         the GstURIType documentation page is private, it only defines GstURIType
3200         which should be defined in the GstURIHandler page
3201         
3202 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3203
3204         * gst/gstbin.c: (gst_bin_class_init):
3205         * gst/gstbin.h:
3206         * gst/gstutils.c:
3207         Documentation updates.
3208
3209 2005-10-28  Wim Taymans  <wim@fluendo.com>
3210
3211         * docs/gst/gstreamer-sections.txt:
3212         * gst/gstclock.c:
3213         * gst/gstclock.h:
3214         Documented the clocks.
3215
3216 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
3217
3218         * docs/gst/gstreamer-sections.txt:
3219           move some macros to private sections
3220         * gst/gstminiobject.c:
3221         * gst/gstminiobject.h:
3222           add descriptions provided by ds and some more
3223         * gst/gstpad.h:
3224           mark macro as to be removed
3225
3226 2005-10-28  Wim Taymans  <wim@fluendo.com>
3227
3228         * docs/design/part-TODO.txt:
3229         Add an item to TODO.
3230
3231         * gst/gstiterator.c: (gst_iterator_fold),
3232         (gst_iterator_find_custom):
3233         * gst/gstiterator.h:
3234         Add iterator docs.
3235
3236 2005-10-28  Wim Taymans  <wim@fluendo.com>
3237
3238         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3239         (gst_base_transform_init):
3240         Don't leak class.
3241
3242         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3243         An EOS event marks the queue as completely filled.
3244
3245 2005-10-27  Wim Taymans  <wim@fluendo.com>
3246
3247         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3248         (gst_base_sink_do_sync), (gst_base_sink_get_position):
3249         Some more debugging.
3250
3251         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3252         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3253         (gst_base_transform_event), (gst_base_transform_getrange),
3254         (gst_base_transform_chain):
3255         * gst/base/gstbasetransform.h:
3256         Fix debugging,
3257         Protect transform and concurrent buffer alloc with a new lock.
3258         Try not to break ABI/API.
3259
3260 2005-10-27  Wim Taymans  <wim@fluendo.com>
3261
3262         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3263         (gst_base_src_init), (gst_base_src_query),
3264         (gst_base_src_default_newsegment),
3265         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3266         (gst_base_src_send_event), (gst_base_src_event_handler),
3267         (gst_base_src_pad_get_range), (gst_base_src_loop),
3268         (gst_base_src_unlock), (gst_base_src_default_negotiate),
3269         (gst_base_src_start), (gst_base_src_deactivate),
3270         (gst_base_src_activate_push), (gst_base_src_change_state):
3271         Move some stuff around and cleanup things.
3272
3273 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
3274
3275         * gst/base/gstbasesrc.c: (gst_base_src_query):
3276           Add missing break statements.
3277
3278 2005-10-27  Wim Taymans  <wim@fluendo.com>
3279
3280         * check/gst/gstbin.c: (GST_START_TEST):
3281         An extra refcount is taken in basesrc.
3282
3283         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3284         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3285         (gst_base_src_loop):
3286         Small cleanups, check for flushing after being unlocked from the 
3287         LIVE_LOCK. take refcounts correctly (not yet everywhere).
3288         Don't send out EOS when going to READY.
3289
3290 2005-10-27  Wim Taymans  <wim@fluendo.com>
3291
3292         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3293         (gst_base_sink_get_position):
3294         Some more debug.
3295
3296         * gst/gstbin.c: (message_check), (bin_replace_message),
3297         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3298         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3299         (bin_query_duration_init), (bin_query_duration_fold),
3300         (bin_query_duration_done), (bin_query_generic_fold),
3301         (gst_bin_query):
3302         * tools/gst-launch.c: (main):
3303         Remove old option.
3304
3305 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
3306
3307         * examples/controller/audio-example.c: (main):
3308         * examples/queue/queue.c: (event_loop):
3309         * gst/base/gstbasetransform.h:
3310         * gst/gstelement.c: (gst_element_send_event):
3311         * gst/gstevent.h:
3312         * gst/gstpad.c: (gst_pad_send_event):
3313           fixing examples
3314           fixing docs typos
3315           changing log priority in error situations
3316
3317 2005-10-25  Wim Taymans  <wim@fluendo.com>
3318
3319         * gst/gstbin.c: (message_check), (bin_replace_message),
3320         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3321         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3322         (bin_query_duration_init), (bin_query_duration_fold),
3323         (bin_query_duration_done), (bin_query_generic_fold),
3324         (gst_bin_query):
3325         Some doc and debug updates.
3326         Cache previously requested query DURATION for speed. invalidate
3327         cached duration if element posts a DURATION message.
3328
3329 2005-10-25  Wim Taymans  <wim@fluendo.com>
3330
3331         * docs/design/part-TODO.txt:
3332         Update TODO.
3333
3334         * gst/gstbin.c: (message_check), (bin_replace_message),
3335         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3336         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3337         (bin_query_duration_init), (bin_query_duration_fold),
3338         (bin_query_duration_done), (bin_query_generic_fold),
3339         (gst_bin_query):
3340         Handle SEGMENT_START/DONE messages correctly.
3341         More evolved query algorithm that handles duration queries
3342         correctly.
3343
3344         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3345         (gst_element_get_state_func), (gst_element_abort_state),
3346         (gst_element_commit_state), (gst_element_lost_state):
3347         Some more debugging.
3348
3349         * gst/gstmessage.h:
3350         Added doc.
3351
3352 2005-10-25  Wim Taymans  <wim@fluendo.com>
3353
3354         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3355         Don't use invalid stream_time.
3356
3357         * gst/gstevent.c: (gst_event_new_newsegment):
3358         stream_time in newsegment cannot be undefined.
3359
3360 2005-10-24  Wim Taymans  <wim@fluendo.com>
3361
3362         * gst/gstbus.c:
3363         Doc fix.
3364
3365         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3366         (gst_queue_loop):
3367         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3368
3369 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
3370
3371         * docs/libs/tmpl/gstdparam.sgml:
3372         * docs/libs/tmpl/gstdplinint.sgml:
3373         * docs/libs/tmpl/gstdpman.sgml:
3374         * docs/libs/tmpl/gstdpsmooth.sgml:
3375         * docs/libs/tmpl/gstunitconvert.sgml:
3376           these are obsolete
3377
3378 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3379
3380         * configure.ac:
3381           back to HEAD
3382
3383 === release 0.9.4 ===
3384
3385 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3386
3387         * configure.ac:
3388           releasing 0.9.4, "Tyrannosaurus Rex"
3389
3390 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
3391
3392         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3393         (gst_file_sink_get_current_offset):
3394           Use fseeko() and ftello() if available. When falling back on
3395           lseek() to get the current offset, fflush() first to make sure
3396           everything is up-to-date and we get the right offset.
3397
3398 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3399
3400         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3401         * gst/base/gstbasesrc.c: (gst_base_src_loop):
3402         * gst/gsterror.c: (_gst_stream_errors_init):
3403         * gst/gsterror.h:
3404         * gst/gstqueue.c: (gst_queue_loop):
3405         * po/POTFILES.in:
3406           remove prematurely added error category and clean up the instances
3407
3408 2005-10-21  Wim Taymans  <wim@fluendo.com>
3409
3410         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3411         (gst_base_sink_get_position), (gst_base_sink_query),
3412         (gst_base_sink_change_state):
3413         Simply set the right flag when going to playing, that's all
3414         we need to do instead of calling a function inside the object
3415         lock (that could take the lock as well and deadlock)
3416
3417 2005-10-21  Wim Taymans  <wim@fluendo.com>
3418
3419         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
3420         (gst_base_src_loop):
3421         Don't warn, the peer element knows what to do best when
3422         the seek failed, it might try something else.
3423
3424 2005-10-21  Wim Taymans  <wim@fluendo.com>
3425
3426         * gst/base/gstbasesrc.c: (gst_base_src_init),
3427         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3428         Fix seeking.
3429
3430 2005-10-21  Wim Taymans  <wim@fluendo.com>
3431
3432         * docs/design/part-segments.txt:
3433         More docs.
3434
3435         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3436         Correctly set caps, even on the subbufer.
3437
3438 2005-10-21  Wim Taymans  <wim@fluendo.com>
3439
3440         * docs/gst/gstreamer-docs.sgml:
3441         * docs/gst/gstreamer-sections.txt:
3442         * gst/gstelement.h:
3443         * gst/gstevent.c:
3444         * gst/gstevent.h:
3445         * gst/gstmessage.h:
3446         * gst/gstpad.h:
3447         * gst/gstparse.h:
3448         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
3449         * gst/gsttask.h:
3450         * gst/gstutils.c:
3451         * gst/gstutils.h:
3452         And 2% more doc coverage.
3453
3454 2005-10-21  Andy Wingo  <wingo@pobox.com>
3455
3456         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
3457         position reporting.
3458
3459 2005-10-20  Wim Taymans  <wim@fluendo.com>
3460
3461         * gst/gsterror.c: (gst_error_get_message):
3462         * gst/gstparse.h:
3463         * gst/gstquery.h:
3464         * gst/gststructure.c:
3465         * gst/gsttrace.c:
3466         * gst/gstutils.c:
3467         More docs.
3468
3469 2005-10-20  Wim Taymans  <wim@fluendo.com>
3470
3471         * gst/gstbuffer.h:
3472         * gst/gstpad.c:
3473         * gst/gstparse.c:
3474         Another 1% more coverage.
3475
3476 2005-10-20  Wim Taymans  <wim@fluendo.com>
3477
3478         * docs/gst/gstreamer-sections.txt:
3479         * gst/gstelement.c: (gst_element_get_state_func),
3480         (gst_element_abort_state), (gst_element_commit_state),
3481         (gst_element_lost_state):
3482         * gst/gstevent.h:
3483         * gst/gstquery.c: (gst_query_set_position),
3484         (gst_query_parse_position), (gst_query_set_duration),
3485         (gst_query_parse_duration), (gst_query_new_convert):
3486         * gst/gstutils.c:
3487         Yay! 1% more docs coverage.
3488
3489 2005-10-20  Wim Taymans  <wim@fluendo.com>
3490
3491         * gst/gstpad.h:
3492         * gst/gstquery.c: (gst_query_set_position),
3493         (gst_query_parse_position), (gst_query_set_duration),
3494         (gst_query_parse_duration), (gst_query_new_convert):
3495         * gst/gstquery.h:
3496         * gst/gstutils.c: (gst_element_query_convert):
3497         * gst/gstutils.h:
3498         Docs and consistency fixes.
3499
3500 2005-10-20  Wim Taymans  <wim@fluendo.com>
3501
3502         * gst/gsttask.c:
3503         * gst/gsttask.h:
3504         More docs.
3505
3506 2005-10-20  Wim Taymans  <wim@fluendo.com>
3507
3508         * gst/gstbin.c: (message_check), (bin_replace_message),
3509         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3510         (update_degree), (gst_bin_sort_iterator_next),
3511         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
3512         Reworked the message handling a bit, cache the messages instead of
3513         only the senders. alows us to do more in the future.
3514
3515 2005-10-20  Wim Taymans  <wim@fluendo.com>
3516
3517         * docs/design/part-TODO.txt:
3518         Update TODO
3519
3520         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3521         (gst_base_sink_query):
3522         Don't use clock time to report position when in EOS.
3523
3524 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
3525
3526         * tools/gst-inspect.c: (print_interfaces),
3527         (print_element_properties_info), (print_element_info):
3528           Fix interface output with gst-inspect -a; don't print
3529           newlines after double/float properties.
3530
3531 2005-10-20  Wim Taymans  <wim@fluendo.com>
3532
3533         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3534         (gst_base_sink_query):
3535         Speed up current position calculation.
3536
3537         * gst/base/gstbasesrc.c: (gst_base_src_query),
3538         (gst_base_src_default_newsegment):
3539         Correctly set stream position in newsegment.
3540
3541         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
3542         (update_degree), (gst_bin_sort_iterator_next),
3543         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
3544         * gst/gstmessage.c: (gst_message_new_custom):
3545         Clean up debugging info
3546
3547         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
3548         (gst_queue_loop), (gst_queue_handle_src_query):
3549         Pause task faster.
3550
3551 2005-10-19  Wim Taymans  <wim@fluendo.com>
3552
3553         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3554         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3555         Fix query handling again.
3556
3557 2005-10-19  Wim Taymans  <wim@fluendo.com>
3558
3559         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3560         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3561         * gst/base/gstbasesrc.c: (gst_base_src_query):
3562         * gst/elements/gstfilesink.c: (gst_file_sink_query):
3563         * gst/elements/gsttypefindelement.c:
3564         (gst_type_find_handle_src_query), (find_element_get_length),
3565         (gst_type_find_element_activate):
3566         API change fix.
3567
3568         * gst/gstquery.c: (gst_query_new_position),
3569         (gst_query_set_position), (gst_query_parse_position),
3570         (gst_query_new_duration), (gst_query_set_duration),
3571         (gst_query_parse_duration), (gst_query_set_segment),
3572         (gst_query_parse_segment):
3573         * gst/gstquery.h:
3574         Bundling query position/duration is not a good idea since duration
3575         does not change much and we don't want to recalculate it for every
3576         position query, so they are separated again..
3577         Base value in segment query is not needed.
3578
3579         * gst/gstqueue.c: (gst_queue_handle_src_query):
3580         * gst/gstutils.c: (gst_element_query_position),
3581         (gst_element_query_duration), (gst_pad_query_position),
3582         (gst_pad_query_duration):
3583         * gst/gstutils.h:
3584         Updates for query API change.
3585         Added some docs here and there.
3586
3587 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3588
3589         * check/gst/gstbin.c: (GST_START_TEST):
3590         * check/gst/gstghostpad.c: (GST_START_TEST):
3591         * check/pipelines/cleanup.c: (GST_START_TEST):
3592           wait on thread to die so we can check refcount correctly
3593
3594 2005-10-18  Wim Taymans  <wim@fluendo.com>
3595
3596         * check/pipelines/stress.c: (GST_START_TEST):
3597         Make check a little more time consuming.
3598
3599 2005-10-18  Wim Taymans  <wim@fluendo.com>
3600
3601         * check/Makefile.am:
3602         * check/pipelines/stress.c: (GST_START_TEST),
3603         (simple_launch_lines_suite), (main):
3604         Small state change torture test.
3605
3606         * docs/design/part-states.txt:
3607         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3608         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
3609         (gst_base_sink_change_state):
3610         Never take state lock from streaming thread, clean up ugly
3611         hacks. Unfortunatly core does not yet support nice ways to
3612         async commit state.
3613         
3614         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
3615         (bin_bus_handler):
3616         Start state recalc if a STATE_DIRTY message is posted, but only
3617         on the toplevel bin.
3618
3619         * gst/gstelement.c: (gst_element_sync_state_with_parent),
3620         (gst_element_get_state_func), (gst_element_abort_state),
3621         (gst_element_commit_state), (gst_element_lost_state),
3622         (gst_element_set_state_func), (gst_element_change_state):
3623         * gst/gstelement.h:
3624         State variables are now protected with the LOCK, the state
3625         lock is only used to serialize _set_state().
3626
3627 2005-10-18  Wim Taymans  <wim@fluendo.com>
3628
3629         * check/gst/gstbin.c: (GST_START_TEST):
3630         * check/gst/gstmessage.c: (GST_START_TEST):
3631         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3632         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
3633         (bin_bus_handler):
3634         * gst/gstelement.c: (gst_element_abort_state),
3635         (gst_element_commit_state), (gst_element_lost_state):
3636         * gst/gstmessage.c: (gst_message_new_state_changed),
3637         (gst_message_new_state_dirty), (gst_message_new_segment_start),
3638         (gst_message_new_segment_done), (gst_message_new_duration),
3639         (gst_message_parse_state_changed),
3640         (gst_message_parse_segment_start),
3641         (gst_message_parse_segment_done), (gst_message_parse_duration):
3642         * gst/gstmessage.h:
3643         * tools/gst-launch.c: (event_loop):
3644         Seriously, this is better than a previous commit as we only need
3645         to notify the fact that an element changed state in a streaming
3646         thread, marking the state of the parents dirty, hence the 
3647         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
3648         message.
3649
3650 2005-10-18  Wim Taymans  <wim@fluendo.com>
3651
3652         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
3653         (gst_bin_recalc_func):
3654         * gst/gstelement.c: (gst_element_set_clock),
3655         (gst_element_abort_state), (gst_element_lost_state):
3656         Cleanups, prepare for state change fixes.
3657
3658 2005-10-18  Wim Taymans  <wim@fluendo.com>
3659
3660         * gst/gstbin.h:
3661         * gst/gstelement.c: (gst_element_class_init),
3662         (gst_element_set_state), (gst_element_set_state_func):
3663         * gst/gstelement.h:
3664         Pending ABI changes.
3665         GThreadPool in GstBinClass to monitor async state changes.
3666         state_cookie in GstElement to detect concurrent gst/set state.
3667         set_state is now virtual too in case a very complicated element
3668         has to be constructed.
3669
3670 2005-10-18  Wim Taymans  <wim@fluendo.com>
3671
3672         * check/gst/gstbin.c: (GST_START_TEST):
3673         * check/gst/gstmessage.c: (GST_START_TEST):
3674         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3675         * gst/gstbin.c: (bin_bus_handler):
3676         * gst/gstelement.c: (gst_element_commit_state),
3677         (gst_element_lost_state):
3678         * gst/gstmessage.c: (gst_message_new_state_changed),
3679         (gst_message_new_segment_start), (gst_message_new_segment_done),
3680         (gst_message_new_duration), (gst_message_parse_state_changed),
3681         (gst_message_parse_segment_start),
3682         (gst_message_parse_segment_done), (gst_message_parse_duration):
3683         * gst/gstmessage.h:
3684         * tools/gst-launch.c: (event_loop):
3685         Make messages future proof.
3686         state-change gets a flag if it was a message comming from the
3687         streaming thread.
3688         segment-start/stop can also be specified in other formats.
3689         A message to notify an app that a pipeline changed playback 
3690         duration.
3691         Also fix a GstMessage leak in -launch
3692
3693 2005-10-18  Andy Wingo  <wingo@pobox.com>
3694
3695         * gst/gstelement.c (gst_element_dispose): More helpful message.
3696
3697 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3698
3699         reviewed by: <delete if not using a buddy>
3700
3701         * common/gtk-doc.mak:
3702
3703 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3704
3705         * gst/gstregistry.c: (gst_registry_scan_path_level):
3706           unref a plug-in we get that was already initialized
3707
3708 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
3709
3710         * docs/gst/gstreamer-sections.txt:
3711         * docs/libs/gstreamer-libs-sections.txt:
3712         * gst/gstelement.h:
3713           add new api entries
3714           hide internal macro
3715
3716 2005-10-17  Andy Wingo  <wingo@pobox.com>
3717
3718         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
3719         cleanup.
3720
3721         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
3722
3723         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
3724
3725         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
3726         (gst_element_get_state_func): Better debug message.
3727         (gst_element_commit_state): s/INFO/DEBUG/.
3728         (gst_element_lost_state, gst_element_change_state): 
3729
3730         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
3731         (gst_message_new_custom): s/INFO/LOG/.
3732
3733 2005-10-17  Michael Smith <msmith@fluendo.com>
3734
3735         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3736           Check if end time is valid using end time, not start time.
3737
3738 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
3739
3740         * check/gst-libs/controller.c: (GST_START_TEST),
3741         (gst_controller_suite):
3742         * libs/gst/controller/gstcontroller.c:
3743         (gst_controlled_property_set_interpolation_mode):
3744         * libs/gst/controller/gstcontroller.h:
3745         * libs/gst/controller/gstinterpolation.c:
3746         * testsuite/controller/.cvsignore:
3747         * testsuite/controller/Makefile.am:
3748         * testsuite/controller/interpolator.c:
3749           merge controller testsuites
3750           fix broken tests
3751           remove mem-chunk from docs
3752
3753 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3754
3755         * gst/gstmemchunk.c:
3756         * gst/gstmemchunk.h:
3757         * gst/gsttrashstack.c:
3758         * gst/gsttrashstack.h:
3759           out.  get out.  you're fired.  to the Attic !
3760
3761 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3762
3763         * gst/gstcaps.c: (gst_caps_intersect):
3764           fix signedness issues in a (hopefully) correct way
3765         * gst/gstelement.c: (gst_element_pads_activate):
3766           some debugging
3767         * gst/gstobject.c: (gst_object_set_parent):
3768           some debugging
3769
3770 2005-10-17  Julien MOUTTE  <julien@moutte.net>
3771
3772         * gst/gstvalue.h: Fix prototypes.
3773
3774 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3775
3776         * docs/gst/gstreamer-sections.txt:
3777         * gst/gst.c: (gst_version_string):
3778         * gst/gst.h:
3779         * gst/gstversion.h.in:
3780         * win32/common/libgstreamer.def:
3781           add gst_version_string ()
3782
3783 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3784
3785         * configure.ac:
3786           clean up further
3787         * gst/gst.c: (init_post):
3788         * win32/common/config.h.in:
3789           it's PLUGINDIR now
3790         * gst/gstcaps.c: (gst_caps_intersect):
3791           use gint64, the range could be bigger than a guint
3792
3793 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3794
3795         * gst/gstclock.h:
3796           document potential problem in 2038
3797
3798 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3799
3800         * gst/gstcaps.c: (gst_caps_intersect):
3801           Fix guint j diving under 0
3802
3803 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3804
3805         * configure.ac:
3806         * win32/common/config.h:
3807         * win32/common/config.h.in:
3808           check for process.h, declares getpid() on Windows
3809         * gst/gstinfo.c:
3810           include process.h if we have it
3811         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
3812         * gst/gstmemchunk.h:
3813           fix signedness issues
3814         * win32/common/libgstreamer.def:
3815           fix get_type's
3816
3817 2005-10-16  Julien MOUTTE  <julien@moutte.net>
3818
3819         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
3820         fix. Because of unsigned ints, caps intersection was going nuts and
3821         trying to access structures with G_MAXUINT index. That fixes
3822         videotestsrc ! ffmpegcolorspace ! fakesink
3823         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
3824         consistency.
3825
3826 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3827
3828         * configure.ac:
3829           use the gettext macro
3830         * gst/elements/gstelements.c:
3831         * gst/gst.c:
3832         * gst/indexers/gstindexers.c:
3833           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
3834         * win32/common/config.h:
3835           updated config.h
3836         * win32/common/config.h.in:
3837           add the template to generate config.h
3838         * win32/common/gstenumtypes.c:
3839         * win32/common/gstversion.h:
3840           updated copies
3841
3842 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3843
3844         * gst/gst.c: (gst_version):
3845         * gst/gstversion.h.in:
3846           add the nano
3847
3848 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3849
3850         * gst/gstevent.h:
3851           Oops, add missing closing bracket.
3852
3853 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3854
3855         * configure.ac:
3856           use common m4's for argument checking
3857
3858 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3859
3860         * docs/gst/gstreamer-sections.txt:
3861         * gst/gstevent.h:
3862           Add GST_EVENT_TYPE_NAME() macro.
3863
3864 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3865
3866         * gst/gstinfo.c:
3867         * gst/gstpluginfeature.c:
3868         * gst/gsttask.c:
3869           privatize more symbols
3870
3871 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3872
3873         * configure.ac:
3874           add srcdir, builddir includes to GST_ALL_CFLAGS, since
3875           everything that uses GStreamer API should have the includes
3876
3877 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3878
3879         * docs/gst/gstreamer-sections.txt:
3880         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
3881         * gst/gstvalue.h:
3882           give each value a _get_type, removes the DATA exports
3883
3884 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3885
3886         * gst/gst.c:
3887         * gst/gst.h:
3888           remove _gst_registry_auto_load, not used anymore
3889         * gst/gstbin.c: (gst_bin_get_type):
3890         * gst/gstbin.h:
3891         * gst/gstelement.c: (gst_element_get_type):
3892         * gst/gstelement.h:
3893         * gst/gstobject.c: (gst_object_get_type):
3894         * gst/gstobject.h:
3895         * gst/gstpad.c: (gst_pad_get_type):
3896         * gst/gstpad.h:
3897           make _get_type functions similar, fixes data export from library
3898
3899 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3900
3901         * configure.ac:
3902           correctly make conditionals
3903         * gst/elements/Makefile.am:
3904         * gst/elements/gstelements.c:
3905           fix typo causing fdsrc not to build
3906
3907 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3908
3909         * testsuite/Makefile.am:
3910         * testsuite/bytestream/.cvsignore:
3911         * testsuite/bytestream/Makefile.am:
3912         * testsuite/bytestream/filepadsink.c:
3913         * testsuite/bytestream/gstbstest.c:
3914         * testsuite/bytestream/test1.c:
3915         * testsuite/bytestream/testfile1:
3916         * testsuite/caps/normalisation.c:
3917         * testsuite/caps/random.c: (main):
3918         * testsuite/cleanup/.cvsignore:
3919         * testsuite/cleanup/Makefile.am:
3920         * testsuite/cleanup/cleanup1.c:
3921         * testsuite/cleanup/cleanup2.c:
3922         * testsuite/cleanup/cleanup3.c:
3923         * testsuite/cleanup/cleanup4.c:
3924         * testsuite/cleanup/cleanup5.c:
3925         * testsuite/controller/interpolator.c:
3926         * testsuite/debug/printf_extension.c: (main):
3927         * testsuite/elements/tee.c:
3928         * testsuite/negotiation/.cvsignore:
3929         * testsuite/negotiation/Makefile.am:
3930         * testsuite/negotiation/pad_link.c:
3931         * testsuite/pad/Makefile.am:
3932         * testsuite/pad/chainnopull.c:
3933         * testsuite/pad/getnopush.c:
3934         * testsuite/pad/link.c:
3935         * testsuite/refcounting/sched.c: (create_pipeline):
3936         * testsuite/registry/Makefile.am:
3937         * testsuite/registry/gst-print-formats.c:
3938         * testsuite/schedulers/.cvsignore:
3939         * testsuite/schedulers/142183-2.c:
3940         * testsuite/schedulers/142183.c:
3941         * testsuite/schedulers/143777-2.c:
3942         * testsuite/schedulers/143777.c:
3943         * testsuite/schedulers/147713.c:
3944         * testsuite/schedulers/147819.c:
3945         * testsuite/schedulers/147894-2.c:
3946         * testsuite/schedulers/147894.c:
3947         * testsuite/schedulers/Makefile.am:
3948         * testsuite/schedulers/group_link.c:
3949         * testsuite/schedulers/queue_link.c:
3950         * testsuite/schedulers/relink.c:
3951         * testsuite/schedulers/unlink.c:
3952         * testsuite/schedulers/unref.c:
3953         * testsuite/schedulers/useless_iteration.c:
3954         * testsuite/states/bin.c:
3955           clean out/remove some stuff from the testsuite directories
3956
3957 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3958
3959         * configure.ac:
3960           check for some headers
3961         * gst/elements/Makefile.am:
3962         * gst/elements/gstelements.c:
3963           don't compile fdsrc without sys/socket.h
3964         * gst/indexers/Makefile.am:
3965         * gst/indexers/gstindexers.c: (plugin_init):
3966           don't compile fileindex without mmap
3967
3968 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3969
3970         * configure.ac:
3971           reorganize
3972           clean up
3973           document more
3974           remove cruft
3975         * check/Makefile.am:
3976         * docs/gst/Makefile.am:
3977         * examples/helloworld/Makefile.am:
3978         * gst/Makefile.am:
3979         * gst/base/Makefile.am:
3980         * gst/check/Makefile.am:
3981         * gst/elements/Makefile.am:
3982         * gst/indexers/Makefile.am:
3983         * gst/parse/Makefile.am:
3984         * libs/gst/controller/Makefile.am:
3985         * libs/gst/dataprotocol/Makefile.am:
3986         * examples/helloworld/helloworld.c: (event_loop):
3987           compile fixes, though it's not being compiled currently
3988
3989 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3990
3991         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
3992           Add some simple tests for the new taglist date API.
3993
3994 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3995
3996         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
3997         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
3998           Beautify 'last-message' output: print 'none' for buffer timestamps
3999           and durations if none is set; improve alignment with next messages.
4000
4001 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4002
4003         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
4004         * gst/gstpluginfeature.h:
4005         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
4006         * gst/gstregistry.h:
4007         * docs/gst/gstreamer-sections.txt:
4008           Add new API to check plugin feature version requirements.
4009
4010         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
4011           Some basic tests for the above.         
4012
4013 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4014
4015         * gst/gststructure.c: (gst_structure_to_string):
4016           guard against NULL printf - happens when for example
4017           a message structure with GstClock gets serialized
4018
4019 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4020
4021         * gst/base/gstcollectpads.c: (gst_collectpads_event):
4022           Fix presumable copy'n'pasto.
4023
4024 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4025
4026         * gst/elements/gstfakesrc.h:
4027         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
4028         * gst/elements/gsttypefindelement.c:
4029           fix some signedness
4030         * gst/elements/gstfilesink.c: (gst_file_sink_render):
4031           I wonder if this could actually write +2GB files before
4032
4033 2005-10-13  Andy Wingo  <wingo@pobox.com>
4034
4035         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
4036         Fix Timmeke Waymans bug.
4037         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
4038         string of the proper length to gst_caps_from_string. There's a
4039         potential for, before this fix, that this could cause someone
4040         connecting over the network to cause a segfault if the payload is
4041         not NUL-terminated.
4042
4043 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4044
4045         * docs/design/draft-push-pull.txt:
4046         * docs/design/part-overview.txt:
4047         * docs/random/TODO-pre-0.9:
4048         * docs/random/old/ChangeLog.gstreamer:
4049         * gst/base/gstpushsrc.c:
4050         * gst/gstclock.c:
4051           fixed typos
4052
4053 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4054
4055         * gst/glib-compat.c: (gst_flags_get_first_value):
4056         * gst/glib-compat.h:
4057         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
4058         (gst_value_compare_double), (gst_value_serialize_flags):
4059           GLib 2.6 g_flags_get_first_value has a bug that triggers an
4060           infinite loop
4061
4062 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4063
4064         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4065         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4066           fix up debugging
4067         * tools/gst-launch.c: (event_loop):
4068           print out clock nicely
4069
4070 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4071
4072         * docs/gst/gstreamer-sections.txt:
4073         * gst/gsttaglist.h:
4074         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
4075         (gst_tag_list_get_date_index):
4076           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
4077           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
4078
4079 2005-10-13  Julien MOUTTE  <julien@moutte.net>
4080
4081         * gst/base/gstcollectpads.c: (gst_collectpads_event),
4082         (gst_collectpads_chain):
4083         * gst/base/gstcollectpads.h: Handle newsegment and store informations
4084         in CollectData.
4085
4086 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4087
4088         * docs/gst/gstreamer-sections.txt:
4089         * gst/gst.c:
4090         * gst/gsterror.h:
4091         * tools/gst-inspect.c: (main):
4092         * tools/gst-launch.c: (main):
4093         * tools/gst-run.c: (main):
4094         * tools/gst-xmlinspect.c: (main):
4095           fix GOption context leaks
4096           doc fixes
4097
4098 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4099
4100         * gst/gstbus.c:
4101           use HAVE_UNISTD_H
4102         * win32/common/config.h:
4103           update config
4104         * win32/vs6/grammar.dsp:
4105         * win32/vs6/libgstelements.dsp:
4106         * win32/vs6/libgstreamer.dsp:
4107           update vs6 files
4108
4109 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4110
4111         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4112         * gst/base/gstbasesrc.c: (gst_base_src_query):
4113           fix more guint64<->gdouble conversions
4114
4115 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4116
4117         * Makefile.am:
4118           add win32-update target
4119         * win32/common/gstconfig.h:
4120         * win32/common/gstenumtypes.c:
4121         * win32/common/gstenumtypes.h:
4122         * win32/common/gstversion.h:
4123           add files that visual studio can't generate
4124
4125 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4126
4127         * Makefile.am:
4128           add a win32-update target
4129         * configure.ac:
4130
4131 2005-10-12  Wim Taymans  <wim@fluendo.com>
4132
4133         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4134         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
4135         * gst/gstelement.c: (gst_element_commit_state),
4136         (gst_element_set_state):
4137         Protect flags with proper lock.
4138         unref provided cached clock in dispose.
4139
4140 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4141
4142         * gst/gst.c:
4143         * gst/gstminiobject.h:
4144         * gst/gstpad.h:
4145         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
4146           removed unused flags from miniobject
4147           doc fixes
4148
4149 2005-10-12  Wim Taymans  <wim@fluendo.com>
4150
4151         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4152         (gst_file_sink_event), (gst_file_sink_render):
4153         Flush before seeking.
4154
4155 2005-10-12  Andy Wingo  <wingo@pobox.com>
4156
4157         * gst/gst.c (gst_init_check): Ignore unknown options, as has
4158         always been the case.
4159
4160 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4161
4162         * check/gst/gstbin.c: (GST_START_TEST):
4163         * docs/gst/gstreamer-sections.txt:
4164         * gst/base/gstbasesink.c: (gst_base_sink_init):
4165         * gst/base/gstbasesrc.c: (gst_base_src_init),
4166         (gst_base_src_get_range), (gst_base_src_check_get_range),
4167         (gst_base_src_start), (gst_base_src_stop):
4168         * gst/base/gstbasesrc.h:
4169         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
4170         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4171         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
4172         (bin_bus_handler):
4173         * gst/gstbin.h:
4174         * gst/gstbuffer.h:
4175         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
4176         * gst/gstbus.h:
4177         * gst/gstelement.c: (gst_element_is_locked_state),
4178         (gst_element_set_locked_state), (gst_element_commit_state),
4179         (gst_element_set_state):
4180         * gst/gstelement.h:
4181         * gst/gstindex.c: (gst_index_init):
4182         * gst/gstindex.h:
4183         * gst/gstminiobject.h:
4184         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
4185         (gst_object_set_parent):
4186         * gst/gstobject.h:
4187         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4188         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4189         * gst/gstpad.h:
4190         * gst/gstpadtemplate.h:
4191         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4192         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4193         * gst/gstpipeline.h:
4194         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4195         (gst_file_index_commit):
4196         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4197         * testsuite/pad/link.c: (gst_test_src_init),
4198         (gst_test_filter_init), (gst_test_sink_init):
4199         * testsuite/states/locked.c: (main):
4200           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
4201           moved bitshift from macro to enum definition
4202
4203 2005-10-12  Wim Taymans  <wim@fluendo.com>
4204
4205         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
4206         * gst/elements/gstfilesink.c: (gst_file_sink_event),
4207         (gst_file_sink_render):
4208         Some more debugging info.
4209
4210 2005-10-12  Wim Taymans  <wim@fluendo.com>
4211
4212         * docs/design/part-states.txt:
4213         * tools/gst-launch.c: (main):
4214         Some doc updates.
4215         Revert non-intentional change.
4216
4217 2005-10-12  Wim Taymans  <wim@fluendo.com>
4218
4219         * check/gst/gstbin.c: (GST_START_TEST):
4220         * check/gst/gstelement.c: (GST_START_TEST):
4221         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4222         * check/gst/gstghostpad.c: (GST_START_TEST):
4223         * check/gst/gstpipeline.c: (GST_START_TEST):
4224         * check/pipelines/simple_launch_lines.c: (run_pipeline):
4225         * check/states/sinks.c: (GST_START_TEST):
4226         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4227         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4228         (gst_bin_remove_func), (gst_bin_get_state_func),
4229         (gst_bin_recalc_state), (gst_bin_change_state_func),
4230         (bin_bus_handler):
4231         * gst/gstelement.c: (gst_element_get_state_func),
4232         (gst_element_get_state), (gst_element_abort_state),
4233         (gst_element_commit_state), (gst_element_set_state),
4234         (gst_element_change_state), (gst_element_change_state_func):
4235         * gst/gstelement.h:
4236         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4237         (gst_pipeline_provide_clock_func):
4238         * gst/gstutils.c: (gst_element_link_pads_filtered):
4239         * tools/gst-launch.c: (main):
4240         * tools/gst-typefind.c: (main):
4241         Use GstClockTime in _get_state() instead of GTimeVal.
4242         Remove old code in gstutils.c
4243
4244 2005-10-12  Andy Wingo  <wingo@pobox.com>
4245
4246         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4247         removed.
4248
4249         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4250         there is no task. Shouldn't affect any code, as nothing in our
4251         plugins checks this return value.
4252         (gst_pad_stop_task): Also take the stream lock if the pad has no
4253         task. Docs updated.
4254
4255 2005-10-12  Wim Taymans  <wim@fluendo.com>
4256
4257         * gst/gstpad.c: (pre_activate), (post_activate),
4258         (gst_pad_activate_pull), (gst_pad_activate_push):
4259         Cleanup activation code. Reset old state if
4260         activation failed.
4261
4262 2005-10-12  Wim Taymans  <wim@fluendo.com>
4263
4264         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4265         (gst_base_sink_change_state):
4266         No need to prerol after receiving EOS.
4267
4268         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4269         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4270         * gst/elements/gstidentity.c: (gst_identity_event):
4271         Print events more verbosely.
4272
4273 2005-10-12  Wim Taymans  <wim@fluendo.com>
4274
4275         * check/Makefile.am:
4276         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4277         * check/states/sinks2.c:
4278         Moved sinks2 testcode in sinks check.
4279
4280         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4281         (gst_bin_remove_func), (gst_bin_recalc_state),
4282         (gst_bin_change_state_func), (bin_bus_handler):
4283         Fix potential race condition when _get_state() iterated over an
4284         ASYNC element right before it posted a state completion.
4285
4286         * gst/gstclock.h:
4287         Do proper cast here.
4288
4289         * gst/gstevent.c: (gst_event_new_newsegment),
4290         (gst_event_parse_newsegment):
4291         A playback rate of 0.0 is not allowed.
4292
4293 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4294
4295         * win32/common/config.h:
4296         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4297         (_trewinddir), (_ttelldir), (_tseekdir):
4298         * win32/common/dirent.h:
4299         * win32/common/gtchar.h:
4300         * win32/common/libgstbase.def:
4301         * win32/common/libgstreamer.def:
4302         * win32/vs6/grammar.dsp:
4303         * win32/vs6/gst_inspect.dsp:
4304         * win32/vs6/gst_launch.dsp:
4305         * win32/vs6/gstreamer.dsw:
4306         * win32/vs6/libgstbase.dsp:
4307         * win32/vs6/libgstelements.dsp:
4308         * win32/vs6/libgstreamer.dsp:
4309           Visual Studio 6 project files, and a new common directory.
4310           Phear.
4311
4312 2005-10-11  Wim Taymans  <wim@fluendo.com>
4313
4314         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4315         (gst_base_sink_do_sync), (gst_base_sink_query),
4316         (gst_base_sink_change_state):
4317         * gst/base/gstbasesink.h:
4318         Correctly parse newsegment info.
4319
4320 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4321
4322         * gst/gst.c: (init_post):
4323           split plugin paths correctly
4324
4325 2005-10-11  Wim Taymans  <wim@fluendo.com>
4326
4327         * check/gst/gstevent.c: (GST_START_TEST):
4328         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4329         (gst_base_sink_change_state):
4330         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4331         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4332         * gst/elements/gstfilesink.c: (gst_file_sink_event):
4333         * gst/gstevent.c: (gst_event_new_newsegment),
4334         (gst_event_parse_newsegment):
4335         * gst/gstevent.h:
4336         Added extra flag to newsegment for future API freeze.
4337         Updated check and base elements.
4338
4339 2005-10-11  Julien MOUTTE  <julien@moutte.net>
4340
4341         * gst/base/gstcollectpads.c: (gst_collectpads_init),
4342         (gst_collectpads_add_pad), (gst_collectpads_pop),
4343         (gst_collectpads_event), (gst_collectpads_chain):
4344         * gst/base/gstcollectpads.h: Handle EOS correctly.
4345
4346 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4347
4348         * tools/gst-launch.c: (main):
4349           more null protecting
4350
4351 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4352
4353         * gst/gst-i18n-lib.h:
4354           check for ENABLE_NLS, not GETTEXT_PACKAGE
4355         * gst/gstregistry.c: (gst_registry_add_plugin),
4356         (gst_registry_scan_path_level),
4357         (_gst_registry_remove_cache_plugins):
4358           protect possibly NULL strings
4359         * gst/parse/types.h:
4360           config.h already included before
4361         * tools/gst-inspect.c: (main):
4362           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4363           check for ENABLE_NLS, not GETTEXT_PACKAGE
4364         * tools/gst-launch.c: (main):
4365           check for ENABLE_NLS, not GETTEXT_PACKAGE
4366
4367 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4368
4369         * configure.ac:
4370           if we don't have glib, fail before testing 2.8
4371         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4372           fix a leak, should fix plugins-base testsuite
4373
4374 2005-10-11  Andy Wingo  <wingo@pobox.com>
4375
4376         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4377         take the mode we're going to as an arg. Go head and set the mode
4378         and flushing flags now, so that if the activate function starts a
4379         thread all the flags will be in the right state.
4380         (post_activate): Renamed also. Just handle making sure streaming
4381         finishes for the deactivation case, and setting the deactivated
4382         mode.
4383         (gst_pad_set_active): Complain loudly if deactivation fails.
4384         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4385         (gst_pad_activate_push): Adapt to pre/post_activate changes,
4386         remove the terrible hack.
4387
4388 2005-10-11  Wim Taymans  <wim@fluendo.com>
4389
4390         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4391         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4392         (gst_bin_recalc_state), (gst_bin_change_state_func),
4393         (gst_bin_dispose), (bin_bus_handler):
4394         * gst/gstbin.h:
4395         Prepare to make current EOS message queue more generic.
4396         Fix some typos.
4397
4398         * gst/gstevent.c: (gst_event_new_newsegment),
4399         (gst_event_parse_newsegment):
4400         * gst/gstevent.h:
4401         Rename base to stream_time.
4402
4403         * gst/gstmessage.h:
4404         Fix typo in docs.
4405
4406 2005-10-11  Wim Taymans  <wim@fluendo.com>
4407
4408         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4409         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
4410         (gst_bin_change_state_func), (bin_bus_handler):
4411         * gst/gstbin.h:
4412         Work on proper clock selection.
4413
4414 2005-10-11  Edward Hervey  <edward@fluendo.com>
4415
4416         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
4417         * libs/gst/controller/gstcontroller.h:
4418         Added GList* version of _remove_properties() in order to be able to wrap
4419         it in bindings.
4420
4421 2005-10-11  Wim Taymans  <wim@fluendo.com>
4422
4423         * docs/design/part-states.txt:
4424         Some more docs.
4425
4426         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
4427         (gst_bin_change_state_func), (bin_bus_handler):
4428         Doc updates. Don't distribute the same clock over and over again.
4429
4430         * gst/gstclock.c:
4431         * gst/gstclock.h:
4432         Doc updates.
4433
4434         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
4435         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
4436         (gst_pad_send_event):
4437         * gst/gstpad.h:
4438         Make probe emission threadsafe again.
4439         Register quarks and move _get_name() from utils.
4440         Doc updates.
4441
4442         * gst/gstpipeline.c: (gst_pipeline_class_init),
4443         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4444         Only redistribute the clock of it changed.
4445
4446         * gst/gstsystemclock.h:
4447         Doc updates. 
4448
4449         * gst/gstutils.c:
4450         * gst/gstutils.h:
4451         Moved the _flow_get_name() to GstPad.
4452
4453 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4454
4455         * check/gst-libs/gdp.c: (GST_START_TEST):
4456         * check/gst/gstcaps.c: (GST_START_TEST):
4457         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
4458         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
4459         (gst_dp_packet_from_caps):
4460           fix more valgrind warnings before turning up the heat
4461
4462 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4463
4464         * gst/parse/grammar.y:
4465           some cleanup before the hacking
4466
4467 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4468
4469         * gst/base/gstbasesrc.c: (gst_base_src_query):
4470           use conversions
4471         * gst/gstutils.c: (gst_guint64_to_gdouble),
4472         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
4473         * gst/gstutils.h:
4474           externalize, basesrc uses it
4475           obviously the implementation needs testing
4476
4477 2005-10-10  Wim Taymans  <wim@fluendo.com>
4478
4479         * tests/sched/Makefile.am:
4480         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
4481         (make_pipeline3), (make_pipeline4), (print_elem), (main):
4482
4483 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4484
4485         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
4486           apparently converting from guint64 to double is not implemented
4487           on MSVC
4488
4489 2005-10-10  Wim Taymans  <wim@fluendo.com>
4490
4491         * check/Makefile.am:
4492         * check/generic/states.c: (GST_START_TEST):
4493         * check/gst/gstbin.c: (GST_START_TEST):
4494         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4495         * check/states/sinks.c: (GST_START_TEST):
4496         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
4497         (main):
4498         Check fixes, use API as stated in design docs, remove hacks.
4499
4500         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4501         (gst_base_sink_change_state):
4502         Catch stopping our task while we're shutting down.
4503
4504         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
4505         (gst_bin_remove_func), (gst_bin_get_state_func),
4506         (gst_bin_recalc_state), (gst_bin_change_state_func),
4507         (bin_bus_handler):
4508         * gst/gstbin.h:
4509         * gst/gstelement.c: (gst_element_init),
4510         (gst_element_get_state_func), (gst_element_abort_state),
4511         (gst_element_commit_state), (gst_element_lost_state),
4512         (gst_element_set_state), (gst_element_change_state),
4513         (gst_element_change_state_func):
4514         * gst/gstelement.h:
4515         New state change algorithm (see #318116)
4516
4517         * gst/gstpipeline.c: (gst_pipeline_class_init),
4518         (gst_pipeline_init), (gst_pipeline_set_property),
4519         (gst_pipeline_get_property), (do_pipeline_seek),
4520         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4521         * gst/gstpipeline.h:
4522         Remove crude state change hacks.
4523
4524         * gst/gstutils.h:
4525         Remove crude hacks.
4526
4527         * tools/gst-launch.c: (main):
4528         Fixes for state change. Needs some more work to fully use the
4529         new stuff.
4530
4531 2005-10-10  Andy Wingo  <wingo@pobox.com>
4532
4533         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
4534
4535         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
4536         this flag, but it's not even in GLib 2.6. Odd. Hack around the
4537         issue.
4538
4539 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4540
4541         * gst/gstiterator.c: (gst_iterator_new):
4542           Fix my previous commit: GTypes passed to gst_iterator_new()
4543           can be fundamental types.
4544
4545 2005-10-10  Wim Taymans  <wim@fluendo.com>
4546
4547         * gst/gstelement.c: (gst_element_iterate_pad_list),
4548         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
4549         (gst_element_iterate_sink_pads):
4550         Use src/sink pads lists for the respective iterators instead
4551         of filtering.
4552
4553 2005-10-10  Andy Wingo  <wingo@pobox.com>
4554
4555         Merged in popt removal + GOption addition patch from Ronald, bug
4556         #169772.
4557
4558         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
4559         GstElement macros around, remove popt-related symbols, add goption
4560         stuff.
4561
4562         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
4563         
4564         * docs/gst/Makefile.am:
4565         * docs/libs/Makefile.am: No POPT_CFLAGS.
4566         
4567         * examples/manual/Makefile.am:
4568         * docs/manual/basics-init.xml: Doc updates with an example.
4569         
4570         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4571         (gst_init), (parse_one_option), (parse_goption_arg):
4572         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
4573         bit of hand merging and debugging to get the GOption stuff working
4574         tho.
4575         
4576         * tests/Makefile.am:
4577         * tools/Makefile.am:
4578         * tools/gst-inspect.c: (main):
4579         * tools/gst-launch.c: (main):
4580         * tools/gst-run.c: (main):
4581         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
4582
4583 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4584
4585         * gst/gstiterator.c: (gst_iterator_new):
4586           Add assertions to make sure passed GType is likely to really
4587           be a GType (as the compiler won't catch it if the size and
4588           GType arguments get mixed up, see #318447).
4589
4590 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
4591
4592         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4593
4594         * gst/gstbin.c: (gst_bin_iterate_sorted):
4595           Pass GType and size arguments to gst_iterator_new() in the right
4596           order (maybe we should make _new() take the GType as first argument
4597           just like _new_list()?) (#318447).
4598           
4599
4600 2005-10-10  Wim Taymans  <wim@fluendo.com>
4601
4602         * gst/gstelement.c: (gst_element_finalize):
4603         And free the GStaticRecMutex too
4604
4605 2005-10-10  Andy Wingo  <wingo@pobox.com>
4606
4607         * gst/gstelement.c (gst_element_init, gst_element_finalize):
4608         Allocate and free the mutex properly.
4609
4610         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
4611         New macros.
4612         (GstElement): The state_lock is now recursive. Rebuild your
4613         plugins, suckers. Old macros adapted.
4614
4615         * docs/gst/gstreamer-sections.txt: Doc updates.
4616
4617         * gst/gstutils.h:
4618         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
4619         (g_static_rec_cond_wait): Ported from state changes patch, while
4620         we wait on bug #317802 to be solved in a well-distributed GLib.
4621
4622         * gst/gstelement.c (gst_element_change_state_func): Renamed from
4623         gst_element_change_state, variable name changes.
4624         (gst_element_change_state): Split out of gst_element_set_state in
4625         preparation for the state change merge. Doesn't pay attention to
4626         the 'transition' argument.
4627         (gst_element_set_state): Updates, hopefully purely cosmetic.
4628         (gst_element_sync_state_with_parent): MT-safety. Ported from the
4629         state change patch.
4630         (gst_element_get_state_func): Renamed from get_state, cosmetic
4631         changes.
4632
4633 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4634
4635         * gst/elements/gstelements.c:
4636         * win32/GStreamer.vcproj:
4637         * win32/config.h:
4638         * win32/dirent.c: (_tseekdir):
4639         * win32/gst-inspect.vcproj:
4640         * win32/gst-launch.vcproj:
4641         * win32/gstconfig.h:
4642         * win32/gstelements.vcproj:
4643         * win32/gstenumtypes.c: (gst_object_flags_get_type):
4644         * win32/gstreamer.def:
4645         * win32/msvc71.sln:
4646           updates for the win32 build (patch from Sebastien Moutte)
4647
4648 2005-10-10  Andy Wingo  <wingo@pobox.com>
4649
4650         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
4651         gst_bin_get_state, cleaned up (but no logic changes).
4652         (bin_element_is_sink): Comment updates.
4653         (sink_iterator_filter): Remove needless cast.
4654         (gst_bin_iterate_sinks): Doc update.
4655         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
4656         cleaned up (but no logic changes).
4657
4658         * check/states/sinks.c (test_src_sink): Cleanups from the state
4659         change patch.
4660         (test_livesrc_sink): Sync on the state.
4661
4662         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
4663         the state change patch.
4664
4665         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
4666         change patch.
4667
4668         * check/gst/gstbin.c: Merge in some style fixes and additional
4669         checks from Wim's state change patch.
4670
4671 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4672
4673         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4674         (gst_type_find_helper):
4675           Check whether we have the requested data already in our list of
4676           cached buffers before pulling a new buffer; also make the buffer
4677           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
4678
4679 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4680
4681         * gst/gstcaps.c:
4682         * gst/gstevent.c:
4683           doc updates
4684         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
4685           don't use long long, it's not portable.  Replacing with
4686           gint64 seems to work; let's hope no skeletons fall out of the closet.
4687
4688 2005-10-10  Andy Wingo  <wingo@pobox.com>
4689
4690         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
4691
4692 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
4693
4694         * docs/gst/gstreamer-sections.txt:
4695         * gst/gstevent.c:
4696         * gst/gstevent.h:
4697         * gst/gstinfo.c:
4698         * gst/gstinfo.h:
4699         * gst/gstmessage.c: (gst_message_parse_state_changed):
4700         * gst/gstpad.c:
4701         * gst/gstpad.h:
4702           more docs, fix compilation
4703
4704 2005-10-09  Philippe Khalaf <burger@speedy.org>
4705         * gst/gstmessage.c:
4706           Fixed a few forgotten variables on previous commit
4707
4708 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4709
4710         * gst/base/gsttypefindhelper.c: (helper_find_peek):
4711           Fix evil typefind crasher: getrange() might return a short
4712           buffer at the end of a file, but gst_type_find_peek() must
4713           either return the full data as requested or NULL, but
4714           never a short buffer.
4715
4716 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4717
4718         * gst/gstmessage.c: (gst_message_new_state_changed),
4719         (gst_message_parse_state_changed):
4720         * gst/gstmessage.h:
4721           don't use "new", it's a C++ keyword
4722
4723 2005-10-08  Wim Taymans  <wim@fluendo.com>
4724
4725         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
4726         * gst/gstelement.c: (gst_element_post_message):
4727         * gst/gstpipeline.c: (gst_pipeline_change_state):
4728         Small docs and debug updates.
4729
4730 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4731
4732         * docs/gst/gstreamer-sections.txt:
4733         * gst/gstelementfactory.c:
4734         * gst/gstevent.c:
4735         * gst/gsttaglist.c:
4736           more docs
4737
4738 2005-10-08  Wim Taymans  <wim@fluendo.com>
4739
4740         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
4741         (gst_bin_dispose), (bin_bus_handler):
4742         Fix typos, add comments.
4743         Clear EOS list when going to PAUSED from any direction and do it
4744         in a threadsafe way.
4745         Get base time in a threadsafe way too.
4746         Fix confusing debug in the change_state function.
4747         Various other small cleanups.
4748         
4749         * gst/gstelement.c: (gst_element_post_message):
4750         Fix very verbose bus posting code.
4751
4752         * gst/gstpipeline.c: (gst_pipeline_class_init),
4753         (gst_pipeline_set_property), (gst_pipeline_get_property),
4754         (gst_pipeline_change_state):
4755         Small ARG_ -> PROP_ cleanup
4756
4757 2005-10-08  Wim Taymans  <wim@fluendo.com>
4758
4759         * gst/gstbin.c: (is_eos), (bin_bus_handler):
4760         Do a less CPU demanding EOS check because we can.
4761
4762 2005-10-08  Wim Taymans  <wim@fluendo.com>
4763
4764         * libs/gst/dataprotocol/dataprotocol.c:
4765         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
4766         (gst_dp_packet_from_event):
4767         * libs/gst/dataprotocol/dataprotocol.h:
4768         * libs/gst/dataprotocol/dp-private.h:
4769         It's about time we bump the version number.
4770         Since event types don't fit in the guint8 anymore describing
4771         the payload type, make payload type 16 bits wide.
4772
4773 2005-10-08  Wim Taymans  <wim@fluendo.com>
4774
4775         * docs/design/part-TODO.txt:
4776         * docs/design/part-clocks.txt:
4777         * docs/design/part-events.txt:
4778         * docs/design/part-gstbin.txt:
4779         * docs/design/part-gstelement.txt:
4780         * docs/design/part-gstpipeline.txt:
4781         * docs/design/part-live-source.txt:
4782         * docs/design/part-messages.txt:
4783         * docs/design/part-overview.txt:
4784         * docs/design/part-states.txt:
4785         Many doc updates.
4786
4787 2005-10-08  Wim Taymans  <wim@fluendo.com>
4788
4789         * gst/gstevent.c:
4790         * gst/gstevent.h:
4791         Fix event quark registration.
4792         Add some space between events so we can insert them in the
4793         right groups.
4794
4795 2005-10-08  Wim Taymans  <wim@fluendo.com>
4796
4797         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4798         (gst_base_sink_handle_buffer):
4799         Better log message.
4800
4801         * gst/gstbus.h:
4802         * gst/gstelement.h:
4803         More docs.
4804
4805         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4806         (gst_queue_set_property), (gst_queue_get_property):
4807         * gst/gstqueue.h:
4808         Remove old unused properties.
4809
4810 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4811         * docs/gst/gstreamer-sections.txt:
4812         * gst/gstmessage.c:
4813         * gst/gstmessage.h:
4814         * gst/gstminiobject.c:
4815         * gst/gstminiobject.h:
4816         * gst/gstobject.h:
4817         * gst/gstpad.h:
4818         * gst/gstutils.h:
4819           lots of new docs and doc fixes
4820
4821 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4822
4823         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
4824         * gst/gstplugin.h:
4825         * gst/gstregistry.c: (gst_registry_lookup_locked),
4826         (gst_registry_scan_path_level):
4827         * gst/gstregistryxml.c: (load_plugin):
4828           Only ever load one plugin for a given plugin basename.
4829           This ensures correct overriding of GST_PLUGIN_PATH over
4830           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
4831           system installed plugins.
4832
4833 2005-10-08  Wim Taymans  <wim@fluendo.com>
4834
4835         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4836         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
4837         Prepare for doing QOS.
4838
4839 2005-10-08  Wim Taymans  <wim@fluendo.com>
4840
4841         * check/gst/gstbin.c: (GST_START_TEST):
4842         * check/pipelines/cleanup.c: (GST_START_TEST):
4843         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
4844         Allow new clock message too.
4845
4846 2005-10-08  Wim Taymans  <wim@fluendo.com>
4847
4848         * gst/gstmessage.c: (gst_message_new_error),
4849         (gst_message_new_warning), (gst_message_new_tag),
4850         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4851         (gst_message_new_clock_lost), (gst_message_new_new_clock),
4852         (gst_message_new_segment_start), (gst_message_new_segment_done),
4853         (gst_message_parse_state_changed),
4854         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
4855         (gst_message_parse_new_clock):
4856         * gst/gstmessage.h:
4857         Also carry the clock in question.
4858
4859 2005-10-08  Wim Taymans  <wim@fluendo.com>
4860
4861         * gst/gstmessage.c: (gst_message_new_custom),
4862         (gst_message_new_eos), (gst_message_new_error),
4863         (gst_message_new_warning), (gst_message_new_tag),
4864         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4865         (gst_message_new_new_clock), (gst_message_new_segment_start),
4866         (gst_message_new_segment_done), (gst_message_parse_state_changed),
4867         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
4868         * gst/gstmessage.h:
4869         Clean up.
4870         Added clock related messages.
4871
4872         * gst/gstpipeline.c: (gst_pipeline_change_state):
4873         Post message when the clock changed.
4874
4875         * tools/gst-launch.c: (event_loop):
4876         Print new clock.
4877
4878 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
4879
4880         * tools/gst-inspect.c: (print_element_properties_info):
4881           Can't pass NULL strings to g_print() on windows.
4882
4883 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4884
4885         * docs/Makefile.am:
4886         * docs/gst/Makefile.am:
4887         * docs/gst/gstreamer-docs.sgml:
4888         * docs/gst/running.xml:
4889         * docs/version.entities.in:
4890           add a chapter on running GStreamer.
4891           document GST_DEBUG and GST_PLUGIN* env vars
4892
4893 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4894
4895         * Makefile.am:
4896           remove include dir
4897         * configure.ac:
4898           remove PLUGINS_BUILDDIR stuff
4899         * gst/gst.c: (init_post):
4900           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
4901         * idiottest.mak:
4902           remove, it was condescending and not needed
4903
4904 2005-10-08  Wim Taymans  <wim@fluendo.com>
4905
4906         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
4907         (gst_base_sink_handle_object), (gst_base_sink_event),
4908         (gst_base_sink_wait), (gst_base_sink_handle_event),
4909         (gst_base_sink_change_state):
4910         * gst/base/gstbasesink.h:
4911         Repost EOS message while going to PLAYING if still EOS.
4912         Make sure that when receiving a FLUSH_START we don't attempt
4913         to sync on the clock anymore.
4914
4915 2005-10-08  Wim Taymans  <wim@fluendo.com>
4916
4917         * tools/gst-launch.c: (event_loop):
4918         Better message printout.
4919
4920 2005-10-08  Wim Taymans  <wim@fluendo.com>
4921
4922         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
4923         (gst_bin_child_proxy_get_children_count):
4924         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
4925         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
4926         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
4927         (gst_child_proxy_set_valist):
4928         * gst/parse/grammar.y:
4929         Make ChildProxy threadsafe and fix mem leaks.
4930
4931 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4932
4933         * gst/gst.c: (init_post):
4934           debug the GST_PLUGIN_ env vars
4935
4936 2005-10-08  Wim Taymans  <wim@fluendo.com>
4937
4938         * check/gst/gstbin.c: (GST_START_TEST):
4939         * check/gst/gstmessage.c: (GST_START_TEST):
4940         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4941         * gst/gstelement.c: (gst_element_commit_state),
4942         (gst_element_lost_state):
4943         * gst/gstmessage.c: (gst_message_new_state_changed),
4944         (gst_message_parse_state_changed):
4945         * gst/gstmessage.h:
4946         * tools/gst-launch.c: (event_loop):
4947         Added extra field to STATE_CHANGE message with the pending
4948         state, which will be different from the new state soon.
4949
4950 2005-10-08  Wim Taymans  <wim@fluendo.com>
4951
4952         * gst/gstbus.c: (gst_bus_pop):
4953         * gst/gstclock.c:
4954         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
4955         Small cleanups and doc updates.
4956
4957 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4958
4959         * gst/gst.c: (init_pre):
4960         * gst/gstbin.c: (gst_bin_add_func):
4961           log distributing clocks and base time
4962         * gst/gstregistry.c: (gst_registry_add_plugin),
4963         (gst_registry_scan_path_level), (gst_registry_scan_path):
4964           clean up the debugging output a little
4965         * gst/gstutils.c: (gst_element_state_get_name):
4966           warn about a memleak (I've actually seen this be used, though
4967           it was probably a bug)
4968
4969 2005-10-07  Wim Taymans  <wim@fluendo.com>
4970
4971         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4972         (gst_base_src_init), (gst_base_src_default_newsegment),
4973         (gst_base_src_newsegment), (gst_base_src_do_seek),
4974         (gst_base_src_loop), (gst_base_src_start):
4975         * gst/base/gstbasesrc.h:
4976         Make the newsegment event customizable by subclasses.
4977
4978 2005-10-07  Wim Taymans  <wim@fluendo.com>
4979
4980         * gst/gstevent.c: (gst_event_new_buffersize),
4981         (gst_event_parse_buffersize):
4982         * gst/gstevent.h:
4983         New event for future idea.
4984
4985 2005-10-07  Andy Wingo  <wingo@pobox.com>
4986
4987         * gst/gstelement.c (gst_element_post_message): Doc update.
4988
4989         * docs/gst/gstreamer-sections.txt: Update.
4990
4991         * gst/gstmessage.c (gst_message_new_application): Made into a
4992         function like honest API calls.
4993         (gst_message_new_element): New message type.
4994
4995         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
4996
4997         * check/elements/fakesrc.c (test_no_preroll): New check, checks
4998         that setting a live fakesrc to PAUSED returns NO_PREROLL both
4999         times.
5000
5001         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
5002         NO_PREROLL from gst_element_change_state to fall through.
5003
5004 2005-10-07  Wim Taymans  <wim@fluendo.com>
5005
5006         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
5007         (gst_ghost_pad_do_activate_push):
5008         Activating a ghostpad with no internal pad in push mode
5009         is ok.
5010
5011 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5012
5013         * gst/gstobject.h:
5014           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
5015           Fixes compilation on Windows.
5016
5017 2005-10-07  Michael Smith <msmith@fluendo.com>
5018
5019         * tools/gst-inspect.c:
5020           Print out feature and plugin count at the end when printing out
5021           all features.
5022
5023 2005-10-04  Michael Smith <msmith@fluendo.com>
5024
5025         * gst/gsterror.c: (_gst_stream_errors_init):
5026           Add another error string used in a few existing plugins.
5027
5028         * gst/gstplugin.c:
5029         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5030         * tools/gst-inspect.c: (print_element_info):
5031           When a feature disappears from a plugin (and the feature exists in
5032           the cached registry file), things went horribly wrong. This isn't a
5033           complete fix, we should actually be removing the 'missing' features
5034           from the features list when we load the actual plugin. That's not
5035           yet implemented. 
5036
5037 2005-10-04  Johan Dahlin  <johan@gnome.org>
5038
5039         * check/gst/gstiterator.c: (GST_START_TEST):
5040         * gst/gstbin.c: (gst_bin_iterate_elements),
5041         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
5042         * gst/gstelement.c: (gst_element_iterate_pads):
5043         * gst/gstformat.c: (gst_format_iterate_definitions):
5044         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5045         (gst_iterator_new_list), (gst_iterator_filter):
5046         * gst/gstiterator.h:
5047         * gst/gstquery.c: (gst_query_type_iterate_definitions):
5048         Add a GType to GstIterator, update callsites and tests.
5049
5050 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5051
5052         * gst/gstpad.c: (gst_pad_event_default_dispatch):
5053           give events a chance to be handled by event probes when the pad
5054           is not linked
5055
5056 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5057
5058         * gst/gstevent.c: (gst_event_type_get_name),
5059         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
5060         * gst/gstevent.h:
5061           add string representations for event types
5062
5063 2005-10-06  Wim Taymans  <wim@fluendo.com>
5064
5065         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
5066         Don't use NULL pointers.
5067
5068 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5069
5070         * gst/gst_private.h:
5071         * gst/gstbus.c:
5072         * gst/gstelement.c:
5073         * gst/gstinfo.c:
5074         * gst/gstpluginfeature.c:
5075           widen the debug category in output to fit the biggest one we have
5076           add a bus category and use it
5077           play with the colors
5078           fix up some categories
5079
5080 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5081
5082         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
5083           add push activation of sink ghost pads.
5084           Andye, please verify
5085
5086 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5087
5088         * gst/gstutils.c: (gst_element_link_pads):
5089           fix a bug in the case where neither element has a pad
5090         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5091           add a test for that case
5092
5093 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5094
5095         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
5096           emit have-data before checking for peers.  This allows
5097           for probe handlers to connect elements.  This helps autopluggers.
5098         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
5099         (gst_pad_suite):
5100           add six checks, linked/unlinked with no/true/false probe
5101
5102 2005-10-04  Wim Taymans  <wim@fluendo.com>
5103
5104         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
5105         (gst_fake_sink_event), (gst_fake_sink_preroll),
5106         (gst_fake_sink_render), (gst_fake_sink_change_state):
5107         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
5108         (gst_fake_src_get_property), (gst_fake_src_create),
5109         (gst_fake_src_stop):
5110         * gst/elements/gstidentity.c: (gst_identity_stop):
5111         Protect last_message with lock.
5112
5113 2005-10-04  Edward Hervey  <edward@fluendo.com>
5114
5115         * gst/gstformat.h: 
5116         Added precision in the comments for GST_FORMAT_DEFAULT
5117
5118 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
5119
5120         * tools/gst-launch.c: (main):
5121           Don't try to run erroneous pipelines.
5122
5123 2005-10-04  Julien MOUTTE  <julien@moutte.net>
5124
5125         * gst/gstbus.c: We don't need this header.
5126
5127 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5128
5129         * configure.ac:
5130           back to development
5131
5132 === release 0.9.3 ===
5133
5134 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5135
5136         * README:
5137         * configure.ac:
5138           Releasing 0.9.3, "Unregistered"
5139
5140 2005-10-03  Andy Wingo  <wingo@pobox.com>
5141
5142         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
5143         whereby calling a pad's activatepush() function can start a thread
5144         that starts to push or pull before the pad gets the FLUSHING flag
5145         unset. Hack around it by holding the stream lock until the flag is
5146         set. Need to replace this with a proper solution. Together with
5147         the ghost pad fixes, this fixes mp3 playing/tagreading.
5148
5149         * docs/design/part-gstghostpad.txt: Add a note about activation of
5150         proxy pads outside of ghost pads.
5151
5152         * gst/gstghostpad.c: Implement the ghost pad activation design.
5153
5154 2005-10-02  Andy Wingo  <wingo@pobox.com>
5155
5156         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
5157         It is volatile, after all.
5158
5159         * docs/design/part-gstghostpad.txt: Flesh out activation with
5160         ghost pads.
5161
5162         * gst/base/gstbasesrc.c (gst_base_src_init): Use
5163         GST_DEBUG_FUNCPTR.
5164
5165 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5166
5167         * configure.ac:
5168           Fix (unused) AM_CONDITIONAL tests.
5169
5170 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
5171
5172         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5173
5174         * gst/gstutils.c: (gst_pad_query_convert):
5175           Add assertion that makes sure src_val is >=0, just like
5176           gst_query_new_convert() has. (#315895)
5177
5178 2005-09-30  Edward Hervey  <edward@fluendo.com>
5179
5180         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
5181         Let's not iterate pads we're not interested in, it avoids getting 
5182         sky-high refcounts on sinkpad.
5183
5184 2005-09-30  Wim Taymans  <wim@fluendo.com>
5185
5186         * gst/gstelement.c: (gst_element_set_state),
5187         (gst_element_change_state):
5188         Small tweak, element in ASYNC remains ASYNC.
5189
5190 2005-09-30  Wim Taymans  <wim@fluendo.com>
5191
5192         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5193         Only error is an error.
5194
5195         * gst/gstbin.c: (gst_bin_change_state):
5196         Better debugging.
5197
5198         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
5199         Also call pad_block in pad alloc.
5200
5201         * gst/gstutils.c: (gst_flow_get_name):
5202         Better debugging.
5203
5204 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5205
5206         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5207         (gst_base_src_get_range):
5208           Fix documentation typos. Add some more debug info.
5209
5210 2005-09-29  David Schleef  <ds@schleef.org>
5211
5212         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5213           more end-user friendly.
5214         * tools/gst-inspect.c: (main): Check if command-line argument is
5215           a file and attempt to load that file as a plugin.
5216
5217 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5218
5219         * check/gst/gstbin.c:
5220         * check/states/sinks.c:
5221           fix tests for the new warning
5222         * check/gst/gstpipeline.c:
5223           add a test for pipeline and bus interaction
5224         * gst/gstelement.c:
5225           elements should be NULL if they get disposed; add a warning if not
5226
5227 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5228
5229         * gst/gstobject.c:
5230           for 2.6 refcounting, make debug log more correct by printing
5231           the actual refcounts at the time of swap (Wim)
5232
5233 2005-09-29  Andy Wingo  <wingo@pobox.com>
5234
5235         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5236         removes signal watches previously added via
5237         gst_bus_add_signal_watch.
5238         (gst_bus_add_signal_watch): Don't return the source id, just store
5239         it on the bus if there wasn't an id already.
5240
5241         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5242         add_signal_watch and remove_signal_watch.
5243
5244 2005-09-29  Edward Hervey  <edward@fluendo.com>
5245
5246         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
5247         Better if we actually iterate the list :)
5248
5249 2005-09-29  Wim Taymans  <wim@fluendo.com>
5250
5251         * check/gst/gstbin.c: (GST_START_TEST):
5252         Change for new bus API.
5253
5254         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5255         (send_messages), (GST_START_TEST), (gstbus_suite):
5256         Change for new bus signal API.
5257
5258         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5259         (gst_bus_source_prepare), (gst_bus_source_check),
5260         (gst_bus_create_watch), (gst_bus_add_watch_full),
5261         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5262         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5263         * gst/gstbus.h:
5264         Remove support for multiple GSources operating on different
5265         message types as it is too complex and unneeded when using
5266         signals.
5267         Added support for receiving signals from the bus.
5268
5269 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5270
5271         * docs/libs/tmpl/gstdataprotocol.sgml:
5272         * docs/manual/advanced-dataaccess.xml:
5273         * gst/elements/gstcapsfilter.c:
5274         * gst/gstutils.c:
5275           rename filter-caps to caps property
5276
5277 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5278
5279         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5280           More robust fraction string parsing.
5281
5282         * docs/pwg/appendix-porting.xml:
5283           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5284
5285 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5286
5287         * gst/gstcaps.c: (gst_caps_do_simplify):
5288           Thou shalt not free a structure and then continue using it
5289           in the next loop iteration.
5290
5291         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5292         (gst_caps_suite):
5293           Add test case for caps simplification.
5294
5295 2005-09-29  Wim Taymans  <wim@fluendo.com>
5296
5297         * check/gst/gstbin.c: (GST_START_TEST):
5298         Oops.
5299
5300 2005-09-29  Wim Taymans  <wim@fluendo.com>
5301
5302         * check/gst/gstbin.c: (GST_START_TEST):
5303         Add bus to bin.
5304
5305         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5306         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5307         (find_element), (gst_bin_sort_iterator_next),
5308         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5309         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5310         (gst_bin_change_state), (gst_bin_dispose):
5311         A bin does not have a bus, it gets the bus from the parent.
5312
5313         * gst/gstelement.c: (gst_element_requires_clock),
5314         (gst_element_provides_clock), (gst_element_is_indexable),
5315         (gst_element_is_locked_state), (gst_element_change_state),
5316         (gst_element_set_bus_func):
5317         Small cleanups.
5318
5319         * gst/gstpipeline.c: (gst_pipeline_class_init),
5320         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5321         The pipeline provides a bus.
5322
5323 2005-09-28  Johan Dahlin  <johan@gnome.org>
5324
5325         * gst/gstmessage.c (gst_message_parse_state_changed): Use
5326         gst_structure_get_enum instead of gst_structure_get_int
5327
5328         * gst/gststructure.c (gst_structure_get_enum): Impl.
5329
5330         * gst/gststructure.h (gst_structure_get_enum): Add
5331
5332         * docs/gst/gstreamer-sections.txt: Ditto
5333
5334         * gst/gstmessage.c (gst_message_new_state_changed): Use
5335         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5336         which does introspection.
5337         Reviewed by Christian Schaller
5338
5339 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5340
5341         * gst/gstinfo.c: (gst_debug_log_default):
5342           don't do dummy g_strdup()s
5343         * libs/gst/controller/gstcontroller.c:
5344         (on_object_controlled_property_changed),
5345         (gst_controlled_property_new), (gst_controller_new_valist),
5346         (gst_controller_new_list),
5347         (gst_controller_remove_properties_valist), (gst_controller_set),
5348         (gst_controller_get), (gst_controller_sync_values),
5349         (gst_controller_get_value_array), (_gst_controller_class_init),
5350         (gst_controller_get_type):
5351         * libs/gst/controller/gstcontroller.h:
5352         * libs/gst/controller/gstinterpolation.c:
5353         (gst_controlled_property_find_timed_value_node):
5354           convert // to /**/ comments
5355
5356 2005-09-28  Wim Taymans  <wim@fluendo.com>
5357
5358         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5359         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5360         (gst_bus_sync_signal_handler):
5361         * gst/gstbus.h:
5362         Added async-message and sync-message signals to the bus.
5363         Added helper BusFunc to emit signals for all posted messages.
5364
5365         * gst/gstmessage.c: (gst_message_type_get_name),
5366         (gst_message_type_to_quark), (gst_message_get_type):
5367         * gst/gstmessage.h:
5368         Register quarks for message names.
5369
5370 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5371
5372         * docs/libs/gstreamer-libs-sections.txt:
5373         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5374         (gst_controller_new_list):
5375         * libs/gst/controller/gstcontroller.h:
5376           added another constructor for language bindings
5377
5378 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5379
5380         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5381           add another check
5382         * gst/gstbus.c:
5383           add some doc
5384         * gst/gstinfo.c: (_gst_debug_init):
5385           slightly more readable color for refcount debugging
5386
5387 2005-09-28  Wim Taymans  <wim@fluendo.com>
5388
5389         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5390         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5391         (find_element), (gst_bin_sort_iterator_next),
5392         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5393         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5394         (gst_bin_change_state), (gst_bin_dispose):
5395         Small doc fixes. get_clock -> provide_clock.
5396
5397         * gst/gstelement.c: (gst_element_class_init),
5398         (gst_element_provides_clock), (gst_element_provide_clock),
5399         (gst_element_get_clock), (gst_element_commit_state),
5400         (gst_element_lost_state):
5401         * gst/gstelement.h:
5402         Make get/set_clock() symetric. Add provide_clock vmethod since
5403         that is actually what this function does.
5404
5405         * gst/gstpipeline.c: (gst_pipeline_class_init),
5406         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
5407         (gst_pipeline_get_clock):
5408         get_clock -> provide_clock.
5409
5410 2005-09-28  Andy Wingo  <wingo@pobox.com>
5411
5412         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
5413         lieu of real docs...
5414
5415         * gst/elements/gstfdsrc.c: Cleaned up a bit.
5416
5417 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
5418
5419         * gst/elements/gstcapsfilter.c:
5420         * gst/elements/gstfakesink.c:
5421         * gst/elements/gstfakesrc.c:
5422         * gst/elements/gstfdsink.c:
5423         * gst/elements/gstfdsrc.c:
5424         * gst/elements/gstfilesink.c:
5425         * gst/elements/gstfilesrc.c:
5426         * gst/elements/gstidentity.c:
5427         * gst/elements/gsttee.c:
5428         * gst/elements/gsttypefindelement.c:
5429           Make element details static.
5430
5431 2005-09-28  Wim Taymans  <wim@fluendo.com>
5432
5433         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5434         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5435         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5436         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5437         (gst_bin_change_state), (gst_bin_dispose):
5438         Some documentation updates.
5439         Clean up dispose handlers.
5440
5441         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
5442         * gst/gstpad.c: (gst_pad_dispose):
5443         Clean up dispose handler.
5444
5445         * gst/gstpipeline.c: (gst_pipeline_change_state):
5446         Removed spurious UNLOCK.
5447
5448 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
5449
5450         * docs/gst/gstreamer-sections.txt:
5451         * gst/base/gstbasesrc.h:
5452         * gst/gstelement.h:
5453         * gst/gstevent.h:
5454         * gst/gstobject.h:
5455         * gst/gstpad.h:
5456         * gst/gstpipeline.c:
5457         * gst/gstpipeline.h:
5458         * gst/gstutils.h:
5459         * gst/gstxml.h:
5460           added two new functions to the docs
5461                 documents all undocumented GstXXXFlags
5462                 completed some incomplete docs 
5463
5464 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5465
5466         * gst/gstbin.c: (gst_bin_dispose):
5467         * gst/gstelement.c: (gst_element_dispose):
5468           remove now useless and leaky resurrection code in dispose
5469         * gst/base/gstbasesrc.c: (gst_base_src_init):
5470         * gst/gstelementfactory.c: (gst_element_factory_create):
5471         * gst/gstobject.c: (gst_object_set_parent):
5472           add some debugging
5473
5474 2005-09-27  Wim Taymans  <wim@fluendo.com>
5475
5476         * docs/design/part-TODO.txt:
5477         Update TODO.
5478
5479         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5480         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5481         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5482         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5483         (gst_bin_change_state):
5484         * gst/gstelement.h:
5485         Remove element variable, we keep element info in the iterator now.
5486
5487 2005-09-27  Andy Wingo  <wingo@pobox.com>
5488
5489         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
5490         values.
5491
5492 2005-09-27  Wim Taymans  <wim@fluendo.com>
5493
5494         * check/gst/gstbin.c: (GST_START_TEST):
5495         Enable check that works now.
5496
5497         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5498         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5499         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5500         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5501         (gst_bin_change_state):
5502         * gst/gstbin.h:
5503         Redid the state change algorithm using a topological sort algo.
5504         Handles all cases correctly.
5505         Exposed iterator for state change order.
5506
5507         * gst/gstelement.h:
5508         Temp storage for state changes. Need to get rid of this soon.
5509
5510 2005-09-27  Wim Taymans  <wim@fluendo.com>
5511
5512         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
5513         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
5514         (link_fold_func), (gst_pad_proxy_setcaps):
5515         Leak fixes, the fold functions need to unref the passed object and
5516         _get_parent_*() returns ref to parent.
5517
5518 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5519
5520         * check/gst/gstbuffer.c: (test_make_writable):
5521           Plug leak in test case and fix 'make check-valgrind'
5522
5523 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5524
5525         * gst/gstbuffer.c: (gst_subbuffer_init):
5526           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
5527           works correctly in all circumstances (we could have just copied
5528           the parent buffer's readonly flag, but conceptually it seems
5529           cleaner to mark all subbuffers as read-only). (based on patch
5530           by Alessandro Decina, #314710).
5531         
5532         * check/gst/gstbuffer.c: (create_read_only_buffer),
5533         (test_make_writable), (test_subbuffer_make_writable),
5534         (gst_test_suite):
5535           Add some tests for gst_buffer_make_writable().
5536
5537 2005-09-27  Wim Taymans  <wim@fluendo.com>
5538
5539         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
5540         use gst_object_has_ancestor().
5541
5542         * gst/gstobject.c: (gst_object_has_ancestor):
5543         * gst/gstobject.h:
5544         gst_object_has_ancestor() copied from gstbin.c as it is a
5545         usefull function.
5546
5547         * tests/instantiate/create.c: (create_all_elements):
5548         * tests/lat.c: (handoff_src), (handoff_sink):
5549         * tests/sched/runxml.c: (main):
5550         * tests/seeking/seeking1.c: (main):
5551         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
5552         (main):
5553         Fix compilation of some tests.
5554
5555 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5556
5557         * gst/gsterror.h:
5558           Remove comment. GST_TYPE_G_ERROR is here to stay,
5559           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
5560           (#316961, #300610).
5561
5562 2005-09-26  Wim Taymans  <wim@fluendo.com>
5563
5564         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5565         Added check that shows error in state change order.
5566
5567 2005-09-26  Wim Taymans  <wim@fluendo.com>
5568
5569         * gst/gstbin.c: (gst_bin_change_state):
5570         Make state change function use 3 queues again, we were
5571         adding elements in the wrong order.
5572
5573         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
5574         Some debug info,
5575
5576         * gst/gstpad.c: (gst_pad_dispose):
5577         Added some debug info first.
5578
5579 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
5580
5581         * docs/design/draft-push-pull.txt:
5582         * docs/design/part-events.txt:
5583         * docs/design/part-overview.txt:
5584         * docs/design/part-scheduling.txt:
5585           Replace all _pull_region() with _pull_range()
5586           
5587 2005-09-26  Andy Wingo  <wingo@pobox.com>
5588
5589         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
5590
5591         * check/gst-libs/controller.c: Update for controller api change.
5592
5593         * configure.ac: 
5594         * tests/Makefile.am:
5595         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
5596         over by GLib bug 118439.
5597         
5598         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
5599         routines to a function.
5600
5601         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
5602
5603         * libs/gst/controller/gsthelper.c:
5604         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
5605         (gst_object_sync_values): Renamed from sink_values. Ugh.
5606
5607         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
5608
5609         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
5610         Renamed from controller_key, as it is exported.
5611
5612         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
5613
5614 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5615
5616         * gst/Makefile.am:
5617         * gst/gst.h:
5618         * gst/gstpad.h:
5619         * gst/gstpadtemplate.h:
5620         * gst/gstquery.c:
5621         * gst/gstquery.h:
5622         * gst/gstqueryutils.c:
5623         * gst/gstqueryutils.h:
5624           remove queryutils headers after moving the two used functions
5625           to gstquery.  also fixes build problem for gstsiddec
5626
5627 2005-09-26  Michael Smith <msmith@fluendo.com>
5628
5629         * tools/gst-launch.1.in:
5630         Correct documentation in manpage of debug syntax
5631
5632 2005-09-26  Wim Taymans  <wim@fluendo.com>
5633
5634         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
5635         (gst_base_src_is_seekable), (gst_base_src_change_state):
5636         Some more debugging info.
5637
5638 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5639
5640         * docs/gst/gstreamer-sections.txt:
5641         * gst/base/gstbasetransform.h:
5642         * gst/gstindex.h:
5643           added more docs
5644
5645 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5646
5647         * docs/gst/.cvsignore:
5648         * docs/gst/tmpl/.cvsignore:
5649         * docs/gst/tmpl/gstpipeline.sgml:
5650         * docs/gst/tmpl/gstplugin.sgml:
5651         * gst/gstpipeline.c:
5652         * gst/gstplugin.c:
5653         * gst/gstplugin.h:
5654           inlined the last two docs files
5655           removed the tmpl directory from cvs (no more conflicts here!)
5656
5657 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5658
5659         * docs/gst/gstreamer-sections.txt:
5660         * docs/gst/tmpl/.cvsignore:
5661         * docs/gst/tmpl/gstpad.sgml:
5662         * docs/gst/tmpl/gstpadtemplate.sgml:
5663         * gst/Makefile.am:
5664         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
5665         (gst_pad_finalize), (gst_pad_set_pad_template):
5666         * gst/gstpad.h:
5667         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5668         (gst_pad_template_class_init), (gst_pad_template_init),
5669         (gst_pad_template_dispose), (name_is_valid),
5670         (gst_static_pad_template_get), (gst_pad_template_new),
5671         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
5672         (gst_pad_template_pad_created):
5673         * gst/gstpadtemplate.h:
5674           inlined two more docs
5675           factored gstpadtemplate out of gstpad
5676
5677 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
5678
5679         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5680         (test_children_state_change_order_semi_sink):
5681           Fix test case: we can't rely on a fixed state change order when
5682           going from READY => PAUSED because the sink might commit its 
5683           new state first when the first buffer created by the source 
5684           reaches the sink before the source has finished its change state.
5685           (Test case still fails at times, see #316856, comment 5 onwards)
5686
5687 2005-09-24  Wim Taymans  <wim@fluendo.com>
5688
5689         * docs/design/part-events.txt:
5690         * docs/design/part-gstbus.txt:
5691         * docs/design/part-gstpipeline.txt:
5692         * docs/design/part-messages.txt:
5693         * docs/design/part-overview.txt:
5694         * docs/design/part-segments.txt:
5695         * gst/gstbin.c:
5696         * gst/gstbuffer.c:
5697         * gst/gstclock.c:
5698         * gst/gstelement.c:
5699         * gst/gstevent.c:
5700         * gst/gstfilter.c:
5701         * gst/gstiterator.c:
5702         Various documentation updates.
5703
5704 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5705
5706         * gst/gstclock.h:
5707           Well, that's embarassing.  Luckily we weren't using
5708           GST_CLOCK_DIFF anywhere.
5709
5710 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5711
5712         * common/gtk-doc.mak:
5713           don't fail on building XML, FC4 slave shows a bunch of doc
5714           missing bits that I don't get
5715         * gst/gstpad.c:
5716         * gst/gstpipeline.c:
5717         * gst/gststructure.c:
5718           some doc updates
5719
5720 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5721
5722         * docs/design/part-gstbin.txt:
5723         * docs/design/part-gstbus.txt:
5724         * gst/gstbus.c:
5725           Add blurb about how the bus goes into flushing mode and
5726           drops all messages when its bin goes from READY into NULL 
5727           state.
5728
5729 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5730
5731         * docs/gst/gstreamer-sections.txt:
5732         * gst/gststructure.c: (gst_structure_get_clock_time):
5733         * gst/gststructure.h:
5734           add a method to get a GstClockTime out of a structure
5735
5736 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5737
5738         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5739         (test_children_state_change_order_semi_sink), (gst_bin_suite):
5740           Added test to check state change order in bins (can still be made
5741           to fail here under heavy disk load; bails out with 'Push on pad
5742           fakesink:sink0, but it was not activated in push mode').
5743
5744         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
5745           Fix state change order when there is only a semi sink (#316856)
5746
5747         * gst/gstbus.c: (gst_bus_class_init):
5748           Use _class_peek_parent(), not _class_ref(); fix docs to say
5749           'default main context' instead of 'mainloop' where that is
5750           what's meant.
5751
5752         * gst/gstelement.c: (gst_element_commit_state),
5753         (gst_element_set_state):
5754           Fix typos in debug messages
5755
5756 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5757
5758         * docs/README:
5759         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
5760         * gst/gstpluginfeature.c:
5761         * gst/gstutils.c:
5762           various doc updates
5763         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5764           change an assert into an error until it gets fixed properly
5765
5766 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
5767
5768         * docs/gst/gstreamer-sections.txt:
5769         * docs/gst/tmpl/.cvsignore:
5770         * docs/gst/tmpl/gstelement.sgml:
5771         * docs/gst/tmpl/gstinfo.sgml:
5772         * docs/gst/tmpl/gstobject.sgml:
5773         * gst/gstelement.c:
5774         * gst/gstelement.h:
5775         * gst/gstinfo.c:
5776         * gst/gstinfo.h:
5777         * gst/gstobject.c: (gst_object_class_init):
5778         * gst/gstobject.h:
5779           inlined 3 more biiiig doc files and added some missing docs on the fly
5780
5781 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5782
5783         * check/gst/.cvsignore:
5784         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
5785         * gst/gstregistryxml.c: (load_plugin),
5786         (gst_registry_xml_save_plugin):
5787           put back source in registry.  add checks for find_plugin.
5788         * testsuite/states/bin.c: (assert_state), (empty_bin),
5789         (test_adding_one_element), (main):
5790         * testsuite/states/locked.c: (main):
5791           some compile/run fixes
5792
5793 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5794
5795         * check/gst/gstvalue.c: (GST_START_TEST):
5796           fix leaks in the test itself
5797
5798 2005-09-22  Wim Taymans  <wim@fluendo.com>
5799
5800         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5801         (gst_base_sink_send_event), (gst_base_sink_peer_query),
5802         (gst_base_sink_query):
5803         Prepare for more accurate position reporting and query
5804         handling.
5805
5806         * gst/gstelement.c: (gst_element_send_event),
5807         (gst_element_set_state):
5808         Add some comment.
5809
5810 2005-09-22  Wim Taymans  <wim@fluendo.com>
5811
5812         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
5813         (gst_query_parse_segment):
5814         * gst/gstquery.h:
5815         More documentation.
5816         Add segment query for future use.
5817
5818 2005-09-22  Wim Taymans  <wim@fluendo.com>
5819
5820         * gst/gstbin.c: (gst_bin_add_func):
5821         Some more debug info.
5822
5823         * gst/gstelement.c: (gst_element_send_event):
5824         Simplify send_event
5825
5826         * gst/gstelement.h:
5827         Don't know how flags got broken.
5828
5829         * gst/gstquery.h:
5830         Added new query.
5831
5832 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5833
5834         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
5835           Add simplistic test suite for GST_TYPE_DATE serialisation and
5836           deserialisation.
5837
5838 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5839
5840         * docs/gst/gstreamer-sections.txt:
5841         * gst/gststructure.c: (gst_structure_set_valist),
5842         (gst_structure_get_date):
5843         * gst/gststructure.h:
5844         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
5845         (gst_date_copy), (gst_value_compare_date),
5846         (gst_value_serialize_date), (gst_value_deserialize_date),
5847         (gst_value_transform_date_string),
5848         (gst_value_transform_string_date), (_gst_value_initialize):
5849         * gst/gstvalue.h:
5850           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
5851           bunch of utility functions along with a hack that checks that
5852           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
5853           is required. Part of the grand scheme in #170777.
5854
5855 2005-09-22  Andy Wingo  <wingo@pobox.com>
5856
5857         * gst/gstconfig.h.in: Psych out gtk-doc.
5858
5859         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
5860
5861         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
5862
5863         * tools/gst-inspect.c (print_element_list): Plug some
5864         inconsequential leaks.
5865
5866         * gst/gstregistry.c (gst_registry_get_default): Doc.
5867
5868         * check/gst/gstplugin.c: 
5869         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
5870         * gst/gstelementfactory.c (gst_element_factory_create): 
5871         * gst/gstindexfactory.c (gst_index_factory_create): Update for
5872         refcount changes.
5873
5874         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
5875         (gst_plugin_feature_load): Doc, don't eat refs.
5876
5877         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
5878         (gst_plugin_list_free): Doc.
5879         (gst_plugin_load_file): Doc updates.
5880
5881         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
5882         accessors returning refcounted objects, return a ref.
5883
5884         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
5885         accessor for caps. IDEMPOTENCE. Oh yes.
5886
5887 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
5888
5889         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5890
5891         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
5892         (_gst_debug_register_funcptr):
5893           Add mutex to serialise access to the hash table with
5894           the function pointer => function name string mapping;
5895           make that hash table static scope (#316809).
5896
5897         * gst/registries/.cvsignore:
5898           Remove left-over file.
5899
5900 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5901
5902         * docs/pwg/appendix-porting.xml:
5903           And something about newsegment events and caps-on-buffers to
5904           the porting guide (feel free to improve).
5905
5906 2005-09-21  Andy Wingo  <wingo@pobox.com>
5907
5908         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
5909         data and event probes on the same pad.
5910         (test_buffer_probe_once): Test that removing probes from within
5911         the probe functions works.
5912
5913 2005-09-21  Andy Wingo  <wingo@pobox.com>
5914
5915         * check/gst/gstutils.c: New file.
5916         (test_buffer_probe_n_times): A simple buffer probe test. More to
5917         come, foolios.
5918
5919         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
5920         have-data::buffer, not have-data.
5921         (gst_pad_add_event_probe): Likewise for have-data::event.
5922         (gst_pad_add_data_probe): More docs. The part about 'resolving the
5923         peer' isn't quite right yet though.
5924         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
5925         (gst_pad_remove_data_probe): Change to take the guint handler_id
5926         as their arg, not the function+data, which is more glib-like.
5927
5928         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
5929         the signal emission to indicate if the data is a buffer or an
5930         event.
5931         (gst_pad_get_type): Initialize buffer and event quarks.
5932         (gst_pad_class_init): have-data is now a detailed signal, yes it
5933         is.
5934
5935 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5936
5937         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
5938         * gst/gstutils.c: (gst_util_set_value_from_string),
5939         (gst_util_set_object_arg):
5940           Don't put functional code in g_return_if_fail() or
5941           g_return_val_if_fail() statements, otherwise things will 
5942           break when G_DISABLE_CHECKS is defined during compilation.
5943
5944 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5945
5946         * docs/gst/tmpl/.cvsignore:
5947         * docs/gst/tmpl/gstvalue.sgml:
5948         * gst/gstvalue.c:
5949         * gst/gstvalue.h:
5950           inlied another one and added  some obvious docs
5951
5952 2005-09-21  Wim Taymans  <wim@fluendo.com>
5953
5954         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5955         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
5956         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
5957         (gst_fdsrc_get_property), (gst_fdsrc_create):
5958         * gst/elements/gstfdsrc.h:
5959         Properly implement fdsrc. Removed signal and timeout,
5960         better implemented somewhere else.
5961
5962 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5963
5964         * docs/gst/tmpl/.cvsignore:
5965         * docs/gst/tmpl/gstimplementsinterface.sgml:
5966         * gst/gstinterface.c:
5967           inlined more docs
5968
5969 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5970
5971         * docs/gst/gstreamer-sections.txt:
5972         * docs/gst/tmpl/.cvsignore:
5973         * docs/gst/tmpl/gstenumtypes.sgml:
5974           remove obsolete doc file
5975
5976 2005-09-21  David Schleef  <ds@schleef.org>
5977
5978         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
5979         little beer, fix a little leak.
5980
5981 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5982
5983         * docs/gst/gstreamer-docs.sgml:
5984         * docs/gst/gstreamer-sections.txt:
5985         * docs/gst/tmpl/.cvsignore:
5986         * gst/Makefile.am:
5987         * gst/gst.h:
5988         * gst/gstbin.c:
5989         * gst/gstelement.h:
5990         * gst/gstindex.c: (gst_index_class_init):
5991         * gst/gstindex.h:
5992         * gst/gstindexfactory.c: (gst_index_factory_get_type),
5993         (gst_index_factory_class_init), (gst_index_factory_init),
5994         (gst_index_factory_finalize), (gst_index_factory_new),
5995         (gst_index_factory_destroy), (gst_index_factory_find),
5996         (gst_index_factory_create), (gst_index_factory_make):
5997         * gst/gstindexfactory.h:
5998         * gst/gstpluginfeature.c:
5999         * gst/gstpluginfeature.h:
6000         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6001           more docs inlined, splitted gstindex.{c,h}
6002
6003 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6004
6005         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6006           fix a leak
6007
6008 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6009
6010         * gst/elements/gstfilesink.c: (gst_file_sink_init):
6011           Set sync to FALSE by default.
6012
6013 2005-09-20  Wim Taymans  <wim@fluendo.com>
6014
6015         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6016         (gst_base_sink_init):
6017         Make sync property settable from subclass.
6018
6019         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6020         (gst_fake_sink_change_state):
6021         Set sync to FALSE by default.
6022
6023 2005-09-20  Wim Taymans  <wim@fluendo.com>
6024
6025         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
6026         * tools/gst-launch.c: (main):
6027         The timeout handler should have lower priority than the source
6028         so we don't timeout before popping a message with 0 timeout.
6029         Dump error messages after failed state change.
6030
6031 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6032
6033         * tools/gst-inspect.c: (print_element_properties_info):
6034           Fix two typos.
6035
6036 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6037
6038         * check/gst/gstevent.c:
6039         * gst/elements/gstfakesink.c:
6040         * gst/elements/gstfakesink.h:
6041           remove the sync property from fakesink.
6042           has the side effect of setting sync TRUE
6043           for fakesink, which is a change.  Anyone who knows how
6044           to fix this nicely in a GObject-y way, feel free.
6045
6046 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6047
6048         * docs/gst/gstreamer-docs.sgml:
6049           remove probe refsection
6050
6051 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6052
6053         * check/Makefile.am:
6054           disable valgrinding the controller test again
6055         * docs/gst/gstreamer-sections.txt:
6056           update for api-changes
6057
6058 2005-09-20  Wim Taymans  <wim@fluendo.com>
6059
6060         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6061         (gst_base_sink_set_property), (gst_base_sink_get_property),
6062         (gst_base_sink_do_sync):
6063         * gst/base/gstbasesink.h:
6064         Added sync property to basesink to disable clock sync.
6065
6066 2005-09-20  Andy Wingo  <wingo@pobox.com>
6067
6068         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
6069         eating the caller's refcount.
6070
6071         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
6072         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
6073         refcount.
6074
6075         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
6076         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
6077         of GLib 2.8 public, so we can know which refcount to check in
6078         tests.
6079
6080         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
6081         (gst_object_init): Only set the gst refcount if we're going ahead
6082         with the refcount hack.
6083
6084 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6085
6086         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6087         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6088           more leaks plumbed, added more debug-logging
6089         * gst/gstmacros.h:
6090           whitespace fix
6091
6092 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6093
6094         * gst/gstmessage.c:
6095           remove include of gstmemchunk.h
6096
6097 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6098
6099         * gst/gstclock.c: (_gst_clock_id_free):
6100           Commit from the Political Party For More Atomic CVS Commits,
6101           so that people don't waste too much of their day fishing
6102           out obvious leaks out of massive commits.
6103           Oh, and fix a pretty damn obvious leak in the memchunk
6104           removal code.
6105
6106 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6107
6108         * check/Makefile.am:
6109         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6110           plug mem-leak, re-add to valgrindable tests
6111
6112 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6113
6114         * gst/gstplugin.h:
6115           unbreak the build for those who have chronic arthritis
6116           and typing "make check" is just too taxing on the hands
6117
6118 2005-09-20  Andy Wingo  <wingo@pobox.com>
6119
6120         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
6121         really want it out, you should fix plugins at the same time.
6122
6123 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
6124
6125         * configure.ac:
6126         * docs/gst/gstreamer-sections.txt:
6127         * gst/gstobject.c:
6128           added missing symbols to api docs
6129           disable ref-count hack if we have glib >= 2.8
6130
6131 2005-09-19  David Schleef  <ds@schleef.org>
6132
6133         * docs/gst/Makefile.am: Ignore a few more internal headers
6134         * docs/gst/gstreamer-docs.sgml: Remove old sections
6135         * docs/gst/gstreamer-sections.txt: Remove old sections
6136         * docs/gst/tmpl/gstobject.sgml: update
6137         * docs/gst/tmpl/gstplugin.sgml: update
6138         * docs/gst/tmpl/gstpluginfeature.sgml: update
6139         * docs/random/ds/0.9-suggested-changes: update.
6140         * gst/Makefile.am: remove memchunk and trashstack, since they're
6141           not used.
6142         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
6143         * gst/gst.h: don't include some headers
6144         * gst/gstchildproxy.c: add gstmarshal.h
6145         * gst/gstclock.c: Don't use memchunks
6146         * gst/gstminiobject.c: Add some docs
6147         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
6148         * gst/gstobject.h: same
6149         * gst/gstplugin.c: include gstmacros.h
6150         * gst/gstplugin.h: don't include gstmacros.h, since it's private
6151         * gst/gstquery.c: don't use memchunks
6152         * gst/gstregistry.c: rename gst_registry_deinit()
6153         * gst/gstregistry.h: same
6154
6155 2005-09-19  David Schleef  <ds@schleef.org>
6156
6157         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
6158         * docs/libs/gstreamer-libs-sections.txt:
6159         * docs/libs/tmpl/gstgetbits.sgml:
6160         * docs/libs/tmpl/gstputbits.sgml:
6161
6162 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6163
6164         * win32/gstenumtypes.c:
6165         * win32/gstenumtypes.h:
6166           Update.
6167
6168 2005-09-19  Wim Taymans  <wim@fluendo.com>
6169
6170         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
6171         Automatically PAUSE and RESUME a pipeline when a flushing seek
6172         is performed.
6173
6174 2005-09-19  Andy Wingo  <wingo@pobox.com>
6175
6176         * gst/gstregistry.h: Spacing fixen.
6177
6178 2005-09-19  Wim Taymans  <wim@fluendo.com>
6179
6180         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
6181         Handle state change failure more correctly.
6182
6183 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6184
6185         * check/Makefile.am:
6186         * check/pipelines/cleanup.c: (run_pipeline):
6187         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6188         (GST_START_TEST):
6189           enable cleanup again after fixing the leak
6190         * docs/README:
6191           some more info on docs
6192
6193 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6194
6195         * check/Makefile.am:
6196           re-enable tests now that leaks are plugged
6197         * check/gst/gst.c:
6198         * check/gst/gstbin.c:
6199         * check/gst/gstpipeline.c:
6200           add some more tests while fixing leaks
6201         * common/check.mak:
6202           make sure binaries are uptodate when valgrinding/gdbing
6203         * gst/gst.c:
6204         * gst/gstelementfactory.c:
6205           remove a ref too many, and add a FIXME for when we get
6206           round to disposing of classes
6207         * gst/gstplugin.c:
6208           fix the refcounting when loading a plugin from a file and
6209           the code pretends that the pointer is the same even though
6210           of course it can change
6211         * gst/gstpluginfeature.c:
6212           unref plugins marked cached (a bit confusing as a name)
6213           as the docs state should be done
6214           various doc additions to explain refcounting
6215         * gst/gstregistry.c:
6216         * gst/gstregistryxml.c:
6217           debugging
6218
6219 2005-09-19  Wim Taymans  <wim@fluendo.com>
6220
6221         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6222         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6223         (send_messages), (GST_START_TEST), (gstbus_suite):
6224         * check/gst/gstpipeline.c: (GST_START_TEST):
6225         * check/pipelines/cleanup.c: (run_pipeline):
6226         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6227         (GST_START_TEST):
6228         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6229         (gst_bus_source_check), (gst_bus_source_dispatch),
6230         (gst_bus_create_watch), (gst_bus_add_watch_full),
6231         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6232         * gst/gstbus.h:
6233         * tools/gst-launch.c: (event_loop):
6234         * tools/gst-md5sum.c: (event_loop):
6235         GstBusHandler -> GstBusFunc, return value has the same meaning as
6236         any other GSource (FALSE == remove source).
6237         _add_watch() and _add_watch_full() now take a MessageType mask to
6238         only handle specific types of messages.
6239         _poll() returns the GstMessage instead of the message type to avoid
6240         race conditions.
6241         _have_pending() takes a MessageType mask now too.
6242         Added testsuite for multiple bus watches.
6243         Fix testsuites and applications for new bus API.
6244
6245 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6246
6247         * check/Makefile.am:
6248           mark a bunch of the tests as to fix until we fix them
6249
6250 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6251
6252         * common/check.mak:
6253           use GST_PLUGIN settings for valgrind tests as well, so we're
6254           valgrinding the correct thing
6255         * gst/gst.c: (init_post):
6256           plug another leak
6257
6258 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6259
6260         * gst/gst.c: (init_post), (gst_deinit):
6261         * gst/gstelementfactory.c: (gst_element_factory_class_init),
6262         (gst_element_factory_finalize), (gst_element_factory_cleanup):
6263         * gst/gstindex.c: (gst_index_factory_class_init),
6264         (gst_index_factory_finalize):
6265         * gst/gstobject.c: (gst_object_dispose):
6266         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6267         (gst_plugin_load_file), (gst_plugin_desc_free):
6268         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6269         (gst_plugin_feature_finalize):
6270         * gst/gstregistry.c: (gst_registry_class_init),
6271         (gst_registry_init), (gst_registry_finalize),
6272         (gst_registry_get_default), (gst_registry_deinit):
6273         * gst/gstregistry.h:
6274         * gst/gstregistryxml.c: (load_feature), (load_plugin):
6275           various cleanups and memleak plugging.  make valgrind is happy now.
6276
6277 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6278
6279         * common/check.mak:
6280           add a check-valgrind target
6281
6282 2005-09-18  David Schleef  <ds@schleef.org>
6283
6284         * tools/gst-inspect.c: Revert the GOption code.
6285
6286 2005-09-17  David Schleef  <ds@schleef.org>
6287
6288         * check/Makefile.am: Fix environment variables.
6289         * check/gst/gstplugin.c: Fix for API changes.
6290         * tools/gst-inspect.c: Fix for API changes.
6291         * tools/gst-xmlinspect.c: Fix for API changes.
6292         * gst/gstelementfactory.c:
6293         * gst/gstplugin.c:
6294         * gst/gstplugin.h:
6295         * gst/gstpluginfeature.c:
6296         * gst/gstpluginfeature.h:
6297         * gst/gstregistry.c:
6298         * gst/gstregistry.h:
6299         * gst/gstregistryxml.c:
6300         * gst/gsttypefind.c:
6301         * gst/gsttypefindfactory.c:
6302         * gst/indexers/gstfileindex.c:
6303         * gst/indexers/gstmemindex.c:
6304         * gst/schedulers/Makefile.am:
6305           Change registry to keep track of both plugins and features,
6306           removing the feature tracking from plugins themselves.
6307
6308 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6309
6310         * check/Makefile.am:
6311         * tools/gst-register.1.in:
6312           remove gst-register
6313
6314 2005-09-15  David Schleef  <ds@schleef.org>
6315
6316         * check/gst/gstplugin.c:
6317         * gst/gstelementfactory.c:
6318         * gst/gstplugin.c:
6319         * gst/gstpluginfeature.c:
6320         * gst/gstregistry.c:
6321           Getting tired of debugging.  Disabled all the unreffing of
6322           plugins and features, which fixes the segfaults, but of
6323           course leaks like crazy.  At least playbin works.
6324
6325 2005-09-15  David Schleef  <ds@schleef.org>
6326
6327         * check/gst/gstplugin.c: (register_check_elements),
6328         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6329         More testing
6330         * gst/elements/gsttypefindelement.c: Fix refcounting.
6331         * gst/gsttypefind.c:
6332         * gst/gsttypefindfactory.c:
6333         * gst/gsttypefindfactory.h:
6334
6335 2005-09-15  David Schleef  <ds@schleef.org>
6336
6337         * gst/gstindex.c: get refcounting correct.
6338         * gst/gstregistry.c: Handle the case where a feature/plugin is
6339           not found.
6340
6341 2005-09-15  David Schleef  <ds@schleef.org>
6342
6343         * check/Makefile.am:
6344         * check/gst/gstplugin.c: Add test
6345         * gst/gstplugin.c: Fix problems noticed by testsuite
6346         * gst/gstplugin.h:
6347         * gst/gstregistry.c: 
6348         * gst/gstregistry.h:
6349
6350 2005-09-15  David Schleef  <ds@schleef.org>
6351
6352         * gst/gstplugin.c: Implement semi-decent recounting and locking
6353           in plugins and plugin features.
6354         * gst/gstplugin.h:
6355         * gst/gstpluginfeature.c:
6356         * gst/gstpluginfeature.h:
6357         * gst/gstregistry.c:
6358
6359 2005-09-15  Michael Smith <msmith@fluendo.com>
6360
6361         * gst/gstregistry.c: (gst_registry_get_feature_list):
6362           Implement this. Makes oggdemux work; decodebin still broken.
6363
6364 2005-09-14  David Schleef  <ds@schleef.org>
6365
6366         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6367           #316076)
6368         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6369         * gst/check/Makefile.am:
6370         * libs/gst/controller/Makefile.am:
6371         * libs/gst/dataprotocol/Makefile.am:
6372
6373 2005-09-14  David Schleef  <ds@schleef.org>
6374
6375         * configure.ac: Remove getbits library.  Nothing uses it, and
6376           it should be in something like liboil if someone did want
6377           to use it.
6378         * libs/gst/Makefile.am:
6379         * libs/gst/getbits/Makefile.am:
6380         * libs/gst/getbits/gbtest.c:
6381         * libs/gst/getbits/getbits.c:
6382         * libs/gst/getbits/getbits.h:
6383         * libs/gst/getbits/gstgetbits_generic.c:
6384         * libs/gst/getbits/gstgetbits_i386.s:
6385         * libs/gst/getbits/gstgetbits_inl.h:
6386
6387 2005-09-14  David Schleef  <ds@schleef.org>
6388
6389         * gst/Makefile.am: Dist glib-compat.h
6390
6391 2005-09-14  David Schleef  <ds@schleef.org>
6392
6393         * configure.ac: Remove gst/registries, since it's no longer used.
6394         * gst/registries/Makefile.am:
6395         * gst/registries/gstlibxmlregistry.c:
6396         * gst/registries/gstlibxmlregistry.h:
6397         * gst/registries/gstxmlregistry.c:
6398         * gst/registries/gstxmlregistry.h:
6399         * gst/registries/registrytest.c:
6400
6401 2005-09-14  David Schleef  <ds@schleef.org>
6402
6403         * gst/glib-compat.h:
6404         * gst/gstregistryxml.c:
6405           Convergence is near.  Seriously.
6406
6407 2005-09-14  David Schleef  <ds@schleef.org>
6408
6409         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6410         * gst/glib-compat.h:
6411           Attempt #4 to appease the buildbots.
6412
6413 2005-09-14  David Schleef  <ds@schleef.org>
6414
6415         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6416           Attempt #3.
6417
6418 2005-09-14  David Schleef  <ds@schleef.org>
6419
6420         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6421         Attempt #2.
6422
6423 2005-09-14  David Schleef  <ds@schleef.org>
6424
6425         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
6426           the new functions.
6427
6428 2005-09-14  David Schleef  <ds@schleef.org>
6429
6430         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6431         * gst/glib-compat.h: Add some functions that are in newer versions
6432           of glib than we care to require.
6433         * gst/gstregistryxml.c: Use them.
6434
6435 2005-09-14  David Schleef  <ds@schleef.org>
6436
6437         * po/POTFILES.in: remove gst-register.c
6438
6439 2005-09-14  David Schleef  <ds@schleef.org>
6440
6441         * docs/gst/gstreamer-docs.sgml:
6442         * docs/gst/gstreamer-sections.txt:
6443         * docs/gst/gstreamer.types:
6444         * docs/gst/tmpl/gstelement.sgml:
6445         * docs/gst/tmpl/gstplugin.sgml:
6446         * docs/gst/tmpl/gstpluginfeature.sgml:
6447           Documentation updates for registry changes.
6448
6449 2005-09-14  David Schleef  <ds@schleef.org>
6450
6451         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
6452           because we don't require glib-2.8.
6453
6454 2005-09-14  David Schleef  <ds@schleef.org>
6455
6456         * gst/gstregistryxml.c: Added.  Essentially moved out of the
6457           registries directory.
6458
6459 2005-09-14  David Schleef  <ds@schleef.org>
6460
6461         * check/Makefile.am:
6462         * check/generic/states.c:
6463         * gst/Makefile.am:
6464         * gst/gst.c:
6465         * gst/gst.h:
6466         * gst/gst_private.h:
6467         * gst/gstelementfactory.c:
6468         * gst/gstindex.c:
6469         * gst/gstinfo.c:
6470         * gst/gstplugin.c:
6471         * gst/gstplugin.h:
6472         * gst/gstpluginfeature.c:
6473         * gst/gstpluginfeature.h:
6474         * gst/gstregistry.c:
6475         * gst/gstregistry.h:
6476         * gst/gstregistrypool.c: remove
6477         * gst/gstregistrypool.h: remove
6478         * gst/gsttypefind.c:
6479         * gst/gsttypefindfactory.c:
6480         * gst/gsturi.c:
6481         * tools/Makefile.am:
6482         * tools/gst-compprep.c:
6483         * tools/gst-inspect.c:
6484         * tools/gst-register.c: remove
6485         * tools/gst-xmlinspect.c:
6486           Registry rewrite.  Changes registry from being a file created
6487           by a tool into a simple cache file created automatically by 
6488           libgstreamer.  Removed gst-register (because it's no longer
6489           needed).  Remove registry pools, because we only have one
6490           registry implementation (XML).  Fix up other subsystems as
6491           necessary.
6492
6493 2005-09-13  Michael Smith <msmith@fluendo.com>
6494
6495         * gst/gstconfig.h.in:
6496           Don't Use windows linking attributes for MinGW. Fixes #316157
6497
6498 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6499
6500         * gst/gstutils.c: (set_state_async_thread_func),
6501         (gst_element_set_state_async):
6502           Apparently people think it's better if this function doesn't
6503           try to set the state to whatever state was asked for on the first
6504           call to this function for any object.  Seriously.
6505
6506 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6507
6508         * check/gst/gstpipeline.c: (GST_START_TEST):
6509         * docs/gst/gstreamer-sections.txt:
6510         * gst/gstutils.c: (set_state_async_thread_func),
6511         (gst_element_set_state_async):
6512         * gst/gstutils.h:
6513           add a "gst_element_set_state_async" method that
6514           sets the state and starts a thread to make sure the state
6515           change completes as best as it can
6516
6517 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6518
6519         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6520           codify design+behaviour in testsuite after discussion
6521
6522 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6523
6524         * docs/gst/tmpl/gstelement.sgml:
6525         * docs/manual/appendix-quotes.xml:
6526           add a quote
6527         * gst/gstelement.c: (gst_element_set_state):
6528           add some debug
6529
6530 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
6531
6532         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6533         (gst_base_transform_prepare_output_buf),
6534         (gst_base_transform_handle_buffer):
6535         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
6536         (gst_capsfilter_prepare_buf):
6537           Remove the requirement for sub-classes to call the parent
6538           implementation of prepare_output_buffer with a wrapper function.
6539           
6540         * gst/gsttaglist.h:
6541         * gst/gsttagsetter.h:
6542           Fix #define wrapper
6543
6544 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
6545
6546         * docs/gst/gstreamer-sections.txt:
6547           more doc cleanups
6548
6549 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6550
6551         * docs/gst/gstreamer-sections.txt:
6552         * docs/gst/tmpl/gstelement.sgml:
6553         * docs/gst/tmpl/gstplugin.sgml:
6554         * gst/gstminiobject.c:
6555         * gst/gstvalue.h:
6556           docs now stop throwing warnings
6557
6558 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6559
6560         * docs/gst/gstreamer-sections.txt:
6561         * docs/gst/gstreamer.types:
6562         * docs/gst/tmpl/gstpad.sgml:
6563         * docs/gst/tmpl/gsttypes.sgml:
6564         * gst/base/gstadapter.h:
6565         * gst/base/gstbasesink.h:
6566         * gst/base/gstbasesrc.h:
6567         * gst/gstbin.h:
6568         * gst/gstbuffer.h:
6569         * gst/gstbus.h:
6570         * gst/gstcaps.h:
6571         * gst/gstclock.h:
6572         * gst/gstelement.h:
6573         * gst/gstevent.h:
6574         * gst/gstmessage.h:
6575         * gst/gstpad.h:
6576         * gst/gststructure.c:
6577         * gst/registries/gstlibxmlregistry.h:
6578           various documentation fixes
6579
6580 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6581
6582         * docs/gst/gstreamer-sections.txt:
6583         * docs/gst/tmpl/gstvalue.sgml:
6584           rearrange gstvalue section
6585         * gst/gstutils.c: (gst_element_state_get_name):
6586           NONE -> VOID
6587         * gst/gstvalue.c: (_gst_value_initialize):
6588         * gst/gstvalue.h:
6589           doc updates
6590
6591 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
6592
6593         * check/gst-libs/controller.c:
6594           Header include fix.
6595         * gst/base/gstbasetransform.c:
6596         (gst_base_transform_default_prepare_buf),
6597         (gst_base_transform_handle_buffer):
6598         * gst/base/gstbasetransform.h:
6599           Some more basetransform changes and fixes to enable sub-classes
6600           that modify buffer metadata only.
6601         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6602         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
6603         (gst_capsfilter_prepare_buf):
6604           If the output pad has fixed allowed caps and input buffers 
6605           don't have any, set the fixed caps on outgoing buffers.
6606
6607 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
6608         * check/elements/identity.c: (GST_START_TEST):
6609           Make the error a little clearer when the test fails because
6610           identity made a copy of the buffer.
6611         * docs/gst/gstreamer-sections.txt:
6612           New symbols in gstbasetransform.h
6613         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6614         (gst_base_transform_init), (gst_base_transform_transform_size),
6615         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6616         (gst_base_transform_default_prepare_buf),
6617         (gst_base_transform_get_unit_size),
6618         (gst_base_transform_buffer_alloc),
6619         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
6620         (gst_base_transform_change_state),
6621         (gst_base_transform_set_passthrough),
6622         (gst_base_transform_set_in_place),
6623         (gst_base_transform_is_in_place):
6624         * gst/base/gstbasetransform.h:
6625           Change BaseTransform to separate in_place operate from same_caps
6626           output. in_place implies that the element can perform the transform
6627           on incoming buffers in-place, even if the caps on the output are
6628           different.
6629           Sub-class elements can now implement special buffer allocation
6630           methods for outgoing buffers if they wish to.
6631           Big documentation addition.
6632         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
6633         * gst/elements/gstelements.c:
6634           Changes for basetransform modifications.
6635         * gst/elements/Makefile.am:
6636         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
6637           Compile fix. Extra debug output.
6638
6639 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6640
6641         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
6642         (gst_pad_suite):
6643           add tests for valid pad naming
6644         * gst/check/gstcheck.c: (gst_check_log_message_func),
6645         (gst_check_log_critical_func):
6646           add ASSERT_WARNING
6647           remove printing of code, it is fragile when the code contains
6648           % and the line number is enough info
6649         * gst/check/gstcheck.h:
6650         * gst/gstpad.c: (gst_pad_template_new):
6651           fix memleaks
6652
6653 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6654
6655         * configure.ac:
6656           say what CHECK flags we use
6657         * docs/libs/gstreamer-libs.types:
6658         * libs/gst/controller/Makefile.am:
6659         * libs/gst/controller/gst-controller.c:
6660         * libs/gst/controller/gst-controller.h:
6661         * libs/gst/controller/gst-helper.c:
6662         * libs/gst/controller/gst-interpolation.c:
6663         * libs/gst/controller/gstcontroller.c:
6664         * libs/gst/controller/gsthelper.c:
6665         * libs/gst/controller/gstinterpolation.c:
6666         * tools/gst-inspect.c: (print_plugin_info):
6667           we don't use dashes in header names
6668
6669 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6670
6671         * check/Makefile.am:
6672         * check/gst/.cvsignore:
6673         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
6674         (gst_pipeline_suite), (main):
6675           adding a test for pipelines and state changes
6676         * gst/gstutils.c: (get_state_func):
6677           add some debugging
6678         * gstreamer.spec.in:
6679           fix up spec file
6680
6681 2005-09-08  Michael Smith <msmith@fluendo.com>
6682
6683         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
6684         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
6685         (gst_file_src_is_seekable), (gst_file_src_get_size),
6686         (gst_file_src_start):
6687         * gst/elements/gstfilesrc.h:
6688           Various fixes for unseekable, unmmapable, and non-normal files, so
6689           that fallback to read() rather than mmap() works.
6690         * gst/gstevent.c: (gst_event_new_newsegment):
6691           Allow newsegment events with segment_start == segment_end, as will
6692           correctly happen if you use filesrc on a zero-size file, for
6693           example.
6694
6695 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6696
6697         * gst/gstplugin.c: (gst_plugin_load_file):
6698           Call g_module_close when we don't load the module
6699
6700         * gst/registries/gstlibxmlregistry.c:
6701         (gst_xml_registry_get_property):
6702           Port leak fix from 0.8
6703
6704 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6705
6706         * docs/gst/gstreamer-docs.sgml:
6707         * docs/gst/tmpl/.cvsignore:
6708         * docs/gst/tmpl/gsttrace.sgml:
6709         * docs/gst/tmpl/gsttrashstack.sgml:
6710         * gst/Makefile.am:
6711         * gst/gst.h:
6712         * gst/gstelement.h:
6713         * gst/gstevent.h:
6714         * gst/gstmessage.c:
6715         * gst/gstmessage.h:
6716         * gst/gsttag.c:
6717         * gst/gsttag.h:
6718         * gst/gsttaginterface.c:
6719         * gst/gsttaginterface.h:
6720         * gst/gsttaglist.c:
6721         * gst/gsttaglist.h:
6722         * gst/gsttagsetter.c:
6723         * gst/gsttagsetter.h:
6724         * gst/gsttrace.c:
6725         * gst/gsttrace.h:
6726         * gst/gsttrashstack.c:
6727           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
6728           inlined docs for gsttrace, gsttrashstack
6729
6730 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6731
6732         * gst/Makefile.am:
6733         * gst/elements/gstbufferstore.h:
6734         * gst/elements/gsttypefindelement.c:
6735         * gst/elements/gsttypefindelement.h:
6736         * gst/gst.h:
6737         * gst/gsttypefind.c:
6738         * gst/gsttypefind.h:
6739         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
6740         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
6741         (gst_type_find_factory_dispose),
6742         (gst_type_find_factory_unload_thyself),
6743         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
6744         (gst_type_find_factory_get_caps),
6745         (gst_type_find_factory_get_extensions),
6746         (gst_type_find_factory_call_function):
6747         * gst/gsttypefindfactory.h:
6748         * gst/registries/gstlibxmlregistry.c:
6749         * gst/registries/gstxmlregistry.c:
6750           splitted gsttypefind into gsttypefind, gsttypefindfactory
6751
6752 2005-09-07  Andy Wingo  <wingo@pobox.com>
6753
6754         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
6755         condition whereby the pad's task function is entered before the
6756         pad_mode variable was set.
6757
6758 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6759
6760         * gst/gstpad.c: (gst_pad_alloc_buffer):
6761           Catch misbehaving pad_alloc functions that don't
6762           set up caps and do it for them.
6763
6764 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6765
6766         * check/pipelines/simple_launch_lines.c: (run_pipeline):
6767           test for pipe!=NULL
6768         * docs/gst/tmpl/.cvsignore:
6769         * docs/gst/tmpl/gstmemchunk.sgml:
6770         * docs/gst/tmpl/gstparse.sgml:
6771         * docs/gst/tmpl/gsttaglist.sgml:
6772         * docs/gst/tmpl/gsttagsetter.sgml:
6773         * docs/gst/tmpl/gsttypefind.sgml:
6774         * docs/gst/tmpl/gsttypefindfactory.sgml:
6775         * gst/gstmemchunk.c:
6776         * gst/gstparse.c:
6777         * gst/gsttag.c:
6778         * gst/gsttaginterface.c:
6779         * gst/gsttypefind.c:
6780         * gst/gsttypefind.h:
6781           inlined more docs
6782
6783 === release 0.9.2 ===
6784
6785 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6786
6787         * NEWS:
6788         * RELEASE:
6789         * configure.ac:
6790           releasing 0.9.2, "South"
6791
6792 2005-09-05  Andy Wingo  <wingo@pobox.com>
6793
6794         * gst/registries/gstxmlregistry.h:
6795         * gst/registries/gstxmlregistry.c: Um... resurrect...
6796         
6797         * gst/registries/gstxmlregistry.h:
6798         * gst/registries/gstxmlregistry.c: and update to newer API.
6799         Incidentally they should be a bit faster now that they don't have
6800         to parse the caps.
6801         
6802 2005-09-05  Andy Wingo  <wingo@pobox.com>
6803
6804         * gst/registries/gstxmlregistry.h:
6805         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
6806         replaced by the libxml registry a while back
6807
6808 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6809
6810         * docs/gst/tmpl/gstplugin.sgml:
6811         * gst/elements/gstelements.c:
6812         * gst/gst.c:
6813         * gst/gstplugin.c: (gst_plugin_register_func),
6814         (gst_plugin_desc_copy), (gst_plugin_desc_free),
6815         (gst_plugin_get_source):
6816         * gst/gstplugin.h:
6817         * gst/registries/gstlibxmlregistry.c: (load_plugin),
6818         (gst_xml_registry_save_plugin):
6819         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
6820         (gst_xml_registry_save_plugin):
6821         * tools/gst-inspect.c: (print_plugin_info):
6822           add a "source" plugin description field, to represent the source
6823           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
6824           will set it to PACKAGE, which is automake's idea of the name of
6825           the source project.
6826
6827 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6828
6829         * Makefile.am:
6830         * autogen.sh:
6831         * configure.ac:
6832         * docs/Makefile.am:
6833         * docs/faq/Makefile.am:
6834         * docs/gst/tmpl/gstelement.sgml:
6835         * docs/gst/tmpl/gsttypes.sgml:
6836         * docs/htmlinstall.mak:
6837         * docs/manual/Makefile.am:
6838         * docs/pwg/Makefile.am:
6839           reorganize doc build a little
6840           split out docbook and gtk-doc stuff
6841           have two separate --enable's and enable them through autogen
6842           but disable by default in configure (to be similar to other
6843           projects)
6844         * gstreamer.spec.in:
6845           clean up docs install
6846         * po/af.po:
6847         * po/az.po:
6848         * po/ca.po:
6849         * po/cs.po:
6850         * po/de.po:
6851         * po/en_GB.po:
6852         * po/fr.po:
6853         * po/it.po:
6854         * po/nb.po:
6855         * po/nl.po:
6856         * po/ru.po:
6857         * po/sq.po:
6858         * po/sr.po:
6859         * po/sv.po:
6860         * po/tr.po:
6861         * po/uk.po:
6862         * po/vi.po:
6863           translation updates
6864
6865 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
6866
6867         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
6868           Add comment.
6869           
6870         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6871         (gst_fake_sink_change_state):
6872           Make state change function thread-safe.
6873           
6874         * gst/gstpad.c: (gst_pad_alloc_buffer):
6875           Set offset on generic buffer allocated by fallback.
6876
6877 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
6878
6879         * docs/gst/gstreamer-sections.txt:
6880         * docs/gst/tmpl/gstelement.sgml:
6881         * gst/gstpad.c:
6882         * libs/gst/controller/gst-controller.c:
6883         (gst_controlled_property_set_interpolation_mode),
6884         (gst_controlled_property_new),
6885         (gst_controller_find_controlled_property):
6886          run the wingo-magic script against the docs
6887
6888 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6889
6890         * docs/gst/gstreamer-docs.sgml:
6891         * docs/gst/gstreamer-sections.txt:
6892         * docs/gst/tmpl/.cvsignore:
6893         * docs/gst/tmpl/gstelementdetails.sgml:
6894         * docs/gst/tmpl/gstelementfactory.sgml:
6895         * gst/gst.c:
6896         * gst/gstbus.c:
6897         * gst/gstelementfactory.c:
6898         * gst/gstelementfactory.h:
6899           merged elementdetails docs into elementfactory docs
6900           inlined both
6901
6902 2005-09-02  Andy Wingo  <wingo@pobox.com>
6903
6904         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
6905         consider this enum an enum and not a flags.
6906
6907 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6908
6909         * docs/gst/gstreamer-docs.sgml:
6910         * docs/gst/tmpl/.cvsignore:
6911         * docs/gst/tmpl/gstghostpad.sgml:
6912         * docs/gst/tmpl/gstiterator.sgml:
6913         * docs/gst/tmpl/gstmacros.sgml:
6914         * docs/gst/tmpl/gstrealpad.sgml:
6915         * docs/gst/tmpl/gstregistry.sgml:
6916         * docs/gst/tmpl/gstregistrypool.sgml:
6917         * docs/gst/tmpl/gststructure.sgml:
6918         * docs/gst/tmpl/gstsystemclock.sgml:
6919         * docs/gst/tmpl/gsttrace.sgml:
6920         * gst/gstghostpad.c:
6921         * gst/gstmacros.h:
6922         * gst/gstmemchunk.c:
6923         * gst/gstmemchunk.h:
6924         * gst/gstqueue.c:
6925         * gst/gstregistry.c:
6926         * gst/gstregistrypool.c:
6927         * gst/gststructure.c:
6928         * gst/gstsystemclock.c:
6929           more docs inlined
6930
6931 2005-09-02  Andy Wingo  <wingo@pobox.com>
6932
6933         * gst/gstelement.h (GstState): Renamed from GstElementState,
6934         changed to be a normal enum instead of flags.
6935         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
6936         munged to be GST_STATE_CHANGE_*.
6937         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
6938         work with the new state representation.
6939         (GstStateChange): New enumeration of possible state transitions.
6940         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
6941         (GstElementClass::change_state): Pass the GstStateChange along as
6942         an argument. Helps language bindings, so they don't have to use
6943         tricky lock-needing macros like GST_STATE_CHANGE ().
6944
6945         * scripts/update-states (file): New script. Run it on a file to
6946         update it for state naming and API changes. Updates files in
6947         place.
6948
6949         * All files updated for the new API.
6950
6951 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6952
6953         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
6954         * gst/gstutils.c: (gst_util_set_value_from_string),
6955         (gst_util_set_object_arg):
6956           fix a bunch of unchecked return values
6957         * tools/gst-complete.c: (main):
6958         * gstreamer.spec.in:
6959           clean up a little
6960
6961 2005-09-01  Wim Taymans  <wim@fluendo.com>
6962
6963         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6964         (gst_base_sink_event), (gst_base_sink_do_sync),
6965         (gst_base_sink_handle_event):
6966         * gst/base/gstbasesink.h:
6967         Handle newsegments more correctly.
6968
6969         * gst/gstbus.c:
6970         Fix docs.
6971
6972         * gst/gstevent.c: (gst_event_new_newsegment):
6973         A newsegment cannot have a start_time of -1
6974
6975 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
6976
6977         * win32/gstenumtypes.c:
6978         * win32/gstenumtypes.h:
6979           Update
6980
6981 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6982
6983         * libs/gst/controller/gst-controller.c:
6984         (gst_controlled_property_set_interpolation_mode),
6985         (gst_controlled_property_new):
6986          fixed boolean again
6987
6988 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
6989
6990         * docs/faq/gst-uninstalled:
6991           add -good
6992         * gst/gstevent.c:
6993         * gst/gstevent.h:
6994           remove wrong docs
6995         * gst/gstutils.c: (gst_element_link_filtered):
6996         * gst/gstutils.h:
6997           add gst_element_link_filtered
6998
6999 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7000
7001         * docs/gst/gstreamer-docs.sgml:
7002         * docs/gst/gstreamer-sections.txt:
7003         * docs/gst/tmpl/.cvsignore:
7004         * docs/gst/tmpl/gsterror.sgml:
7005         * docs/gst/tmpl/gstfilter.sgml:
7006         * docs/gst/tmpl/gsturihandler.sgml:
7007         * docs/gst/tmpl/gsturitype.sgml:
7008         * docs/gst/tmpl/gstutils.sgml:
7009         * docs/gst/tmpl/gstxml.sgml:
7010         * gst/gsterror.c:
7011         * gst/gsterror.h:
7012         * gst/gstfilter.c:
7013         * gst/gsturi.c:
7014         * gst/gsturitype.c:
7015         * gst/gstutils.c:
7016         * gst/gstxml.c:
7017           inlined more docs, fixed double id-ref
7018
7019 2005-08-31  Wim Taymans  <wim@fluendo.com>
7020
7021         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7022         (gst_base_transform_handle_buffer):
7023         Passthrough elements don't need the caps as they don't care.
7024
7025 2005-08-31  Wim Taymans  <wim@fluendo.com>
7026
7027         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7028         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
7029         Don't leak refcounts on buffers.
7030
7031 2005-08-31  Wim Taymans  <wim@fluendo.com>
7032
7033         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
7034         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
7035         (gst_base_transform_chain), (gst_base_transform_change_state):
7036         * gst/base/gstbasetransform.h:
7037         Handle the case where we are not negotiated more gracefully.
7038
7039 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
7040
7041         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
7042         (gst_file_src_map_region):
7043           Set READONLY flag on mmap'ed buffers, otherwise
7044           gst_buffer_make_writable() won't work properly (#314708).
7045
7046 2005-08-31  Wim Taymans  <wim@fluendo.com>
7047
7048         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
7049         passthrough elements can even do inplace on non writable
7050         buffers (as they don't touch them).
7051
7052 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7053
7054         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7055         (gst_test_mono_source_set_property),
7056         (gst_test_mono_source_class_init), (GST_START_TEST),
7057         (gst_controller_suite):
7058           more tests (hehe I have the most)
7059         * gst/gstbus.c:
7060           describe popping messages whenusing mulltiple sources
7061         * libs/gst/controller/gst-controller.c:
7062         (gst_controlled_property_set_interpolation_mode),
7063         (gst_controlled_property_new):
7064         * libs/gst/controller/gst-controller.h:
7065         * libs/gst/controller/gst-interpolation.c:
7066           implement boolean properties
7067
7068 2005-08-31  Wim Taymans  <wim@fluendo.com>
7069
7070         * gst/gstminiobject.c: (gst_mini_object_ref):
7071         Cannot assert that the refcount has to be positive
7072         since a disposed object can be resurrected.
7073
7074 2005-08-31  Wim Taymans  <wim@fluendo.com>
7075
7076         * gst/gstpad.c: (gst_pad_init):
7077         Revert change, need to first fix badly behaving 
7078         apps.
7079
7080 2005-08-30  Wim Taymans  <wim@fluendo.com>
7081
7082         * check/elements/fakesrc.c: (setup_fakesrc):
7083         * check/elements/identity.c: (setup_identity):
7084         Activate pads before using them.
7085
7086 2005-08-30  Wim Taymans  <wim@fluendo.com>
7087
7088         * gst/base/gstadapter.c: (gst_adapter_flush):
7089         Flushing out 0 bytes is ok for this function.
7090
7091         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7092         no newsegment gives a warning and sets the start/stop to 
7093         invalid.
7094
7095         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
7096         (gst_base_transform_set_passthrough):
7097         Some debug info.
7098
7099         * gst/gstminiobject.c: (gst_mini_object_ref):
7100         Check refcount here too.
7101
7102         * gst/gstpad.c: (gst_pad_init):
7103         Pads are initially flushing and refusing data.
7104
7105         * gst/gstutils.c: (gst_element_link_pads_filtered):
7106         When adding a capsfilter element make sure it has the
7107         same state as the parent bin.
7108
7109 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7110
7111         * docs/gst/tmpl/.cvsignore:
7112         * docs/gst/tmpl/gstformat.sgml:
7113         * docs/gst/tmpl/gstversion.sgml:
7114         * gst/gstbus.h:
7115         * gst/gstformat.c:
7116         * gst/gstformat.h:
7117         * gst/gstversion.h.in:
7118           more docs and two more inlined
7119
7120 2005-08-30  Wim Taymans  <wim@fluendo.com>
7121
7122         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
7123         Don't sync to clock.
7124
7125 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7126
7127         * docs/gst/gstreamer-sections.txt:
7128           ultral33t func10ns deserve to appear in the docs actually
7129         * docs/gst/tmpl/.cvsignore:
7130         * docs/gst/tmpl/gstcompat.sgml:
7131         * docs/gst/tmpl/gstconfig.sgml:
7132         * gst/check/gstcheck.c:
7133         * gst/gstcompat.h:
7134         * gst/gstconfig.h.in:
7135           inlined more docs
7136
7137 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7138
7139         * docs/gst/tmpl/.cvsignore:
7140         * docs/gst/tmpl/gstquery.sgml:
7141         * docs/gst/tmpl/gstutils.sgml:
7142         * gst/gstquery.c:
7143         * gst/gstquery.h:
7144           inlined and extended docs
7145
7146 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7147
7148         * check/gst-libs/controller.c: (GST_START_TEST),
7149         (gst_controller_suite):
7150           more tests
7151         * docs/gst/tmpl/gstutils.sgml:
7152         * docs/libs/gstreamer-libs-sections.txt:
7153         * docs/libs/tmpl/gstdataprotocol.sgml:
7154           include path fixes
7155         * examples/controller/audio-example.c: (main):
7156           controller example works now
7157         * gst/gstclock.h:
7158           doc fixes
7159         * tools/gst-inspect.c: (print_element_properties_info):
7160           show param spec flags
7161
7162 2005-08-29  Andy Wingo  <wingo@pobox.com>
7163
7164         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
7165
7166 2005-08-28  Andy Wingo  <wingo@pobox.com>
7167
7168         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
7169         as having two arguments instead of just one. Allows superclasses
7170         to access information on subclasses -- see the terrible for() loop
7171         in gtype.c:g_type_create_instance for the reason why. All callers
7172         changed.
7173
7174 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7175
7176         * docs/design/part-messages.txt:
7177           update info
7178         * docs/gst/tmpl/.cvsignore:
7179         * docs/gst/tmpl/gstcaps.sgml:
7180         * docs/gst/tmpl/gstclock.sgml:
7181         * gst/gstbus.c:
7182         * gst/gstcaps.c:
7183         * gst/gstcaps.h:
7184         * gst/gstclock.c:
7185         * gst/gstclock.h:
7186         * gst/gstmessage.c:
7187           added descriptions for bus and message
7188           inline caps and clock docs
7189
7190 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7191
7192         * gst/gstmessage.c:
7193         * gst/gstmessage.h:
7194           doc fixes
7195
7196 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7197
7198         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7199           fix div-by-zero
7200
7201 2005-08-26  Andy Wingo  <wingo@pobox.com>
7202
7203         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
7204         element_set_state's return val.
7205         (test_2_elements): Add test that's been disabled for months.
7206
7207         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
7208         can-activate-pull properties.
7209
7210         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
7211         can-activate-pull properties. Implement is_seekable so fakesrc can
7212         operate in pull mode.
7213
7214         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7215         properties.
7216         (gst_base_sink_activate, gst_base_sink_activate_pull)
7217         (gst_base_sink_activate_push): Make activation mode choosing work.
7218         Cleanups.
7219         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7220         is right. Make pull mode work. Post an eos before pausing in pull
7221         mode.
7222         (gst_base_sink_change_state): Pay attention to the core's
7223         change_state() return val.
7224         
7225         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7226         has-getrange properties. Cleanups.
7227         
7228         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7229         has_getrange and replace with can_activate_pull and
7230         can_activate_push.
7231
7232         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7233         locking comments. Remove has_loop, has_chain and replace with
7234         can_activate_pull and can_activate_push.
7235
7236 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
7237
7238         * configure.ac:
7239         * examples/Makefile.am:
7240         * examples/metadata/Makefile.am:
7241         * examples/metadata/read-metadata.c: (message_loop),
7242         (have_pad_handler), (make_pipeline), (print_tag), (main):
7243           Add metadata reading example that loops over a list of filenames,
7244           dumping any tags found.
7245
7246         * gst/gstbus.c: (gst_bus_dispose):
7247         * gst/gstelement.c: (gst_element_dispose):
7248           Release a few potentially-held references in dispose.
7249
7250 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7251
7252         * docs/gst/tmpl/gstminiobject.sgml:
7253           do *not* add tmpl/*.sgml files to CVS!
7254
7255 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7256
7257         * libs/gst/bytestream/.cvsignore:
7258         * libs/gst/bytestream/Makefile.am:
7259         * libs/gst/bytestream/adapter.c:
7260         * libs/gst/bytestream/adapter.h:
7261         * libs/gst/bytestream/bytestream.c:
7262         * libs/gst/bytestream/bytestream.h:
7263         * libs/gst/bytestream/filepad.c:
7264         * libs/gst/bytestream/filepad.h:
7265           removing obsolete files
7266
7267 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7268
7269         * docs/gst/gstreamer-docs.sgml:
7270         * docs/libs/gstreamer-libs-docs.sgml:
7271           disabed additional index entries again, as this makes docs-gen just
7272           slow and they aren't useful yet
7273         * docs/libs/gstreamer-libs-sections.txt:
7274           little -section.txt cleanup for libs
7275
7276 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7277
7278         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7279         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7280           fix up some debugging
7281         (gst_base_transform_get_unit_size),
7282         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7283         (gst_base_transform_handle_buffer):
7284         * gst/base/gstbasetransform.h:
7285           handle and store timed NEWSEGMENT events so that subclasses that
7286           calculate time by counting samples have a segment_start time they
7287           need to add to their timestamps - see audioresample
7288
7289 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7290
7291         * gst/gstbin.h:
7292           removed ';' from the end of macro defs
7293         * docs/gst/gstreamer-docs.sgml:
7294         * docs/gst/gstreamer-sections.txt:
7295         * docs/gst/tmpl/.cvsignore:
7296         * gst/gstbus.h:
7297         * gst/gstelement.c: (gst_element_class_init),
7298         (gst_element_set_state), (activate_pads),
7299         (gst_element_save_thyself):
7300         * gst/gstevent.c: (gst_event_new_newsegment):
7301         * gst/gstevent.h:
7302         * gst/gstiterator.c:
7303         * gst/gstiterator.h:
7304         * gst/gstpad.c:
7305         * gst/gstprobe.h:
7306         * gst/gstutils.c: (gst_pad_query_convert):
7307         * gst/gstutils.h:
7308           fixed parameter name mismatches between source, header and docs
7309           added some more docs, resolved the last batch of unused elements in
7310           docs (now someone needs to doc them)
7311
7312 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7313
7314         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7315         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7316           don't walk through the plugins backwards.  Where is all this
7317           reversed logic coming from ?
7318
7319 2005-08-25  Wim Taymans  <wim@fluendo.com>
7320
7321         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7322         (gst_base_transform_transform_size),
7323         (gst_base_transform_configure_caps),
7324         (gst_base_transform_get_unit_size),
7325         (gst_base_transform_buffer_alloc),
7326         (gst_base_transform_change_state):
7327         * gst/base/gstbasetransform.h:
7328         Cache caps unit_size.
7329         Make sure we cannot negotiate up and downstream at the
7330         same time.
7331
7332 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7333
7334         * gst/gst.c: (init_pre), (init_post):
7335           register the installed plugin path after the env var
7336         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7337         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7338           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7339           directories, so the tests can prefer uninstalled over installed
7340
7341 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7342
7343         * gst/base/gstbasetransform.h:
7344           comment
7345         * gst/gstpad.c:
7346           add to docs
7347
7348 2005-08-25  Wim Taymans  <wim@fluendo.com>
7349
7350         * gst/gstbin.c: (bin_bus_handler):
7351         Be a bit more conservative about the posted message.
7352         
7353         * gst/gstbus.c: (gst_bus_post):
7354         Some cleanups, warn wrong return values.
7355
7356 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
7357
7358         * check/gst/gstbin.c: (GST_START_TEST):
7359         * gst/gstbin.c: (bin_bus_handler):
7360         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7361         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7362         (gst_message_new_warning), (gst_message_new_tag),
7363         (gst_message_new_state_changed), (gst_message_new_segment_start),
7364         (gst_message_new_segment_done), (gst_message_new_custom):
7365         * gst/gstmessage.h:
7366         * tools/gst-launch.c: (event_loop):
7367         * tools/gst-md5sum.c: (event_loop):
7368           Revert unpopular change for GST_MESSAGE_SRC to GObject.
7369
7370 2005-08-25  Wim Taymans  <wim@fluendo.com>
7371
7372         * check/generic/states.c: (GST_START_TEST):
7373         Cleanup can be done at the end.
7374
7375         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7376         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7377         (gst_task_get_state), (gst_task_start), (gst_task_pause):
7378         Oh boy.. Thanks for finding this, Thomas. 
7379
7380 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7381
7382         * docs/gst/gstreamer.types:
7383           added missing types
7384
7385 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7386
7387         * docs/gst/gstreamer-docs.sgml:
7388         * docs/gst/gstreamer-sections.txt:
7389         * docs/gst/tmpl/.cvsignore:
7390         * gst/gstbin.c:
7391         * gst/gstiterator.c:
7392         * gst/gstutils.c:
7393         * gst/registries/gstxmlregistry.h:
7394           added missing classes and symbols (123 more to go)
7395           removed removed symbols from section file
7396           fixed many doc-comments
7397
7398 2005-08-24  Wim Taymans  <wim@fluendo.com>
7399
7400         * check/generic/states.c: (GST_START_TEST):
7401         Make sure all tasks are stopped.
7402
7403         * check/gst/gstbin.c: (GST_START_TEST):
7404         Unref after usage for proper valgrinding.
7405
7406         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
7407         Really wait for the task to stop before destroying the
7408         mutex.
7409
7410         * gst/gstqueue.c: (gst_queue_sink_activate_push),
7411         (gst_queue_src_activate_push):
7412         Small cleanups. Don't stop the task when we did not start
7413         it.
7414
7415         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
7416         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7417         (gst_task_get_state), (gst_task_start), (gst_task_pause),
7418         (gst_task_join):
7419         * gst/gsttask.h:
7420         Protect the stream lock with the object lock.
7421         Disallow setting the stream lock when running.
7422         Add cleanup_all to wait for the threadpool to finish.
7423         Remove code to autoallocate a mutex if none was provided.
7424         Add _join() to wait for a task to stop.
7425         Protect the thread pool with a global lock.
7426
7427 2005-08-24  Wim Taymans  <wim@fluendo.com>
7428
7429         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7430         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7431         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
7432         * gst/base/gstbasesink.h:
7433         Handle newsegment events correctly.
7434         Drop buffers out of the segment range.
7435
7436 2005-08-22  Andy Wingo  <wingo@pobox.com>
7437
7438         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
7439         macro, implements an interface and gstimplementsinterface for a
7440         new type.
7441
7442 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7443
7444         * check/Makefile.am:
7445         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
7446           add a test that does a bunch of state changes on elements
7447           needs some fixing for valgrind
7448         * check/states/sinks.c: (gst_object_suite):
7449           whitespace
7450         * gst/gstcaps.h:
7451           add prototype for gst_caps_is_equal_fixed
7452         * gst/gstplugin.c:
7453         * gst/gstregistrypool.c:
7454           doc fixes
7455
7456 2005-08-24  Andy Wingo  <wingo@pobox.com>
7457
7458         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
7459         convert a negative value. Doesn't make much sense. Mostly this is
7460         here to force callers to ensure -1 maps to -1.
7461
7462 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7463
7464         * docs/pwg/advanced-types.xml:
7465           Well done to Michael for catching my deliberate introduction
7466           of this spelling mistake. 
7467         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
7468         * gst/gstelement.h:
7469           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
7470           unlink pads before removing the element from the bin.
7471
7472 2005-08-24  Andy Wingo  <wingo@pobox.com>
7473
7474         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
7475         the same thing as GST_DEBUG=*:4.
7476         (parse_debug_level, parse_debug_category): New helper parsers.
7477
7478 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7479
7480         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7481         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
7482         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
7483         (gst_base_transform_buffer_alloc),
7484         (gst_base_transform_handle_buffer):
7485           use gboolean return values and pointers to size so we can use the
7486           full GST_BUFFER_SIZE range (guint) for buffer sizes
7487           use GstPadDirection for transform_caps
7488         * gst/base/gstbasetransform.h:
7489           rename get_size to get_unit_size since that's what it is
7490         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
7491           use GstPadDirection for transform_caps
7492         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7493         * gst/gstutils.h:
7494           cleanup and debugging
7495
7496 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7497
7498         * gst/gstelement.c: (gst_element_class_init),
7499         (gst_element_set_state), (activate_pads),
7500         (gst_element_save_thyself):
7501         * tools/gst-compprep.c: (main):
7502         * tools/gst-inspect.c: (print_element_properties_info):
7503         * tools/gst-xmlinspect.c: (print_element_properties):
7504           Fixed long standing mem-leak
7505
7506 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7507
7508         * check/gst/gstbin.c: (GST_START_TEST):
7509         * gst/gstbin.c: (bin_bus_handler):
7510         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7511         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7512         (gst_message_new_warning), (gst_message_new_tag),
7513         (gst_message_new_state_changed), (gst_message_new_segment_start),
7514         (gst_message_new_segment_done), (gst_message_new_custom):
7515         * gst/gstmessage.h:
7516         * tools/gst-launch.c: (event_loop):
7517         * tools/gst-md5sum.c: (event_loop):
7518           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
7519           that applications can sensibly post custom messages with references
7520           to their own objects.
7521
7522 2005-08-24  Andy Wingo  <wingo@pobox.com>
7523
7524         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
7525         already.
7526
7527 2005-08-24  Wim Taymans  <wim@fluendo.com>
7528
7529         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7530         (gst_base_transform_transform_caps),
7531         (gst_base_transform_transform_size),
7532         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7533         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7534         (gst_base_transform_handle_buffer):
7535         * gst/base/gstbasetransform.h:
7536         Many fixes and new features added by Thomas. Can now also do
7537         transforms with variable sizes and a custom fixate_caps function.
7538
7539 2005-08-24  Wim Taymans  <wim@fluendo.com>
7540
7541         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7542         Some debugging.
7543
7544         * gst/gstclock.h:
7545         Cast to ClockTime before formatting to time.
7546
7547         * gst/gstutils.h:
7548         Cleanups.
7549
7550 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7551
7552         * check/gst-libs/controller.c: (GST_START_TEST),
7553         (gst_controller_suite):
7554         * docs/gst/tmpl/gstcaps.sgml:
7555         * docs/gst/tmpl/gstghostpad.sgml:
7556         * docs/gst/tmpl/gstquery.sgml:
7557         * docs/gst/tmpl/gstutils.sgml:
7558         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
7559         (gst_object_sink_values), (gst_object_get_value_arrays),
7560         (gst_object_get_value_array):
7561           gracefully handle helper method calls to objects that are not beeing
7562           controlled, added test case for that          
7563
7564 2005-08-23  Wim Taymans  <wim@fluendo.com>
7565
7566         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
7567         (gst_event_new_newsegment), (gst_event_parse_newsegment),
7568         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
7569         (gst_event_parse_qos), (gst_event_new_seek),
7570         (gst_event_parse_seek):
7571         * gst/gstevent.h:
7572         Some more debugging output and doc cleanups.
7573
7574         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7575         Fix possible deadlock.
7576
7577 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7578
7579         * docs/gst/gstreamer-docs.sgml:
7580         * docs/gst/gstreamer-sections.txt:
7581         * docs/gst/gstreamer.types:
7582         * docs/gst/tmpl/.cvsignore:
7583         * gst/gstbin.h:
7584         * gst/gstbus.c:
7585         * gst/gstelement.c:
7586         * gst/gstevent.h:
7587           added 100 symbols from gstreamer-unused.txt to the right sections
7588           fixed more broken comments
7589           added GstBus to docs
7590
7591 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7592
7593         * docs/gst/gstreamer-sections.txt:
7594         * docs/gst/tmpl/.cvsignore:
7595         * docs/gst/tmpl/gstbin.sgml:
7596         * docs/gst/tmpl/gstbuffer.sgml:
7597         * gst/base/gstbasesrc.c:
7598         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
7599         * gst/gstbuffer.c:
7600         * gst/gstbuffer.h:
7601         * tools/gst-launch.1.in:
7602           inlined more doc comments, added missing comments and fixed comments
7603           fixed typos
7604
7605 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7606
7607         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7608           some debugging
7609         * gst/gstcaps.h:
7610           whitespace fixes
7611         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
7612           more debugging
7613         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
7614         * gst/gststructure.h:
7615           add a fixate function for booleans; add a FIXME that these func
7616           names should probably be gst_structure_fixate_*
7617
7618 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7619
7620         * docs/gst/gstreamer-docs.sgml:
7621         * docs/gst/gstreamer-sections.txt:
7622         * gst/Makefile.am:
7623         * gst/gstbin.c: (gst_bin_get_type),
7624         (gst_bin_child_proxy_get_child_by_index),
7625         (gst_bin_child_proxy_get_children_count),
7626         (gst_bin_child_proxy_init):
7627         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
7628         (gst_child_proxy_get_child_by_index),
7629         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
7630         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
7631         (gst_child_proxy_get), (gst_child_proxy_set_property),
7632         (gst_child_proxy_set_valist), (gst_child_proxy_set),
7633         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
7634         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
7635         * gst/gstchildproxy.h:
7636         * gst/parse/grammar.y:
7637         * tools/gst-inspect.c: (print_interfaces),
7638         (print_element_properties_info), (print_element_info):
7639           ported gstchildproxy over from 0.8
7640           ported gst-inspect fixes and enhancements over from 0.8
7641
7642 2005-08-22  Wim Taymans  <wim@fluendo.com>
7643
7644         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7645         (gst_base_transform_handle_buffer):
7646         Also call the transform function if we have ANY caps.
7647
7648         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
7649         Fix debug info.
7650
7651 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7652
7653         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
7654           Don't pretend to handle seek events if the source is not seekable
7655
7656 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7657
7658         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7659           Remove extra parameter to debug output
7660
7661         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7662         (gst_base_src_do_seek), (gst_base_src_activate_push):
7663           Fix seek event handling.
7664
7665         * gst/gstpipeline.c: (gst_pipeline_change_state):
7666         * gst/gstqueue.c: (gst_queue_handle_sink_event),
7667         (gst_queue_src_activate_push):
7668           Don't start the src pad task on FLUSH_STOP if the pad
7669           isn't linked.
7670           Debug changes.
7671
7672 2005-08-22  Wim Taymans  <wim@fluendo.com>
7673
7674         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
7675         Added check for gst_static_caps_get() refcounting.
7676
7677 2005-08-22  Wim Taymans  <wim@fluendo.com>
7678
7679         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
7680         Make _static_caps_get() refcounting sane.
7681         
7682         * gst/gstelement.c: (gst_element_set_state):
7683         Add g_return_val_if_fail() to protect against segfaults.
7684
7685 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
7686
7687         * docs/gst/tmpl/gstevent.sgml:
7688         * gst/gstevent.c:
7689         * gst/gstevent.h:
7690           inlined remaining docs, added missing doc comments
7691
7692 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7693
7694         * check/gst/gstbin.c: (GST_START_TEST):
7695           since we don't know when preroll is done, use refcount range
7696           check for the sink
7697         * gst/check/gstcheck.h:
7698           add macro for checking refcount range
7699
7700 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7701
7702         * check/Makefile.am:
7703           clean up environment for when registry gets built versus
7704           when actual tests are run; valgrind seems to not report
7705           leaks if GST_PLUGIN_PATH is set to some specific values
7706         * check/gst/gstbin.c: (GST_START_TEST):
7707           add more refcounting checks; maybe this exposes a
7708           preroll lock bug ?
7709         * common/check.mak:
7710         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7711         * gst/check/gstcheck.h:
7712         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
7713         (gst_bin_change_state):
7714         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
7715           add/fix debugging/whitespace
7716
7717 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7718
7719         * check/gst/gstevent.c: (event_probe), (test_event),
7720         (GST_START_TEST):
7721          Er, don't call gst_bin_watch_for_state_change you idiot.
7722
7723 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7724
7725         * check/Makefile.am:
7726           Use CHECK_CFLAGS and CHECK_LIBS
7727         * check/gst/gstevent.c: (event_probe), (test_event),
7728         (GST_START_TEST):
7729           Don't leak events.
7730         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7731         (gst_base_src_start), (gst_base_src_stop),
7732         (gst_base_src_activate_push), (gst_base_src_activate_pull),
7733         (gst_base_src_change_state):
7734           Sprinkle gst_base_src_stop liberally around error paths to fix
7735           problems reusing a source after failed state changes.
7736         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7737         (helper_find_suggest), (gst_type_find_helper):
7738           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
7739         * gst/gstevent.h:
7740         * docs/gst/tmpl/gstevent.sgml:
7741           Migrate part of the docs from the SGML file. Wait for ensonic to
7742           tell me how I did it wrong ;)
7743         * tools/gst-typefind.c: (main):
7744           Extra robustness to state changes between files.
7745
7746 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7747
7748         * check/Makefile.am:
7749           don't valgrind the controller test - it's leaking - Stefan, HELP
7750         * gst/check/gstcheck.c: (gst_check_message_error),
7751         (gst_check_chain_func), (gst_check_setup_element),
7752         (gst_check_teardown_element), (gst_check_setup_src_pad),
7753         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
7754         (gst_check_teardown_sink_pad):
7755         * gst/check/gstcheck.h:
7756           add a bunch of methods to set up elements, and src and sink pads
7757         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
7758         * check/elements/identity.c: (setup_identity), (cleanup_identity),
7759         (GST_START_TEST):
7760           use them
7761         * gst/gstmessage.c:
7762         * gst/gsttag.h:
7763           whitespace/doc fixes
7764
7765 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7766
7767         * gst/gstelement.h:
7768           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
7769           be handled by the application and not always printed as well
7770
7771 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7772
7773         * check/Makefile.am:
7774           set GST_TOOLS_DIR
7775         * gst/check/gstcheck.c: (gst_check_message_error):
7776         * gst/check/gstcheck.h:
7777           add a fail_unless_equals_int
7778           add fail_unless for error messages
7779
7780 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7781
7782         * check/Makefile.am:
7783         * check/gst.supp:
7784         * common/Makefile.am:
7785         * common/check.mak:
7786         * common/gst.supp:
7787           factor out some of the common stuff so we can use it
7788
7789 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7790
7791         * check/Makefile.am:
7792         * check/gst/gstiterator.c: (GST_START_TEST):
7793         * check/gst/gstsystemclock.c: (GST_START_TEST),
7794         (gst_systemclock_suite):
7795         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7796         * gst/gstclock.c:
7797           valgrind more tests
7798
7799 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7800
7801         * check/elements/.cvsignore:
7802         * check/elements/gstfakesrc.c:
7803           rename to name of element
7804         * check/elements/identity.c: (chain_func), (event_func),
7805         (setup_identity), (cleanup_identity), (GST_START_TEST),
7806         (identity_suite), (main):
7807           add a test for identity
7808         * check/Makefile.am:
7809         * pkgconfig/Makefile.am:
7810         * pkgconfig/gstreamer-check.pc.in:
7811         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7812         * gst/check:
7813         * gst/Makefile.am:
7814         * configure.ac:
7815           move the check stuff to a library that gets installed
7816         * check/gst-libs/controller.c: (GST_START_TEST):
7817         * check/gst-libs/gdp.c:
7818         * check/gst/gst.c: (GST_START_TEST):
7819         * check/gst/gstbin.c:
7820         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7821         * check/gst/gstbus.c:
7822         * check/gst/gstcaps.c: (GST_START_TEST):
7823         * check/gst/gstelement.c:
7824         * check/gst/gstghostpad.c:
7825         * check/gst/gstiterator.c:
7826         * check/gst/gstmessage.c:
7827         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
7828         * check/gst/gstobject.c:
7829         * check/gst/gstpad.c: (GST_START_TEST):
7830         * check/gst/gststructure.c: (GST_START_TEST):
7831         * check/gst/gstsystemclock.c: (GST_START_TEST),
7832         (gst_systemclock_suite):
7833         * check/gst/gsttag.c: (gst_tag_suite):
7834         * check/gst/gstvalue.c:
7835         * check/pipelines/cleanup.c:
7836         * check/pipelines/simple_launch_lines.c:
7837         * check/states/sinks.c:
7838           change include statement
7839
7840         * docs/gst/gstreamer-sections.txt:
7841         * docs/gst/tmpl/gstpad.sgml:
7842           document more pad stuff
7843         * gst/gstminiobject.c: (gst_mini_object_ref),
7844         (gst_mini_object_unref):
7845           debug refcounting
7846
7847 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
7848
7849         * docs/gst/tmpl/gst.sgml:
7850         * gst/gst.c:
7851           eliminate another tmpl file, fix spelling in the long-description
7852
7853 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7854
7855         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7856         (test_event), (timediff), (gstevents_suite):
7857           Should fix build on 64-bit arch's
7858
7859 2005-08-18  Andy Wingo  <wingo@pobox.com>
7860
7861         Make sure that when a pipeline goes to PLAYING, that data has
7862         actually hit the sink.
7863
7864         * check/states/sinks.c (test_sink): A sink that doesn't get any
7865         data shouldn't return SUCCESS for going to either PLAYING or
7866         PAUSED. Test also the return values on the way back down.
7867
7868         * gst/gstelement.c (gst_element_set_state): When changing the
7869         state of an element currently changing state asynchronously, go to
7870         lost-state after commiting the pending state. Makes future calls
7871         to get_state continue to return ASYNC.
7872
7873         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
7874         ASYNC when going to PLAYING if we still don't have preroll, as can
7875         happen with live sources.
7876
7877 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7878
7879         * docs/pwg/advanced-types.xml:
7880           Hack long paragraph into 2 chunks as a workaround for buggy
7881           jadetex version in sid and breezy that loops infinitely and
7882           eats all RAM.
7883
7884 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7885
7886         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7887         (test_event), (timediff), (gstevents_suite):
7888           Provide more error margin in clock measurements to allow for 
7889           g_get_current_time inaccuracies.
7890
7891 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7892
7893         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7894         (test_event), (timediff), (gstevents_suite):
7895            Fix error message output so I might be able to tell why the
7896            test works here but fails on the build farm.
7897
7898 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7899
7900         * check/Makefile.am:
7901         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7902         (test_event), (timediff), (gstevents_suite), (main):
7903           I wrote a test!
7904
7905         * docs/design/part-seeking.txt:
7906           Spelling correction
7907
7908         * docs/gst/tmpl/gstevent.sgml:
7909         * docs/gst/tmpl/gstfakesrc.sgml:
7910           Docs updates.
7911
7912         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7913           Treat a buffer-without-newsegment the same as a receiving 
7914           a newsegment not in time format, and disable syncing to the clock
7915           with a warning.
7916
7917         * gst/gstbus.c: (gst_bus_set_sync_handler):
7918           Assert if anyone tries to replace the existing sync_handler for bus, 
7919           as only the owner should be setting it.
7920
7921         * gst/gstevent.h:
7922           Have a fixed set of custom event enums with events identified by
7923           their structure name (as in 0.8), rather than a free-for-all
7924           allowing collisions between enum values from different plugins.
7925
7926         * gst/gstpad.c: (gst_pad_class_init):
7927           Docs change.
7928           
7929         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7930           Handle out-of-band downstream events from the sending thread.
7931
7932 2005-08-17  Andy Wingo  <wingo@pobox.com>
7933
7934         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
7935         play-timeout==0 to mean no timeout at all. In that case, don't
7936         bother with a get_state or a warning, just return directly, even
7937         if it's ASYNC.
7938
7939         * gst/base/gstbasetransform.c: Debug changes.
7940
7941         * gst/gstutils.h:
7942         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
7943         ensure bins post state change messages. A bit of a hack but I can't
7944         think of a way to avoid it.
7945
7946         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
7947
7948 2005-08-16  Andy Wingo  <wingo@pobox.com>
7949
7950         * gst/base/gstadapter.h:
7951         * gst/base/gstadapter.c (gst_adapter_take): New function, like
7952         peek() but you own the data. Not terribly efficient atm.
7953
7954 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7955
7956         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
7957         (gst_element_found_tags):
7958         * gst/gstutils.h:
7959           Add two utility functions for tag handling.
7960
7961 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7962
7963         * docs/manual/advanced-dataaccess.xml:
7964         * docs/manual/basics-helloworld.xml:
7965           Fix docs to use _bin_add() before _link(), which fixes the examples
7966           with recent core versions (reported by Madhan Raj M
7967           <raj_madan@rediffmail.com>, #313199).
7968
7969 2005-08-16  Wim Taymans  <wim@fluendo.com>
7970
7971         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7972         Added subtract checks.
7973
7974         * docs/design/part-events.txt:
7975         Some more docs about newsegment
7976
7977         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
7978         Fix FIXME
7979
7980         * gst/gstcaps.c: (gst_caps_to_string):
7981         Add comments, cleanups.
7982         
7983         * gst/gstelement.c: (gst_element_save_thyself):
7984         cleanups
7985         
7986         * gst/gstvalue.c: (gst_value_collect_int_range),
7987         (gst_string_unwrap), (gst_value_union_int_int_range),
7988         (gst_value_union_int_range_int_range),
7989         (gst_value_intersect_int_int_range),
7990         (gst_value_intersect_int_range_int_range),
7991         (gst_value_intersect_double_double_range),
7992         (gst_value_intersect_double_range_double_range),
7993         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
7994         (gst_value_subtract_int_range_int),
7995         (gst_value_subtract_double_range_double),
7996         (gst_value_subtract_double_range_double_range),
7997         (gst_value_subtract_from_list), (gst_value_subtract_list),
7998         (gst_value_can_compare), (gst_value_compare_fraction):
7999         Cleanups, add comments, remove unneeded asserts.
8000
8001 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8002
8003         * tools/gst-launch.c: (event_loop):
8004           don't convert NULL structures to strings
8005
8006 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
8007
8008         * docs/gst/gstreamer-sections.txt:
8009           made some defines private
8010         * docs/gst/tmpl/gstconfig.sgml:
8011         * docs/gst/tmpl/gstqueue.sgml:
8012         * docs/gst/tmpl/gsttaglist.sgml:
8013         * docs/gst/tmpl/gsttypes.sgml:
8014         * docs/gst/tmpl/gstutils.sgml:
8015         * docs/pwg/appendix-porting.xml:
8016         * gst/base/gstbasesink.h:
8017         * gst/base/gstbasesrc.c:
8018         * gst/base/gstbasesrc.h:
8019         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
8020         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
8021         * gst/gstelement.c: (gst_element_class_init):
8022         * gst/gstpad.c: (gst_pad_class_init):
8023         * gst/gstqueue.c: (gst_queue_class_init):
8024         * gst/gstxml.c: (gst_xml_class_init):
8025           documented all undocumented signal inline
8026         * libs/gst/controller/gst-controller.h:
8027           added padding
8028
8029 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8030
8031         * docs/pwg/appendix-porting.xml:
8032           Document _set_link_function -> _set_setcaps_function.
8033
8034 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8035
8036         * check/Makefile.am:
8037           add a .check target for running the check
8038         * check/gst-libs/controller.c: (GST_START_TEST):
8039           cosmetic fixups
8040         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8041           complete checks for gstbuffer; would be nice if I could get the
8042           gcov stuff to work so I can see if I actually completed gstbuffer.c
8043         * check/gstcheck.h:
8044           add ASSERT_BUFFER_REFCOUNT
8045
8046 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
8047
8048         * docs/gst/gstreamer-sections.txt:
8049         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
8050         * gst/gsttag.h:
8051           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
8052           spew out a warning if a tag that is already registered
8053           is re-registered, unless it is re-registered with a 
8054           different type (#308438).
8055
8056 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
8057
8058         * docs/pwg/appendix-porting.xml:
8059         * docs/pwg/building-state.xml:
8060           Add some paragraphs about state changes in 0.9 to the PWG
8061           and the porting guide, in particular about the new meaning
8062           of GST_STATE_PAUSED and how to write state change functions
8063           with concurrent access by multiple threads in mind.
8064
8065 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
8066
8067         * docs/gst/gstreamer-docs.sgml:
8068         * docs/libs/gstreamer-libs-docs.sgml:
8069           added deprecation and since indexes
8070         * libs/gst/controller/gst-controller.c:
8071         * libs/gst/controller/gst-helper.c:
8072           added since tags
8073
8074
8075 2005-08-11  Wim Taymans  <wim@fluendo.com>
8076
8077         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
8078         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
8079         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
8080         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
8081         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
8082         (gst_ghost_pad_set_target):
8083         Actually implement (re)setting the target on a ghostpad
8084         as described in the docs.
8085
8086 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8087
8088         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
8089           Check whether GST_DEBUG_NO_COLOR environment variable is
8090           set and disable coloured debug output if that is the case.
8091
8092 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8093
8094         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8095         (gst_type_find_helper):
8096           The memory returned by gst_type_find_peek() needs to
8097           stay valid until the end of a typefind function, and
8098           typefind functions may keep results from different 
8099           offsets around, so we can't just unref the buffer from
8100           the previous _peek(), but have to save all buffers 
8101           returned by _peek() until typefinding is done and only
8102           free them then.
8103
8104 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
8105
8106         * docs/gst/gstreamer-sections.txt:
8107         * gst/gstutils.h:
8108           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
8109
8110 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8111
8112         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8113           Fix a pretty good memleak.
8114
8115 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8116
8117         * gst/gstiterator.h:
8118           Fix wrong include and 'make distcheck'.
8119
8120 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8121
8122         * gst/gstbin.c: (bin_bus_handler):
8123           Use gst_element_post_message() instead.
8124
8125 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8126
8127         * gst/base/gstadapter.h:
8128         * gst/base/gstbasesink.h:
8129         * gst/base/gstbasesrc.h:
8130         * gst/base/gstbasetransform.h:
8131         * gst/base/gstcollectpads.h:
8132         * gst/base/gstpushsrc.h:
8133         * gst/gstiterator.h:
8134           Add padding to our base elements' class and instance structs and
8135           to GstIterator (you will need to rebuild all plugins and apps!)
8136
8137 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8138
8139         * gst/gstbin.c: (bin_bus_handler):
8140           Make default message forwarding from child->bus to bin->bus
8141           threadsafe and make it not emit warnings if the parent has no bus.
8142
8143 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8144
8145         * gst/gstelement.c: (activate_pads):
8146           On paused->ready, set pad->caps to NULL, as is the documented
8147           behaviour in this state change. Fixes playback of series of
8148           media files when visualization is enabled in Totem.
8149
8150 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8151
8152         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8153           Allow NULL as filter-caps (which means "any").
8154
8155 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8156
8157         * docs/libs/gstreamer-libs-sections.txt:
8158         * libs/gst/controller/gst-controller.c:
8159         * libs/gst/controller/gst-controller.h:
8160         * libs/gst/controller/gst-helper.c:
8161           adding more entries to the docs and fix small doc-bugs
8162
8163 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8164
8165         * docs/gst/gstreamer-docs.sgml:
8166         * docs/gst/gstreamer-sections.txt:
8167         * docs/gst/gstreamer.types:
8168         * docs/gst/tmpl/gstbasesink.sgml:
8169         * docs/gst/tmpl/gstbasesrc.sgml:
8170         * docs/gst/tmpl/gstbasetransform.sgml:
8171         * docs/gst/tmpl/gstfakesrc.sgml:
8172         * gst/base/gstcollectpads.c:
8173         * gst/base/gstcollectpads.h:
8174         * libs/gst/controller/gst-controller.c:
8175         * libs/gst/controller/gst-controller.h:
8176         * libs/gst/controller/gst-helper.c:
8177         * libs/gst/controller/gst-interpolation.c:
8178         * libs/gst/controller/lib.c:
8179           added long/short desc for controller docs
8180           added collectpads base class docs
8181           added correct includes to base-class docs
8182
8183 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8184
8185         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8186         (gst_test_mono_source_set_property),
8187         (gst_test_mono_source_class_init), (GST_START_TEST),
8188         (gst_controller_suite):
8189         * docs/gst/gstreamer-docs.sgml:
8190         * docs/gst/gstreamer-sections.txt:
8191         * docs/gst/gstreamer.types:
8192         * docs/libs/gstreamer-libs-docs.sgml:
8193         * docs/libs/gstreamer-libs-sections.txt:
8194         * gst/base/gstadapter.c:
8195         * libs/gst/controller/gst-controller.c:
8196         (gst_controlled_property_new), (gst_controlled_property_free),
8197         (gst_controller_new_valist),
8198         (gst_controller_remove_properties_valist),
8199         (gst_controller_sink_values), (_gst_controller_finalize):
8200         * libs/gst/controller/gst-controller.h:
8201         * libs/gst/controller/gst-helper.c:
8202         (gst_object_control_properties), (gst_object_uncontrol_properties),
8203         (gst_object_get_controller), (gst_object_set_controller),
8204         (gst_object_sink_values), (gst_object_get_value_arrays),
8205         (gst_object_get_value_array):
8206           more tests (and fixes) for the controller
8207           more docs for the controller
8208           integrated companies docs for the adapter 
8209
8210 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8211
8212         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8213         (GST_START_TEST), (fakesrc_suite):
8214           add tests for sizetype
8215
8216 2005-08-04  Andy Wingo  <wingo@pobox.com>
8217
8218         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8219         fixes buffer_alloc proxying among other things.
8220
8221         * gst/base/gstbasetransform.c:
8222         * gst/base/gstbasetransform.h:
8223         Revert patch to gstbasetransform from 7-28 removing
8224         delay_configure.
8225
8226         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8227         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8228         Semantics changed, should return not the size of the output buffer
8229         but the byte size of a buffer with a given caps.
8230
8231         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8232         debug object.
8233         (gst_base_transform_configure_caps): Don't set out_size here: (in,
8234         out) are not the pad caps until setcaps finishes.
8235         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8236         not-in-place case as well. Deal with changing from in-place to
8237         not-in-place within calling pad_alloc_buffer. Still a bit
8238         concerned about the overhead here...
8239
8240 2005-08-03  Andy Wingo  <wingo@pobox.com>
8241
8242         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8243         fixating is an error.
8244
8245 2005-08-04  Edward Hervey  <edward@fluendo.com>
8246
8247         * gst/base/gstadapter.h: 
8248         Added gst_adapter_get_type() to the header
8249
8250 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8251
8252         * check/Makefile.am:
8253         * check/gst-libs/controller.c:
8254         * libs/gst/controller/gst-controller.c:
8255         (gst_controller_new_valist):
8256           added check test suite for the controller
8257         * gst/base/gstpushsrc.c:
8258           fixed a doc typo
8259
8260 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8261
8262         * docs/gst/Makefile.am:
8263         * docs/gst/gstreamer-docs.sgml:
8264         * docs/gst/gstreamer-sections.txt:
8265         * docs/gst/gstreamer.types:
8266         * docs/gst/tmpl/gstfakesrc.sgml:
8267         * gst/base/README:
8268         * gst/base/gstbasesink.c:
8269         * gst/base/gstbasesink.h:
8270         * gst/base/gstbasesrc.c:
8271         * gst/base/gstbasesrc.h:
8272         * gst/base/gstbasetransform.c:
8273         * gst/base/gstpushsrc.c:
8274         * gst/base/gstpushsrc.h:
8275           add short/long description docs to base classes
8276           add pushsrc to the docs
8277           remove consolidated doc fragments
8278
8279 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8280
8281         * configure.ac:
8282         * docs/libs/Makefile.am:
8283         * docs/libs/gstreamer-libs-docs.sgml:
8284         * docs/libs/gstreamer-libs-sections.txt:
8285         * docs/libs/gstreamer-libs.types:
8286         * examples/Makefile.am:
8287         * examples/controller/.cvsignore:
8288         * examples/controller/Makefile.am:
8289         * examples/controller/audio-example.c: (main):
8290         * libs/gst/Makefile.am:
8291         * libs/gst/controller/.cvsignore:
8292         * libs/gst/controller/Makefile.am:
8293         * libs/gst/controller/gst-controller.c:
8294         (on_object_controlled_property_changed), (gst_timed_value_compare),
8295         (gst_timed_value_find),
8296         (gst_controlled_property_set_interpolation_mode),
8297         (gst_controlled_property_new), (gst_controlled_property_free),
8298         (gst_controller_find_controlled_property),
8299         (gst_controller_new_valist), (gst_controller_new),
8300         (gst_controller_remove_properties_valist),
8301         (gst_controller_remove_properties), (gst_controller_set),
8302         (gst_controller_set_from_list), (gst_controller_unset),
8303         (gst_controller_get), (gst_controller_get_all),
8304         (gst_controller_sink_values), (gst_controller_get_value_arrays),
8305         (gst_controller_get_value_array),
8306         (gst_controller_set_interpolation_mode),
8307         (_gst_controller_finalize), (_gst_controller_init),
8308         (_gst_controller_class_init), (gst_controller_get_type):
8309         * libs/gst/controller/gst-controller.h:
8310         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8311         (g_object_uncontrol_properties), (g_object_get_controller),
8312         (g_object_set_controller), (g_object_sink_values),
8313         (g_object_get_value_arrays), (g_object_get_value_array):
8314         * libs/gst/controller/gst-interpolation.c:
8315         (gst_controlled_property_find_timed_value_node),
8316         (interpolate_none_get), (interpolate_trigger_get),
8317         (interpolate_trigger_get_value_array):
8318         * libs/gst/controller/lib.c: (gst_controller_init):
8319         * pkgconfig/Makefile.am:
8320         * pkgconfig/gstreamer-control-uninstalled.pc.in:
8321         * pkgconfig/gstreamer-control.pc.in:
8322         * testsuite/Makefile.am:
8323         * testsuite/controller/.cvsignore:
8324         * testsuite/controller/Makefile.am:
8325         * testsuite/controller/interpolator.c: (main):
8326           added controller code
8327           removed dparam pc files
8328
8329 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8330         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8331         (gst_collectpads_stop):
8332           Broadcast the condition when shutting down, to make sure we wake all
8333           threads up. Shut down pads on finalize, for safety.
8334
8335 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8336         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8337         (gst_base_transform_handle_buffer),
8338         (gst_base_transform_change_state):
8339           Handle PAUSED->READY->PAUSED transition after negotiation
8340           occurred already.
8341         * gst/gstmessage.c: (gst_message_init):
8342           Extra piece of debug for new messages.
8343
8344 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
8345
8346         * configure.ac:
8347         * docs/gst/tmpl/gstbasesrc.sgml:
8348         * docs/gst/tmpl/gstelement.sgml:
8349         * docs/gst/tmpl/gstevent.sgml:
8350         * docs/gst/tmpl/gstfakesrc.sgml:
8351         * docs/gst/tmpl/gstformat.sgml:
8352         * docs/gst/tmpl/gstghostpad.sgml:
8353         * docs/gst/tmpl/gstpad.sgml:
8354         * docs/gst/tmpl/gstquery.sgml:
8355         * docs/gst/tmpl/gststructure.sgml:
8356         * docs/gst/tmpl/gsttaglist.sgml:
8357         * docs/gst/tmpl/gstvalue.sgml:
8358         * docs/libs/gstreamer-libs-docs.sgml:
8359         * docs/libs/gstreamer-libs-sections.txt:
8360         * docs/libs/gstreamer-libs.types:
8361         * libs/gst/Makefile.am:
8362         * libs/gst/control/.cvsignore:
8363         * libs/gst/control/Makefile.am:
8364         * libs/gst/control/control.c:
8365         * libs/gst/control/control.h:
8366         * libs/gst/control/dparam.c:
8367         * libs/gst/control/dparam.h:
8368         * libs/gst/control/dparam_smooth.c:
8369         * libs/gst/control/dparam_smooth.h:
8370         * libs/gst/control/dparamcommon.h:
8371         * libs/gst/control/dparammanager.c:
8372         * libs/gst/control/dparammanager.h:
8373         * libs/gst/control/dplinearinterp.c:
8374         * libs/gst/control/dplinearinterp.h:
8375         * libs/gst/control/unitconvert.c:
8376         * libs/gst/control/unitconvert.h:
8377         * testsuite/Makefile.am:
8378         * testsuite/dynparams/.cvsignore:
8379         * testsuite/dynparams/Makefile.am:
8380         * testsuite/dynparams/dparamstest.c:
8381         * tools/Makefile.am:
8382         * tools/gst-inspect.c: (print_element_info), (main):
8383         * tools/gst-xmlinspect.c: (print_element_info), (main):
8384           deactivate and remove dparams (libgstcontrol)
8385
8386 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8387
8388         * gst/elements/gsttypefindelement.c:
8389         (gst_type_find_element_have_type), (gst_type_find_element_init),
8390         (stop_typefinding), (gst_type_find_element_handle_event),
8391         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8392         * gst/elements/gsttypefindelement.h:
8393           Set caps on all outgoing buffers, not just the first one.
8394
8395 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8396
8397         * gst/elements/gsttypefindelement.c:
8398         (gst_type_find_element_have_type),
8399         (gst_type_find_element_check_set_buffer_caps),
8400         (gst_type_find_element_init), (stop_typefinding),
8401         (gst_type_find_element_handle_event),
8402         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8403         * gst/elements/gsttypefindelement.h:
8404           Set caps on first outgoing buffer when we've found the type.
8405
8406 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8407
8408         * docs/gst/gstreamer-docs.sgml:
8409         * docs/gst/gstreamer-sections.txt:
8410         * docs/gst/tmpl/gstscheduler.sgml:
8411         * docs/gst/tmpl/gstschedulerfactory.sgml:
8412           Remove some old cruft from docs.
8413
8414 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
8415
8416         * gst/gstpad.h:
8417           Fix inline docs for GstPadLinkReturn.
8418           
8419         * gst/gststructure.c: (gst_structure_has_name):
8420         * gst/gststructure.h:
8421         * docs/gst/gstreamer-sections.txt:
8422           New API: gst_structure_has_name().
8423
8424 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
8425
8426         * configure.ac:
8427           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
8428           and _LARGEFILE_SOURCE in config.h as required. Do not 
8429           export those flags in our .pc files any longer (#142209).
8430
8431           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
8432
8433         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
8434         (gst_file_sink_do_seek), (gst_file_sink_event),
8435         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8436           Redo seek/tell calls with large file support in mind; add some
8437           debugging messages; add log message that tells us when large
8438           file support is unavailable or not enabled for some reason.
8439
8440         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
8441           Add log message that tells us when large file support 
8442           is unavailable or not enabled for some reason.
8443
8444 2005-07-29  Wim Taymans  <wim@fluendo.com>
8445
8446         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8447         Added test for removing an element with ghostpad from a bin.
8448         Fixed test as current implementation does the right thing.
8449
8450         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
8451         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
8452         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
8453         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
8454         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
8455         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8456         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8457         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8458         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
8459         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
8460         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
8461         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
8462         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8463         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
8464         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
8465         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8466         * gst/gstghostpad.h:
8467         Clean up ghostpads, remove properties for internal stuff.
8468         Make threadsafe.
8469         Fix refcounting.
8470         Prepare for switching targets, not all use cases work yet.
8471
8472 2005-07-29  Wim Taymans  <wim@fluendo.com>
8473
8474         * docs/design/part-gstghostpad.txt:
8475         Small update.
8476
8477         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8478         (gst_bin_remove_func):
8479         Unlinking pads while holding the bin LOCK is not a good
8480         idea.
8481
8482         * gst/gstpad.c: (gst_pad_class_init),
8483         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
8484         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
8485         No prob setting template after creating the pad.
8486
8487 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
8488
8489         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
8490         (gst_bus_peek), (gst_bus_source_dispatch),
8491         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
8492         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
8493           gst_bus_poll may be called from other threads. Handle
8494           this nicely by not making poll_data disappear off the
8495           stack once gst_bus_poll returns.
8496           gst_bus_peek now increments the refcount on the returned
8497           message.
8498
8499 2005-07-29  Wim Taymans  <wim@fluendo.com>
8500
8501         * docs/design/part-gstghostpad.txt:
8502         Overview of current GhostPad datastructures and use
8503         cases for changing the target.
8504
8505 2005-07-28  Wim Taymans  <wim@fluendo.com>
8506
8507         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8508         Added checks for hierarchy consistency whan adding linked
8509         elements to bins.
8510
8511         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8512         Added check to test element scheduling without bin/pipeline.
8513
8514         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8515         First add elements to bin, then link.
8516         
8517         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8518         (gst_bin_remove_func):
8519         Unlink pads from elements added/removed from bin to maintain
8520         hierarchy consistency.
8521
8522 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8523
8524         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8525         (gst_base_transform_handle_buffer):
8526         * gst/base/gstbasetransform.h:
8527           Remove broken delay_configure (fixes renegotiation of software
8528           scaling pipelines); remove some leftover printf()s.
8529
8530 2005-07-28  Wim Taymans  <wim@fluendo.com>
8531
8532         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8533         Added some more tests for wrong hierarchy
8534
8535         * docs/design/part-overview.txt:
8536         Some updates.
8537
8538         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
8539         Cleanups.
8540
8541         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
8542         (gst_element_dispose):
8543         Some more cleanups.
8544
8545         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8546         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
8547         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8548         (gst_pad_set_caps), (gst_pad_send_event):
8549         Check for correct hierarchy when linking pads. Moving to
8550         strict requirement for ghostpads when linking elements in
8551         different bins.
8552
8553         * gst/gstpad.h:
8554         Clean ups. Added WRONG_HIERARCHY return value.
8555
8556 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8557
8558         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8559           Better debug if no transform is possible.
8560
8561 2005-07-27  Wim Taymans  <wim@fluendo.com>
8562
8563         * docs/random/wtay/network-transp:
8564         Some old doc I had.
8565
8566 2005-07-27  Wim Taymans  <wim@fluendo.com>
8567
8568         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8569         (gst_dp_event_from_packet):
8570         Fix serialization of seek events.
8571
8572 2005-07-27  Wim Taymans  <wim@fluendo.com>
8573
8574         * check/gst-libs/gdp.c: (GST_START_TEST):
8575         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8576         Fix compilation and fix event serialization.
8577
8578 2005-07-27  Wim Taymans  <wim@fluendo.com>
8579
8580         * CHANGES-0.9:
8581         * docs/design/part-TODO.txt:
8582         * docs/design/part-events.txt:
8583         Some docs updates
8584
8585         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8586         (gst_base_sink_event), (gst_base_sink_do_sync),
8587         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8588         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8589         (gst_base_src_do_seek), (gst_base_src_event_handler),
8590         (gst_base_src_loop):
8591         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8592         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8593         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8594         (gst_base_transform_event), (gst_base_transform_handle_buffer),
8595         (gst_base_transform_set_passthrough),
8596         (gst_base_transform_is_passthrough):
8597         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8598         * gst/elements/gstfilesink.c: (gst_file_sink_event):
8599         Event updates.
8600
8601         * gst/gstbuffer.h:
8602         Use faster casts.
8603
8604         * gst/gstelement.c: (gst_element_seek):
8605         * gst/gstelement.h:
8606         Update gst_element_seek.
8607
8608         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
8609         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
8610         (gst_event_new_flush_start), (gst_event_new_flush_stop),
8611         (gst_event_new_eos), (gst_event_new_newsegment),
8612         (gst_event_parse_newsegment), (gst_event_new_tag),
8613         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
8614         (gst_event_parse_qos), (gst_event_new_seek),
8615         (gst_event_parse_seek), (gst_event_new_navigation):
8616         * gst/gstevent.h:
8617         Make GstEvent use GstStructure. Add parsing code, make sure the
8618         API is sufficiently generic.
8619         Mark possible directions of events and serialization.
8620
8621         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
8622         (_gst_message_copy), (gst_message_new_segment_start),
8623         (gst_message_new_segment_done), (gst_message_new_custom),
8624         (gst_message_parse_segment_start),
8625         (gst_message_parse_segment_done):
8626         Small cleanups.
8627
8628         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8629         (gst_pad_set_caps), (gst_pad_send_event):
8630         Update for new events. 
8631         Catch events sent in wrong directions.
8632
8633         * gst/gstqueue.c: (gst_queue_link_src),
8634         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
8635         (gst_queue_handle_src_query):
8636         Event updates.
8637
8638         * gst/gsttag.c:
8639         * gst/gsttag.h:
8640         Remove event code from this file.
8641
8642         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8643         (gst_dp_event_from_packet):
8644         Event updates.
8645
8646 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8647
8648         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
8649         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8650         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
8651           Make debugging actually useful.
8652
8653 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8654
8655         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
8656         (gst_pad_fixate_caps):
8657           Implement default fixation once again, so that gst_pad_fixate()
8658           actually does anything at all. This probably needs to be some
8659           sort of a last resort, and use profile-based fixation first, but
8660           since that doesn't exist yet, this is the best we have. Fixes
8661           visualization in Totem.
8662
8663 2005-07-22  Wim Taymans  <wim@fluendo.com>
8664
8665         * docs/design/part-events.txt:
8666         Small update.
8667
8668         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8669         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
8670         (gst_base_sink_activate_pull):
8671         Some more comments.
8672
8673         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
8674         (gst_fake_src_create):
8675         Fix handoff marshall.
8676
8677         * gst/elements/gstidentity.c: (gst_identity_class_init),
8678         (gst_identity_transform_ip):
8679         We're a real inplace element.
8680
8681         * gst/gstbus.c: (gst_bus_post):
8682         Added some comments.
8683
8684         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
8685         * tests/muxing/case1.c: (main):
8686         * tests/sched/dynamic-pipeline.c: (main):
8687         * tests/sched/interrupt1.c: (main):
8688         * tests/sched/interrupt2.c: (main):
8689         * tests/sched/interrupt3.c: (main):
8690         * tests/sched/runxml.c: (main):
8691         * tests/sched/sched-stress.c: (main):
8692         * tests/seeking/seeking1.c: (event_received), (main):
8693         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
8694         (main):
8695         * tests/threadstate/threadstate3.c: (main):
8696         * tests/threadstate/threadstate4.c: (main):
8697         * tests/threadstate/threadstate5.c: (main):
8698         Fix the tests.
8699
8700 2005-07-21  Wim Taymans  <wim@fluendo.com>
8701
8702         * docs/design/part-seeking.txt:
8703         Some small additions.
8704
8705         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8706         (gst_base_sink_get_times), (gst_base_sink_do_sync),
8707         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8708         * gst/base/gstbasesink.h:
8709         discont values are gint64, handle the math correctly.
8710
8711         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8712         Make the basesrc report error if the source pad is not linked.
8713
8714         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8715         (gst_queue_loop), (gst_queue_handle_src_query),
8716         (gst_queue_src_activate_push):
8717         Make queue collect data even if the srcpad is not linked.
8718         Start pushing out data as soon as it is linked.
8719
8720         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
8721         * gst/gstutils.h:
8722         Added gst_flow_get_name() to ease error reporting.
8723
8724 2005-07-20  Wim Taymans  <wim@fluendo.com>
8725
8726         * gst/gstmessage.c: (gst_message_new_segment_start),
8727         (gst_message_new_segment_done), (gst_message_parse_segment_start),
8728         (gst_message_parse_segment_done):
8729         * gst/gstmessage.h:
8730         Added a bunch of messages for advanced seeking.
8731
8732         * gst/parse/grammar.y:
8733         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
8734         (gst_dpman_state_changed):
8735         Fix some new-pad -> pad-added signals
8736
8737 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8738
8739         * docs/manual/appendix-porting.xml:
8740         * docs/pwg/appendix-porting.xml:
8741           Document new-pad/state-change signal renames and the FixedList
8742           type rename.
8743
8744 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8745
8746         * docs/manual/advanced-autoplugging.xml:
8747         * docs/manual/basics-helloworld.xml:
8748         * docs/manual/basics-pads.xml:
8749         * docs/random/ds/0.9-suggested-changes:
8750         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
8751         * gst/gstelement.h:
8752         * gst/gstevent.h:
8753         * gst/gstformat.h:
8754         * gst/gstquery.h:
8755         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8756         (gst_structure_parse_array), (gst_structure_parse_value):
8757         * gst/gstvalue.c: (gst_type_is_fixed),
8758         (gst_value_list_prepend_value), (gst_value_list_append_value),
8759         (gst_value_list_get_size), (gst_value_list_get_value),
8760         (gst_value_transform_array_string), (gst_value_serialize_array),
8761         (gst_value_deserialize_array), (gst_value_intersect_array),
8762         (gst_value_is_fixed), (_gst_value_initialize):
8763         * gst/gstvalue.h:
8764           GstElement::new-pad -> pad-added, GstElement::state-change ->
8765           state-changed, GstValueFixedList -> GstValueArray, add format and
8766           flags as their own arguments in gst_element_seek() (should improve
8767           "bindeability"), remove function generators since they don't work
8768           under a whole bunch of compilers (they were deprecated already
8769           anyway).
8770
8771 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8772
8773         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
8774         (_gst_debug_register_funcptr):
8775         * gst/gstinfo.h:
8776           Fix illegal cast on some platforms (#309253).
8777
8778 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8779
8780         * gst/gstmessage.c: (gst_message_new_custom):
8781         * gst/gstmessage.h:
8782           Add _new_custom, make _new_application a macro to _new_custom.
8783
8784 2005-07-20  Wim Taymans  <wim@fluendo.com>
8785
8786         * gst/base/gstbasesrc.c: (gst_base_src_init),
8787         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8788         * gst/base/gstbasesrc.h:
8789         Add a gboolean to decide when to push out a discont.
8790
8791         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8792         (gst_queue_loop), (gst_queue_handle_src_query),
8793         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
8794         (gst_queue_set_property), (gst_queue_get_property):
8795         Some cleanups.
8796
8797         * tests/threadstate/threadstate1.c: (main):
8798         Make a thread test compile and run... very silly..
8799
8800
8801 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8802
8803         * docs/manual/appendix-porting.xml:
8804           Mention removal of libgstgconf-0.9.la and existence of gconf
8805           elements.
8806
8807 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8808
8809         * docs/pwg/advanced-clock.xml:
8810         * docs/pwg/appendix-porting.xml:
8811         * docs/pwg/intro-preface.xml:
8812         * docs/pwg/other-base.xml:
8813         * docs/pwg/other-manager.xml:
8814         * docs/pwg/other-nton.xml:
8815         * docs/pwg/other-ntoone.xml:
8816         * docs/pwg/other-oneton.xml:
8817         * docs/pwg/pwg.xml:
8818           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
8819           demuxer), remove n-to-n (was never written), fix some code examples
8820           and links and update the porting section to include all this.
8821
8822 2005-07-19  Wim Taymans  <wim@fluendo.com>
8823
8824         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
8825         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
8826         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
8827         (gst_queue_src_activate_push), (gst_queue_change_state),
8828         (gst_queue_get_property):
8829         * gst/gstqueue.h:
8830         Propagate GstFlowReturn more intelligently upstream and output
8831         an ERROR/EOS when streaming stopped due to fatal error.
8832
8833 2005-07-19  Wim Taymans  <wim@fluendo.com>
8834
8835         * tools/gst-launch.c: (check_intr), (event_loop), (main):
8836         Don't block forever for the state change to complete, the
8837         pipeline already did with a sensible timeout.
8838
8839 2005-07-19  Wim Taymans  <wim@fluendo.com>
8840
8841         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8842         Make sure we never call the create function is we
8843         got deactivated.
8844
8845 2005-07-19  Andy Wingo  <wingo@pobox.com>
8846
8847         * gst/parse/parse.l: Attempt to solve bug #172815.
8848
8849 2005-07-19  Wim Taymans  <wim@fluendo.com>
8850
8851         * docs/design/part-clocks.txt:
8852         * docs/design/part-events.txt:
8853         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
8854         Small docs updates.
8855         Only update the seeking values when we are not
8856         busy streaming.
8857
8858 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8859
8860         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8861           Oops, ignore the result of gst_pad_push_event here.
8862
8863 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8864
8865         * gst/base/gstbasesrc.c: (gst_base_src_loop),
8866         (gst_base_src_activate_push):
8867           Send discont event from the loop function, as pads
8868           aren't activated yet in the activate_push handler.
8869
8870         * gst/gstbin.c: (bin_bus_handler):
8871           Don't leak element name.
8872
8873 2005-07-18  Andy Wingo  <wingo@pobox.com>
8874
8875         * configure.ac: Use AS_LIBTOOL_TAGS.
8876
8877 2005-07-18  Wim Taymans  <wim@fluendo.com>
8878
8879         * docs/gst/gstreamer.types:
8880         Remove deleted types.
8881
8882 2005-07-18  Wim Taymans  <wim@fluendo.com>
8883
8884         * check/elements/gstfakesrc.c: (GST_START_TEST):
8885         * configure.ac:
8886         * gst/Makefile.am:
8887         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
8888         (init_popt_callback):
8889         * gst/gst.h:
8890         * gst/gst_private.h:
8891         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
8892         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
8893         * gst/gstbin.h:
8894         * gst/gstbus.h:
8895         * gst/gstconfig.h.in:
8896         * gst/gstelement.c: (gst_element_class_init),
8897         (gst_element_set_base_time), (gst_element_get_base_time),
8898         (iterator_fold_with_resync), (gst_element_change_state),
8899         (gst_element_dispose), (gst_element_get_bus):
8900         * gst/gstelement.h:
8901         * gst/gstelementfactory.h:
8902         * gst/gsterror.c: (_gst_core_errors_init):
8903         * gst/gsterror.h:
8904         * gst/gstevent.h:
8905         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8906         * gst/gstindex.c:
8907         * gst/gstinfo.c: (_gst_debug_init):
8908         * gst/gstmessage.c: (_gst_message_copy):
8909         * gst/gstmessage.h:
8910         * gst/gstminiobject.h:
8911         * gst/gstobject.c:
8912         * gst/gstobject.h:
8913         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8914         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
8915         * gst/gstpad.h:
8916         * gst/gstparse.h:
8917         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8918         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8919         (gst_pipeline_get_last_stream_time):
8920         * gst/gstpipeline.h:
8921         * gst/gstpluginfeature.h:
8922         * gst/gstquery.h:
8923         * gst/gstscheduler.c:
8924         * gst/gstscheduler.h:
8925         * gst/gststructure.h:
8926         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
8927         (gst_task_finalize), (gst_task_func), (gst_task_create),
8928         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
8929         (gst_task_stop), (gst_task_pause):
8930         * gst/gsttask.h:
8931         * gst/gsttypefind.h:
8932         * gst/gsttypes.h:
8933         * gst/registries/gstlibxmlregistry.c: (load_feature),
8934         (gst_xml_registry_load), (gst_xml_registry_save_feature):
8935         * gst/registries/gstxmlregistry.c:
8936         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
8937         * gst/schedulers/threadscheduler.c:
8938         * libs/gst/control/dparammanager.h:
8939         * tools/gst-inspect.c: (print_element_list),
8940         (print_plugin_features), (print_element_features):
8941         * tools/gst-xmlinspect.c: (print_element_list),
8942         (print_plugin_info), (main):
8943         Removed plugable schedulers.
8944         Removed Scheduler/Manager from elements.
8945         Removed gsttypes.h, rearranged includes.
8946         Removed dependency pad<->element, element<>pipeline, and
8947         various others,  fix includes.
8948         implement gst_pad_get_parent() with gst_object_get_parent()
8949         Make GstTask sefcontained.
8950         Fix _get_state() on GstBin, it did not return ASYNC with a 0
8951         timeout.
8952         Fix endless loop in iterator_fold_with_resync.
8953
8954
8955 2005-07-18  Wim Taymans  <wim@fluendo.com>
8956
8957         * gst/Makefile.am:
8958         * gst/gstarch.h:
8959         Remove old file.
8960
8961 2005-07-18  Wim Taymans  <wim@fluendo.com>
8962
8963         * gst/Makefile.am:
8964         No more cothreads.h
8965
8966 2005-07-18  Wim Taymans  <wim@fluendo.com>
8967
8968         * gst/cothreads.c:
8969         * gst/cothreads.h:
8970         Let's remove these.
8971
8972 2005-07-18  Wim Taymans  <wim@fluendo.com>
8973
8974         * docs/design/part-dynamic.txt:
8975         * docs/design/part-events.txt:
8976         * docs/design/part-seeking.txt:
8977         Some more docs in the works.
8978
8979         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8980         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
8981         (gst_base_transform_setcaps), (gst_base_transform_get_size),
8982         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8983         (gst_base_transform_handle_buffer),
8984         (gst_base_transform_sink_activate_push),
8985         (gst_base_transform_src_activate_pull),
8986         (gst_base_transform_set_passthrough),
8987         (gst_base_transform_is_passthrough):
8988         Refcounting fixes.
8989
8990         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
8991         Cleanups.
8992
8993         * gst/gstevent.c: (gst_event_finalize):
8994         Set SRC to NULL.
8995
8996         * gst/gstutils.c: (gst_element_unlink),
8997         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
8998         (gst_pad_proxy_setcaps):
8999         * gst/gstutils.h:
9000         Add _get_parent_element() to get a pads parent as an element.
9001
9002 2005-07-18  Wim Taymans  <wim@fluendo.com>
9003
9004         * check/gst/gstbin.c: (GST_START_TEST):
9005         Remove bogus test.
9006
9007 2005-07-18  Wim Taymans  <wim@fluendo.com>
9008
9009         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9010         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9011         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9012         (gst_base_sink_event), (gst_base_sink_do_sync),
9013         (gst_base_sink_chain), (gst_base_sink_loop),
9014         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
9015         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
9016         Refcounting fixes.
9017         Fix logic for returning ASYNC when not prerolled.
9018
9019 2005-07-18  Wim Taymans  <wim@fluendo.com>
9020
9021         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9022         Fix nasty refcount bug.
9023
9024 2005-07-16 Philippe Khalaf <burger@speedy.org>
9025
9026         * gst/elements/gstfdsrc.c:
9027         * gst/elements/gstfdsrc.h:
9028         * gst/elements/gstelements.c:
9029         * gst/elements/Makefile.am:
9030         Ported fdsrc to 0.9.
9031
9032 2005-07-16  Wim Taymans  <wim@fluendo.com>
9033
9034         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9035         (gst_base_sink_do_sync):
9036         Fix compile error.
9037
9038 2005-07-16  Wim Taymans  <wim@fluendo.com>
9039
9040         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9041         (gst_base_sink_event), (gst_base_sink_get_times),
9042         (gst_base_sink_do_sync), (gst_base_sink_change_state):
9043         * gst/base/gstbasesink.h:
9044         Store and use discont values when syncing buffers as described
9045         in design docs.
9046         
9047         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9048         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
9049         (gst_base_src_activate_push):
9050         Push discont event when starting.
9051
9052         * gst/elements/gstidentity.c: (gst_identity_transform):
9053         Small cleanups.
9054
9055         * gst/gstbin.c: (gst_bin_change_state):
9056         Small cleanups in base_time  distribution.
9057
9058         * gst/gstelement.c: (gst_element_set_base_time),
9059         (gst_element_get_base_time), (gst_element_change_state):
9060         * gst/gstelement.h:
9061         Added methods for the base_time of the element.
9062         Some MT fixes.
9063
9064         * gst/gstpipeline.c: (gst_pipeline_send_event),
9065         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9066         (gst_pipeline_get_last_stream_time):
9067         * gst/gstpipeline.h:
9068         MT fixes.
9069         Handle seeking as described in design doc, remove stream_time
9070         hack.
9071         Cleanups clock and stream_time selection code. Added accessors
9072         for the stream_time.
9073         
9074
9075 2005-07-16  Andy Wingo  <wingo@pobox.com>
9076
9077         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
9078         (#305291).
9079
9080 2005-07-16  Wim Taymans  <wim@fluendo.com>
9081
9082         * check/gst/gstbin.c: (GST_START_TEST):
9083         Make elements silent as the deep_notify refs the
9084         parent, which might make the test fail.
9085
9086         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9087         Don't hold the lock for too long.
9088
9089 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
9090
9091         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9092           Don't unref the caps we passed to gst_caps_make_writable() after
9093           passing them. gst_caps_make_writable() will do that for us.
9094
9095 2005-07-15  Andy Wingo  <wingo@pobox.com>
9096
9097         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
9098         (#157311).
9099
9100         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
9101         own marshalling function for the handoff signal. Properly type the
9102         buffer as a buffer. Fixes some warnings. Should do a more general
9103         solution.
9104         (gst_identity_class_init): Plug into the right marshaller.
9105
9106 2005-07-15  Wim Taymans  <wim@fluendo.com>
9107
9108         * docs/design/part-TODO.txt:
9109         * docs/design/part-clocks.txt:
9110         * docs/design/part-element-sink.txt:
9111         * docs/design/part-events.txt:
9112         * docs/design/part-gstpipeline.txt:
9113         Updated docs, mostly DISCONT related.
9114
9115 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
9116
9117         * docs/pwg/building-pads.xml:
9118           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
9119
9120 2005-07-15  Andy Wingo  <wingo@pobox.com>
9121
9122         * tools/gst-typefind.c: Update, add copyright block.
9123
9124         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
9125         Normalize and truncate caps before fixation.
9126
9127         * gst/gstcaps.h:
9128         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
9129         discards all but the first structure from its argument.
9130
9131 2005-07-15  Wim Taymans  <wim@fluendo.com>
9132
9133         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9134         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
9135         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9136         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9137         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
9138         (gst_base_transform_chain), (gst_base_transform_change_state),
9139         (gst_base_transform_set_passthrough),
9140         (gst_base_transform_is_passthrough):
9141         * gst/base/gstbasetransform.h:
9142         Make passthrough work using the bufferpools.
9143         Changed API a bit, subclasses have to write into a buffer
9144         provided by the base class.
9145         More debug info in nego functions.
9146         
9147         * gst/elements/gstidentity.c: (gst_identity_init),
9148         (gst_identity_transform):
9149         Port to new base class.
9150
9151 2005-07-15  Wim Taymans  <wim@fluendo.com>
9152
9153         * gst/gstmessage.c: (gst_message_new_state_changed):
9154         * tools/gst-launch.c: (event_loop), (main):
9155         Totally dump messages in -launch with the -m option.
9156         Fix message name for State messages,
9157
9158 2005-07-14  Wim Taymans  <wim@fluendo.com>
9159
9160         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9161         Post error messages on errors.
9162
9163 2005-07-14  Wim Taymans  <wim@fluendo.com>
9164
9165         * gst/gstcaps.c: (gst_caps_do_simplify):
9166         Remove debug info.
9167
9168         * gst/gsterror.h:
9169         Define error for stream stopped.
9170
9171         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9172         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
9173         Do proper return values.
9174
9175         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9176         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
9177         (gst_pad_get_range):
9178         Better return values.
9179
9180         * gst/gstpad.h:
9181         Reorganise return values, add macro to check for fatal errors.
9182
9183         * gst/gstqueue.c: (gst_queue_chain):
9184         Return proper GstFlowReturn values,
9185
9186 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9187
9188         * docs/gst/gstreamer-sections.txt:
9189         * docs/gst/gstreamer.types:
9190         * docs/gst/tmpl/gst.sgml:
9191         * docs/gst/tmpl/gstbasesink.sgml:
9192         * docs/gst/tmpl/gstbasesrc.sgml:
9193         * docs/gst/tmpl/gstbasetransform.sgml:
9194         * docs/gst/tmpl/gstbin.sgml:
9195         * docs/gst/tmpl/gstbuffer.sgml:
9196         * docs/gst/tmpl/gstcaps.sgml:
9197         * docs/gst/tmpl/gstclock.sgml:
9198         * docs/gst/tmpl/gstcompat.sgml:
9199         * docs/gst/tmpl/gstconfig.sgml:
9200         * docs/gst/tmpl/gstelement.sgml:
9201         * docs/gst/tmpl/gstelementdetails.sgml:
9202         * docs/gst/tmpl/gstelementfactory.sgml:
9203         * docs/gst/tmpl/gstenumtypes.sgml:
9204         * docs/gst/tmpl/gsterror.sgml:
9205         * docs/gst/tmpl/gstevent.sgml:
9206         * docs/gst/tmpl/gstfakesink.sgml:
9207         * docs/gst/tmpl/gstfakesrc.sgml:
9208         * docs/gst/tmpl/gstfilesink.sgml:
9209         * docs/gst/tmpl/gstfilesrc.sgml:
9210         * docs/gst/tmpl/gstfilter.sgml:
9211         * docs/gst/tmpl/gstformat.sgml:
9212         * docs/gst/tmpl/gstghostpad.sgml:
9213         * docs/gst/tmpl/gstimplementsinterface.sgml:
9214         * docs/gst/tmpl/gstindex.sgml:
9215         * docs/gst/tmpl/gstindexfactory.sgml:
9216         * docs/gst/tmpl/gstinfo.sgml:
9217         * docs/gst/tmpl/gstiterator.sgml:
9218         * docs/gst/tmpl/gstmacros.sgml:
9219         * docs/gst/tmpl/gstmemchunk.sgml:
9220         * docs/gst/tmpl/gstminiobject.sgml:
9221         * docs/gst/tmpl/gstobject.sgml:
9222         * docs/gst/tmpl/gstpad.sgml:
9223         * docs/gst/tmpl/gstpadtemplate.sgml:
9224         * docs/gst/tmpl/gstparse.sgml:
9225         * docs/gst/tmpl/gstpipeline.sgml:
9226         * docs/gst/tmpl/gstplugin.sgml:
9227         * docs/gst/tmpl/gstpluginfeature.sgml:
9228         * docs/gst/tmpl/gstquery.sgml:
9229         * docs/gst/tmpl/gstqueue.sgml:
9230         * docs/gst/tmpl/gstregistry.sgml:
9231         * docs/gst/tmpl/gstregistrypool.sgml:
9232         * docs/gst/tmpl/gstscheduler.sgml:
9233         * docs/gst/tmpl/gstschedulerfactory.sgml:
9234         * docs/gst/tmpl/gststructure.sgml:
9235         * docs/gst/tmpl/gstsystemclock.sgml:
9236         * docs/gst/tmpl/gsttaglist.sgml:
9237         * docs/gst/tmpl/gsttagsetter.sgml:
9238         * docs/gst/tmpl/gsttrace.sgml:
9239         * docs/gst/tmpl/gsttrashstack.sgml:
9240         * docs/gst/tmpl/gsttypefind.sgml:
9241         * docs/gst/tmpl/gsttypefindfactory.sgml:
9242         * docs/gst/tmpl/gsttypes.sgml:
9243         * docs/gst/tmpl/gsturihandler.sgml:
9244         * docs/gst/tmpl/gsturitype.sgml:
9245         * docs/gst/tmpl/gstutils.sgml:
9246         * docs/gst/tmpl/gstvalue.sgml:
9247         * docs/gst/tmpl/gstversion.sgml:
9248         * docs/gst/tmpl/gstxml.sgml:
9249         * docs/libs/tmpl/gstcontrol.sgml:
9250         * docs/libs/tmpl/gstdataprotocol.sgml:
9251         * docs/libs/tmpl/gstdparam.sgml:
9252         * docs/libs/tmpl/gstdplinint.sgml:
9253         * docs/libs/tmpl/gstdpman.sgml:
9254         * docs/libs/tmpl/gstdpsmooth.sgml:
9255         * docs/libs/tmpl/gstgetbits.sgml:
9256         * docs/libs/tmpl/gstunitconvert.sgml:
9257         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9258         (gst_push_src_base_init), (gst_push_src_class_init),
9259         (gst_push_src_init), (gst_push_src_create):
9260         * gst/base/gstpushsrc.h:
9261         * gst/elements/gstelements.c:
9262         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9263         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9264         (gst_fake_sink_init), (gst_fake_sink_set_property),
9265         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9266         (gst_fake_sink_event), (gst_fake_sink_preroll),
9267         (gst_fake_sink_render), (gst_fake_sink_change_state):
9268         * gst/elements/gstfakesink.h:
9269         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9270         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9271         (gst_fake_src_base_init), (gst_fake_src_class_init),
9272         (gst_fake_src_init), (gst_fake_src_event_handler),
9273         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9274         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9275         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9276         (gst_fake_src_create_buffer), (gst_fake_src_create),
9277         (gst_fake_src_start), (gst_fake_src_stop):
9278         * gst/elements/gstfakesrc.h:
9279         * gst/elements/gstfilesink.c: (_do_init),
9280         (gst_file_sink_base_init), (gst_file_sink_class_init),
9281         (gst_file_sink_init), (gst_file_sink_dispose),
9282         (gst_file_sink_set_location), (gst_file_sink_set_property),
9283         (gst_file_sink_get_property), (gst_file_sink_open_file),
9284         (gst_file_sink_close_file), (gst_file_sink_query),
9285         (gst_file_sink_event), (gst_file_sink_render),
9286         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9287         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9288         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9289         * gst/elements/gstfilesink.h:
9290         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9291         (gst_file_src_class_init), (gst_file_src_init),
9292         (gst_file_src_finalize), (gst_file_src_set_location),
9293         (gst_file_src_set_property), (gst_file_src_get_property),
9294         (gst_file_src_map_region), (gst_file_src_map_small_region),
9295         (gst_file_src_create_mmap), (gst_file_src_create_read),
9296         (gst_file_src_create), (gst_file_src_is_seekable),
9297         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9298         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9299         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9300         (gst_file_src_uri_handler_init):
9301         * gst/elements/gstfilesrc.h:
9302           more autistic cleanliness in functions/names/defines
9303
9304 2005-07-13  Andy Wingo  <wingo@pobox.com>
9305
9306         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9307         source couldn't negotiate.
9308
9309         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9310         connections again.
9311
9312         * gst/gstutils.h:
9313         * gst/gstutils.c (gst_element_link_pads_filtered): New old
9314         function. I am channeling Hades. Put your boots on suckers!!!
9315
9316 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9317
9318         * testsuite/caps/Makefile.am:
9319         * testsuite/caps/value_compare.c:
9320         * testsuite/caps/value_intersect.c:
9321         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9322           move two testsuite apps over to the check dir
9323
9324 2005-07-12  Wim Taymans  <wim@fluendo.com>
9325
9326         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9327         Added more debug info in the negotiate process.
9328
9329         * gst/gstmessage.h:
9330         Prepare for segment playback.
9331
9332         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9333         Better debugging.
9334
9335         * gst/gstutils.c:
9336         Some more docs.
9337
9338         * tools/gst-launch.c: (main):
9339         NULL pipeline on errors.
9340
9341 2005-07-12  Andy Wingo  <wingo@pobox.com>
9342
9343         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9344         not it comes from a malloc region. Make sure our copy gets freed.
9345
9346 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9347
9348         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9349         * check/gst/gstmessage.c: (GST_START_TEST):
9350         * check/gst/gststructure.c: (GST_START_TEST),
9351         (gst_structure_suite), (main):
9352           more testing
9353         * gst/gstelement.c: (gst_element_message_full):
9354           clean up GError and debug string now that they get copied
9355         * gst/gstmessage.c: (gst_message_new_error),
9356         (gst_message_new_warning), (gst_message_parse_error),
9357         (gst_message_parse_warning):
9358           use GST_TYPE_G_ERROR for structure_new, and take copies of
9359           arguments, so that we don't mess up refcounting
9360
9361 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9362
9363         * check/Makefile.am:
9364           add per-test valgrind targets
9365         * check/gst-libs/gdp.c: (GST_START_TEST),
9366         (gst_data_protocol_suite), (main):
9367           clean up
9368
9369 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9370
9371         * check/Makefile.am:
9372           instate more valgrindable tests
9373         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9374         (GST_START_TEST), (fakesrc_suite):
9375         * check/gst/gstpad.c: (GST_START_TEST):
9376         * check/gst/gststructure.c: (GST_START_TEST):
9377           fix test leaks
9378         * docs/gst/tmpl/gstminiobject.sgml:
9379         * gst/gstpad.c: (gst_pad_finalize):
9380           fix the static mutex leak
9381
9382 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9383
9384         * check/Makefile.am:
9385           add two more tests for valgrinding
9386         * check/gst/gstvalue.c: (GST_START_TEST):
9387           test refcount of deserialized buffer, found a leak
9388         * docs/gst/gstreamer-docs.sgml:
9389         * docs/gst/gstreamer-sections.txt:
9390         * docs/gst/gstreamer.types:
9391         * docs/gst/tmpl/gstminiobject.sgml:
9392           add miniobject to docs
9393         * gst/gstminiobject.c:
9394           add some docs
9395         * gst/gstvalue.c: (gst_value_deserialize_buffer),
9396         (gst_string_unwrap):
9397           fix a hard-to-find invalid write for one of the tests
9398           fix a leak for deserialized buffers
9399
9400 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9401
9402         * docs/pwg/advanced-events.xml:
9403         * docs/pwg/advanced-request.xml:
9404         * docs/pwg/advanced-scheduling.xml:
9405         * docs/pwg/appendix-porting.xml:
9406         * docs/pwg/building-boiler.xml:
9407         * docs/pwg/intro-preface.xml:
9408         * docs/pwg/other-ntoone.xml:
9409           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
9410           of example code and explanation for pad activation, loop() and
9411           getrange() functions and a bit more. Remove old comments pointing
9412           to loop-functions.
9413         * examples/pwg/Makefile.am:
9414           Add loop/getrange examples.
9415
9416 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9417
9418         * configure.ac:
9419           check for valgrind binary + some fixes
9420         * check/gst.supp:
9421           valgrind suppressions for the tests
9422         * check/Makefile.am:
9423           add a valgrind: target that valgrinds the unit tests
9424         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
9425         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9426         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9427         * check/gst/gstghostpad.c:
9428           added some cleanup
9429         * check/gst/gstdata.c:
9430           removed
9431         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
9432         (thread_unref), (gst_mini_object_suite), (main):
9433           added
9434         * gst/gst.c: (gst_deinit):
9435         * gst/gst.h:
9436           add a method to clean up.
9437         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9438         (gst_system_clock_obtain):
9439           allow for disposing the system clock.
9440         * tools/gst-launch.c: (main):
9441           deinit
9442
9443 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9444
9445         * docs/gst/tmpl/gstbasesrc.sgml:
9446         * docs/gst/tmpl/gstfakesrc.sgml:
9447         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9448         (gst_base_src_init), (gst_base_src_set_property),
9449         (gst_base_src_get_property), (gst_base_src_get_range),
9450         (gst_base_src_start):
9451         * gst/base/gstbasesrc.h:
9452           add num-buffers property
9453         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9454         (gst_fakesrc_init), (gst_fakesrc_set_property),
9455         (gst_fakesrc_get_property), (gst_fakesrc_create),
9456         (gst_fakesrc_start):
9457           remove num-buffers property
9458
9459 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9460
9461         * docs/gst/gstreamer-sections.txt:
9462         * docs/gst/tmpl/gstbasesink.sgml:
9463         * docs/gst/tmpl/gstbasesrc.sgml:
9464         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9465         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9466         (gst_base_sink_finalize), (gst_base_sink_set_clock),
9467         (gst_base_sink_set_property), (gst_base_sink_get_property),
9468         (gst_base_sink_handle_object), (gst_base_sink_event),
9469         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9470         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
9471         (gst_base_sink_loop), (gst_base_sink_deactivate),
9472         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
9473         (gst_base_sink_change_state):
9474         * gst/base/gstbasesink.h:
9475         * gst/base/gstbasesrc.h:
9476         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
9477         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9478         (gst_filesink_init):
9479           more macro splitting
9480
9481 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9482
9483         * gst/gstelement.c: (gst_element_get_bus):
9484           add debug
9485         * tools/gst-launch.c: (check_intr), (event_loop):
9486           fix bus leaks
9487
9488 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9489
9490         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9491           fix a caps leak
9492
9493 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9494
9495         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9496         (gst_base_src_finalize):
9497           add finalize method and clean up properly
9498         * gst/gstpipeline.c: (gst_pipeline_dispose):
9499           add debug
9500
9501 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9502
9503         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
9504         (gst_bin_suite):
9505           add more things to check
9506         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9507         * gst/gstelement.c:
9508           more debug
9509
9510 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9511
9512         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9513         (GST_START_TEST), (fakesrc_suite):
9514         * check/gst-libs/gdp.c: (GST_START_TEST):
9515         * check/gst/gst.c: (GST_START_TEST):
9516         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9517         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9518         * check/gst/gstbus.c: (GST_START_TEST):
9519         * check/gst/gstcaps.c: (GST_START_TEST):
9520         * check/gst/gstdata.c: (GST_START_TEST):
9521         * check/gst/gstelement.c: (GST_START_TEST):
9522         * check/gst/gstghostpad.c: (GST_START_TEST):
9523         * check/gst/gstiterator.c: (GST_START_TEST):
9524         * check/gst/gstmessage.c: (GST_START_TEST):
9525         * check/gst/gstobject.c: (GST_START_TEST):
9526         * check/gst/gstpad.c: (GST_START_TEST):
9527         * check/gst/gststructure.c: (GST_START_TEST):
9528         * check/gst/gstsystemclock.c: (GST_START_TEST),
9529         (gst_systemclock_suite):
9530         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9531         * check/gst/gstvalue.c: (GST_START_TEST):
9532         * check/pipelines/cleanup.c: (GST_START_TEST):
9533         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9534         * check/states/sinks.c: (GST_START_TEST):
9535         * check/gstcheck.c: (gst_check_init):
9536         * check/gstcheck.h:
9537           add debugging category
9538           use GST_START_TEST now, so we add a debug line
9539
9540 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9541
9542         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
9543           add test for state change message on a bin
9544         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
9545           add another test
9546         * gst/gstbin.c: (gst_bin_init):
9547         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
9548         * gst/gstelement.c: (gst_element_post_message),
9549         (gst_element_set_state):
9550         * gst/gstelementfactory.c: (gst_element_factory_create):
9551         * gst/gstmessage.c: (gst_message_new):
9552         * gst/gstscheduler.c:
9553           various debugging additions and cleanups
9554
9555 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9556
9557         * check/Makefile.am:
9558         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
9559         (main):
9560           adding tests for elements
9561         * gst/gstelement.c: (gst_element_dispose):
9562
9563 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9564
9565         * gst/registries/gstlibxmlregistry.c: (load_feature):
9566           plug more leaks.  A simple gst_init() now is leakfree, yay.
9567
9568 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9569
9570         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
9571         (gst_xml_registry_load):
9572           plug another memleak
9573
9574 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9575
9576         * configure.ac:
9577           use GST_SET_ERROR_CFLAGS
9578         * docs/faq/cvs.xml:
9579           change to ERROR_CFLAGS
9580
9581 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9582
9583         * configure.ac:
9584           make GST_ERROR_CFLAGS overridable and re-enable Werror
9585         * docs/faq/cvs.xml:
9586           add a note about error CFLAGS
9587         * docs/gst/tmpl/gstfakesrc.sgml:
9588         * gst/elements/gstfakesrc.c:
9589           comment out some unused code
9590         * gst/gst.c: (split_and_iterate):
9591         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
9592         (load_feature):
9593           plug some memleaks
9594
9595 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9596
9597         * common/Makefile.am:
9598         * common/gtk-doc.mak:
9599         * docs/gst/Makefile.am:
9600           factor out gtk-doc.mak
9601
9602 2005-07-07  Wim Taymans  <wim@fluendo.com>
9603
9604         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
9605         (gst_thread_scheduler_dispose):
9606         Unlock the STREAM_LOCK completely.
9607
9608 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9609
9610         * check/Makefile.am:
9611         * check/elements/.cvsignore:
9612         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9613         (START_TEST), (fakesrc_suite), (main):
9614         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9615         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
9616         (gst_fakesrc_create), (gst_fakesrc_start):
9617         * gst/elements/gstfakesrc.h:
9618           adding a first element test
9619
9620 2005-07-07  Andy Wingo  <wingo@pobox.com>
9621
9622         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
9623         debug message.
9624
9625 2005-07-07  Wim Taymans  <wim@fluendo.com>
9626
9627         * gst/gstquery.c:
9628         * gst/gstquery.h:
9629         Remove old types
9630
9631 2005-07-07  Wim Taymans  <wim@fluendo.com>
9632
9633         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
9634         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
9635         Allow subclasses to implement their own negotiation.
9636
9637 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9638
9639         * docs/design/part-gstbin.txt:
9640         * docs/design/part-gstpipeline.txt:
9641           Update design notes to reflect the movement of
9642           responsibility for bus handling from GstPipeline to
9643           GstBin
9644
9645 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9646
9647         * configure.ac:
9648           Remove unnecessary queue2/3/4 examples.
9649
9650 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9651
9652         * examples/Makefile.am:
9653         * examples/helloworld/helloworld.c: (event_loop), (main):
9654         * examples/queue/queue.c: (event_loop), (main):
9655         * examples/queue2/queue2.c: (main):
9656           Update a couple of the examples to work again.
9657
9658         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9659         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
9660          Spelling corrections and extra debug.
9661         
9662         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
9663         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
9664         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
9665         * gst/gstbin.h:
9666         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9667         (gst_pipeline_change_state):
9668         * gst/gstpipeline.h:
9669           Move the bus handler for children to the GstBin, and create a
9670           separate bus for receiving messages from children to the one the
9671           bus sends 'upwards' on.
9672
9673 2005-07-06  Wim Taymans  <wim@fluendo.com>
9674
9675         * gst/base/README:
9676         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9677         (gst_base_sink_handle_object), (gst_base_sink_loop),
9678         (gst_base_sink_change_state):
9679         * gst/base/gstbasesink.h:
9680         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9681         (gst_base_src_init), (gst_base_src_setcaps),
9682         (gst_base_src_getcaps), (gst_base_src_loop),
9683         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
9684         (gst_base_src_start), (gst_base_src_change_state):
9685         * gst/base/gstbasesrc.h:
9686         Make basesrc negotiate.
9687         Handle the case where preroll fails in basesink.
9688         Update README.
9689
9690 2005-07-06  Wim Taymans  <wim@fluendo.com>
9691
9692         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
9693         Implement the fixate function.
9694         Clean up acceptcaps.
9695
9696 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9697
9698         * docs/pwg/building-filterfactory.xml:
9699         * docs/pwg/pwg.xml:
9700           Remove never-written filter-factory chapter; I'll add the various
9701           base classes to part 4 ("other element types") later on.
9702
9703 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9704
9705         * docs/pwg/advanced-negotiation.xml:
9706         * docs/pwg/building-boiler.xml:
9707         * docs/pwg/building-pads.xml:
9708         * docs/pwg/pwg.xml:
9709         * examples/pwg/Makefile.am:
9710           Add a chapter on caps negotiation, simplify the original code
9711           samples a bit w.r.t. caps negotiation, add link to the advanced
9712           section. Add a bunch of examples showing different use cases of
9713           different types of caps negotiation. Upstream renegotiation isn't
9714           fully documented yet since nobody knows how that works.
9715
9716 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9717
9718         * check/gst/gstpad.c:
9719         * check/gstcheck.c:
9720         * gst/gstpad.c: (gst_pad_get_internal_links_default):
9721           if pad has no parent, return NULL as list of internal links
9722
9723 2005-07-05  Andy Wingo  <wingo@pobox.com>
9724
9725         * gst/elements/gstfilesrc.c:
9726         * gst/elements/gstfakesrc.c: 
9727         * gst/base/gstpushsrc.c:
9728         * gst/base/gstbasesrc.h: 
9729         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
9730         
9731 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
9732
9733         * Makefile.am:
9734           better report generation target (lcov needs a patch)
9735
9736 2005-07-05  Andy Wingo  <wingo@pobox.com>
9737
9738         * gst/elements, testsuite: Null if we got it...
9739
9740 2005-07-05  Wim Taymans  <wim@fluendo.com>
9741
9742         * configure.ac:
9743         * libs/gst/dataprotocol/Makefile.am:
9744         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
9745         * libs/gst/dataprotocol/dataprotocol.h:
9746         * pkgconfig/Makefile.am:
9747         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
9748         * pkgconfig/gstreamer-dataprotocol.pc.in:
9749         Ported dataprotol to 0.9. 
9750         Added pkgconfig files.
9751
9752 2005-07-05  Andy Wingo  <wingo@pobox.com>
9753
9754         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
9755         Default to returning TRUE for the case when tranform_caps returns
9756         a fixed caps, like for identity or volume.
9757
9758         * check/gst/gstbus.c (pound_bus_with_messages): 
9759         * check/gst/gstmessage.c (START_TEST): 
9760         * check/pipelines/simple_launch_lines.c (got_handoff): Application
9761         message API change.
9762
9763         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
9764         logic weaks here: always run transform_caps, trying passthrough
9765         operation only if the original caps intersects with the transform.
9766
9767         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
9768         source and sink caps.
9769
9770         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
9771         Intersect the peer caps with the pad template before going into
9772         transform_caps.
9773         (gst_base_transform_transform_caps): More debugging.
9774
9775         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
9776         src argument.
9777
9778 2005-07-04  Edward Hervey  <edward@fluendo.com>
9779
9780         * gst/gstutils.c:
9781         * gst/gstutils.h:
9782         (gst_pad_add_*_probe): now returns the signal id for better wrapping
9783         in bindings.
9784
9785 2005-07-04  Andy Wingo  <wingo@pobox.com>
9786
9787         * check/gst/gstpad.c: Only set explicit caps on pads.
9788
9789 2005-07-01  Andy Wingo  <wingo@pobox.com>
9790
9791         * tests/network-clock.scm: Commentary update.
9792
9793         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
9794         Didn't really make sense, not implementable with basetransform,
9795         etc.
9796         (gst_identity_transform): Unref inbuf via make_writable. Feeble
9797         attempt at implementing the sync property, needs an unlock method.
9798
9799         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
9800         New func, by default returns the same caps (the identity
9801         transformation).
9802         (gst_base_transform_getcaps): Uses transform_caps to return
9803         something sensible.
9804         (gst_base_transform_setcaps): Complicated logic to get caps on
9805         both pads, even if they are different, and to call set_caps once
9806         for every time both pads get their caps set.
9807         (gst_base_transform_handle_buffer): Give the ref to the transform
9808         function. Allows in-place modification of the buffer.
9809
9810         * gst/base/gstbasetransform.h (transform_caps): New class method.
9811         Given caps on one side, what can I do on the other.
9812         (set_caps): Take two caps, one for each side of the element.
9813
9814         * gst/gstpad.h:
9815         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
9816         caps in place. This is safe because we can check the mutability of
9817         the caps, and a good idea because fixate functions are just called
9818         as a matter of last resort. (Not actually implemented.)
9819         (gst_pad_set_caps): If the caps we're setting is actually the same
9820         as the existing pad caps, just update the pointer without calling
9821         setcaps. Assert that caps is either NULL or fixed, as per the
9822         docs.
9823
9824         * gst/gstghostpad.c: Update for fixate changes.
9825
9826 2005-07-02  Andy Wingo  <wingo@pobox.com>
9827
9828         * gst/gstcaps.c:
9829         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
9830         two refcounts makes it immutable, which is enough. Doc more.
9831
9832 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
9833
9834         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
9835           Put the mini_object into GValue as a mini_object,
9836           not a gpointer, since that's how we declared
9837           the signal.
9838
9839 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9840
9841         * examples/pwg/Makefile.am:
9842           Fix buildbot again.
9843
9844 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9845
9846         * docs/pwg/building-testapp.xml:
9847           Add extra check.
9848         * examples/pwg/Makefile.am:
9849           Fix buildbot.
9850
9851 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9852
9853         * configure.ac:
9854         * examples/Makefile.am:
9855         * examples/pwg/Makefile.am:
9856         * examples/pwg/extract.pl:
9857           Enable building the PWG examples.
9858         * docs/pwg/advanced-interfaces.xml:
9859           Add URI interface stub.
9860         * docs/pwg/advanced-types.xml:
9861         * docs/pwg/other-autoplugger.xml:
9862         * docs/pwg/appendix-porting.xml:
9863         * docs/pwg/pwg.xml:
9864           Add porting guide (mostly stubs), remove autoplugging (see ADM).
9865         * docs/pwg/building-boiler.xml:
9866         * docs/pwg/building-chainfn.xml:
9867         * docs/pwg/building-pads.xml:
9868         * docs/pwg/building-props.xml:
9869         * docs/pwg/building-state.xml:
9870         * docs/pwg/building-testapp.xml:
9871           Update the building-*.xml parts for 0.9 changes. All examples
9872           code blocks compile in examples/pwg/*.
9873
9874 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9875
9876         * docs/manual/advanced-autoplugging.xml:
9877         * docs/manual/appendix-checklist.xml:
9878         * docs/manual/appendix-integration.xml:
9879         * docs/manual/highlevel-components.xml:
9880           Fix playbin/decodebin examples, update docs a bit, mention bus
9881           instead of signals in various places, mention kmplayer and
9882           kaffeine since they have a working GStreamer backend in the KDE
9883           section.
9884
9885 2005-06-30  Wim Taymans  <wim@fluendo.com>
9886
9887         * CHANGES-0.9:
9888         * docs/design/draft-ghostpads.txt:
9889         * docs/design/draft-push-pull.txt:
9890         * docs/design/draft-query.txt:
9891         * docs/design/part-TODO.txt:
9892         * docs/design/part-query.txt:
9893         Added CHANGES-0.9 doc, updated status of other docs.
9894         
9895         * gst/gstquery.h:
9896         Remove "hmm" macro
9897
9898 2005-06-30  Wim Taymans  <wim@fluendo.com>
9899
9900         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9901         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9902         (gst_base_sink_change_state):
9903         * gst/base/gstbasesink.h:
9904         Some tweaks, only EOS and a buffer complete a preroll.
9905
9906 2005-06-30  Andy Wingo  <wingo@pobox.com>
9907
9908         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
9909         activate_push down to the internal pad as well.
9910
9911 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
9912
9913         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9914
9915         * gst/gsttaginterface.c:
9916           Some documentation fixes (#307394 and #307397).
9917
9918 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
9919
9920         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9921
9922         * gst/gstvalue.c: (gst_value_intersect_list):
9923           Fix memleak (#309125).
9924
9925 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9926
9927         * docs/manual/advanced-dataaccess.xml:
9928           Fix fakesrc example to compile; doesn't work, bug somewhere...?
9929         * docs/manual/basics-pads.xml:
9930           Add reference for filtered caps to above chapter.
9931
9932 2005-06-30  Wim Taymans  <wim@fluendo.com>
9933
9934         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
9935         (gst_bin_change_state):
9936         Probes are gone.
9937         Lame attempt at making the state change function a bit
9938         more readable.
9939
9940 2005-06-30  Wim Taymans  <wim@fluendo.com>
9941
9942         * docs/design/part-clocks.txt:
9943         * docs/design/part-element-sink.txt:
9944         * docs/design/part-events.txt:
9945         * docs/design/part-preroll.txt:
9946         * docs/design/part-states.txt:
9947         Some more tweeks and additions to the docs.
9948
9949 2005-06-30  Wim Taymans  <wim@fluendo.com>
9950
9951         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9952         (default_have_data), (gst_pad_class_init), (gst_pad_init),
9953         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9954         (gst_pad_check_pull_range), (gst_pad_get_range),
9955         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
9956         * gst/gstpad.h:
9957         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
9958         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9959         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9960         (gst_pad_remove_buffer_probe):
9961         Removed atomic operations, use existing LOCK.
9962         Move exception handling out of main code path.
9963
9964 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9965
9966         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9967         (silly_return_true_function), (gst_pad_class_init),
9968         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9969         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
9970         (gst_pad_send_event):
9971           Fix accumulator, add default value by using _emitv() instead
9972           of _emit() for signal emission.
9973
9974 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9975
9976         * docs/manual/advanced-dataaccess.xml:
9977         * examples/manual/Makefile.am:
9978           Add probe example.
9979         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
9980           Make work (??).
9981
9982 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
9983
9984         * gst/elements/gstfilesink.c: (gst_filesink_render):
9985           Simplify code so that we don't have to handle short
9986           writes and return GST_FLOW_ERROR if an error occured.
9987
9988 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9989
9990         * docs/gst/gstreamer-docs.sgml:
9991           Remove probes more.
9992
9993 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9994
9995         * docs/gst/gstreamer-sections.txt:
9996         * docs/gst/tmpl/gstpad.sgml:
9997         * docs/gst/tmpl/gstprobe.sgml:
9998         * gst/Makefile.am:
9999         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10000         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
10001         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10002         (gst_pad_push_event), (gst_pad_send_event):
10003         * gst/gstpad.h:
10004         * gst/gstutils.c: (gst_pad_add_data_probe),
10005         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10006         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10007         (gst_pad_remove_buffer_probe):
10008         * gst/gstutils.h:
10009           Remove old probes, add new g-signal-based probes and some utility
10010           functions.
10011
10012 2005-06-29  Edward Hervey  <edward@fluendo.com>
10013
10014         * gst/gstelementfactory.c:
10015         * gst/gstutils.h:
10016         * gst/gstutils.c:
10017         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
10018         the definition to the header file.
10019
10020 2005-06-29  Andy Wingo  <wingo@pobox.com>
10021
10022         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
10023         plugins from the source directory.
10024
10025 2005-06-29  Wim Taymans  <wim@fluendo.com>
10026
10027         * docs/gst/tmpl/gstbuffer.sgml:
10028         * docs/gst/tmpl/gstclock.sgml:
10029         Some fixings for blantently wrong text.
10030
10031 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10032
10033         * check/Makefile.am:
10034         * gst/gst.c: (add_path_func), (init_pre):
10035         * gst/gstregistry.c: (gst_registry_add_path):
10036           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
10037           only scan the GST_PLUGIN_PATH locations, and not add
10038           system locations
10039
10040 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10041
10042         * docs/gst/gstreamer-sections.txt:
10043         * docs/gst/tmpl/gstbasesrc.sgml:
10044         * gst/gstelement.c:
10045         * gst/gstelement.h:
10046         * gst/gstevent.c:
10047         * gst/gstutils.c:
10048           doc fixes
10049
10050 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10051
10052         * docs/manual/advanced-autoplugging.xml:
10053           Fix autoplugging example.
10054
10055 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10056
10057         * docs/manual/advanced-autoplugging.xml:
10058         * docs/manual/mime-world.fig:
10059           Try to get autoplugging working, fix type detection. Fix text
10060           in hello-world image.
10061
10062 2005-06-29  Wim Taymans  <wim@fluendo.com>
10063
10064         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10065         (gst_base_sink_change_state):
10066         Small debug line.
10067
10068         * gst/gstclock.h:
10069         map SIGNAL and BROADCAST to the right function.
10070
10071         * gst/gstobject.h:
10072         Remove redundant braces.
10073
10074         * gst/gstpad.c: (gst_pad_set_caps):
10075         Don't call setcaps function when reseting caps to NULL.
10076
10077         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10078         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
10079         (gst_system_clock_id_unschedule):
10080         Use BROADCAST as this is what we do.
10081
10082 2005-06-29  Wim Taymans  <wim@fluendo.com>
10083
10084         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10085         We are actually prerolling before commiting the state
10086         change. 
10087
10088 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10089
10090         * docs/manual/advanced-clocks.xml:
10091         * docs/manual/advanced-interfaces.xml:
10092         * docs/manual/advanced-metadata.xml:
10093         * docs/manual/advanced-position.xml:
10094         * docs/manual/advanced-schedulers.xml:
10095         * docs/manual/advanced-threads.xml:
10096         * docs/manual/appendix-porting.xml:
10097         * docs/manual/basics-bins.xml:
10098         * docs/manual/basics-bus.xml:
10099         * docs/manual/basics-elements.xml:
10100         * docs/manual/basics-helloworld.xml:
10101         * docs/manual/basics-pads.xml:
10102         * docs/manual/highlevel-components.xml:
10103         * docs/manual/manual.xml:
10104         * docs/manual/thread.fig:
10105           Update (until threads/scheduling) Application Development Manual;
10106           remove GstThread, add GstBus, add simple porting checklist, add
10107           documentation for tag writing, clocks, make all examples until this
10108           part compile and run.
10109         * examples/manual/Makefile.am:
10110           Update from changes to Application Development Manual; add bus
10111           example, remove thread example.
10112
10113 2005-06-28  Wim Taymans  <wim@fluendo.com>
10114
10115         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
10116         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
10117         (gst_bus_source_dispatch):
10118         Add debugging messages.
10119         Make internal methods static.
10120         Handle the case where the bus is flushed in the handler.
10121         
10122         * gst/gstelement.c: (gst_element_get_bus):
10123         Fix refcount in _get_bus();
10124
10125         * gst/gstpipeline.c: (gst_pipeline_change_state),
10126         (gst_pipeline_get_clock_func):
10127         Clock refcounting fixes.
10128         Handle the case where preroll timed out more gracefully.
10129         
10130         * gst/gstsystemclock.c: (gst_system_clock_dispose):
10131         Clean up the internal thread in dispose. This is needed
10132         for subclasses that actually get disposed.
10133         
10134         * gst/schedulers/threadscheduler.c:
10135         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10136         (gst_thread_scheduler_dispose):
10137         Free thread pool in dispose.
10138
10139 2005-06-28  Andy Wingo  <wingo@pobox.com>
10140
10141         * tests/network-clock-utils.scm (debug, print-event): New utils.
10142
10143         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
10144         (*packet-loss*): Unified loss probability.
10145         (network-time): Report out-of-band events.
10146
10147         * tests/plot-data: Add support for out-of-band events. Hack it
10148         into this script instead of passing it down the pipe; should fix
10149         this later.
10150
10151 2005-06-28  Wim Taymans  <wim@fluendo.com>
10152
10153         * docs/gst/gstreamer.types:
10154         * docs/gst/tmpl/gstbasesrc.sgml:
10155         * docs/gst/tmpl/gstpad.sgml:
10156         Docs fixes.
10157
10158 2005-06-28  Wim Taymans  <wim@fluendo.com>
10159
10160         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10161         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
10162         (gst_proxy_pad_do_fixatecaps):
10163         Correctly proxy the check_pull_range function.
10164
10165 2005-06-28  Andy Wingo  <wingo@pobox.com>
10166
10167         * tests/network-clock.scm: Removed need for slib.
10168         
10169 2005-06-28  Wim Taymans  <wim@fluendo.com>
10170
10171         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
10172         (gst_basesink_preroll_queue_flush):
10173         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
10174         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
10175         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10176         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10177         (gst_proxy_pad_set_property):
10178         * gst/gstpad.c:
10179         * gst/gstpad.h:
10180         * gst/gstqueue.c: (gst_queue_init):
10181         The deprecated pad loop function is removed now.
10182
10183 2005-06-28  Andy Wingo  <wingo@pobox.com>
10184
10185         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
10186         New parameters, simulate network packet loss.
10187
10188         * tests/network-clock-utils.scm: Initialize the RNG.
10189
10190 2005-06-28  Wim Taymans  <wim@fluendo.com>
10191
10192         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
10193         (gst_basesink_event), (gst_basesink_deactivate):
10194         Flushing the preroll queue always needs to unlock the waiters.
10195
10196 2005-06-28  Edward Hervey  <edward@fluendo.com>
10197
10198         * gst/gstpipeline.c: (gst_pipeline_send_event): 
10199         Wheen a seek was successful on a pipeline, set the stream_time to the
10200         seek offset in order to have a synchronized stream_time.
10201
10202 2005-06-28  Wim Taymans  <wim@fluendo.com>
10203
10204         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10205         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10206         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
10207         (gst_proxy_pad_do_fixatecaps):
10208         Call wrapper function instead of just calling the function
10209         pointers. This takes care of any locking and whatmore.
10210
10211 2005-06-28  Wim Taymans  <wim@fluendo.com>
10212
10213         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10214         (gst_pad_pull_range):
10215         * gst/gstpad.h:
10216         CONNECTED -> LINKED.
10217
10218 2005-06-28  Andy Wingo  <wingo@pobox.com>
10219
10220         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10221         source-munging commit!!!
10222
10223         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
10224         (gst_object_sink): Take gpointer arguments, not GstObject --
10225         avoids casts. Like GLib.
10226
10227         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10228         activate.
10229
10230 2005-06-27  Andy Wingo  <wingo@pobox.com>
10231
10232         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10233         remaining buffer.
10234
10235         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10236         returns a sorted copy of the trace list.
10237         (gst_alloc_trace_print_live): New API, only prints traces with
10238         live objects. Sort the list.
10239         (gst_alloc_trace_print_all): Sort the list.
10240         (gst_alloc_trace_print): Align columns.
10241
10242         * gst/elements/gstttypefindelement.c:
10243         * gst/elements/gsttee.c:
10244         * gst/base/gstbasesrc.c:
10245         * gst/base/gstbasesink.c:
10246         * gst/base/gstbasetransform.c:
10247         * gst/gstqueue.c: Adapt for pad activation changes.
10248
10249         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10250         sched.
10251         (gst_pipeline_dispose): Drop ref on sched.
10252
10253         * gst/gstpad.c (gst_pad_init): Set the default activate func.
10254         (gst_pad_activate_default): Push mode by default.
10255         (pre_activate_switch, post_activate_switch): New stubs, things to
10256         do before and after switching activation modes on pads.
10257         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10258         the pad's activate function to choose which mode to activate.
10259         Shortcut on deactivation and call the right function directly.
10260         (gst_pad_activate_pull): New API, (de)activates a pad in pull
10261         mode.
10262         (gst_pad_activate_push): New API, same for push mode.
10263         (gst_pad_set_activate_function) 
10264         (gst_pad_set_activatepull_function) 
10265         (gst_pad_set_activatepush_function): Setters for new API.
10266
10267         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10268         Trace all miniobjects.
10269         (gst_mini_object_make_writable): Unref the arg if we copy, like
10270         gst_caps_make_writable.
10271
10272         * gst/gstmessage.c (_gst_message_initialize): No trace init.
10273
10274         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
10275         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10276         Adapt for new pad API.
10277
10278         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10279
10280         * gst/gstelement.h:
10281         * gst/gstelement.c (gst_element_iterate_src_pads) 
10282         (gst_element_iterate_sink_pads): New API functions.
10283         
10284         * gst/gstelement.c (iterator_fold_with_resync): New utility,
10285         should fold into gstiterator.c in some form.
10286         (gst_element_pads_activate): Simplified via use of fold and
10287         delegation of decisions to gstpad->activate.
10288
10289         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10290         help in debugging.
10291
10292         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10293         class once in init, like gstmessage. Didn't run into this issue
10294         but it seems correct. Don't initialize a trace, gstminiobject does
10295         that.
10296
10297         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10298         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10299         to the bus.
10300         (assert_live_count): New util function, uses alloc traces to check
10301         cleanup.
10302
10303         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10304         To be modified when unlink drops the internal pad.
10305
10306 2005-06-27  Wim Taymans  <wim@fluendo.com>
10307
10308         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10309         (gst_bin_change_state):
10310         Cleanup the get_state() function a little, make sure it
10311         iterates the same set of elements.
10312         Added stub iterate_state_order().
10313
10314 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10315
10316         * docs/gst/gstreamer-docs.sgml:
10317         * docs/gst/gstreamer-sections.txt:
10318         * docs/gst/gstreamer.types:
10319         * docs/gst/tmpl/gstbasesink.sgml:
10320         * docs/gst/tmpl/gstbasesrc.sgml:
10321         * docs/gst/tmpl/gstbasetransform.sgml:
10322         * docs/gst/tmpl/gstelement.sgml:
10323         * docs/gst/tmpl/gstiterator.sgml:
10324         * gst/base/gstbasesrc.c:
10325         * gst/base/gstbasesrc.h:
10326         * gst/base/gstbasetransform.h:
10327         * gst/gstelement.c:
10328         * gst/gstiterator.h:
10329           adding basetransform and iterator docs
10330
10331 2005-06-27  Andy Wingo  <wingo@pobox.com>
10332
10333         * docs/design/part-activation.txt: Notes on how activation should
10334         work -- not quite implemented yet.
10335
10336 2005-06-25  Wim Taymans  <wim@fluendo.com>
10337
10338         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10339         At least get the chain function correct, needs more
10340         fixing.
10341
10342 2005-06-25  Wim Taymans  <wim@fluendo.com>
10343
10344         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10345         (gst_basesink_handle_object), (gst_basesink_event),
10346         (gst_basesink_do_sync), (gst_basesink_handle_event),
10347         (gst_basesink_change_state):
10348         * gst/gsttask.h:
10349         Right, two problems here: ghostpads don't take locks and
10350         glib _rec_mutex_lock_full() with depth==0 still locks.
10351         Catch illegal locking and g_warn them.
10352
10353 2005-06-25  Wim Taymans  <wim@fluendo.com>
10354
10355         * check/states/sinks.c: (START_TEST), (gst_object_suite):
10356         Have to check for completion now...
10357
10358 2005-06-25  Wim Taymans  <wim@fluendo.com>
10359
10360         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10361         (gst_basesink_handle_object), (gst_basesink_event),
10362         (gst_basesink_do_sync), (gst_basesink_handle_event),
10363         (gst_basesink_change_state):
10364         * gst/gstpad.h:
10365         Unlock STREAM_LOCK whatever the recursion was.
10366
10367 2005-06-25  Wim Taymans  <wim@fluendo.com>
10368
10369         * gst/base/gstbasesink.c: (gst_basesink_set_property),
10370         (gst_basesink_preroll_queue_empty),
10371         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10372         (gst_basesink_event), (gst_basesink_do_sync),
10373         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10374         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10375         (gst_basesink_change_state):
10376         Reworked the base sink, handle event and buffer serialisation
10377         correctly and removed possible deadlock.
10378         Handle EOS correctly.
10379
10380 2005-06-25  Wim Taymans  <wim@fluendo.com>
10381
10382         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10383         (gst_pipeline_change_state):
10384         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10385         Allow elements to post EOS in the state change function.
10386         Fix up -launch, make it exit the poll loop when the
10387         pipeline actually changed state.
10388         Fix up warning parsing in -launch.
10389
10390 2005-06-25  Wim Taymans  <wim@fluendo.com>
10391
10392         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10393         (gst_tee_sink_activate):
10394         Core takes STREAM_LOCK for us now.
10395
10396 2005-06-25  Wim Taymans  <wim@fluendo.com>
10397
10398         * gst/gstelement.c: (gst_element_get_state_func),
10399         (gst_element_set_state):
10400         * gst/gstelement.h:
10401         * gst/gstmessage.c: (gst_message_parse_error),
10402         (gst_message_parse_warning):
10403         Keep track of current target state while performing a state
10404         change so that subclasses can do something interesting.
10405         Fix parsing of warning/error messages when GError is NULL.
10406
10407 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10408
10409         * docs/gst/Makefile.am:
10410         * docs/gst/gstreamer-docs.sgml:
10411         * docs/gst/gstreamer-sections.txt:
10412         * docs/gst/gstreamer.types:
10413         * docs/gst/tmpl/gstbasesink.sgml:
10414         * docs/gst/tmpl/gstbasesrc.sgml:
10415         * docs/gst/tmpl/gstbin.sgml:
10416         * docs/gst/tmpl/gstcompat.sgml:
10417         * docs/gst/tmpl/gstfakesink.sgml:
10418         * docs/gst/tmpl/gstfakesrc.sgml:
10419         * docs/gst/tmpl/gstfilesink.sgml:
10420         * docs/gst/tmpl/gstfilesrc.sgml:
10421         * docs/gst/tmpl/gstindex.sgml:
10422         * docs/manual/appendix-quotes.xml:
10423         * gst/base/gstbasesrc.h:
10424         * gst/elements/gstfakesrc.h:
10425         * gst/gstmessage.h:
10426           start pulling in base classes and elements in our docs
10427
10428 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
10429
10430         * docs/gst/Makefile.am:
10431         * docs/libs/Makefile.am:
10432           fixed make distcheck with gtk-doc 1.3
10433
10434 2005-06-23  Wim Taymans  <wim@fluendo.com>
10435
10436         * gst/gstelement.c: (gst_element_get_state_func),
10437         (gst_element_set_state), (gst_element_change_state):
10438         When the state did not change, also report NO_PREROLL
10439         when it matters.
10440
10441 2005-06-23  Wim Taymans  <wim@fluendo.com>
10442
10443         * gst/gstpad.c: (gst_pad_event_default):
10444         * gst/gstqueue.c: (gst_queue_loop):
10445         No unsafe task pausing please.
10446
10447 2005-06-23  Wim Taymans  <wim@fluendo.com>
10448
10449         * gst/schedulers/threadscheduler.c:
10450         (gst_thread_scheduler_task_start),
10451         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
10452         Ref the task before pushing it on the threadpool. This
10453         makes sure that we have a ref when the threadfunction is
10454         actually called.
10455
10456 2005-06-23  Andy Wingo  <wingo@pobox.com>
10457
10458         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
10459         offset is greater than the file's size.
10460
10461         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
10462         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
10463         * gst/gstobject.c (gst_object_class_init): Make the class lock
10464         recursive. Wim won't let me drop deep_notify. Decodebin works
10465         again, whoopdy doo.
10466
10467         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
10468         internal pad, and hacks accordingly. Doesn't do it on the target
10469         pad because we change its caps. Probably catches all cases of
10470         interest tho.
10471         (gst_ghost_pad_set_property): Connect to notify::caps as
10472         appropritate.
10473
10474         * tests/network-clock.scm (plot-simulation): Pipe data to the
10475         elite python skript.
10476
10477         * tests/network-clock-utils.scm (define-parameter): New macro,
10478         defines a parameter that can be set via the command line.
10479         (set-parameter!, parse-parameter-arguments): Command line args
10480         parser.
10481
10482         * tests/plot-data: Simple matplotlib-based plotter, takes input on
10483         stdin.
10484
10485 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
10486
10487         * gst/elements/gsttypefindelement.c:
10488         (gst_type_find_element_handle_event):
10489           Don't restart typefinding on a discont.
10490         * gst/gstelement.c: (gst_element_set_state):
10491           Debug spelling fix.
10492         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
10493           Allow changing mode of an active pad.
10494           Debug output fixes.
10495         * gst/registries/gstlibxmlregistry.c: (load_feature):
10496           Don't cast a static pad template to a normal pad template.
10497
10498 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10499
10500         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10501         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10502           remove gst_strtoll completely, since it didn't actually do
10503           anything more than what g_ascii_strtoull already does.
10504           check for range errors when deserializing
10505           do a cast for the unsigned cases; but further fixing needs
10506           a decision on what the interpretation of "(int)" and
10507           deserialization should be for values that fall outside the
10508           type's boundaries (ie, refuse, or interpret as casting)
10509
10510 2005-06-23  Wim Taymans  <wim@fluendo.com>
10511
10512         * check/Makefile.am:
10513         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
10514         * docs/design/part-live-source.txt:
10515         * docs/design/part-states.txt:
10516         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10517         (gst_basesrc_set_live), (gst_basesrc_is_live),
10518         (gst_basesrc_get_range), (gst_basesrc_activate),
10519         (gst_basesrc_change_state):
10520         * gst/base/gstbasesrc.h:
10521         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10522         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10523         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
10524         * gst/gstelement.c: (gst_element_get_state_func),
10525         (gst_element_set_state):
10526         * gst/gstelement.h:
10527         * gst/gsttypes.h:
10528         * tools/gst-launch.c: (event_loop), (main):
10529         Added support for live sources and other elements that
10530         cannot do preroll.
10531         Updated design docs, added live-source design doc.
10532         Implemented live source functionality in basesrc
10533         Fix error condition in _bin_get_state()
10534         Implement live source handling in -launch.
10535         Added check for live sources.
10536         Fixed case in GstBin where elements were changed state
10537         multiple times.
10538
10539
10540 2005-06-23  Andy Wingo  <wingo@pobox.com>
10541
10542         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
10543         borken refcounting.
10544
10545         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
10546         gst_caps_replace takes care of this for us.
10547
10548         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
10549         gst_pad_set_caps on the target, not just its setcaps() function.
10550
10551         * tests/network-clock.scm: 
10552         * tests/network-clock-utils.scm: A network clock simulator.
10553         Something of an algorithmic testbed before doing something in C.
10554
10555 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10556
10557         * check/Makefile.am:
10558         * check/gst/capslist.h:
10559           copy over from 0.8, and add two with bitmasks specified with
10560           (int) 0xFF...
10561         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10562           add test to parse everything from capslist.h
10563         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
10564         (main):
10565           add test for structure deserialization
10566         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10567           add tests for deserialization of strings to int types
10568         * gst/gststructure.c: (gst_structure_nth_field_name):
10569         * gst/gststructure.h:
10570           add a way to get the name of a field referenced by index
10571         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10572           instead of checking if the resulting long long lies between
10573           min and max, we check if the long long would fit into
10574           a number of bytes for the final type.
10575           This fixes cases where a string represents 2^32 - 1, which
10576           when cast to int would be the (valid) -1, but is bigger than
10577           G_MAXINT
10578
10579 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10580
10581         * gst/parse/grammar.y:
10582           add a log line for type deserialization
10583
10584 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10585
10586         * check/gst/gstvalue.c: (START_TEST):
10587         * gst/gstvalue.c: (gst_value_deserialize):
10588           return long long, not int, so gint64 deserialization actually
10589           works.  Is there any flag that makes the compiler check this ?
10590           Fixes #308559
10591
10592 2005-06-22  Wim Taymans  <wim@fluendo.com>
10593
10594         * gst/gstbuffer.h:
10595         Added convenience macros for setting buffers in GValue.
10596
10597 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10598
10599         * check/gst/.cvsignore:
10600         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10601           add a test deserializing int64, and comment part out because
10602           it fails, yay !
10603
10604 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10605
10606         * check/Makefile.am:
10607         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
10608         * testsuite/Makefile.am:
10609         * testsuite/caps/Makefile.am:
10610         * testsuite/caps/value_serialize.c:
10611         * testsuite/test_gst_init.c:
10612           move a value_serialize test over
10613
10614 2005-06-20  Wim Taymans  <wim@fluendo.com>
10615
10616         * gst/gstpad.c:
10617         Small doc updates.
10618         
10619         * gst/gstvalue.c: (gst_value_compare_buffer),
10620         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
10621         (gst_value_compare_flags), (gst_value_serialize_flags),
10622         (gst_value_deserialize_flags), (_gst_value_initialize):
10623         Fix serialisation of buffers, they are not boxed types anymore
10624
10625 2005-06-20  Wim Taymans  <wim@fluendo.com>
10626
10627         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10628         Testcase to show error in buffer-on-caps serialisation.
10629
10630 2005-06-20  Andy Wingo  <wingo@pobox.com>
10631
10632         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
10633         will be adding to later.
10634
10635         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
10636         if its socks fill with rocks.
10637         (gst_system_clock_obtain): Set the name on object construction.
10638         Avoid double-checked locking.
10639
10640 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
10641
10642         * gst/gsturi.c: (gst_element_make_from_uri):
10643           Fix potential endless loop.
10644
10645 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10646
10647         * check/Makefile.am:
10648           add gsttag
10649         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
10650         (main):
10651           move over from testsuite dir and clean up
10652         * configure.ac:
10653         * gst/gsttag.c:
10654         * testsuite/Makefile.am:
10655         * testsuite/tags/.cvsignore:
10656         * testsuite/tags/Makefile.am:
10657         * testsuite/tags/merge.c:
10658           remove testsuite/tags
10659
10660 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10661
10662         * docs/gst/gstreamer-sections.txt:
10663         * docs/gst/tmpl/gstenumtypes.sgml:
10664         * win32/gstenumtypes.c:
10665           clean up documentation build a little
10666
10667 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10668
10669         * check/gstcheck.h:
10670           add macros for checking refcounts on objects and caps
10671         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
10672           add some more unit tests
10673         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
10674         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
10675           fix leaked refcounts (I hope :)) so unittest works
10676         * gst/gstpad.h:
10677           whitespace removal
10678
10679 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10680
10681         * configure.ac: back to HEAD
10682
10683 === release 0.9.1 ===
10684
10685 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10686
10687         * NEWS:
10688         * RELEASE:
10689           updated
10690
10691 2005-06-17  Andy Wingo  <wingo@pobox.com>
10692
10693         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
10694         assert; it's always possible that the pad gets deactivated in
10695         between the checks in gstpad.c and the implementation. Rely on
10696         finish_preroll() to return a FLUSHING or similar instead of on the
10697         assert.
10698         
10699         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
10700         clock and post an EOS message if we come out of finish_preroll in
10701         the playing state.
10702
10703 2005-06-16  David Schleef  <ds@schleef.org>
10704
10705         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
10706         (gst_capsfilter_set_property): Allow NULL as possible value
10707         for filter_caps property, indicating GST_CAPS_ANY.
10708
10709 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10710
10711         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
10712           fix debug output
10713         * gst/schedulers/Makefile.am:
10714           use libgst prefix
10715         * gstreamer.spec.in:
10716           fix spec for it
10717
10718 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10719
10720         * gstreamer.spec.in:
10721           clean up
10722
10723 2005-06-08  Andy Wingo  <wingo@pobox.com>
10724
10725         * gst/gstutils.c: RPAD fixes all around.
10726         (gst_element_link_pads): Refcounting fixes.
10727
10728         * tools/gst-inspect.c:
10729         * tools/gst-xmlinspect.c:
10730         * parse/grammar.y:
10731         * gst/base/gsttypefindhelper.c:
10732         * gst/base/gstbasesink.c:
10733         * gst/gstqueue.c: RPAD fixes.
10734
10735         * gst/gstghostpad.h:
10736         * gst/gstghostpad.c: New ghost pad implementation as full proxy
10737         pads. The tricky thing is they provide both source and sink
10738         interfaces, since they proxy the internal pad for the external
10739         pad, and vice versa. Implement with lower-level ProxyPad objects,
10740         with the interior proxy pad as a child of the exterior ghost pad.
10741         Should write a doc on this.
10742         
10743         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
10744         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
10745         gst_object API.
10746         
10747         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
10748         pads are real pads. No ghost pads in this file. Not documenting
10749         the myriad s/RPAD/PAD/ and REALIZE fixes.
10750         (gst_pad_class_init): Add properties for "direction" and
10751         "template". Both are construct-only, so they can't change during
10752         the life of the pad. Fixes properly deriving from GstPad.
10753         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
10754         derived objects, just set properties when creating the objects via
10755         g_object_new.
10756         (gst_pad_get_parent): Implement as a function, return NULL if the
10757         parent is not an element.
10758         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
10759         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
10760         
10761         * gst/gstobject.c (gst_object_class_init): Make name a construct
10762         property. Don't set it in the object init.
10763
10764         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
10765         with UNKNOWN direction.
10766         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
10767         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
10768         (gst_element_remove_pad): Remove ghost-pad special cases.
10769         (gst_element_pads_activate): Remove rpad cruft.
10770
10771         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
10772         catch the pad's-parent-not-an-element case.
10773
10774         * gst/gst.h: Include gstghostpad.h.
10775
10776         * gst/gst.c (init_post): No more real, ghost pads.
10777
10778         * gst/Makefile.am: Add gstghostpad.[ch].
10779
10780         * check/Makefile.am:
10781         * check/gst/gstbin.c:
10782         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
10783         into a bin creates ghost pads, and that the refcounts are right.
10784         Partly moved from gstbin.c.
10785
10786 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10787
10788         * check/gst-libs/.cvsignore:
10789         * check/gst/.cvsignore:
10790         * check/pipelines/.cvsignore:
10791           ignore more
10792         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
10793         (START_TEST), (cleanup_suite), (main):
10794           add some tests related to cleanup after running pipelines
10795
10796 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10797
10798         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
10799           add a testsuite for GstBuffer
10800
10801 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10802
10803         * gst/gstminiobject.h:
10804           add defines for accessing the refcount
10805
10806 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
10807
10808         * Makefile.am: added support for html unit test coverage reports
10809
10810 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
10811
10812         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
10813           Free existing caps if the capsfilter changes. Add a FIXME about
10814           setting those caps on the pads.
10815
10816         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
10817           Before adding a ghost pad to a parent bin, check that there isn't
10818           already one for the element on the bin. Prevents infinite recursion
10819           when using decodebin in parse pipelines. Andy says he'll rewrite the
10820           way this works anyway, so ignore the hack.
10821
10822 2005-06-02  Andy Wingo  <wingo@pobox.com>
10823
10824         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
10825         file size, pass it on to the type find helper.
10826
10827         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
10828         segment_start and segment_end properly according to the seek
10829         method. Segment_end is still a bit flaky because offset can be
10830         negative for CUR and END cases, but it takes -1 as an "unset"
10831         value.
10832
10833 2005-06-02  Wim Taymans  <wim@fluendo.com>
10834
10835         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
10836         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
10837         (gst_basesink_activate):
10838         * gst/base/gstbasesink.h:
10839         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10840         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10841         (gst_pad_query), (gst_pad_start_task):
10842         * gst/gstpad.h:
10843         * gst/gstqueue.c: (gst_queue_bufferalloc),
10844         (gst_queue_handle_sink_event), (gst_queue_chain):
10845         Bufferalloc: return GstFlowReturn to more accuratly report
10846         why allocation failed.
10847
10848 2005-06-02  Wim Taymans  <wim@fluendo.com>
10849
10850         * gst/gstpipeline.c: (gst_pipeline_send_event):
10851         Take snapshot of state without blocking.
10852
10853 2005-06-02  Wim Taymans  <wim@fluendo.com>
10854
10855         * docs/design/part-TODO.txt:
10856         * docs/design/part-caps.txt:
10857         * docs/design/part-clocks.txt:
10858         * docs/design/part-negotiation.txt:
10859         * docs/design/part-preroll.txt:
10860         Small doc updates 
10861
10862 2005-05-30  Wim Taymans  <wim@fluendo.com>
10863
10864         * gst/elements/gstidentity.c: (gst_identity_event),
10865         (gst_identity_transform), (gst_identity_get_property):
10866         Protect last_message property as it is accessed from
10867         multiple threads.
10868
10869 2005-05-30  Wim Taymans  <wim@fluendo.com>
10870
10871         * gst/gstelement.c: (gst_element_init),
10872         (gst_element_pads_activate), (gst_element_change_state):
10873         Slicker pad activation code.
10874
10875 2005-05-30  Wim Taymans  <wim@fluendo.com>
10876
10877         * gst/Makefile.am:
10878         * gst/gstelement.h:
10879         * gst/gstelementfactory.h:
10880         * gst/gsttypes.h:
10881         Move elementfactory methods to separate .h file.
10882
10883 2005-05-30  Wim Taymans  <wim@fluendo.com>
10884
10885         * docs/design/part-overview.txt:
10886         * gst/gstsystemclock.h:
10887         Small typo fixes, doc updates.
10888
10889 2005-05-30  Wim Taymans  <wim@fluendo.com>
10890
10891         * gst/gst.c: (gst_init_get_popt_table), (init_post),
10892         (init_popt_callback):
10893         Remove cpu-opt flag.
10894
10895 2005-05-30  Wim Taymans  <wim@fluendo.com>
10896
10897         * gst/gstbuffer.c: (gst_subbuffer_finalize),
10898         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
10899         * gst/gstbuffer.h:
10900         Avoid typechecking in places where not needed.
10901         Added accessor for malloc_data.
10902
10903 2005-05-30  Wim Taymans  <wim@fluendo.com>
10904
10905         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
10906         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
10907         (gst_pad_configure_sink), (gst_pad_configure_src),
10908         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
10909         (gst_pad_start_task):
10910         Propagate errors from _set_caps() in configure_src/sink
10911         functions instead of returning TRUE.
10912         FLUSH events can travel up and downstream
10913
10914
10915 2005-05-30  Wim Taymans  <wim@fluendo.com>
10916
10917         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10918         (gst_basesink_activate):
10919         Handle EOS in preroll.
10920
10921 2005-05-30  Wim Taymans  <wim@fluendo.com>
10922
10923         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10924         (gst_queue_loop), (gst_queue_handle_src_event):
10925         Remove old pieces of code
10926         Flushing the queue in an upstream event is a very bad idea.
10927
10928 2005-05-26  Andy Wingo  <wingo@pobox.com>
10929
10930         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
10931         gst_value_set_mini_object so as to add a ref on the object (which
10932         will be removed when the value is unset).
10933
10934         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
10935         arg type in ::handoff.
10936
10937         * gst/gstelement.c (gst_element_change_state): Also deactivate
10938         pads in READY->NULL, just in case the element didn't make it to
10939         PAUSED. Wingo tested, Wim approved.
10940
10941 2005-05-26  Wim Taymans  <wim@fluendo.com>
10942
10943         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10944         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10945         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
10946         A flushing pad cannot be used to alloc_buffer from.
10947
10948 2005-05-26  Wim Taymans  <wim@fluendo.com>
10949
10950         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
10951         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
10952         (gst_bus_source_dispatch), (gst_bus_source_finalize),
10953         (gst_bus_create_watch), (gst_bus_add_watch_full):
10954         * gst/gstbus.h:
10955         Implement a real GSource and use g_main_context_wakeup() to
10956         signal new messages instead of the socketpair.
10957
10958 2005-05-25  Wim Taymans  <wim@fluendo.com>
10959
10960         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
10961         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
10962         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10963         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10964         (gst_pad_send_event), (gst_pad_start_task):
10965         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
10966         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
10967         (gst_queue_sink_activate), (gst_queue_src_activate),
10968         (gst_queue_change_state):
10969         * gst/gstqueue.h:
10970         Fix state changes for non sinks. We now change sinks, then elements
10971         with unconnected srcpads, then the rest.
10972         More efficient queue unlocking in flush and state changes.
10973         Set the pad activate mode even if it does not have an activate
10974         function.
10975
10976 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10977
10978         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
10979           Don't go in pull mode for non-seekable sources.
10980         * gst/elements/gsttypefindelement.h:
10981         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10982         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
10983         (free_entry), (stop_typefinding),
10984         (gst_type_find_element_handle_event), (find_peek),
10985         (gst_type_find_element_chain), (do_pull_typefind),
10986         (gst_type_find_element_change_state):
10987           Allow typefinding (w/o seeking) in push-mode, simplified version
10988           of what was in 0.8.
10989         * gst/gstutils.c: (gst_buffer_join):
10990         * gst/gstutils.h:
10991           gst_buffer_join() from 0.8.
10992
10993 2005-05-25  Wim Taymans  <wim@fluendo.com>
10994
10995         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10996         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10997         (gst_pad_send_event), (gst_pad_start_task):
10998         Disable attempt at mode switching until it is figured out.
10999
11000 2005-05-25  Wim Taymans  <wim@fluendo.com>
11001
11002         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
11003         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11004         (gst_basesink_finish_preroll), (gst_basesink_chain),
11005         (gst_basesink_loop), (gst_basesink_activate),
11006         (gst_basesink_change_state):
11007         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
11008         (gst_basesrc_get_range), (gst_basesrc_loop),
11009         (gst_basesrc_activate):
11010         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11011         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
11012         (gst_real_pad_init), (gst_real_pad_set_property),
11013         (gst_real_pad_get_property), (gst_pad_set_active),
11014         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
11015         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
11016         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
11017         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
11018         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11019         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
11020         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
11021         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11022         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
11023         (gst_pad_stop_task):
11024         * gst/gstpad.h:
11025         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11026         (gst_queue_loop), (gst_queue_src_activate):
11027         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
11028         (gst_task_get_state):
11029         * gst/gsttask.h:
11030         * gst/schedulers/threadscheduler.c:
11031         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
11032         Implement gst_pad_pause/start/stop_task(), take STREAM lock
11033         in task function.
11034         Remove ACTIVE pad flag, use FLUSHING everywhere
11035         Added _pad_chain(), _pad_get_range() to call chain/getrange 
11036         functions.
11037         Add locks around IS_FLUSHING when reading.
11038         Take STREAM lock in chain(), get_range() functions so plugins
11039         don't need to take it anymore.
11040         
11041
11042
11043 2005-05-25  Wim Taymans  <wim@fluendo.com>
11044
11045         * tools/gst-launch.c: (event_loop):
11046         Unref message after using its contents instead of
11047         before.
11048
11049 2005-05-24  Wim Taymans  <wim@fluendo.com>
11050
11051         * docs/design/draft-ghostpads.txt:
11052         * docs/design/draft-push-pull.txt:
11053         * docs/design/draft-query.txt:
11054         * docs/design/part-overview.txt:
11055         Docs updates, added general overview doc.
11056
11057 2005-05-21  David Schleef  <ds@schleef.org>
11058
11059         * docs/gst/tmpl/old/GstBin.sgml:
11060         * docs/gst/tmpl/old/GstBuffer.sgml:
11061         * docs/gst/tmpl/old/GstCaps.sgml:
11062         * docs/gst/tmpl/old/GstClock.sgml:
11063         * docs/gst/tmpl/old/GstCompat.sgml:
11064         * docs/gst/tmpl/old/GstData.sgml:
11065         * docs/gst/tmpl/old/GstElement.sgml:
11066         * docs/gst/tmpl/old/GstEvent.sgml:
11067         * docs/gst/tmpl/old/GstIndex.sgml:
11068         * docs/gst/tmpl/old/GstStructure.sgml:
11069         * docs/gst/tmpl/old/GstTag.sgml:
11070         * docs/gst/tmpl/old/cothreads.sgml:
11071         * docs/gst/tmpl/old/cothreads_compat.sgml:
11072         * docs/gst/tmpl/old/gettext.sgml:
11073         * docs/gst/tmpl/old/gobject2gtk.sgml:
11074         * docs/gst/tmpl/old/grammar.tab.sgml:
11075         * docs/gst/tmpl/old/gst-i18n-app.sgml:
11076         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
11077         * docs/gst/tmpl/old/gst_private.sgml:
11078         * docs/gst/tmpl/old/gstaggregator.sgml:
11079         * docs/gst/tmpl/old/gstarch.sgml:
11080         * docs/gst/tmpl/old/gstatomic_impl.sgml:
11081         * docs/gst/tmpl/old/gstbufferstore.sgml:
11082         * docs/gst/tmpl/old/gstdata_private.sgml:
11083         * docs/gst/tmpl/old/gstdisksink.sgml:
11084         * docs/gst/tmpl/old/gstdisksrc.sgml:
11085         * docs/gst/tmpl/old/gstelementfactory.sgml:
11086         * docs/gst/tmpl/old/gstextratypes.sgml:
11087         * docs/gst/tmpl/old/gstfakesink.sgml:
11088         * docs/gst/tmpl/old/gstfakesrc.sgml:
11089         * docs/gst/tmpl/old/gstfdsink.sgml:
11090         * docs/gst/tmpl/old/gstfdsrc.sgml:
11091         * docs/gst/tmpl/old/gstfilesink.sgml:
11092         * docs/gst/tmpl/old/gstfilesrc.sgml:
11093         * docs/gst/tmpl/old/gsthttpsrc.sgml:
11094         * docs/gst/tmpl/old/gstidentity.sgml:
11095         * docs/gst/tmpl/old/gstindexfactory.sgml:
11096         * docs/gst/tmpl/old/gstmarshal.sgml:
11097         * docs/gst/tmpl/old/gstmd5sink.sgml:
11098         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
11099         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
11100         * docs/gst/tmpl/old/gstpadtemplate.sgml:
11101         * docs/gst/tmpl/old/gstpipefilter.sgml:
11102         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
11103         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
11104         * docs/gst/tmpl/old/gstshaper.sgml:
11105         * docs/gst/tmpl/old/gstspider.sgml:
11106         * docs/gst/tmpl/old/gstspideridentity.sgml:
11107         * docs/gst/tmpl/old/gststatistics.sgml:
11108         * docs/gst/tmpl/old/gsttee.sgml:
11109         * docs/gst/tmpl/old/gsttimecache.sgml:
11110         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
11111         * docs/gst/tmpl/old/gstxmlregistry.sgml:
11112         * docs/gst/tmpl/old/gthread-cothreads.sgml:
11113         * docs/gst/tmpl/old/types.sgml:
11114           I didn't intend to add these or check them in.
11115
11116 2005-05-19  David Schleef  <ds@schleef.org>
11117
11118         * configure.ac: Use -no-common everywhere.  In a sane world, it
11119           would be the default in libtool, because without it, you can't
11120           build DLLs on Windows.
11121         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
11122         * docs/gst/gstreamer-sections.txt:
11123         * docs/gst/tmpl/gstcpu.sgml:
11124         * docs/gst/tmpl/gstdata.sgml:
11125         * docs/gst/tmpl/gstthread.sgml:
11126
11127 2005-05-19  David Schleef  <ds@schleef.org>
11128
11129         * gst/gstminiobject.c: (gst_value_set_mini_object),
11130         (gst_value_take_mini_object), (gst_value_get_mini_object):
11131         * gst/gstminiobject.h: Add GValue set/get functions.
11132
11133 2005-05-19  Wim Taymans  <wim@fluendo.com>
11134
11135         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
11136         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
11137         (gst_subbuffer_init), (gst_buffer_is_span_fast):
11138         * gst/gstbuffer.h:
11139         * gst/gstbus.c: (gst_bus_post):
11140         * gst/gstelement.c: (gst_element_get_random_pad):
11141         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
11142         Make subbufer unref the parent in finalize.
11143         some more debugging info.
11144
11145
11146 2005-05-19  Wim Taymans  <wim@fluendo.com>
11147
11148         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11149         (gst_basesink_init), (gst_basesink_finalize),
11150         (gst_basesink_activate), (gst_basesink_change_state):
11151         Don't free preroll queue too early.
11152
11153 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11154
11155         * gst/Makefile.am:
11156         * gst/ROADMAP:
11157           Hi, I'm outdated. Please shoot me.
11158
11159 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11160
11161         * gst/gstpipeline.c: (gst_pipeline_send_event):
11162           Do not access variables after they have been deleted.
11163
11164 2005-05-19  Wim Taymans  <wim@fluendo.com>
11165
11166         * tools/gst-inspect.c: (print_plugin_features):
11167         A plugin feature does unfortunatly not use the
11168         object name yet...
11169
11170 2005-05-18  Wim Taymans  <wim@fluendo.com>
11171
11172         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
11173         Port _span() functions to new subbuffers.
11174
11175 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11176
11177         * gst/gstbin.c: (gst_bin_add_func):
11178           Fix clock settery in bins when adding kids after the clock has
11179           been selected.
11180
11181 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11182
11183         * gst/elements/gstidentity.c: (gst_identity_class_init):
11184           Workaround until signals support GstMiniObject.
11185
11186 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
11187
11188         * gst/gstbuffer.c:
11189         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11190
11191 2005-05-18  Wim Taymans  <wim@fluendo.com>
11192
11193         * gst/base/Makefile.am:
11194         * gst/base/gstadapter.c: (gst_adapter_base_init),
11195         (gst_adapter_class_init), (gst_adapter_init),
11196         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
11197         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
11198         (gst_adapter_flush), (gst_adapter_available),
11199         (gst_adapter_available_fast):
11200         * gst/base/gstadapter.h:
11201         Ported and added adapter to the base classes.
11202
11203 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11204
11205         * gst/gst.c:
11206         * gst/gstmessage.c:
11207           Make sure the class is reffed/unreffed once before threads can be
11208           used.  Fixes #304551.
11209
11210 2005-05-17  Wim Taymans  <wim@fluendo.com>
11211
11212         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11213         (gst_basesink_chain_unlocked), (gst_basesink_activate):
11214         * gst/gstminiobject.c: (gst_mini_object_get_type),
11215         (gst_mini_object_free):
11216         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11217         (gst_pad_push), (gst_pad_push_event):
11218         * gst/gstqueue.c: (gst_queue_change_state):
11219         Don't queue buffers in basesink when we are flushing.
11220         Unref buffer when flushing in basesink.
11221         Flush queue when going to READY
11222         Unref buffer when _push() returns an error.
11223         Don't free MiniObject instance when refcount is incremented
11224         in _finalize() so that we can recover objects.
11225
11226 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11227
11228         * docs/manual/advanced-schedulers.xml:
11229         * docs/manual/appendix-checklist.xml:
11230         * docs/pwg/advanced-clock.xml:
11231         * docs/pwg/advanced-interfaces.xml:
11232         * docs/pwg/advanced-request.xml:
11233         * docs/pwg/advanced-types.xml:
11234         * docs/pwg/intro-preface.xml:
11235         * examples/plugins/example.c: (gst_example_get_type),
11236         (gst_example_class_init), (gst_example_chain),
11237         (gst_example_set_property), (gst_example_get_property),
11238         (gst_example_change_state), (plugin_init):
11239         * examples/plugins/example.h:
11240           small doc fixes
11241
11242 2005-05-17  Wim Taymans  <wim@fluendo.com>
11243
11244         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11245         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11246         * gst/gstqueue.c: (gst_queue_change_state):
11247         Clear queue when going to READY.
11248         Remove IN_SETCAPS flag too.
11249
11250 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
11251
11252         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11253           Remove implicit cast from gboolean to GstElementStateReturn;
11254           make sure we still return failure in paused => ready case if
11255           the parent class fails to change state and our own stop 
11256           vfunc succeeds.
11257
11258 2005-05-17  Wim Taymans  <wim@fluendo.com>
11259
11260         * tools/gst-launch.c: (event_loop):
11261         Message was unreffed too soon.
11262
11263 2005-05-16  Andy Wingo  <wingo@pobox.com>
11264
11265         * gst/gstbin.c (sink_iterator_filter): Err... um...
11266
11267         * check/gst/gstbin.c (test_ghost_pads): New test for the
11268         ghosting-if-elements-not-in-same-bin behavior.
11269
11270 2005-05-16  David Schleef  <ds@schleef.org>
11271
11272         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11273         accessing refcount directly.
11274
11275 2005-05-15  David Schleef  <ds@schleef.org>
11276
11277         * check/Makefile.am: remove GstData checks
11278         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11279         * gst/Makefile.am: add miniobject, remove data
11280         * gst/gst.h: add miniobject, remove data
11281         * gst/gstdata.c: remove
11282         * gst/gstdata.h: remove
11283         * gst/gstdata_private.h: remove
11284         * gst/gsttypes.h: remove GstEvent and GstMessage
11285         * gst/gstelement.c: (gst_element_post_message): fix for API changes
11286         * gst/gstmarshal.list: change BOXED -> OBJECT
11287
11288         Implement GstMiniObject.
11289         * gst/gstminiobject.c:
11290         * gst/gstminiobject.h:
11291
11292         Modify to be subclasses of GstMiniObject.
11293         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11294         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11295         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11296         (gst_subbuffer_get_type), (gst_subbuffer_init),
11297         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11298         (gst_buffer_span):
11299         * gst/gstbuffer.h:
11300         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11301         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11302         (_gst_event_copy), (gst_event_new):
11303         * gst/gstevent.h:
11304         * gst/gstmessage.c: (_gst_message_initialize),
11305         (gst_message_get_type), (gst_message_class_init),
11306         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11307         (gst_message_new), (gst_message_new_error),
11308         (gst_message_new_warning), (gst_message_new_tag),
11309         (gst_message_new_state_changed), (gst_message_new_application):
11310         * gst/gstmessage.h:
11311         * gst/gstprobe.c: (gst_probe_perform),
11312         (gst_probe_dispatcher_dispatch):
11313         * gst/gstprobe.h:
11314         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11315         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11316         (_gst_query_copy), (gst_query_new):
11317
11318         Update elements for GstData -> GstMiniObject changes
11319         * gst/gstquery.h:
11320         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11321         (gst_queue_chain), (gst_queue_loop):
11322         * gst/elements/gstbufferstore.c:
11323         (gst_buffer_store_add_buffer_func),
11324         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11325         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11326         (gst_fakesink_render):
11327         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11328         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11329         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11330         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11331         (gst_filesrc_create_read):
11332         * gst/elements/gstidentity.c: (gst_identity_class_init):
11333         * gst/elements/gsttypefindelement.c:
11334         (gst_type_find_element_src_event), (free_entry_buffers),
11335         (gst_type_find_element_handle_event):
11336         * libs/gst/dataprotocol/dataprotocol.c:
11337         (gst_dp_header_from_buffer):
11338         * libs/gst/dataprotocol/dataprotocol.h:
11339         * libs/gst/dataprotocol/dp-private.h:
11340
11341 2005-05-15  David Schleef  <ds@schleef.org>
11342
11343         * gst/elements/gstelements.c: Don't include headers that were
11344         just removed.
11345
11346 2005-05-15  David Schleef  <ds@schleef.org>
11347
11348         * gst/elements/Makefile.am: Remove some elements that don't
11349         need to be in the core (or even exist at all).
11350         * gst/elements/gstaggregator.c:
11351         * gst/elements/gstaggregator.h:
11352         * gst/elements/gstmd5sink.c:
11353         * gst/elements/gstmd5sink.h:
11354         * gst/elements/gstmultifilesrc.c:
11355         * gst/elements/gstmultifilesrc.h:
11356         * gst/elements/gstpipefilter.c:
11357         * gst/elements/gstpipefilter.h:
11358         * gst/elements/gstshaper.c:
11359         * gst/elements/gstshaper.h:
11360         * gst/elements/gststatistics.c:
11361         * gst/elements/gststatistics.h:
11362         * po/POTFILES.in: Remove above files.
11363
11364 2005-05-14  Andy Wingo  <wingo@pobox.com>
11365
11366         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11367         so as to get the refs right.
11368         (sink_iterator_filter): New function, wraps bin_element_is_sink,
11369         unreffing objects that don't pass the filter.
11370
11371         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11372         gst_element_set_bus.
11373         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11374         normal cases, this will destroy the bus.
11375
11376         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11377         object.
11378
11379         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11380         has no sinks.
11381
11382 2005-05-13  Andy Wingo  <wingo@pobox.com>
11383
11384         * gst/gstutils.c (gst_element_link_pads): Instead of calling
11385         gst_pad_link, call pad_link_maybe_ghosting,
11386         (pad_link_maybe_ghosting): Links pads, making sure that the
11387         elements being linked are in the same bin.
11388         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11389         Helpers for pad_link_maybe_ghosting.
11390
11391 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11392
11393         * configure.ac:
11394           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11395
11396 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11397
11398         * docs/design/part-element-source.txt:
11399           Mention GstPushSrc
11400
11401 2005-05-12  Wim Taymans  <wim@fluendo.com>
11402
11403         * gst/base/gstbasesink.c: (gst_basesink_init),
11404         (gst_basesink_activate):
11405         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11406         (gst_basesrc_is_seekable):
11407         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11408         (bin_element_is_sink), (gst_bin_change_state):
11409         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11410         * gst/gstelement.h:
11411         Identify sinks by their flag to avoid overly complicated
11412         checks (fow now).
11413         Do state changes even for elements not reachable from the
11414         sinks.
11415         BaseSink is a sink now :)
11416         Some more debugging info in the basesrc.
11417
11418
11419 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11420
11421         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
11422           Implement _query on a bin, similar to _send_event.
11423
11424 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
11425
11426         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
11427           Discont event offset format should be GST_FORMAT_BYTES,
11428           not GST_FORMAT_TIME.
11429
11430 2005-05-12  Wim Taymans  <wim@fluendo.com>
11431
11432         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
11433         Same fix as Ronald's but without the signal. 
11434
11435 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11436
11437         * gst/gstutils.c: (gst_element_query_position):
11438           No, an element is not a pad.
11439
11440 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11441
11442         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
11443         (gst_bin_get_state):
11444           If a child is removed from a bin while we remove the child from
11445           the bin and while we're retrieving its state, signal this to the
11446           get_state function so we abort the wait (instead of waiting for
11447           a timeout) and can immediately re-iterate over all other elements.
11448
11449 2005-05-12  Wim Taymans  <wim@fluendo.com>
11450
11451         * gst/base/Makefile.am:
11452         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
11453         (gst_basesrc_start):
11454         * gst/base/gstbasesrc.h:
11455         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
11456         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
11457         (gst_pushsrc_init), (gst_pushsrc_create):
11458         * gst/base/gstpushsrc.h:
11459         Added is_seekable to BaseSrc
11460         Added simple PushSrc.
11461
11462 2005-05-11  Wim Taymans  <wim@fluendo.com>
11463
11464         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11465         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11466         (gst_element_link_pads), (gst_element_query_position),
11467         (gst_element_query_convert), (intersect_caps_func),
11468         (gst_pad_query_position), (gst_pad_query_convert):
11469         Fix refcounting in utils function.
11470         No point in trying to activate a pad when it's added, it could
11471         be added from the state change function and then we deadlock, the
11472         element has to decide what to do.
11473
11474 2005-05-10  Andy Wingo  <wingo@pobox.com>
11475
11476         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
11477         *all* the arguments.
11478
11479         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
11480         stream lock if it's a FLUSH_DONE; normal flushes don't get the
11481         lock (according to the docs -- if this is wrong change the docs).
11482
11483         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
11484         flush messages in the NULL state.
11485
11486         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
11487         message immediately and return.
11488         (gst_bus_set_flushing): New function. If a bus is flushing, it
11489         flushes out any queued messages and immediately unrefs new
11490         messages. This is so when an element goes to NULL, all of the
11491         unhandled messages coming from it can be freed, and their
11492         references to the element dropped. In other words: message source
11493         ref considered harmful :P
11494
11495         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
11496         we're finished with it.
11497
11498         * gst/gstmessage.c (gst_message_new_state_changed): 
11499
11500 2005-05-10  Wim Taymans  <wim@fluendo.com>
11501
11502         * gst/gstvalue.c: (gst_value_compare_flags),
11503         (gst_value_serialize_flags), (gst_value_deserialize_flags),
11504         (_gst_value_initialize):
11505         Added flags serialize/deserialize/compare code.
11506
11507 2005-05-09  Andy Wingo  <wingo@pobox.com>
11508
11509         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
11510         Intersect the peer's caps with our caps.
11511
11512 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11513
11514         * gst/base/gsttypefindhelper.c: (helper_find_peek):
11515         * gst/elements/gsttypefindelement.c: (find_peek):
11516           Handle negative offsets better. Fixes decodebin.
11517
11518 2005-05-09  Wim Taymans  <wim@fluendo.com>
11519
11520         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
11521         (gst_base_transform_event):
11522         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
11523         Implement accept_caps.
11524         Fix silly lock/unlock mismatch in base class.
11525
11526 2005-05-09  Wim Taymans  <wim@fluendo.com>
11527
11528         * docs/design/draft-push-pull.txt:
11529         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
11530         * gst/elements/gstfilesink.c: (gst_filesink_init),
11531         (gst_filesink_query):
11532         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11533         (gst_type_find_handle_src_query), (find_element_get_length):
11534         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
11535         * gst/gstelement.h:
11536         * gst/gstmessage.c:
11537         * gst/gstmessage.h:
11538         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
11539         (gst_real_pad_get_caps_unlocked),
11540         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
11541         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11542         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
11543         (gst_real_pad_dispose), (gst_real_pad_finalize),
11544         (gst_pad_load_and_link), (gst_pad_save_thyself),
11545         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
11546         (gst_pad_check_pull_range), (gst_pad_pull_range),
11547         (gst_pad_template_get_type), (gst_pad_template_class_init),
11548         (gst_pad_template_init), (gst_pad_template_dispose),
11549         (name_is_valid), (gst_static_pad_template_get),
11550         (gst_pad_template_new), (gst_static_pad_template_get_caps),
11551         (gst_pad_template_get_caps), (gst_pad_set_element_private),
11552         (gst_pad_get_element_private), (gst_pad_start_task),
11553         (gst_pad_pause_task), (gst_pad_stop_task),
11554         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
11555         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
11556         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
11557         (gst_ghost_pad_new):
11558         * gst/gstpad.h:
11559         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
11560         (gst_query_new_position), (gst_query_set_position),
11561         (gst_query_parse_position), (gst_query_new_convert),
11562         (gst_query_set_convert), (gst_query_parse_convert):
11563         * gst/gstquery.h:
11564         * gst/gstqueryutils.c:
11565         * gst/gstqueryutils.h:
11566         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11567         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11568         (gst_queue_handle_src_query):
11569         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11570         (gst_element_query_position), (gst_element_query_convert),
11571         (intersect_caps_func), (gst_pad_query_position),
11572         (gst_pad_query_convert):
11573         * gst/gstutils.h:
11574         * tools/gst-inspect.c: (print_pad_info):
11575         * tools/gst-xmlinspect.c: (print_element_info):
11576         Remove old query functions. Ported old code.
11577         Added position/convert helper functions to gstutils.
11578         Reordered gstpad.c code, grouping relevant things.
11579         Remove gst_message_new(), always need to speficy a specific
11580         message.
11581
11582
11583 2005-05-09  Andy Wingo  <wingo@pobox.com>
11584
11585         * gst/gstiterator.h: Add some includes.
11586
11587         * gst/gstqueryutils.h: Include more headers.
11588
11589         * gst/gstpad.h:
11590         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
11591         some uses of gst_pad_query.
11592
11593         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
11594         NULL out parameters.
11595         (gst_query_new_position): New proc, allocates a new position
11596         query.
11597
11598         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
11599         gstqueryutils.c to the build.
11600
11601         * gst/gststructure.c (gst_structure_set_valist): Implement with
11602         the generic G_VALUE_COLLECT.
11603         
11604 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
11605
11606         * gst/Makefile.am: (gst_headers):
11607         Added gstqueryutils.h to the list of headers to install, that was
11608         a 'nachty' move wingo :)
11609
11610 2005-05-06  Andy Wingo  <wingo@pobox.com>
11611
11612         * gst/gstquery.h
11613         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
11614         GstData, init a memchunk.
11615         (standard_definitions): Add a few query types, deprecate a few.
11616         (gst_query_get_type): New proc.
11617         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
11618         implementation.
11619         (gst_query_new_application, gst_query_get_structure): New public
11620         procs.
11621
11622         * docs/design/draft-query.txt: Removed LINKS from the query types,
11623         because all the rest can be dispatched to other pads -- seemed
11624         ugly to have a query that couldn't be dispatched. internal_links
11625         is fine as a pad method.
11626
11627         * gst/gstpad.h: Add query2 as a pad method, add the new functions
11628         in gstpad.c, but maintain binary compatibility for the moment.
11629         Will fix before 0.9 is out.
11630
11631         * gst/gstqueryutils.c: 
11632         * gst/gstqueryutils.h: New files, implement 3 methods for each
11633         query type: parse_query, parse_response, and set. Probably need an
11634         allocator as well.
11635
11636         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
11637
11638         * gst/elements/gstfilesink.c (gst_filesink_query2):
11639         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
11640         query_types, and formats methods.
11641
11642         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
11643         (gst_pad_set_query2_function): New functions.
11644         (gst_real_pad_init): Set query2_default as the default query2
11645         function. Basically just dispatches to internally linked pads.
11646
11647         Needs review!
11648         
11649         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
11650         without using the atomic operations. Only one thread can possibly
11651         be accessing the data at this point. Changed so as to avoid
11652         gst_atomic operations.
11653
11654 2005-05-06  Wim Taymans  <wim@fluendo.com>
11655
11656         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
11657         Also set caps if we use the fallback buffer alloc.
11658
11659 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
11660
11661         * docs/gst/Makefile.am:
11662         * docs/gst/gstreamer-docs.sgml:
11663         * docs/gst/gstreamer-sections.txt:
11664         * docs/gst/tmpl/gstatomic.sgml:
11665         * docs/gst/tmpl/gstmemchunk.sgml:
11666         * testsuite/elements/struct_i386.h:
11667         * win32/GStreamer.vcproj:
11668         * win32/Makefile:
11669           Purge GstAtomic stuff from docs and win32 makefiles as well
11670
11671 2005-05-06  Wim Taymans  <wim@fluendo.com>
11672
11673         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
11674         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
11675         * gst/gstpad.c: (gst_pad_peer_get_caps):
11676         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11677         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11678         (gst_queue_src_activate), (gst_queue_change_state):
11679         * gst/gstqueue.h:
11680         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11681         (intersect_caps_func):
11682         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
11683         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
11684         Some fixes for the peer_get_caps() change.
11685
11686 2005-05-06  Wim Taymans  <wim@fluendo.com>
11687
11688         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11689         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
11690         (gst_basesink_activate):
11691         Actually do something with error codes returned from the push
11692         functions.
11693
11694 2005-05-06  Wim Taymans  <wim@fluendo.com>
11695
11696         * docs/design/part-element-sink.txt:
11697         * docs/design/part-element-source.txt:
11698         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11699         (gst_basesink_event), (gst_basesink_activate):
11700         * gst/base/gstbasesink.h:
11701         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
11702         (gst_basesrc_activate):
11703         * gst/base/gstbasesrc.h:
11704         * gst/gstelement.c: (gst_element_pads_activate):
11705         Some more documentation.
11706         Fixed scheduling decision in _pads_activate().
11707
11708 2005-05-05  Andy Wingo  <wingo@pobox.com>
11709
11710         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
11711         the test suite.
11712
11713 2005-05-05  Wim Taymans  <wim@fluendo.com>
11714
11715         * gst/base/Makefile.am:
11716         * gst/base/gstbasesink.h:
11717         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11718         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
11719         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
11720         (gst_collectpads_class_init), (gst_collectpads_init),
11721         (gst_collectpads_finalize), (gst_collectpads_new),
11722         (gst_collectpads_set_function), (gst_collectpads_add_pad),
11723         (find_pad), (gst_collectpads_remove_pad),
11724         (gst_collectpads_is_active), (gst_collectpads_collect),
11725         (gst_collectpads_collect_range), (gst_collectpads_start),
11726         (gst_collectpads_stop), (gst_collectpads_peek),
11727         (gst_collectpads_pop), (gst_collectpads_available),
11728         (gst_collectpads_read), (gst_collectpads_flush),
11729         (gst_collectpads_chain):
11730         * gst/base/gstcollectpads.h:
11731         * gst/elements/Makefile.am:
11732         * gst/elements/gstelements.c:
11733         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11734         (gst_fakesink_get_times), (gst_fakesink_event),
11735         (gst_fakesink_preroll), (gst_fakesink_render):
11736         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
11737         (gst_filesink_init), (gst_filesink_set_location),
11738         (gst_filesink_open_file), (gst_filesink_close_file),
11739         (gst_filesink_pad_query), (gst_filesink_event),
11740         (gst_filesink_render), (gst_filesink_change_state):
11741         * gst/elements/gstfilesink.h:
11742         Added object to help in making collect pad based elements.
11743         Ported filesink.
11744         Make event function in sink baseclass return gboolean.
11745
11746 2005-05-05  Wim Taymans  <wim@fluendo.com>
11747
11748         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
11749         (gst_bin_get_by_name):
11750         * gst/gstbuffer.h:
11751         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
11752         (gst_clock_finalize):
11753         * gst/gstdata.c: (gst_data_replace):
11754         * gst/gstdata.h:
11755         * gst/gstelement.c: (gst_element_request_pad),
11756         (gst_element_pads_activate):
11757         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
11758         (gst_object_unref):
11759         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11760         (gst_pad_set_checkgetrange_function),
11761         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
11762         (gst_pad_check_pull_range), (gst_pad_pull_range),
11763         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11764         (gst_pad_pause_task), (gst_pad_stop_task):
11765         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11766         (gst_element_request_pad), (gst_pad_proxy_getcaps):
11767         Fix name lookup in GstBin.
11768         Added _data_replace() function and _buffer_replace()
11769         Use finalize method to clean up clock.
11770         Fix refcounting on request pads.
11771         Fix pad schedule mode error.
11772         Some more object refcounting debug info,
11773
11774
11775 2005-05-04  Andy Wingo <wingo@pobox.com>
11776
11777         * check/Makefile.am:
11778         * docs/gst/tmpl/gstatomic.sgml:
11779         * docs/gst/tmpl/gstplugin.sgml:
11780         * gst/base/gstbasesink.c: (gst_basesink_activate):
11781         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
11782         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
11783         (gst_basesrc_query), (gst_basesrc_set_property),
11784         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
11785         (gst_basesrc_activate):
11786         * gst/base/gstbasesrc.h:
11787         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
11788         (gst_base_transform_src_activate):
11789         * gst/elements/gstelements.c:
11790         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11791         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11792         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11793         * gst/elements/gsttypefindelement.c: (find_element_get_length),
11794         (gst_type_find_element_checkgetrange),
11795         (gst_type_find_element_activate):
11796         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
11797         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
11798         (gst_caps_load_thyself):
11799         * gst/gstelement.c: (gst_element_pads_activate),
11800         (gst_element_save_thyself), (gst_element_restore_thyself):
11801         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
11802         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
11803         * gst/gstpad.h:
11804         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
11805         (gst_xml_parse_file), (gst_xml_parse_memory),
11806         (gst_xml_get_element), (gst_xml_make_element):
11807         * gst/indexers/gstfileindex.c: (gst_file_index_load),
11808         (_file_index_id_save_xml), (gst_file_index_commit):
11809         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
11810         (read_enum), (load_pad_template), (load_feature), (load_plugin),
11811         (load_paths):
11812         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
11813         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
11814         * tools/gst-complete.c: (main):
11815         * tools/gst-compprep.c: (main):
11816         * tools/gst-inspect.c: (print_element_properties_info):
11817         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
11818         * tools/gst-xmlinspect.c: (print_element_properties):
11819         GCC 4 fixen.
11820         
11821 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11822
11823         * gst/gstplugin.c: (gst_plugin_check_module),
11824         (gst_plugin_check_file), (gst_plugin_load_file):
11825             apply patch from #172526 to make register work on MacOSX
11826
11827 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11828
11829         * docs/gst/tmpl/gstconfig.sgml:
11830         * gst/gstconfig.h.in:
11831           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
11832         * testsuite/debug/printf_extension.c: (main):
11833           Do not use GST_PTR_FORMAT on pointers to types with
11834           sizeof < sizeof(gpointer).  Fixes test on 64-bit
11835         * testsuite/elements/property.h:
11836           use correct printf format
11837
11838 2005-05-02  Wim Taymans  <wim@fluendo.com>
11839
11840         * docs/design/draft-push-pull.txt:
11841         * docs/design/draft-query.txt:
11842         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
11843         (gst_basesrc_start):
11844         Added draft for new query API.
11845         Added draft for better selecting scheduling methods.
11846         Make basesrc ignore length if the subclass does not support
11847         it.
11848
11849 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11850
11851         * gst/Makefile.am:
11852           possible fixes for automake-1.5 - _LIBADD is reserved
11853
11854 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11855
11856         * docs/faq/Makefile.am:
11857         * docs/manual/Makefile.am:
11858         * docs/manuals.mak:
11859         * docs/pwg/Makefile.am:
11860         * gst/Makefile.am:
11861           possible fixes for automake-1.5
11862
11863 2005-04-28  Wim Taymans  <wim@fluendo.com>
11864
11865         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11866         (gst_basesink_pad_getcaps), (gst_basesink_init),
11867         (gst_basesink_do_sync):
11868         * gst/gstclock.c: (gst_clock_entry_new):
11869         * gst/gstevent.c: (gst_event_discont_get_value):
11870         * gst/gstpipeline.c: (pipeline_bus_handler),
11871         (gst_pipeline_change_state):
11872         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
11873         Better debugging of clocking info.
11874         Allow NULL values when getting discont values.
11875
11876 2005-04-27  Wim Taymans  <wim@fluendo.com>
11877
11878         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11879         * check/gst/gstpad.c: (gst_pad_suite):
11880         Increase timeout for checks.
11881
11882 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11883
11884         * check/Makefile.am:
11885           fix the broken rule for cleanup.  Apparently this rule is
11886           only needed on FC2, so maybe this warrants further autotool
11887           inspection.
11888
11889 2005-04-26  Wim Taymans  <wim@fluendo.com>
11890
11891         * gst/gsttrashstack.h:
11892         Ooohh. a nasty one! After having a failed pop() from the stack,
11893         it's possible that the stack is empty. In that case, don't
11894         follow the NULL pointer.
11895
11896 2005-04-25  Wim Taymans  <wim@fluendo.com>
11897
11898         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11899         (gst_pad_set_checkgetrange_function),
11900         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
11901         (gst_pad_check_pull_range), (gst_pad_pull_range),
11902         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11903         (gst_pad_pause_task), (gst_pad_stop_task):
11904         * gst/gstplugin.c: (gst_plugin_load):
11905         * gst/gstplugin.h:
11906         Remove gst_library_load as it does more harm than good with
11907         the new g_module flags.
11908         Revert bogus caps template check in pad linking, pad caps
11909         are important when linking not the template, which is more
11910         general than the current caps.
11911
11912 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11913
11914         * gst/autoplug/.cvsignore:
11915         * gst/autoplug/Makefile.am:
11916         * gst/autoplug/gstsearchfuncs.c:
11917         * gst/autoplug/gstsearchfuncs.h:
11918         * gst/autoplug/gstspider.c:
11919         * gst/autoplug/gstspider.h:
11920         * gst/autoplug/gstspideridentity.c:
11921         * gst/autoplug/gstspideridentity.h:
11922         * gst/autoplug/spidertest.c:
11923           Die, spider, die.
11924
11925 2005-04-25  Wim Taymans  <wim@fluendo.com>
11926
11927         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11928         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11929         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
11930         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
11931         * gst/gstpad.h:
11932         Added stubs for unimplemented functions. 
11933
11934 2005-04-24  David Schleef  <ds@schleef.org>
11935
11936         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
11937         please fix.
11938
11939 2005-04-24  David Schleef  <ds@schleef.org>
11940
11941         Convert everything from GstAtomicInt to g_atomic_int_*, and
11942         remove gstatomic.
11943         * gst/Makefile.am:
11944         * gst/gstatomic.c:
11945         * gst/gstatomic.h:
11946         * gst/gstatomic_impl.h:
11947         * gst/gstbuffer.c:
11948         * gst/gstcaps.c:
11949         * gst/gstcaps.h:
11950         * gst/gstclock.c:
11951         * gst/gstclock.h:
11952         * gst/gstdata.c:
11953         * gst/gstdata.h:
11954         * gst/gstdata_private.h:
11955         * gst/gstevent.c:
11956         * gst/gstinfo.c:
11957         * gst/gstinfo.h:
11958         * gst/gstmessage.c:
11959         * gst/gstobject.c:
11960         * gst/gstobject.h:
11961         * gst/gststructure.c:
11962         * gst/gststructure.h:
11963         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
11964         * gst/gstutils.h:
11965
11966 2005-04-24  David Schleef  <ds@schleef.org>
11967
11968         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
11969         make the regressions tests work.  Remove some code that is no
11970         longer true.
11971         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
11972         Disable warning for pads without templates.
11973
11974 2005-04-24  David Schleef  <ds@schleef.org>
11975
11976         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
11977         functions that handle filtered links.
11978         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
11979         removed functions.
11980         * gst/gstutils.c: Fix/remove utility functions that handle
11981         filtered caps.
11982         * gst/gstutils.h:
11983         * gst/gstvalue.c: Add serialization/deserialization of caps
11984         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
11985         requires fixing so that the filter caps notation creates
11986         a capsfilter element and sets the filter_caps property.  I
11987         think everyone probably wants to keep the shorthand notation.
11988         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
11989         * docs/gst/tmpl/gstpad.sgml:
11990
11991         * gst/elements/gstelements.c: Register capsfilter element.
11992         * gst/Makefile.am: fix spacing
11993         * docs/random/ds/0.9-suggested-changes: random
11994
11995 2005-04-23  David Schleef  <ds@schleef.org>
11996
11997         * gst/elements/Makefile.am:
11998         * gst/elements/gstcapsfilter.c: New element that acts like an
11999         identity, but filters caps.  Will eventually replace filtered
12000         caps in pad linking.
12001         * gst/gstutils.c: (gst_element_create_all_pads): New function
12002         to create all the ALWAYS pads that are registered with an
12003         element class.  This functionality should eventually be
12004         merged in with GstElement initialization.
12005         * gst/gstutils.h:
12006         * testsuite/trigger/README: part of trigger test code that should
12007         have been checked in a long time ago.
12008
12009 2005-04-23  David Schleef  <ds@schleef.org>
12010
12011         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
12012         needed with new versions of libtool (nobody will confirm this),
12013         and hard to carry around.
12014         * gst/autoplug/Makefile.am:
12015         * gst/base/Makefile.am:
12016         * gst/elements/Makefile.am:
12017         * gst/indexers/Makefile.am:
12018         * gst/schedulers/Makefile.am:
12019         * libs/gst/bytestream/Makefile.am:
12020         * libs/gst/control/Makefile.am:
12021         * libs/gst/dataprotocol/Makefile.am:
12022         * libs/gst/getbits/Makefile.am:
12023
12024 2005-04-21  Wim Taymans  <wim@fluendo.com>
12025
12026         * docs/design/draft-push-pull.txt:
12027         * docs/design/part-MT-refcounting.txt:
12028         * docs/design/part-TODO.txt:
12029         * docs/design/part-caps.txt:
12030         * docs/design/part-events.txt:
12031         * docs/design/part-gstbus.txt:
12032         * docs/design/part-gstpipeline.txt:
12033         * docs/design/part-messages.txt:
12034         * docs/design/part-push-pull.txt:
12035         * docs/design/part-query.txt:
12036         Some more docs.
12037
12038 2005-04-21  Wim Taymans  <wim@fluendo.com>
12039
12040         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
12041         (gst_message_new), (gst_message_new_error),
12042         (gst_message_new_warning), (gst_message_new_tag),
12043         (gst_message_new_state_changed), (gst_message_new_application),
12044         (gst_message_get_structure):
12045         * gst/gstmessage.h:
12046         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12047         (gst_structure_copy_conditional):
12048         Use parent refcount in GstMessage to ensure GstStructure
12049         consistency.
12050         Cleaned up headers a bit.
12051         
12052
12053 2005-04-20  Wim Taymans  <wim@fluendo.com>
12054
12055         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12056         (gst_basesink_pad_getcaps), (gst_basesink_init),
12057         (gst_basesink_chain_unlocked):
12058         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
12059         (gst_type_find_helper):
12060         * gst/elements/gsttypefindelement.c:
12061         (gst_type_find_element_have_type), (gst_type_find_element_init),
12062         (stop_typefinding), (gst_type_find_element_handle_event),
12063         (find_suggest), (gst_type_find_element_chain),
12064         (gst_type_find_element_checkgetrange),
12065         (gst_type_find_element_getrange), (do_typefind),
12066         (gst_type_find_element_activate):
12067         * gst/gstbuffer.c: (_gst_buffer_sub_free),
12068         (gst_buffer_default_free), (gst_buffer_default_copy),
12069         (gst_buffer_set_caps):
12070         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
12071         (gst_caps_replace):
12072         * gst/gstmessage.c: (gst_message_new),
12073         (gst_message_new_state_changed):
12074         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12075         (gst_pad_set_checkgetrange_function),
12076         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
12077         (gst_pad_set_caps), (gst_pad_check_pull_range),
12078         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
12079         * gst/gstpad.h:
12080         * gst/gsttypefind.c: (gst_type_find_register):
12081         Make gst_caps_replace() work like other _replace() functions.
12082         Use _caps_replace() where possible.
12083         Make sure _message_new() initialises its field.
12084         Add gst_static_pad_template_get_caps()
12085
12086
12087 2005-04-18  Andy Wingo  <wingo@pobox.com>
12088
12089         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
12090         on the peer, not the pad. I think that was a typo. Pass an extra
12091         arg to see if random access is possible. Activate the pads as
12092         PULL_RANGE if possible.
12093
12094         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
12095
12096         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
12097         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
12098         to PROP_....
12099
12100 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12101
12102         * docs/faq/using.xml:
12103           Add note on gstreamer-properties (#154996).
12104
12105 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12106
12107         * docs/random/bbb/optional-properties:
12108           Some analysis on optional properties.
12109
12110 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12111
12112         * docs/gst/tmpl/gstelementfactory.sgml:
12113         * gst/gstelement.h:
12114         * gst/gstelementfactory.c: (gst_element_factory_init),
12115         (gst_element_factory_cleanup), (gst_element_register),
12116         (__gst_element_factory_add_static_pad_template),
12117         (gst_element_factory_get_static_pad_templates),
12118         (gst_element_factory_can_src_caps),
12119         (gst_element_factory_can_sink_caps):
12120         * gst/registries/Makefile.am:
12121         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
12122         (gst_xml_registry_class_init), (gst_xml_registry_init),
12123         (gst_xml_registry_new), (gst_xml_registry_set_property),
12124         (gst_xml_registry_get_property), (get_time), (make_dir),
12125         (gst_xml_registry_get_perms_func),
12126         (plugin_times_older_than_recurse), (plugin_times_older_than),
12127         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
12128         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
12129         (add_to_char_array), (read_string), (read_uint), (read_enum),
12130         (load_pad_template), (load_feature), (load_plugin), (load_paths),
12131         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
12132         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
12133         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
12134         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
12135         (gst_xml_registry_rebuild):
12136         * gst/registries/gstlibxmlregistry.h:
12137         * tools/gst-compprep.c: (main):
12138         * tools/gst-inspect.c: (print_pad_templates_info):
12139         * tools/gst-xmlinspect.c: (print_element_info):
12140           Use libxml2 for registry parsing, use staticpadtemplates in
12141           elementfactories. Makes gst_init() +/- 10x faster.
12142
12143 2005-04-12  Wim Taymans  <wim@fluendo.com>
12144
12145         * gst/base/Makefile.am:
12146         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12147         (gst_basesink_pad_getcaps), (gst_basesink_init),
12148         (gst_basesink_event), (gst_basesink_change_state):
12149         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12150         (gst_basesrc_init), (gst_basesrc_query),
12151         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12152         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12153         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12154         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12155         (gst_basesrc_stop), (gst_basesrc_activate),
12156         (gst_basesrc_change_state):
12157         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12158         (helper_find_suggest), (gst_type_find_helper):
12159         * gst/base/gsttypefindhelper.h:
12160         * gst/elements/Makefile.am:
12161         * gst/elements/gstelements.c:
12162         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12163         (gst_fakesink_get_times), (gst_fakesink_event),
12164         (gst_fakesink_preroll), (gst_fakesink_render):
12165         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12166         (gst_fakesrc_init), (gst_fakesrc_event_handler),
12167         (gst_fakesrc_get_property), (gst_fakesrc_create),
12168         (gst_fakesrc_start), (gst_fakesrc_stop):
12169         * gst/elements/gstfakesrc.h:
12170         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
12171         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12172         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12173         (gst_filesrc_create_read), (gst_filesrc_create),
12174         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
12175         (gst_filesrc_start):
12176         * gst/elements/gsttypefindelement.c:
12177         (gst_type_find_element_have_type), (gst_type_find_element_init),
12178         (start_typefinding), (stop_typefinding), (push_buffer_store),
12179         (gst_type_find_element_handle_event),
12180         (gst_type_find_element_chain),
12181         (gst_type_find_element_checkgetrange),
12182         (gst_type_find_element_getrange), (do_typefind),
12183         (gst_type_find_element_activate),
12184         (gst_type_find_element_change_state):
12185         * gst/elements/gsttypefindelement.h:
12186         * gst/gstpipeline.c: (pipeline_bus_handler):
12187         Added typefind helper.
12188         Small preroll fix in the base sink.
12189         Disable typefind code in basesrc.
12190         Crude port of typefindelement.
12191         Fakesrc cleanups.
12192
12193
12194 2005-04-11  Wim Taymans  <wim@fluendo.com>
12195
12196         * check/gst/gstbus.c: (gstbus_suite):
12197         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
12198         * check/gstcheck.h:
12199           Fix up the timeout so that the test does not fail.
12200
12201 2005-04-06  Wim Taymans  <wim@fluendo.com>
12202
12203         * gst/base/README:
12204         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12205         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
12206         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12207         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12208         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12209         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12210         (gst_basesrc_stop), (gst_basesrc_activate),
12211         (gst_basesrc_change_state), (basesrc_find_peek),
12212         (basesrc_find_suggest), (gst_basesrc_type_find):
12213         * gst/base/gstbasesrc.h:
12214         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12215         (gst_filesrc_class_init), (gst_filesrc_init),
12216         (gst_filesrc_finalize), (gst_filesrc_set_location),
12217         (gst_filesrc_set_property), (gst_filesrc_get_property),
12218         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12219         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12220         (gst_filesrc_create_read), (gst_filesrc_create),
12221         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12222         * gst/elements/gstfilesrc.h:
12223         * gst/gstelement.c: (gst_element_get_state_func),
12224         (gst_element_lost_state), (gst_element_pads_activate):
12225         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12226         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12227         (gst_pad_pull_range):
12228         * gst/gstpad.h:
12229         More work on the generic source base class, implement seeking,
12230         query.
12231         Make filesrc extend the base source class.
12232         Added gst_pad_set_checkgetrange_function to GstPad.
12233
12234 2005-04-06  Andy Wingo  <wingo@pobox.com>
12235
12236         * pkgconfig/gstreamer-base.pc.in:
12237         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12238
12239         * pkgconfig/Makefile.am:
12240         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12241
12242 2005-04-04  Wim Taymans  <wim@fluendo.com>
12243
12244         * gst/base/Makefile.am:
12245         * gst/base/README:
12246         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12247         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12248         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12249         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12250         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12251         (gst_basesrc_base_init), (gst_basesrc_class_init),
12252         (gst_basesrc_init), (gst_basesrc_get_formats),
12253         (gst_basesrc_get_query_types), (gst_basesrc_query),
12254         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12255         (gst_basesrc_set_property), (gst_basesrc_get_property),
12256         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12257         (gst_basesrc_loop), (gst_basesrc_activate),
12258         (gst_basesrc_change_state):
12259         * gst/base/gstbasesrc.h:
12260         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12261         (gst_fakesrc_class_init), (gst_fakesrc_init),
12262         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12263         (gst_fakesrc_get_property), (gst_fakesrc_create):
12264         * gst/elements/gstfakesrc.h:
12265         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12266         (gst_filesrc_open_file), (gst_filesrc_loop),
12267         (gst_filesrc_activate), (filesrc_find_peek),
12268         (gst_filesrc_type_find):
12269         Made base source class, make fakesrc extend it.
12270         Add comments to basesink class.
12271         Some filesrc cleanup.
12272
12273 2005-03-31  David Schleef  <ds@schleef.org>
12274
12275         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12276         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12277         expected to link against libgstreamer.
12278         * gst/base/Makefile.am: link against libgstreamer
12279         * gst/elements/Makefile.am: same
12280
12281 2005-03-31  Andy Wingo  <wingo@pobox.com>
12282
12283         * tests/instantiate/Makefile.am:
12284         * tests/instantiate/caps.c: Add test to test speed of caps copy
12285         and free.
12286
12287         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12288         GMemChunk to be fair.
12289
12290         * gst/gsttrashstack.h: Remove warning about using the fallback
12291         trash stack implementation, it's still faster than malloc.
12292
12293 2005-03-30  Andy Wingo  <wingo@pobox.com>
12294
12295         * tests/complexity.c: Add a copyright.
12296
12297 2005-03-31  Wim Taymans  <wim@fluendo.com>
12298
12299         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12300         (gst_base_transform_class_init), (gst_base_transform_init),
12301         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12302         (gst_base_transform_get_property),
12303         (gst_base_transform_sink_activate),
12304         (gst_base_transform_src_activate),
12305         (gst_base_transform_change_state):
12306         * gst/base/gstbasetransform.h:
12307         * gst/elements/gstidentity.c: (gst_identity_class_init),
12308         (gst_identity_event), (gst_identity_check_perfect),
12309         (gst_identity_transform), (gst_identity_start),
12310         (gst_identity_stop):
12311         Added start/stop methods to transform base class so subclasses 
12312         don't need to deal with state changes even.
12313
12314 2005-03-31  Wim Taymans  <wim@fluendo.com>
12315
12316         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12317         (gst_event_new_discontinuous), (gst_event_discont_get_value):
12318         * gst/gstevent.h:
12319         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12320         (gst_pad_pull_range):
12321         Added rate to the discont event to prepare for variable speed
12322         and reverse playback.
12323
12324 2005-03-29  David Schleef  <ds@schleef.org>
12325
12326         * configure.ac:
12327         * testsuite/trigger/Makefile.am:
12328         * testsuite/trigger/trigger.c: A little example program to show
12329         how trigger-based elements can work.
12330
12331 2005-03-29  Wim Taymans  <wim@fluendo.com>
12332
12333         * gst/base/Makefile.am:
12334         * gst/base/README:
12335         * gst/base/gstbasesink.c: (gst_basesink_get_type),
12336         (gst_basesink_base_init), (gst_basesink_class_init),
12337         (gst_basesink_pad_getcaps), (gst_basesink_init),
12338         (gst_basesink_activate), (gst_basesink_change_state):
12339         * gst/base/gstbasesink.h:
12340         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12341         (gst_base_transform_base_init), (gst_base_transform_finalize),
12342         (gst_base_transform_class_init), (gst_base_transform_init),
12343         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12344         (gst_base_transform_event), (gst_base_transform_getrange),
12345         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12346         (gst_base_transform_set_property),
12347         (gst_base_transform_get_property),
12348         (gst_base_transform_sink_activate),
12349         (gst_base_transform_src_activate),
12350         (gst_base_transform_change_state):
12351         * gst/base/gstbasetransform.h:
12352         * gst/elements/gstidentity.c: (gst_identity_finalize),
12353         (gst_identity_class_init), (gst_identity_init),
12354         (gst_identity_event), (gst_identity_check_perfect),
12355         (gst_identity_transform), (gst_identity_set_property),
12356         (gst_identity_get_property), (gst_identity_change_state):
12357         * gst/elements/gstidentity.h:
12358         * gst/gstelement.c: (gst_element_get_state_func),
12359         (gst_element_lost_state), (gst_element_pads_activate):
12360         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12361         (gst_pad_check_pull_range), (gst_pad_pull_range):
12362         * gst/gstpad.h:
12363         Simplify pad activation.
12364         Added function to check if pull_range can be performed.
12365         Error out when pulling inactive or flushing pads.
12366         Removed const from refcounted types as it does not make sense.
12367         Simplify pad templates in basesink
12368         Added base class for simple 1-to-1 transforms.
12369         Make identity subclass the base transform.
12370
12371 2005-03-29  Andy Wingo  <wingo@pobox.com>
12372
12373         * docs/libs/gstreamer-libs-overrides.txt: 
12374         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12375         really don't understand what's going on, but like whatever. I want
12376         green buildbot!
12377
12378         * docs/gst/Makefile.am:
12379         * docs/libs/Makefile.am: Dist the overrides files.
12380
12381         * check/Makefile.am (clean-local): Remove .libs directories.
12382
12383         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12384         elements to EXTRA_DIST, so po/ files are happy.
12385
12386         * po/POTFILES.in: Er, remove it here.
12387
12388         * po/POTFILES: Remove gstspider.c.
12389
12390         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12391
12392         * docs/libs/gstreamer-libs-docs.sgml: 
12393         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12394         bytestream.
12395
12396         * tests/complexity.c (main): Set the length of the preroll queue
12397         on the sinks to prevent a lockup.
12398
12399         * libs/gst/dataprotocol/Makefile.am: 
12400         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12401         the same as the one in check/gst-libs/gdp.c.
12402
12403         * po/, docs/gst/: Commit automatic changes to docs and po files.
12404
12405         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12406         the versioned libgstbase.
12407
12408         * check/Makefile.am: Depend on an unversioned gst-register, seems
12409         to make autoconf happier.
12410
12411         * gst/base/Makefile.am: Make libgstbase a versioned lib.
12412
12413 2005-03-28  Wim Taymans  <wim@fluendo.com>
12414
12415         * configure.ac:
12416         * docs/design/part-gstelement.txt:
12417         * docs/design/part-negotiation.txt:
12418         * docs/design/part-preroll.txt:
12419         * docs/design/part-scheduling.txt:
12420         * docs/design/part-states.txt:
12421         * gst/Makefile.am:
12422         * gst/base/Makefile.am:
12423         * gst/base/README:
12424         * gst/base/gstbasesink.c: (gst_basesink_get_template),
12425         (gst_basesink_base_init), (gst_basesink_class_init),
12426         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12427         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12428         (gst_basesink_set_pad_functions),
12429         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
12430         (gst_basesink_set_property), (gst_basesink_get_property),
12431         (gst_base_sink_get_template), (gst_base_sink_get_caps),
12432         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
12433         (gst_basesink_preroll_queue_push),
12434         (gst_basesink_preroll_queue_empty),
12435         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
12436         (gst_basesink_event), (gst_basesink_get_times),
12437         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
12438         (gst_basesink_chain_unlocked), (gst_basesink_chain),
12439         (gst_basesink_loop), (gst_basesink_activate),
12440         (gst_basesink_change_state):
12441         * gst/base/gstbasesink.h:
12442         * gst/elements/Makefile.am:
12443         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
12444         (gst_fakesink_class_init), (gst_fakesink_init),
12445         (gst_fakesink_set_property), (gst_fakesink_get_property),
12446         (gst_fakesink_get_times), (gst_fakesink_event),
12447         (gst_fakesink_preroll), (gst_fakesink_render),
12448         (gst_fakesink_change_state):
12449         * gst/elements/gstfakesink.h:
12450         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12451         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
12452         * gst/gstelement.c: (gst_element_add_pad),
12453         (gst_element_get_state_func), (gst_element_abort_state),
12454         (gst_element_commit_state), (gst_element_lost_state),
12455         (gst_element_set_state), (gst_element_pads_activate):
12456         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
12457         * gst/gstpipeline.c: (gst_pipeline_send_event),
12458         (gst_pipeline_change_state):
12459         Added state change code.
12460         Added/updated docs.
12461         Added sink base class, make fakesink extend the base class.
12462         Small cleanups in GstPipeline.
12463
12464 2005-03-26  David Schleef  <ds@schleef.org>
12465
12466         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
12467         is broken and should be implemented in a different library.
12468         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
12469         * gst/gst.h: remove gstcpu.h
12470         * gst/gstcpu.c: remove
12471         * gst/gstcpu.h: remove
12472         * gst/Makefile.am.future: Remove this file.  It's ancient.
12473
12474 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12475
12476         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12477         (gst_bin_send_event):
12478           Add default event/set_manager handlers. The set_manager handler
12479           takes care that the manager is distributed over kids that were
12480           already in the bin before the manager was set. The event handler
12481           is a utility virtual function that sends the event over all sinks,
12482           so that gst_element_send_event (bin, event); has the expected
12483           behaviour.
12484         * gst/gstpad.c: (gst_pad_event_default):
12485           Re-install default event handling for discontinuities, so that
12486           seeking works without requiring hacks in applications or extra
12487           code in sinks.
12488         * gst/gstpipeline.c: (gst_pipeline_class_init),
12489         (gst_pipeline_send_event):
12490           Half hack, half utility: set a pipeline to PAUSED for seek events,
12491           since that is the only way we can guarantee a/v sync. Means that
12492           you can do gst_element_seek (pipeline, method, pos); on a pipeline
12493           and it "just works".
12494
12495 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12496
12497         * gst/gstpipeline.c: (gst_pipeline_use_clock):
12498           Lock/unlock mismatch.
12499
12500 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12501
12502         * docs/faq/gst-uninstalled:
12503           add gst-plugins-base
12504         * docs/gst/Makefile.am:
12505           don't error out until docs are fixed
12506         * docs/gst/gstreamer.types:
12507           remove thread
12508
12509 2005-03-22  Wim Taymans  <wim@fluendo.com>
12510
12511         * check/Makefile.am:
12512         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
12513         * gst/gststructure.c: (gst_structure_set_valist),
12514         (gst_structure_copy_conditional):
12515         Activated more tests.
12516         Added message test.
12517         Added G_TYPE_POINTER to GstStructure.
12518         
12519
12520 2005-03-22  Wim Taymans  <wim@fluendo.com>
12521
12522         * docs/design/part-TODO.txt:
12523         * docs/design/part-events.txt:
12524         * docs/design/part-gstbin.txt:
12525         * docs/design/part-gstbus.txt:
12526         * docs/design/part-gstpipeline.txt:
12527         * docs/design/part-messages.txt:
12528         * gst/gstbus.c:
12529         * gst/gstmessage.c:
12530         Docs updates
12531
12532 2005-03-21  Wim Taymans  <wim@fluendo.com>
12533
12534         * gst/gstbus.c: (gst_bus_post):
12535         Fix copy-and-paste error.
12536
12537 2005-03-21  Wim Taymans  <wim@fluendo.com>
12538
12539         * check/Makefile.am:
12540         * gst/Makefile.am:
12541         * gst/elements/Makefile.am:
12542         * gst/elements/gstelements.c:
12543         * gst/elements/gstfakesink.c: (gst_fakesink_init),
12544         (gst_fakesink_event), (gst_fakesink_chain):
12545         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12546         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
12547         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
12548         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
12549         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
12550         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
12551         (gst_fakesrc_loop), (gst_fakesrc_activate),
12552         (gst_fakesrc_change_state):
12553         * gst/elements/gstfakesrc.h:
12554         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12555         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
12556         (gst_filesrc_open_file), (gst_filesrc_loop),
12557         (gst_filesrc_activate), (gst_filesrc_change_state),
12558         (filesrc_find_peek), (filesrc_find_suggest),
12559         (gst_filesrc_type_find):
12560         * gst/elements/gstidentity.c: (gst_identity_finalize),
12561         (gst_identity_class_init), (gst_identity_init),
12562         (gst_identity_proxy_getcaps), (identity_queue_push),
12563         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
12564         (gst_identity_getrange), (gst_identity_chain),
12565         (gst_identity_sink_loop), (gst_identity_src_loop),
12566         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
12567         (gst_identity_set_property), (gst_identity_get_property),
12568         (gst_identity_change_state):
12569         * gst/elements/gstidentity.h:
12570         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
12571         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
12572         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
12573         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
12574         (gst_tee_sink_activate):
12575         * gst/elements/gsttee.h:
12576         * gst/gst.c: (gst_register_core_elements), (init_post):
12577         * gst/gst.h:
12578         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
12579         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
12580         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
12581         (gst_bin_change_state):
12582         * gst/gstbin.h:
12583         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
12584         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
12585         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
12586         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
12587         (gst_bus_set_sync_handler), (gst_bus_create_watch),
12588         (bus_watch_callback), (bus_watch_destroy),
12589         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
12590         (poll_timeout), (gst_bus_poll):
12591         * gst/gstbus.h:
12592         * gst/gstcaps.h:
12593         * gst/gstdata.h:
12594         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12595         (gst_element_post_message), (gst_element_message_full),
12596         (gst_element_get_state_func), (gst_element_get_state),
12597         (gst_element_abort_state), (gst_element_commit_state),
12598         (gst_element_lost_state), (gst_element_set_state),
12599         (gst_element_pads_activate), (gst_element_change_state),
12600         (gst_element_dispose), (gst_element_set_manager_func),
12601         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
12602         (gst_element_set_manager), (gst_element_get_manager),
12603         (gst_element_set_bus), (gst_element_get_bus),
12604         (gst_element_set_scheduler), (gst_element_get_scheduler):
12605         * gst/gstelement.h:
12606         * gst/gstevent.c: (gst_event_new_segment_seek),
12607         (gst_event_new_flush):
12608         * gst/gstevent.h:
12609         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
12610         (_gst_message_free), (gst_message_get_type), (gst_message_new),
12611         (gst_message_new_eos), (gst_message_new_error),
12612         (gst_message_new_warning), (gst_message_new_tag),
12613         (gst_message_new_state_changed), (gst_message_new_application),
12614         (gst_message_get_structure), (gst_message_parse_tag),
12615         (gst_message_parse_state_changed), (gst_message_parse_error),
12616         (gst_message_parse_warning):
12617         * gst/gstmessage.h:
12618         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
12619         (gst_real_pad_set_property), (gst_pad_set_active),
12620         (gst_pad_is_active), (gst_pad_set_blocked_async),
12621         (gst_pad_set_blocked), (gst_pad_is_blocked),
12622         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
12623         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
12624         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
12625         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
12626         (gst_pad_link_filtered), (gst_pad_relink_filtered),
12627         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
12628         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
12629         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
12630         (gst_pad_set_caps), (gst_pad_configure_sink),
12631         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
12632         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
12633         (gst_real_pad_dispose), (gst_real_pad_finalize),
12634         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
12635         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12636         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
12637         * gst/gstpad.h:
12638         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
12639         (pipeline_bus_handler), (gst_pipeline_change_state),
12640         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
12641         * gst/gstpipeline.h:
12642         * gst/gstprobe.h:
12643         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
12644         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
12645         (gst_queue_link_src), (gst_queue_bufferalloc),
12646         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
12647         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
12648         (gst_queue_loop), (gst_queue_handle_src_event),
12649         (gst_queue_handle_src_query), (gst_queue_src_activate),
12650         (gst_queue_change_state):
12651         * gst/gstqueue.h:
12652         * gst/gstscheduler.c: (gst_scheduler_init),
12653         (gst_scheduler_dispose), (gst_scheduler_create_task),
12654         (gst_scheduler_factory_create):
12655         * gst/gstscheduler.h:
12656         * gst/gststructure.c: (gst_structure_get_type),
12657         (gst_structure_copy_conditional):
12658         * gst/gststructure.h:
12659         * gst/gsttaginterface.h:
12660         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
12661         (gst_task_init), (gst_task_dispose), (gst_task_create),
12662         (gst_task_get_state), (gst_task_start), (gst_task_stop),
12663         (gst_task_pause):
12664         * gst/gsttask.h:
12665         * gst/gstthread.c:
12666         * gst/gstthread.h:
12667         * gst/gsttypes.h:
12668         * gst/schedulers/Makefile.am:
12669         * gst/schedulers/cothreads_compat.h:
12670         * gst/schedulers/entryscheduler.c:
12671         * gst/schedulers/faircothreads.c:
12672         * gst/schedulers/faircothreads.h:
12673         * gst/schedulers/fairscheduler.c:
12674         * gst/schedulers/gstbasicscheduler.c:
12675         * gst/schedulers/gstoptimalscheduler.c:
12676         * gst/schedulers/gthread-cothreads.h:
12677         * gst/schedulers/threadscheduler.c:
12678         (gst_thread_scheduler_task_get_type),
12679         (gst_thread_scheduler_task_class_init),
12680         (gst_thread_scheduler_task_init),
12681         (gst_thread_scheduler_task_start),
12682         (gst_thread_scheduler_task_stop),
12683         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
12684         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
12685         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
12686         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
12687         (plugin_init):
12688         * libs/gst/Makefile.am:
12689         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
12690         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
12691         (gst_file_pad_parent_set):
12692         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12693         (gst_dp_event_from_packet):
12694         * tests/complexity.c: (main):
12695         * tests/mass_elements.c: (main):
12696         * testsuite/states/locked.c: (message_received), (main):
12697         * testsuite/states/parent.c: (main):
12698         * tools/gst-inspect.c: (print_element_flag_info),
12699         (print_implementation_info), (print_pad_info):
12700         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
12701         (main):
12702         * tools/gst-md5sum.c: (event_loop), (main):
12703         * tools/gst-typefind.c: (main):
12704         * tools/gst-xmlinspect.c: (print_element_info):
12705         Next big merge.
12706         Added GstBus for mainloop integration.
12707         Added GstMessage for sending notifications on the bus.
12708         Added GstTask as an abstraction for pipeline entry points.
12709         Removed GstThread.
12710         Removed Schedulers.
12711         Simplified GstQueue for multithreaded core.
12712         Made _link threadsafe, removed old capsnego.
12713         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
12714         Added pad blocking functions.
12715         Reworked scheduling functions in GstPad to prepare for
12716         scheduling updates soon.
12717         Moved events out of data stream.
12718         Simplified GstEvent types.
12719         Added return values to push/pull.
12720         Removed clocking from GstElement.
12721         Added prototypes for state change function for next merge.
12722         Removed iterate from bins and state change management.
12723         Fixed some elements, disabled others for now.
12724         Fixed -inspect and -launch.
12725         Added check for GstBus.
12726
12727 2005-03-10  Wim Taymans  <wim@fluendo.com>
12728
12729         * docs/design/part-MT-refcounting.txt:
12730         * docs/design/part-clocks.txt:
12731         * docs/design/part-gstelement.txt:
12732         * docs/design/part-gstobject.txt:
12733         * docs/design/part-standards.txt:
12734         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12735         (gst_bin_remove_func), (gst_bin_remove):
12736         * gst/gstbin.h:
12737         * gst/gstbuffer.c:
12738         * gst/gstcaps.h:
12739         * testsuite/clock/clock1.c: (main):
12740         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
12741         (main):
12742         * testsuite/dlopen/loadgst.c: (do_test):
12743         * testsuite/refcounting/bin.c: (add_remove_test1),
12744         (add_remove_test2), (main):
12745         * testsuite/refcounting/element.c: (main):
12746         * testsuite/refcounting/element_pad.c: (main):
12747         * testsuite/refcounting/pad.c: (main):
12748         * tools/gst-launch.c: (sigint_handler_sighandler):
12749         * tools/gst-typefind.c: (main):
12750         Doc updates.
12751         Added doc about clock.
12752         removed gst_bin_iterate_recurse_up(), marked methods
12753         for removal.
12754         Fix more testsuites.
12755
12756 2005-03-09  Wim Taymans  <wim@fluendo.com>
12757
12758         * gst/gstpad.c: (gst_pad_get_direction),
12759         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
12760         (gst_pad_collect_valist):
12761         * testsuite/bins/interface.c: (main):
12762         * testsuite/caps/audioscale.c: (test_caps):
12763         * testsuite/caps/caps.c: (test1), (test2), (test3):
12764         * testsuite/caps/deserialize.c: (main):
12765         * testsuite/caps/enumcaps.c: (main):
12766         * testsuite/caps/filtercaps.c: (main):
12767         * testsuite/caps/intersect2.c: (main):
12768         * testsuite/caps/random.c: (main):
12769         * testsuite/caps/renegotiate.c: (my_fixate), (main):
12770         * testsuite/caps/sets.c: (check_caps):
12771         * testsuite/caps/simplify.c: (check_caps), (main):
12772         * testsuite/caps/subtract.c: (check_caps):
12773         Fix _pad_get_direction wrt ghostpads.
12774         Fix caps testsuite.
12775
12776 2005-03-09  Wim Taymans  <wim@fluendo.com>
12777
12778         * check/Makefile.am:
12779         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
12780         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
12781         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
12782         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
12783         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
12784         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
12785         (gst_bin_remove), (gst_bin_iterate_recurse_up),
12786         (bin_element_is_sink), (gst_bin_iterate_sinks),
12787         (gst_bin_iterate_all_by_interface):
12788         * gst/gstbin.h:
12789         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
12790         (gst_element_change_state), (gst_element_dispose),
12791         (gst_element_finalize), (gst_element_set_loop_function):
12792         * gst/gstelement.h:
12793         * gst/gstiterator.c: (find_custom_fold_func):
12794         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12795         (gst_pad_collectv), (gst_pad_collect_valist),
12796         (gst_pad_template_new):
12797         * gst/gstpipeline.c: (gst_pipeline_class_init),
12798         (gst_pipeline_dispose), (gst_pipeline_set_property),
12799         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
12800         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
12801         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
12802         * gst/gstutils.h:
12803         * gst/schedulers/entryscheduler.c:
12804         * gst/schedulers/gstbasicscheduler.c:
12805         (gst_basic_scheduler_cothreaded_chain),
12806         (gst_basic_scheduler_chain_add_element):
12807         * testsuite/bins/interface.c: (main):
12808         Added GstBin test.
12809         Added GstSystemClock test.
12810         Implemented clock distribution code in GstBin.
12811         Implemented iterate sinks method for future use.
12812         Rearranged gstelement.h
12813         Fix GstIterator comparison bug.
12814         Moved some code to GstPipeline, mostly clocking related.
12815
12816 2005-03-09  Wim Taymans  <wim@fluendo.com>
12817
12818         * configure.ac:
12819         * gst/gst_private.h:
12820         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12821         (gst_bin_remove_func), (gst_bin_remove),
12822         (gst_bin_get_by_name_recurse_up):
12823         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
12824         (gst_clock_id_compare_func), (gst_clock_id_wait),
12825         (gst_clock_id_wait_async), (gst_clock_init),
12826         (gst_clock_adjust_unlocked), (gst_clock_get_time):
12827         * gst/gstelement.h:
12828         * gst/gstinfo.c: (_gst_debug_init):
12829         * gst/gstobject.h:
12830         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12831         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
12832         * gst/gstpad.h:
12833         Bump version number, we're now 0.9.0
12834         Add future debugging category.
12835         Fix NULL _unref() in _get_by_name_recurse_up
12836         Rearrange gstpad.h.
12837         Update some docs.
12838
12839 2005-03-08  Wim Taymans  <wim@fluendo.com>
12840
12841         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
12842         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
12843         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
12844         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
12845         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
12846         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
12847         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
12848         * gst/elements/gstidentity.c: (gst_identity_class_init):
12849         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
12850         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12851         * gst/elements/gstshaper.c: (gst_shaper_class_init):
12852         * gst/elements/gststatistics.c: (gst_statistics_class_init):
12853         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
12854         (gst_tee_link):
12855         * gst/gstelement.c: (gst_element_class_init),
12856         (gst_element_base_class_init), (gst_element_init),
12857         (gst_element_get_random_pad), (gst_element_wait_state_change),
12858         (gst_element_change_state), (gst_element_dispose),
12859         (gst_element_finalize), (gst_element_set_loop_function):
12860         * gst/gstelement.h:
12861         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
12862         * gst/gstthread.c: (gst_thread_class_init),
12863         (gst_thread_release_children_locks), (gst_thread_change_state):
12864         * gst/schedulers/gstbasicscheduler.c:
12865         (gst_basic_scheduler_loopfunc_wrapper),
12866         (gst_basic_scheduler_chain_wrapper),
12867         (gst_basic_scheduler_src_wrapper),
12868         (gst_basic_scheduler_remove_element):
12869         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
12870         Remove threadsafe properties. Fix elements because GObject
12871         complains when installing a property before declaring a
12872         set/get_property handler.
12873         Rearrange gstelement.h file, use STATE macros for state locks.
12874         Free mutexes in the finalize method instead of dispose.
12875
12876 2005-03-08  Wim Taymans  <wim@fluendo.com>
12877
12878         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12879         * gst/gstthread.c: (gst_thread_release_children_locks):
12880         Added parentage check.
12881         Fix build og GstThread again.
12882
12883 2005-03-08  Wim Taymans  <wim@fluendo.com>
12884
12885         * docs/design/part-MT-refcounting.txt:
12886         * docs/design/part-conventions.txt:
12887         * docs/design/part-gstobject.txt:
12888         * docs/design/part-relations.txt:
12889         * docs/design/part-standards.txt:
12890         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12891         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
12892         (gst_bin_get_by_name), (gst_bin_get_by_interface),
12893         (gst_bin_iterate_all_by_interface):
12894         * gst/gstbuffer.h:
12895         * gst/gstclock.h:
12896         * gst/gstelement.c: (gst_element_class_init),
12897         (gst_element_change_state), (gst_element_set_loop_function):
12898         * gst/gstelement.h:
12899         * gst/gstiterator.c:
12900         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
12901         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
12902         (gst_object_dispatch_properties_changed), (gst_object_set_name),
12903         (gst_object_set_parent), (gst_object_unparent),
12904         (gst_object_check_uniqueness):
12905         * gst/gstobject.h:
12906         Docs updates, clean up some headers.
12907
12908 2005-03-07  Wim Taymans  <wim@fluendo.com>
12909
12910         * check/.cvsignore:
12911         * check/Makefile.am:
12912         * check/gst-libs/.cvsignore:
12913         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
12914         * check/gst/.cvsignore:
12915         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
12916         (START_TEST), (gstbus_suite), (main):
12917         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
12918         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
12919         (gst_data_suite), (main):
12920         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
12921         (add_fold_func), (gstiterator_suite), (main):
12922         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
12923         (thread_name_object), (thread_name_object_default),
12924         (gst_object_name_compare), (gst_object_suite), (main):
12925         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
12926         (gst_pad_suite), (main):
12927         * check/gstcheck.c: (gst_check_log_message_func),
12928         (gst_check_log_critical_func), (gst_check_init):
12929         * check/gstcheck.h:
12930         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
12931         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
12932         Added checks.
12933
12934 2005-03-07  Wim Taymans  <wim@fluendo.com>
12935
12936         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
12937         (gst_list_iterator_next), (gst_list_iterator_resync),
12938         (gst_list_iterator_free), (gst_iterator_new_list),
12939         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
12940         (gst_iterator_free), (gst_iterator_push), (filter_next),
12941         (filter_resync), (filter_uninit), (filter_free),
12942         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
12943         (gst_iterator_foreach), (find_custom_fold_func),
12944         (gst_iterator_find_custom):
12945         * gst/gstiterator.h:
12946         Added missing files.
12947
12948 2005-03-07  Wim Taymans  <wim@fluendo.com>
12949
12950         * Makefile.am:
12951         * configure.ac:
12952         * docs/design/part-MT-refcounting.txt:
12953         * docs/design/part-conventions.txt:
12954         * docs/design/part-gstobject.txt:
12955         * docs/design/part-relations.txt:
12956         * examples/mixer/mixer.c: (main):
12957         * examples/thread/thread.c: (eos), (main):
12958         * gst/Makefile.am:
12959         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
12960         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
12961         (gst_spider_plug_from_srcpad):
12962         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
12963         (gst_spider_identity_change_state),
12964         (gst_spider_identity_sink_loop_type_finding):
12965         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
12966         * gst/elements/gstidentity.c: (gst_identity_init):
12967         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
12968         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
12969         * gst/elements/gsttypefindelement.c: (free_entry):
12970         * gst/gst.c:
12971         * gst/gst.h:
12972         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
12973         (gst_bin_set_clock_func), (gst_bin_auto_clock),
12974         (gst_bin_set_index), (gst_bin_set_element_sched),
12975         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
12976         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
12977         (gst_bin_iterate_elements), (iterate_child_recurse),
12978         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
12979         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
12980         (compare_interface), (gst_bin_get_by_interface),
12981         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
12982         * gst/gstbin.h:
12983         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
12984         (gst_buffer_default_free), (gst_buffer_default_copy),
12985         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
12986         (gst_buffer_create_sub):
12987         * gst/gstbuffer.h:
12988         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
12989         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
12990         (gst_caps_unref), (gst_static_caps_get),
12991         (gst_caps_remove_and_get_structure), (gst_caps_append),
12992         (gst_caps_append_structure), (gst_caps_remove_structure),
12993         (gst_caps_copy_nth), (gst_caps_set_simple),
12994         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
12995         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
12996         (gst_caps_structure_intersect_field), (gst_caps_intersect),
12997         (gst_caps_structure_subtract_field), (gst_caps_subtract),
12998         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
12999         (gst_caps_structure_figure_out_union),
13000         (gst_caps_switch_structures), (gst_caps_do_simplify),
13001         (gst_caps_replace), (gst_caps_from_string),
13002         (gst_caps_copy_conditional):
13003         * gst/gstcaps.h:
13004         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
13005         (_gst_clock_id_free), (gst_clock_id_unref),
13006         (gst_clock_id_compare_func), (gst_clock_id_wait),
13007         (gst_clock_id_wait_async), (gst_clock_class_init),
13008         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
13009         (gst_clock_get_time), (gst_clock_set_time_adjust),
13010         (gst_clock_set_property), (gst_clock_get_property):
13011         * gst/gstclock.h:
13012         * gst/gstcompat.h:
13013         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
13014         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
13015         * gst/gstdata.h:
13016         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13017         (gst_element_requires_clock), (gst_element_provides_clock),
13018         (gst_element_set_clock), (gst_element_clock_wait),
13019         (gst_element_wait), (gst_element_set_time_delay),
13020         (gst_element_is_indexable), (gst_element_add_pad),
13021         (gst_element_add_ghost_pad), (gst_element_remove_pad),
13022         (pad_compare_name), (gst_element_get_static_pad),
13023         (gst_element_request_pad), (gst_element_get_request_pad),
13024         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
13025         (gst_element_class_get_pad_template_list),
13026         (gst_element_class_get_pad_template), (gst_element_error_func),
13027         (gst_element_get_random_pad), (gst_element_get_event_masks),
13028         (gst_element_send_event), (gst_element_seek),
13029         (gst_element_get_query_types), (gst_element_query),
13030         (gst_element_get_formats), (gst_element_convert),
13031         (gst_element_is_locked_state), (gst_element_set_locked_state),
13032         (gst_element_sync_state_with_parent), (gst_element_change_state),
13033         (gst_element_finalize), (gst_element_yield),
13034         (gst_element_interrupt), (gst_element_set_scheduler),
13035         (gst_element_get_scheduler), (gst_element_set_loop_function):
13036         * gst/gstelement.h:
13037         * gst/gstevent.h:
13038         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
13039         (gst_format_get_by_nick), (gst_format_get_details),
13040         (gst_format_iterate_definitions):
13041         * gst/gstformat.h:
13042         * gst/gstindex.c: (gst_index_gtype_resolver):
13043         * gst/gstinfo.c:
13044         * gst/gstinfo.h:
13045         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
13046         (gst_mem_chunk_free):
13047         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
13048         (gst_object_ref), (gst_object_unref), (gst_object_sink),
13049         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
13050         (gst_object_dispatch_properties_changed),
13051         (gst_object_set_name_default), (gst_object_set_name),
13052         (gst_object_get_name), (gst_object_set_name_prefix),
13053         (gst_object_get_name_prefix), (gst_object_set_parent),
13054         (gst_object_get_parent), (gst_object_unparent),
13055         (gst_object_check_uniqueness), (gst_object_save_thyself),
13056         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
13057         (gst_object_set_property), (gst_object_get_property),
13058         (gst_object_get_path_string):
13059         * gst/gstobject.h:
13060         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13061         (gst_real_pad_init), (gst_real_pad_get_property),
13062         (gst_pad_custom_new), (gst_pad_get_direction),
13063         (gst_pad_set_active), (gst_pad_is_active),
13064         (gst_pad_set_event_function), (gst_pad_is_linked),
13065         (gst_pad_link_free), (gst_pad_link_intersect),
13066         (gst_pad_link_fixate), (gst_pad_set_caps),
13067         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
13068         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
13069         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
13070         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
13071         (gst_pad_get_caps), (gst_pad_peer_get_caps),
13072         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
13073         (gst_pad_realize), (gst_pad_get_allowed_caps),
13074         (gst_real_pad_dispose), (gst_real_pad_finalize),
13075         (gst_pad_collectv), (gst_pad_collect_valist),
13076         (gst_pad_template_dispose), (gst_pad_template_new),
13077         (gst_pad_get_internal_links):
13078         * gst/gstpad.h:
13079         * gst/gstpipeline.c: (gst_pipeline_dispose),
13080         (gst_pipeline_change_state):
13081         * gst/gstpipeline.h:
13082         * gst/gstplugin.c:
13083         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
13084         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
13085         * gst/gstpluginfeature.h:
13086         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
13087         * gst/gstquery.c: (_gst_query_type_initialize),
13088         (gst_query_type_register), (gst_query_type_get_by_nick),
13089         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
13090         * gst/gstquery.h:
13091         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
13092         * gst/gstscheduler.c: (gst_scheduler_add_element),
13093         (gst_scheduler_factory_create):
13094         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13095         (gst_structure_free), (gst_structure_set_name),
13096         (gst_structure_id_set_value), (gst_structure_set_value),
13097         (gst_structure_set_valist), (gst_structure_remove_field),
13098         (gst_structure_remove_fields),
13099         (gst_structure_remove_fields_valist),
13100         (gst_structure_remove_all_fields), (gst_structure_foreach),
13101         (gst_structure_map_in_place),
13102         (gst_caps_structure_fixate_field_nearest_int),
13103         (gst_caps_structure_fixate_field_nearest_double):
13104         * gst/gststructure.h:
13105         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13106         (gst_system_clock_init), (gst_system_clock_dispose),
13107         (gst_system_clock_async_thread),
13108         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
13109         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
13110         * gst/gstsystemclock.h:
13111         * gst/gsttag.c: (gst_tag_list_add_value_internal),
13112         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
13113         * gst/gsttaginterface.c:
13114         * gst/gstthread.c: (gst_thread_dispose),
13115         (gst_thread_release_children_locks), (gst_thread_change_state),
13116         (gst_thread_main_loop):
13117         * gst/gsttrashstack.h:
13118         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
13119         * gst/gsttypes.h:
13120         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13121         (gst_element_request_pad), (gst_element_get_pad_from_template),
13122         (gst_element_request_compatible_pad),
13123         (gst_element_get_compatible_pad_filtered),
13124         (gst_element_get_compatible_pad), (gst_element_state_get_name),
13125         (gst_element_link_pads_filtered), (gst_element_link_filtered),
13126         (gst_element_link_many), (gst_element_link),
13127         (gst_element_link_pads), (gst_element_unlink_pads),
13128         (gst_element_unlink_many), (gst_element_unlink),
13129         (gst_pad_can_link_filtered), (gst_pad_can_link),
13130         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
13131         (gst_object_default_error), (gst_bin_add_many),
13132         (gst_bin_remove_many), (gst_element_populate_std_props),
13133         (gst_element_class_install_std_props), (gst_buffer_merge),
13134         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
13135         (link_fold_func), (gst_pad_proxy_setcaps):
13136         * gst/gstutils.h:
13137         * gst/gstvalue.c: (gst_value_deserialize_string):
13138         * gst/parse/grammar.y:
13139         * gst/schedulers/gstbasicscheduler.c:
13140         (gst_basic_scheduler_cothreaded_chain),
13141         (gst_basic_scheduler_chain_recursive_add),
13142         (gst_basic_scheduler_pad_link):
13143         * gst/schedulers/gstoptimalscheduler.c:
13144         (get_group_schedule_function),
13145         (gst_opt_scheduler_state_transition),
13146         (gst_opt_scheduler_add_element), (element_get_reachables_func):
13147         * libs/gst/bytestream/bytestream.c:
13148         * libs/gst/dataprotocol/dataprotocol.c:
13149         (gst_dp_header_from_buffer):
13150         * po/nb.po:
13151         * po/ru.po:
13152         * tests/threadstate/threadstate2.c: (eos):
13153         * tools/gst-compprep.c: (main):
13154         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
13155         (print_pad_info), (print_children_info):
13156         * tools/gst-launch.c: (idle_func), (main):
13157         * tools/gst-md5sum.c: (idle_func), (main):
13158         * tools/gst-xmlinspect.c: (print_element_info):
13159         First THREADED backport attempt, focusing on adding locks and
13160         making sure the API is threadsafe. Needs more work. More docs
13161         follow this week.
13162
13163 2005-02-24  Andy Wingo  <wingo@pobox.com>
13164
13165         * tests/bench-complexity.scm:
13166         * tests/complexity.gnuplot: New files, good for running complexity
13167         benchmarks.
13168
13169         * tests/Makefile.am:
13170         * tests/complexity.c: New test, sets up N elements, at each level
13171         teeing into M streams per element. Eeeenteresting.
13172
13173         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
13174         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
13175         running bench-mass_elements.scm.
13176
13177         * tests/bench-mass_elements.scm: New script, runs mass_elements
13178         for various numbers of identities, outputting the results to a
13179         file. Requires guile 1.6. Just for testing.
13180
13181 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13182
13183         * gst/schedulers/fairscheduler.c:
13184           compile with debug disabled
13185
13186 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13187
13188         * configure.ac:
13189           hunting season on 0.9 is now OPEN