win32/: win32 build fixes
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
2
3         patch by: Sebastien Moutte
4
5         * win32/MANIFEST:
6         * win32/common/config.h.in:
7         * win32/vs6/libgstcontroller.dsp:
8           win32 build fixes
9
10 2005-12-05  Wim Taymans  <wim@fluendo.com>
11
12         * gst/gstcaps.c: (gst_caps_is_equal):
13         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
14         (gst_fake_src_create):
15         Back out previous code changes, leave doc updates, file bugs 
16         instead. 
17
18 2005-12-05  Wim Taymans  <wim@fluendo.com>
19
20         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
21         (gst_fake_src_get_times), (gst_fake_src_create):
22         * plugins/elements/gstfakesrc.h:
23         Fix broken sync code.
24
25 2005-12-05  Wim Taymans  <wim@fluendo.com>
26
27         * gst/gstcaps.c: (gst_caps_is_equal):
28         Comparing NULL against !NULL yields different caps, not a
29         failure.
30
31 2005-12-05  Wim Taymans  <wim@fluendo.com>
32
33         * gst/gstpipeline.c:
34         Fix small typo in docs.
35
36 2005-12-05  Andy Wingo  <wingo@pobox.com>
37
38         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
39
40         * gst/gst.c (init_post): remove hard-coded 0.9 location for
41         registries/plugins with a MAJORMINOR one.
42         (plugin_desc): Rename library from gstcoreleements to
43         staticelements. Fixes #323222.
44
45 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
46
47         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
48           Change debug category to 'collectpads' from 'collect_pads'
49           (fixes #323250).
50
51 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
52
53         patch by: Sebastien Moutte
54
55         * libs/gst/controller/gstinterpolation.c:
56           use convert function for uint64/double
57         * win32/vs6/libgstcontroller.dsp:
58           link to GLib
59
60 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
61
62         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
63         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
64         * gst/gstutils.h:
65         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
66           add tests that seem to show that the guint64/gdouble conversions
67           are correct.
68
69 2005-12-02  Wim Taymans  <wim@fluendo.com>
70
71         * gst/gstregistry.c: (gst_registry_add_path):
72         * gst/gstregistry.h:
73         * gst/gstregistryxml.c:
74         Fix docs again.
75
76 2005-12-02  Wim Taymans  <wim@fluendo.com>
77
78         * gst/gstutils.c: (gst_util_uint64_scale_int64),
79         (gst_util_uint64_scale_int):
80         Small cleanup.
81
82         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
83         Add debug log line.
84
85         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
86         Add FIXME.
87
88 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
89
90         * win32/MANIFEST:
91         * win32/common/config.h:
92         * win32/vs6/gstreamer.dsw:
93         * win32/vs6/libgstcoreelements.dsp:
94         * win32/vs6/libgstelements.dsp:
95           renamed core elements plugin
96
97 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
98
99         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
100         (get_candidates):
101           do piece-wise major/minor comparison so 0.9 < 0.10
102           also allow .exe extensions for tools
103
104 2005-12-02  Michael Smith  <msmith@fluendo.com>
105
106         * gst/gst.c:
107           Escape a % to make gtkdoc happier; bug 322958.
108
109 === release 0.9.7 ===
110
111 2005-12-01   <thomas (at) apestaart (dot) org>
112
113         * configure.ac:
114           releasing 0.9.7, "My Dog Has No Nose"
115
116 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
117
118         * common/gst-xmlinspect.py:
119         * configure.ac:
120         * docs/libs/tmpl/gstdataprotocol.sgml:
121         * docs/random/release:
122         * po/af.po:
123         * po/az.po:
124         * po/bg.po:
125         * po/ca.po:
126         * po/cs.po:
127         * po/de.po:
128         * po/en_GB.po:
129         * po/fr.po:
130         * po/it.po:
131         * po/nb.po:
132         * po/nl.po:
133         * po/ru.po:
134         * po/sq.po:
135         * po/sr.po:
136         * po/sv.po:
137         * po/tr.po:
138         * po/uk.po:
139         * po/vi.po:
140         * win32/common/config.h:
141         * win32/common/config.h.in:
142         * win32/vs6/gst_inspect.dsp:
143         * win32/vs6/gst_launch.dsp:
144         * win32/vs6/libgstbase.dsp:
145         * win32/vs6/libgstelements.dsp:
146         * win32/vs6/libgstreamer.dsp:
147         * win32/vs7/GStreamer.vcproj:
148         * win32/vs7/gst-inspect.vcproj:
149         * win32/vs7/gst-launch.vcproj:
150         * win32/vs7/libgstbase.vcproj:
151           bump GST_MAJORMINOR to 0.10
152           reset libtool version
153
154 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
155
156         * po/LINGUAS:
157         * po/bg.po:
158           Added Bulgarian translation by (Alexander Shopov)
159
160 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
161
162         * tests/check/gst/gstplugin.c:
163           fix test
164
165 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
166
167         * common/gst-xmlinspect.py:
168         * common/gtk-doc-plugins.mak:
169         * configure.ac:
170         * docs/Makefile.am:
171         * docs/gst/Makefile.am:
172         * docs/gst/gstreamer-docs.sgml:
173         * docs/gst/gstreamer-sections.txt:
174         * docs/gst/gstreamer.types:
175         * docs/gst/gstreamer.types.in:
176         * docs/plugins/Makefile.am:
177         * docs/plugins/gstreamer-plugins-docs.sgml:
178         * docs/plugins/gstreamer-plugins-sections.txt:
179         * docs/plugins/gstreamer-plugins.types:
180         * docs/plugins/inspect.stamp:
181         * docs/plugins/inspect/plugin-coreelements.xml:
182         * docs/plugins/inspect/plugin-coreindexers.xml:
183         * docs/plugins/scanobj-build.stamp:
184         * gstreamer.spec.in:
185         * plugins/elements/Makefile.am:
186         * plugins/elements/gstelements.c:
187         * plugins/elements/gstfakesink.c:
188         * plugins/elements/gstfakesrc.c:
189         * plugins/elements/gstfilesink.c:
190         * plugins/elements/gstfilesrc.c:
191         * plugins/elements/gstqueue.c:
192         * plugins/indexers/Makefile.am:
193         * plugins/indexers/gstindexers.c:
194           document core plugins in a separate document just like all the
195           others
196           rename these plugins to something starting with core
197
198 2005-12-01  Andy Wingo  <wingo@pobox.com>
199
200         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
201         padding here before, but it missed the commit.
202
203 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
204
205         * libs/gst/controller/gstinterpolation.c:
206           whitespace prices have crashed, we should feel free to use some now
207           use gst_guint64_to_gdouble
208
209 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
210
211         * libs/gst/controller/gstcontroller.c:
212         * libs/gst/controller/gsthelper.c:
213         * libs/gst/controller/gstinterpolation.c:
214         * libs/gst/controller/lib.c:
215           wrap config.h include
216
217 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
218
219         * docs/gst/gstreamer-sections.txt:
220           update docs
221
222 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
223
224         * plugins/elements/gstelements.c:
225         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
226         (gst_fd_sink__class_init), (gst_fd_sink__init),
227         (gst_fd_sink__chain), (gst_fd_sink__set_property),
228         (gst_fd_sink__get_property):
229         * plugins/elements/gstfdsink.h:
230         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
231         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
232         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
233         (gst_fd_src_unlock), (gst_fd_src_set_property),
234         (gst_fd_src_get_property), (gst_fd_src_create),
235         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
236         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
237         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
238         (gst_fd_src_uri_handler_init):
239         * plugins/elements/gstfdsrc.h:
240         * plugins/elements/gstqueue.c: (gst_queue_get_type):
241           more anal cleanup
242
243 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
244
245         * docs/gst/Makefile.am:
246         * docs/gst/gstreamer.types.in:
247         * gst/Makefile.am:
248           fix the docs build
249
250 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
251
252         * configure.ac:
253         * gst/Makefile.am:
254         * gst/gst.c:
255         * gst/gstplugin.h:
256         * gst/gstregistry.h:
257         * tests/benchmarks/complexity.c:
258         * tests/benchmarks/mass-elements.c:
259         * tests/check/Makefile.am:
260         * tools/Makefile.am:
261         * tools/gst-inspect.c:
262         * tools/gst-xmlinspect.c:
263           various fixes to make
264           --disable-nls --disable-registry --disable-loadsave
265           --disable-parse --disable-gst-debug
266           work and get the core .so down to 360444 bytes after stripping
267
268 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
269
270         * Makefile.am:
271         * configure.ac:
272           descend into tests
273         * docs/random/thomasvs/TODO:
274         * tests/Makefile.am:
275         * tests/README:
276           add a README
277
278 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
279
280         * win32/GStreamer.vcproj:
281         * win32/MANIFEST:
282         * win32/Makefile:
283         * win32/Makefile.inspect:
284         * win32/Makefile.launch:
285         * win32/Makefile.register:
286         * win32/README.txt:
287         * win32/gst-inspect.vcproj:
288         * win32/gst-launch.vcproj:
289         * win32/gst-register.vcproj:
290         * win32/gstelements.vcproj:
291         * win32/gstgetbits.def:
292         * win32/gstgetbits.vcproj:
293         * win32/gstreamer-dbg.def:
294         * win32/gstreamer.def:
295         * win32/libgstbase.def:
296         * win32/libgstbase.vcproj:
297         * win32/link_oldruntime.c:
298         * win32/mman.c:
299         * win32/mman.h:
300         * win32/mman.inl:
301         * win32/msvc71.sln:
302           move even more stuff, win32/ is nice and clean now
303
304 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
305
306         * libs/gst/control/.cvsignore:
307         * win32/MANIFEST:
308         * win32/config.h:
309         * win32/dirent.c:
310         * win32/dirent.h:
311         * win32/gstbytestream.def:
312         * win32/gstbytestream.vcproj:
313         * win32/gstconfig.h:
314         * win32/gstenumtypes.c:
315         * win32/gstenumtypes.h:
316         * win32/gstoptimalscheduler.vcproj:
317         * win32/gstversion.h:
318         * win32/gtchar.h:
319         * win32/testsuite/bins.vcproj:
320         * win32/testsuite/bytestream.vcproj:
321         * win32/testsuite/caps.vcproj:
322         * win32/testsuite/cleanup.vcproj:
323         * win32/testsuite/clock.vcproj:
324         * win32/testsuite/debug.vcproj:
325         * win32/testsuite/dlopen.vcproj:
326         * win32/testsuite/dynparams.vcproj:
327         * win32/testsuite/elements.vcproj:
328         * win32/testsuite/ghostpads.vcproj:
329         * win32/testsuite/indexers.vcproj:
330         * win32/testsuite/negotiation.vcproj:
331         * win32/testsuite/parse.vcproj:
332         * win32/testsuite/plugin.vcproj:
333         * win32/testsuite/refcounting.vcproj:
334         * win32/testsuite/schedulers.vcproj:
335         * win32/testsuite/states.vcproj:
336         * win32/testsuite/tags.vcproj:
337         * win32/testsuite/threads.vcproj:
338           remove old win32 stuff that isn't maintained and should be
339           reorganized
340
341 2005-11-30  Andy Wingo  <wingo@pobox.com>
342
343         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
344         loading the gst.interfaces python module bork.
345
346         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
347         available since GLib 2.2. Fixes #318031.
348
349 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
350
351         * Makefile.am:
352         * check/.cvsignore:
353         * check/Makefile.am:
354         * check/elements/.cvsignore:
355         * check/elements/fakesrc.c:
356         * check/elements/fdsrc.c:
357         * check/elements/identity.c:
358         * check/generic/.cvsignore:
359         * check/generic/states.c:
360         * check/gst-libs/.cvsignore:
361         * check/gst-libs/controller.c:
362         * check/gst-libs/gdp.c:
363         * check/gst/.cvsignore:
364         * check/gst/capslist.h:
365         * check/gst/gst.c:
366         * check/gst/gstbin.c:
367         * check/gst/gstbuffer.c:
368         * check/gst/gstbus.c:
369         * check/gst/gstcaps.c:
370         * check/gst/gstelement.c:
371         * check/gst/gstevent.c:
372         * check/gst/gstghostpad.c:
373         * check/gst/gstiterator.c:
374         * check/gst/gstmessage.c:
375         * check/gst/gstminiobject.c:
376         * check/gst/gstobject.c:
377         * check/gst/gstpad.c:
378         * check/gst/gstpipeline.c:
379         * check/gst/gstplugin.c:
380         * check/gst/gstsegment.c:
381         * check/gst/gststructure.c:
382         * check/gst/gstsystemclock.c:
383         * check/gst/gsttag.c:
384         * check/gst/gstutils.c:
385         * check/gst/gstvalue.c:
386         * check/net/.cvsignore:
387         * check/net/gstnetclientclock.c:
388         * check/net/gstnettimeprovider.c:
389         * check/pipelines/.cvsignore:
390         * check/pipelines/cleanup.c:
391         * check/pipelines/simple_launch_lines.c:
392         * check/pipelines/stress.c:
393         * check/states/.cvsignore:
394         * check/states/sinks.c:
395         * configure.ac:
396         * examples/Makefile.am:
397         * examples/appreader/.cvsignore:
398         * examples/appreader/Makefile.am:
399         * examples/appreader/appreader.c:
400         * examples/controller/.cvsignore:
401         * examples/controller/Makefile.am:
402         * examples/controller/audio-example.c:
403         * examples/cutter/.cvsignore:
404         * examples/cutter/Makefile.am:
405         * examples/cutter/cutter.c:
406         * examples/cutter/cutter.h:
407         * examples/events/Makefile.am:
408         * examples/events/seek.c:
409         * examples/helloworld/.cvsignore:
410         * examples/helloworld/Makefile.am:
411         * examples/helloworld/helloworld.c:
412         * examples/helloworld2/.cvsignore:
413         * examples/helloworld2/Makefile.am:
414         * examples/helloworld2/helloworld2.c:
415         * examples/launch/.cvsignore:
416         * examples/launch/Makefile.am:
417         * examples/launch/mp3parselaunch.c:
418         * examples/launch/mp3play:
419         * examples/manual/.cvsignore:
420         * examples/manual/Makefile.am:
421         * examples/manual/extract.pl:
422         * examples/metadata/Makefile.am:
423         * examples/metadata/read-metadata.c:
424         * examples/mixer/.cvsignore:
425         * examples/mixer/Makefile.am:
426         * examples/mixer/mixer.c:
427         * examples/mixer/mixer.h:
428         * examples/pingpong/.cvsignore:
429         * examples/pingpong/Makefile.am:
430         * examples/pingpong/pingpong.c:
431         * examples/plugins/.cvsignore:
432         * examples/plugins/Makefile.am:
433         * examples/plugins/example.c:
434         * examples/plugins/example.h:
435         * examples/pwg/.cvsignore:
436         * examples/pwg/Makefile.am:
437         * examples/pwg/extract.pl:
438         * examples/queue/.cvsignore:
439         * examples/queue/Makefile.am:
440         * examples/queue/queue.c:
441         * examples/queue2/.cvsignore:
442         * examples/queue2/Makefile.am:
443         * examples/queue2/queue2.c:
444         * examples/queue3/.cvsignore:
445         * examples/queue3/Makefile.am:
446         * examples/queue3/queue3.c:
447         * examples/queue4/.cvsignore:
448         * examples/queue4/Makefile.am:
449         * examples/queue4/queue4.c:
450         * examples/retag/.cvsignore:
451         * examples/retag/Makefile.am:
452         * examples/retag/retag.c:
453         * examples/retag/transcode.c:
454         * examples/thread/.cvsignore:
455         * examples/thread/Makefile.am:
456         * examples/thread/thread.c:
457         * examples/typefind/.cvsignore:
458         * examples/typefind/Makefile.am:
459         * examples/typefind/typefind.c:
460         * examples/xml/.cvsignore:
461         * examples/xml/Makefile.am:
462         * examples/xml/createxml.c:
463         * examples/xml/runxml.c:
464         * tests/Makefile.am:
465         * tests/check/Makefile.am:
466         * testsuite/.cvsignore:
467         * testsuite/Makefile.am:
468         * testsuite/Rules:
469         * testsuite/caps/.cvsignore:
470         * testsuite/caps/Makefile.am:
471         * testsuite/caps/app_fixate.c:
472         * testsuite/caps/audioscale.c:
473         * testsuite/caps/caps.c:
474         * testsuite/caps/caps.h:
475         * testsuite/caps/caps_strings:
476         * testsuite/caps/compatibility.c:
477         * testsuite/caps/deserialize.c:
478         * testsuite/caps/enumcaps.c:
479         * testsuite/caps/eratosthenes.c:
480         * testsuite/caps/filtercaps.c:
481         * testsuite/caps/fixed.c:
482         * testsuite/caps/fraction-convert.c:
483         * testsuite/caps/fraction-multiply-and-zero.c:
484         * testsuite/caps/intersect2.c:
485         * testsuite/caps/intersection.c:
486         * testsuite/caps/normalisation.c:
487         * testsuite/caps/random.c:
488         * testsuite/caps/renegotiate.c:
489         * testsuite/caps/sets.c:
490         * testsuite/caps/simplify.c:
491         * testsuite/caps/string-conversions.c:
492         * testsuite/caps/structure.c:
493         * testsuite/caps/subtract.c:
494         * testsuite/caps/union.c:
495         * testsuite/debug/.cvsignore:
496         * testsuite/debug/Makefile.am:
497         * testsuite/debug/category.c:
498         * testsuite/debug/commandline.c:
499         * testsuite/debug/global.c:
500         * testsuite/debug/output.c:
501         * testsuite/debug/printf_extension.c:
502         * testsuite/dlopen/.cvsignore:
503         * testsuite/dlopen/Makefile.am:
504         * testsuite/dlopen/dlopen_gst.c:
505         * testsuite/dlopen/loadgst.c:
506         * testsuite/elements/.cvsignore:
507         * testsuite/elements/Makefile.am:
508         * testsuite/elements/gst-inspect-check.in:
509         * testsuite/elements/struct_i386.h:
510         * testsuite/elements/struct_size.c:
511         * testsuite/indexers/.cvsignore:
512         * testsuite/indexers/Makefile.am:
513         * testsuite/indexers/cache1.c:
514         * testsuite/indexers/indexdump.c:
515         * testsuite/parse/.cvsignore:
516         * testsuite/parse/Makefile.am:
517         * testsuite/parse/parse1.c:
518         * testsuite/parse/parse2.c:
519         * testsuite/plugin/.cvsignore:
520         * testsuite/plugin/Makefile.am:
521         * testsuite/plugin/README:
522         * testsuite/plugin/dynamic.c:
523         * testsuite/plugin/linked.c:
524         * testsuite/plugin/loading.c:
525         * testsuite/plugin/registry.c:
526         * testsuite/plugin/static.c:
527         * testsuite/plugin/static2.c:
528         * testsuite/plugin/testplugin.c:
529         * testsuite/plugin/testplugin2.c:
530         * testsuite/plugin/testplugin2_s.c:
531         * testsuite/plugin/testplugin_s.c:
532         * testsuite/refcounting/.cvsignore:
533         * testsuite/refcounting/Makefile.am:
534         * testsuite/refcounting/bin.c:
535         * testsuite/refcounting/element.c:
536         * testsuite/refcounting/element_pad.c:
537         * testsuite/refcounting/mainloop.c:
538         * testsuite/refcounting/mem.c:
539         * testsuite/refcounting/mem.h:
540         * testsuite/refcounting/object.c:
541         * testsuite/refcounting/pad.c:
542         * testsuite/refcounting/sched.c:
543         * testsuite/refcounting/thread.c:
544         * testsuite/states/.cvsignore:
545         * testsuite/states/Makefile.am:
546         * testsuite/states/bin.c:
547         * testsuite/states/locked.c:
548         * testsuite/states/parent.c:
549         * testsuite/threads/.cvsignore:
550         * testsuite/threads/159566.c:
551         * testsuite/threads/159852.c:
552         * testsuite/threads/Makefile.am:
553         * testsuite/threads/queue.c:
554         * testsuite/threads/signals.c:
555         * testsuite/threads/staticrec.c:
556         * testsuite/threads/thread.c:
557         * testsuite/threads/threadb.c:
558         * testsuite/threads/threadc.c:
559         * testsuite/threads/threadd.c:
560         * testsuite/threads/threade.c:
561         * testsuite/threads/threadf.c:
562         * testsuite/threads/threadg.c:
563         * testsuite/threads/threadh.c:
564         * testsuite/threads/threadi.c:
565           move all of these under tests
566
567 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
568
569         * configure.ac:
570         * tests/Makefile.am:
571           fix distcheck
572
573 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
574
575         * docs/gst/gstreamer-sections.txt:
576         * tests/sched/.cvsignore:
577         * tests/sched/Makefile.am:
578         * tests/sched/cases/(fs-fs).xml:
579         * tests/sched/cases/(fs-i-fs).xml:
580         * tests/sched/cases/(fs-i-i-fs).xml:
581         * tests/sched/cases/(fs-i-q[i-fs]).xml:
582         * tests/sched/dynamic-pipeline.c:
583         * tests/sched/interrupt1.c:
584         * tests/sched/interrupt2.c:
585         * tests/sched/interrupt3.c:
586         * tests/sched/runtestcases:
587         * tests/sched/runxml.c:
588         * tests/sched/sched-stress.c:
589         * tests/sched/sort.c:
590         * tests/sched/testcases:
591         * tests/sched/testcases1.tc:
592         * tests/seeking/.cvsignore:
593         * tests/seeking/Makefile.am:
594         * tests/seeking/seeking1.c:
595         * tests/threadstate/.cvsignore:
596         * tests/threadstate/Makefile.am:
597         * tests/threadstate/test1.c:
598         * tests/threadstate/test2.c:
599         * tests/threadstate/threadstate1.c:
600         * tests/threadstate/threadstate2.c:
601         * tests/threadstate/threadstate3.c:
602         * tests/threadstate/threadstate4.c:
603         * tests/threadstate/threadstate5.c:
604           remove obsolete tests
605         * configure.ac:
606         * tests/bench-complexity.scm:
607         * tests/bench-mass_elements.scm:
608         * tests/complexity.c:
609         * tests/complexity.gnuplot:
610         * tests/instantiate/.cvsignore:
611         * tests/instantiate/Makefile.am:
612         * tests/instantiate/caps.c:
613         * tests/mass_elements.c:
614         * tests/network-clock-utils.scm:
615         * tests/network-clock.scm:
616         * tests/plot-data:
617         First pass at cleaning up tests/ dir before moving the rest
618         Combined with CVS surgery
619
620 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
621
622         * po/POTFILES.in:
623           queue has moved, update
624
625 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
626
627         * docs/gst/gstreamer-sections.txt:
628           remove double entries from the docs
629         * gst/gst_private.h:
630         * gst/gstinfo.c: (_gst_debug_init):
631           remove the THREAD debug category
632         * gst/Makefile.am:
633         * gst/gstqueue.c:
634         * gst/gstqueue.h:
635         * docs/gst/gstreamer.types:
636         * plugins/elements/gstqueue.c: (gst_queue_get_type),
637         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
638           completely move queue and fix up debugging categories
639
640 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
641
642         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
643           make initialization portable, using LL is not
644
645 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
646
647         * win32/common/gstconfig.h:
648           add large padding
649
650 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
651
652         * win32/common/libgstreamer.def:
653           rename symbols; sort base section
654
655 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
656
657         * gst/gstclock.c: (do_linear_regression):
658           remove crack non-portable handrolled DEBUG macro
659
660 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
661
662         * docs/random/release:
663           update notes
664         * win32/common/gstenumtypes.c: (register_gst_object_flags),
665         (gst_object_flags_get_type), (register_gst_bin_flags),
666         (gst_bin_flags_get_type), (register_gst_buffer_flag),
667         (gst_buffer_flag_get_type), (register_gst_bus_flags),
668         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
669         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
670         (gst_caps_flags_get_type), (register_gst_clock_return),
671         (gst_clock_return_get_type), (register_gst_clock_entry_type),
672         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
673         (gst_clock_flags_get_type), (register_gst_state),
674         (gst_state_get_type), (register_gst_state_change_return),
675         (gst_state_change_return_get_type), (register_gst_state_change),
676         (gst_state_change_get_type), (register_gst_element_flags),
677         (gst_element_flags_get_type), (register_gst_core_error),
678         (gst_core_error_get_type), (register_gst_library_error),
679         (gst_library_error_get_type), (register_gst_resource_error),
680         (gst_resource_error_get_type), (register_gst_stream_error),
681         (gst_stream_error_get_type), (register_gst_event_type_flags),
682         (gst_event_type_flags_get_type), (register_gst_event_type),
683         (gst_event_type_get_type), (register_gst_seek_type),
684         (gst_seek_type_get_type), (register_gst_seek_flags),
685         (gst_seek_flags_get_type), (register_gst_format),
686         (gst_format_get_type), (register_gst_index_certainty),
687         (gst_index_certainty_get_type), (register_gst_index_entry_type),
688         (gst_index_entry_type_get_type),
689         (register_gst_index_lookup_method),
690         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
691         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
692         (gst_index_resolver_method_get_type), (register_gst_index_flags),
693         (gst_index_flags_get_type), (register_gst_debug_level),
694         (gst_debug_level_get_type), (register_gst_debug_color_flags),
695         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
696         (gst_iterator_result_get_type), (register_gst_iterator_item),
697         (gst_iterator_item_get_type), (register_gst_message_type),
698         (gst_message_type_get_type), (register_gst_mini_object_flags),
699         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
700         (gst_pad_link_return_get_type), (register_gst_flow_return),
701         (gst_flow_return_get_type), (register_gst_activate_mode),
702         (gst_activate_mode_get_type), (register_gst_pad_direction),
703         (gst_pad_direction_get_type), (register_gst_pad_flags),
704         (gst_pad_flags_get_type), (register_gst_pad_presence),
705         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
706         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
707         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
708         (gst_plugin_error_get_type), (register_gst_plugin_flags),
709         (gst_plugin_flags_get_type), (register_gst_rank),
710         (gst_rank_get_type), (register_gst_query_type),
711         (gst_query_type_get_type), (register_gst_tag_merge_mode),
712         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
713         (gst_tag_flag_get_type), (register_gst_task_state),
714         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
715         (gst_alloc_trace_flags_get_type),
716         (register_gst_type_find_probability),
717         (gst_type_find_probability_get_type), (register_gst_uri_type),
718         (gst_uri_type_get_type), (register_gst_parse_error),
719         (gst_parse_error_get_type):
720         * win32/common/gstenumtypes.h:
721         * win32/common/gstversion.h:
722           update visual studio generated files
723
724 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
725
726         * win32/vs6/libgstbase.dsp:
727         * win32/vs6/libgstelements.dsp:
728           update project files for new locations
729
730 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
731
732         * Makefile.am:
733           remove some files
734         * README:
735           reinstate and update
736         * DEVEL:
737         * REQUIREMENTS:
738           removed
739         * LICENSE:
740         * docs/random/LICENSE:
741           moved to random
742
743 2005-11-30  Edward Hervey  <edward@fluendo.com>
744
745         * gst/gsttypefind.c: (gst_type_find_register):
746         * gst/gsttypefind.h:
747         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
748         (gst_type_find_factory_dispose):
749         * gst/gsttypefindfactory.h:
750         Fix memory leak in GstTypeFindFactory.
751
752 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
753
754         * gst/gst.c:
755         * plugins/elements/Makefile.am:
756         * plugins/elements/gstelements.c:
757         * plugins/elements/gstqueue.c:
758           move queue from core to the elements plugin
759
760 2005-11-29  Andy Wingo  <wingo@pobox.com>
761
762         * libs/gst/base/gstbasetransform.h: 
763         * libs/gst/base/gstbasesrc.h: 
764         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
765
766         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
767         of pointers by which to pad very extensible base classes (like the
768         ones in libs/gst/base).
769
770 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
771
772         * docs/gst/gstreamer-docs.sgml:
773         * docs/gst/gstreamer-sections.txt:
774         * docs/libs/gstreamer-libs-docs.sgml:
775         * docs/libs/gstreamer-libs-sections.txt:
776           moving documentation from core to lib
777
778 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
779
780         * check/Makefile.am:
781         * configure.ac:
782         * docs/gst/Makefile.am:
783         * gst/Makefile.am:
784         * gst/base/.cvsignore:
785         * gst/base/Makefile.am:
786         * gst/base/README:
787         * gst/base/gstadapter.c:
788         * gst/base/gstadapter.h:
789         * gst/base/gstbasesink.c:
790         * gst/base/gstbasesink.h:
791         * gst/base/gstbasesrc.c:
792         * gst/base/gstbasesrc.h:
793         * gst/base/gstbasetransform.c:
794         * gst/base/gstbasetransform.h:
795         * gst/base/gstcollectpads.c:
796         * gst/base/gstcollectpads.h:
797         * gst/base/gstpushsrc.c:
798         * gst/base/gstpushsrc.h:
799         * gst/base/gsttypefindhelper.c:
800         * gst/base/gsttypefindhelper.h:
801         * gst/check/Makefile.am:
802         * gst/check/gstcheck.c:
803         * gst/check/gstcheck.h:
804         * gst/net/Makefile.am:
805         * gst/net/gstnet.h:
806         * gst/net/gstnetclientclock.c:
807         * gst/net/gstnetclientclock.h:
808         * gst/net/gstnettimepacket.c:
809         * gst/net/gstnettimepacket.h:
810         * gst/net/gstnettimeprovider.c:
811         * gst/net/gstnettimeprovider.h:
812         * libs/gst/Makefile.am:
813         * libs/gst/base/Makefile.am:
814         * libs/gst/base/gstbasetransform.c:
815         * libs/gst/check/Makefile.am:
816         * plugins/elements/Makefile.am:
817         * po/POTFILES.in:
818           CVS surgery + support to move base, check, and net out of gst
819           and into libs/gst
820
821 2005-11-29  Andy Wingo  <wingo@pobox.com>
822
823         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
824
825         * gst/gststructure.h (struct _GstStructure): Only one pointer of
826         padding.
827
828         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
829
830         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
831
832         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
833
834         * gst/gstobject.h: (struct _GstObject): Only one pointer of
835         padding; reduces object size by about 30%. We don't expect
836         anything else to go into gstobject.
837
838         * gst/gstminiobject.h (struct _GstMiniObject)
839         (struct _GstMiniObjectClass): Only one pointer of padding; the
840         payload is only a pointer and two ints anyway. For the class there
841         are only two methods as well.
842         
843         * gst/gstelement.h (struct _GstElementClass): Removed
844         the state_changed signal callback, it is not used.
845
846 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
847
848         * docs/gst/gstreamer.types:
849           fix includes, though they are a little dinky
850
851 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
852
853         * check/Makefile.am:
854           look in the right place for elements, a lot more chance of
855           success
856         * gst/Makefile.am:
857           remove indexers and elements subdirs
858         * plugins/Makefile.am:
859           make indexers conditional
860
861 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
862
863         * Makefile.am:
864         * configure.ac:
865         * plugins/elements/Makefile.am:
866         * plugins/elements/gstcapsfilter.c:
867         * plugins/elements/gstfilesink.c:
868         * plugins/elements/gstfilesrc.c:
869         * plugins/elements/gstidentity.c:
870         * plugins/indexers/Makefile.am:
871           do CVS surgery and related build fixery to move elements
872           and indexers in a new gstreamer/plugins directory, out of the
873           gst/ directory
874
875 2005-11-29  Andy Wingo  <wingo@pobox.com>
876
877         * check/Makefile.am:
878         * pkgconfig/gstreamer-net-uninstalled.pc.in:
879         * pkgconfig/gstreamer-net.pc.in:
880         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
881         #322257.
882
883 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
884
885         * tools/Makefile.am:
886         * tools/gst-complete.1.in:
887         * tools/gst-complete.c:
888         * tools/gst-compprep.1.in:
889         * tools/gst-compprep.c:
890           removing -compprep and -complete
891
892 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
893
894         * gst/gstevent.c: (gst_event_new_new_segment),
895         (gst_event_parse_new_segment):
896         * gst/gstevent.h:
897           fix #320529 - clean up new_segment API and structure.
898           Let's hope everyone was using the methods, and not the structure.
899
900 2005-11-29  Edward Hervey  <edward@fluendo.com>
901
902         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
903         (gst_base_sink_event), (gst_base_sink_do_sync),
904         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
905         Properly handle non GST_FORMAT_TIME segment
906         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
907         Properly handle non GST_FORMAT_TIME segment
908         * gst/gstsegment.c:
909         This function is valid if the accumulator is 0 and the format
910         is different from the requested format.
911         
912 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
913
914         * docs/gst/gstreamer-sections.txt:
915         Add gst_query_new_seeking and gst_query_parse_seeking to the
916         docs.
917
918 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
919
920         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
921           Treat a pad alloc with new caps the same as if we were not
922           negotiated, in order to allow a changing upstream output
923           to produce a new format of data.
924
925 2005-11-29  Edward Hervey  <edward@fluendo.com>
926
927         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
928         (gst_base_transform_event), (gst_base_transform_eventfunc):
929         The event virtual method is now properly implemented, with a default
930         handler
931         Sub classes should call the parent_class event method. They should
932         return FALSE if they had a problem handling the given event, or don't
933         want GstBaseTransform to send that even downstream
934         * gst/elements/gstidentity.c: (gst_identity_class_init),
935         (gst_identity_init), (gst_identity_event),
936         (gst_identity_transform_ip), (gst_identity_set_property),
937         (gst_identity_get_property):
938         * gst/elements/gstidentity.h:
939         Added the single-segment boolean property.
940         If set to TRUE, it will output a single segment of data, starting from
941         0, will eat up all incoming newsegment, and modify the timestamp of the
942         buffers accordingly
943
944 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
945
946         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
947           Don't ref NULL target pad (#322751). Improve docs.
948
949 2005-11-29  Michael Smith  <msmith@fluendo.com>
950
951         * gst/gstregistryxml.c: (load_plugin):
952           Don't crash if we failed to load a feature from a plugin. 
953
954 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
955
956         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
957         (GST_START_TEST):
958           use more check API and less GLib API
959
960 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
961
962         * Makefile.am:
963           don't run checks if we don't have check
964         * common/check.mak:
965           remove the registry when running make torture
966         * docs/gst/gstreamer-sections.txt:
967           remove second multiply
968         * gst/gstqueue.c: (gst_queue_loop):
969           fix a compile warning when disabling debug
970
971 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
972
973         * gst/gstinfo.h:
974         Hey! Let's print the pad name if the pointer != NULL instead
975         of when it == NULL :-)
976
977 2005-11-28  Wim Taymans  <wim@fluendo.com>
978
979         * check/gst/gstutils.c: (GST_START_TEST):
980         Updated check, add some scaling accuracy checking code.
981
982         * gst/gstutils.c: (gst_util_div128_64),
983         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
984         (gst_util_uint64_scale_int):
985         Fix 6 times faster division code. Optimize for common 
986         1/1 and less common X/1 cases.
987
988 2005-11-28  Wim Taymans  <wim@fluendo.com>
989
990         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
991         More checks.
992
993         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
994         (do_linear_regression), (gst_clock_add_observation):
995         Cleanups.
996         Release lock when the clock cannot be slaved.
997         Catch the case where the regression returned an invalid denominator.
998
999         * gst/gstutils.c: (gst_util_div128_64_iterate),
1000         (gst_util_div128_64), (gst_util_uint64_scale_int64),
1001         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1002         Add protentially more performant non-iterative 128/64 divide function
1003         that unfortunatly does not work yet.
1004         Shortcut the trivial 0/X = 0 case.
1005         Remove the warnings on overflow.
1006
1007 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1008
1009         * gst/gstplugin.c: (gst_plugin_register_func):
1010           everything causing a plugin not to load should be at least a WARNING
1011
1012 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
1013
1014         * docs/random/ensonic/dparams.txt:
1015           some TODOs for the next dev cycle
1016         * libs/gst/controller/gstcontroller.c:
1017         (gst_controlled_property_set_interpolation_mode),
1018         (gst_controlled_property_new):
1019         * libs/gst/controller/gstcontroller.h:
1020           use base type to assign acccessor functions
1021
1022 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1023
1024         * check/Makefile.am:
1025         Oops, that should have been top_srcdir
1026
1027 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1028
1029         * check/Makefile.am:
1030         * check/elements/fdsrc.c: (GST_START_TEST):
1031         Use a cmdline define to specify the location of a file to use for
1032         testing, to avoid breaking distcheck.
1033
1034 2005-11-28  Andy Wingo  <wingo@pobox.com>
1035
1036         * gst/gstpad.c (fixate_value): Use array functions for arrays.
1037
1038 2005-11-28  Edward Hervey  <edward@fluendo.com>
1039
1040         * tools/gst-launch.c: (main):
1041         Clarify the output strings, makes it easier to translate.
1042         Fixes #322626
1043
1044 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1045
1046         * gst/Makefile.am:
1047           don't try and build net if we don't even have <sys/socket.h>
1048
1049 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
1050
1051         * check/Makefile.am:
1052         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
1053         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
1054           Add tests for fdsrc seekability
1055
1056         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
1057         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
1058         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
1059         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
1060         * gst/elements/gstfdsrc.h:
1061           fdsrc should not be a 'live' source.
1062           Implement seeking on seekable fd's.
1063
1064         * gst/gstquery.c: (gst_query_new_seeking),
1065         (gst_query_parse_seeking):
1066         * gst/gstquery.h:
1067           Implement SEEKING query functions: 
1068             *_new_seeking and *_parse_seeking
1069
1070 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
1071
1072         * gst/gstelement.c: (gst_element_dispose):
1073           don't loop forever
1074
1075         * gst/gstiterator.c:
1076         * gst/gststructure.c:
1077           doc fixes
1078
1079         * libs/gst/controller/gstcontroller.c:
1080         (gst_controlled_property_set_interpolation_mode):
1081         * libs/gst/controller/gstcontroller.h:
1082         * libs/gst/controller/gstinterpolation.c:
1083         (interpolate_none_get_enum_value_array):
1084           support controlling enums
1085
1086 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1087
1088         * gst/gstvalue.c:
1089           Improve documentation for gst_value_union().
1090
1091         * gst/gstvalue.h:
1092           Change return value for union, intersect and subtract functions
1093           from gint to gboolean.
1094
1095 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1096
1097         * gst/gstvalue.c: (gst_value_serialize_any_list),
1098         (gst_value_transform_any_list_string),
1099         (gst_value_deserialize_list), (gst_value_deserialize_array),
1100         (gst_value_set_int_range), (gst_value_deserialize_int_range),
1101         (gst_value_set_double_range), (gst_value_deserialize_double_range),
1102         (gst_value_set_fraction_range_full),
1103         (gst_value_deserialize_fraction_range),
1104         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
1105         (gst_value_deserialize_boolean),
1106         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
1107         (gst_value_serialize_float), (gst_value_deserialize_float),
1108         (gst_string_wrap), (gst_value_deserialize_string),
1109         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
1110         (gst_value_union_int_range_int_range),
1111         (gst_value_intersect_int_range_int_range),
1112         (gst_value_intersect_double_range_double_range),
1113         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
1114         (gst_value_subtract_int_range_int_range),
1115         (gst_value_subtract_double_double_range),
1116         (gst_value_subtract_double_range_double_range),
1117         (gst_value_deserialize_fraction):
1118         * gst/gstvalue.h:
1119           Use gint, gdouble and gchar in our API instead of int, double and
1120           char (and make usage in gstvalue.c more consistent).
1121
1122 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1123
1124         * check/Makefile.am:
1125         * libs/gst/controller/Makefile.am:
1126         * libs/gst/dataprotocol/Makefile.am:
1127           fix up Makefile.am and remove GST_ENABLE_NEW
1128
1129 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1130
1131         * configure.ac:
1132         * gst/Makefile.am:
1133         * gst/base/Makefile.am:
1134         * gst/check/Makefile.am:
1135         * gst/elements/Makefile.am:
1136         * gst/net/Makefile.am:
1137           update LDFLAGS use some more
1138
1139 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1140
1141         * common/m4/gst-doc.m4:
1142           Fixes #312589
1143
1144 2005-11-26  Edward Hervey  <edward@fluendo.com>
1145
1146         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1147         This shouldn't issue a g_warning since it returns NULL if it
1148         couldn't find the plugin, and all functions using this behave
1149         properly on a NULL return. Switching to a GST_WARNING.
1150
1151 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
1152
1153         * gst/gstbin.c: (gst_bin_handle_message_func):
1154         Don't leak clock messages.
1155
1156 2005-11-25  Wim Taymans  <wim@fluendo.com>
1157
1158         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1159         (gst_util_uint64_scale_int):
1160         Optimisations, remove unneeded vars.
1161
1162 2005-11-25  Wim Taymans  <wim@fluendo.com>
1163
1164         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1165         Added more checks for the high precision uint64 cases.
1166
1167         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1168         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1169         Implement high precision (guint64 * guint64) / guint64.
1170
1171 2005-11-24  Wim Taymans  <wim@fluendo.com>
1172
1173         * gst/base/gstbasesrc.c: (gst_base_src_query):
1174         Fix wrong percentage query.
1175
1176         * gst/gstutils.c: (gst_util_uint64_scale),
1177         (gst_util_uint64_scale_int):
1178         Add some more common cases that can be handled 
1179         efficiently to _scale.
1180
1181 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1182
1183         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
1184         (gst_mini_object_suite):
1185           don't use check calls from threads; check probably isn't
1186           threadsafe and using a lock to make it threadsafe would
1187           defeat the purpose of this check
1188         * gst/check/gstcheck.c:
1189         * gst/check/gstcheck.h:
1190           use GST_DEBUG some more
1191
1192 2005-11-24  Wim Taymans  <wim@fluendo.com>
1193
1194         * gst/gstutils.c: (gst_util_uint64_scale),
1195         (gst_util_uint64_scale_int):
1196         Chain trivial case to _scale_int.
1197
1198 2005-11-24  Wim Taymans  <wim@fluendo.com>
1199
1200         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1201         Added test for scaling.
1202
1203         * gst/gstclock.h:
1204         Small doc fix.
1205
1206         * gst/gstutils.c: (gst_util_uint64_scale_int):
1207         Implemented high precision scaling code.
1208
1209 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
1210
1211         * gst/gstinfo.h:
1212           do not crash on pad==NULL
1213
1214 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1215
1216         Patch by: Stefan Kost
1217
1218         * common/gtk-doc.mak:
1219         * docs/gst/Makefile.am:
1220         * docs/libs/Makefile.am:
1221           Fix distcheck issues for the libraries docs build
1222           Closes #319599.
1223
1224 2005-11-24  Michael Smith <msmith@fluendo.com>
1225
1226         * docs/manual/basics-helloworld.xml:
1227           Fix bug #315027: memory leak in example code in docs.
1228
1229 2005-11-24  Michael Smith <msmith@fluendo.com>
1230
1231         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1232           Unlock the PREROLL_LOCK in a failure case.
1233
1234 2005-11-24  Wim Taymans  <wim@fluendo.com>
1235
1236         * docs/gst/gstreamer-sections.txt:
1237         * gst/base/gstadapter.h:
1238         * gst/base/gstbasesink.h:
1239         * gst/base/gstbasesrc.h:
1240         * gst/base/gstbasetransform.h:
1241         * gst/base/gstpushsrc.h:
1242         * gst/elements/gstfakesink.h:
1243         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1244         * gst/elements/gstfakesrc.h:
1245         * gst/elements/gstfilesink.h:
1246         * gst/elements/gstfilesrc.h:
1247         * gst/gst.c:
1248         * gst/gstbin.c:
1249         * gst/gstbuffer.c: (_gst_buffer_copy):
1250         * gst/gstbus.h:
1251         * gst/gstcaps.c:
1252         * gst/gstchildproxy.c:
1253         * gst/gstclock.c:
1254         * gst/gstelement.c:
1255         * gst/gstelementfactory.c:
1256         * gst/gstelementfactory.h:
1257         * gst/gstevent.c:
1258         * gst/gstghostpad.h:
1259         * gst/gstindex.h:
1260         * gst/gstinterface.h:
1261         * gst/gstminiobject.c:
1262         * gst/gstminiobject.h:
1263         * gst/gstpad.c:
1264         * gst/gstpad.h:
1265         * gst/gstpadtemplate.h:
1266         * gst/gstpipeline.h:
1267         * gst/gstpluginfeature.h:
1268         * gst/gstquery.h:
1269         * gst/gstqueue.h:
1270         * gst/gsttaglist.c:
1271         * gst/gsttaglist.h:
1272         * gst/gsttagsetter.c:
1273         * gst/gsttagsetter.h:
1274         * gst/gsttrace.c:
1275         * gst/gsttrace.h:
1276         * gst/gsttypefind.h:
1277         * gst/gsturi.h:
1278         * gst/gstvalue.c:
1279         * gst/net/gstnetclientclock.c:
1280         * gst/net/gstnetclientclock.h:
1281         * gst/net/gstnettimepacket.c:
1282         * gst/net/gstnettimeprovider.c:
1283         * gst/net/gstnettimeprovider.h:
1284         Doc fixes.
1285
1286 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1287
1288         * configure.ac: back to HEAD
1289
1290 === release 0.9.6 ===
1291
1292 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
1293
1294         * configure.ac:
1295           releasing 0.9.6, "Always On Time"
1296
1297 2005-11-23  Wim Taymans  <wim@fluendo.com>
1298
1299         * docs/gst/gstreamer-sections.txt:
1300         * gst/glib-compat.c:
1301         * gst/gsttagsetter.c:
1302         * gst/gstvalue.c:
1303         * gst/net/gstnetclientclock.c:
1304         * gst/net/gstnettimepacket.h:
1305         Doc updates.
1306
1307 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1308
1309         * docs/faq/using.xml:
1310         * docs/libs/tmpl/gstcontrol.sgml:
1311         * docs/manual/advanced-dparams.xml:
1312         * docs/manual/appendix-checklist.xml:
1313         * docs/manual/basics-elements.xml:
1314         * docs/pwg/other-source.xml:
1315         * docs/random/moving-plugins:
1316         * gst/gstpad.c:
1317         * tools/gst-launch.1.in:
1318           remove mentions of sinesrc
1319
1320 2005-11-23  Michael Smith <msmith@fluendo.com>
1321
1322         * docs/gst/gstreamer-sections.txt:
1323           Update for new API and API changes.
1324         * gst/gstobject.h:
1325           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1326         * gst/gstvalue.c:
1327           Documentation typo fix.
1328         * gst/net/gstnettimepacket.c:
1329           Documentation fixes for arguments.
1330
1331 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
1332
1333         * gst/gststructure.c: (gst_structure_get_fraction),
1334         (gst_structure_parse_value),
1335         (gst_structure_fixate_field_nearest_fraction):
1336         * gst/gststructure.h:
1337         * gst/gstutils.c: (gst_util_uint64_scale_int):
1338         * gst/gstutils.h:
1339         * scripts/update-funcnames:
1340         API Changes. 
1341         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1342         Make gst_structure_fixate_field_nearest_fraction take a numerator
1343         and denominator argument instead of a GValue
1344         add gst_structure_get_fraction helper function.
1345
1346 2005-11-23  Wim Taymans  <wim@fluendo.com>
1347
1348         * docs/design/part-TODO.txt:
1349         Update TODO.
1350
1351         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1352         * gst/net/gstnetclientclock.h:
1353         Use parent fields for timeout and window_size.
1354
1355 2005-11-23  Andy Wingo  <wingo@pobox.com>
1356
1357         * check/net/gstnetclientclock.c (test_functioning): Adjust to
1358         rate_num/rate_denom change.
1359
1360         * gst/net/gstnetclientclock.c
1361         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1362         OBJECT_LOCK. Don't call add_observation with the lock.
1363
1364         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1365         fraction.
1366         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1367         rate fraction.
1368         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1369         deal with rate as a fraction whose numerator and denominator are
1370         GstClockTime values.
1371         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1372         master; the other fields are protected by the SLAVE_LOCK.
1373         (do_linear_regression): Note that this must be called with the
1374         SLAVE_LOCK.
1375         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1376         OBJECT_LOCK. Call set_calibration instead of touching the
1377         variables directly.
1378         (gst_clock_set_property, gst_clock_get_property): Protect
1379         master/slave parameters with the SLAVE_LOCK.
1380
1381         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1382         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1383         note that all of the instance variables that add_observation and
1384         the set_master functions use are protected by that lock and not
1385         the OBJECT_LOCK.
1386         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1387
1388         * gst/gstclock.c (gst_clock_add_observation): No longer requires
1389         the caller to take the object lock.
1390
1391 2005-11-23  Wim Taymans  <wim@fluendo.com>
1392
1393         * gst/gsterror.c: (_gst_core_errors_init):
1394         * gst/gsterror.h:
1395         Add error for clock stuff.
1396
1397         * gst/gstpipeline.c: (gst_pipeline_change_state),
1398         (gst_pipeline_set_clock):
1399         Post clock error when clock cannot be used in a pipeline.
1400
1401 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
1402
1403         * docs/gst/gstreamer-sections.txt:
1404           make two symbols from gstinfo private for the docs
1405         * gst/base/gstcollectpads.h:
1406         * gst/gstutils.c:
1407           fix doc typos, update docs
1408
1409 2005-11-22  Wim Taymans  <wim@fluendo.com>
1410
1411         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1412         (gst_base_sink_wait), (gst_base_sink_do_sync),
1413         (gst_base_sink_handle_event):
1414         * gst/base/gstbasesink.h:
1415         No need to store the clock, the parent element class already
1416         has it.
1417
1418         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
1419         Updates for clock_set returning a gboolean
1420
1421         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
1422         (gst_clock_id_wait_async), (gst_clock_class_init),
1423         (gst_clock_init), (gst_clock_finalize),
1424         (gst_clock_get_internal_time), (gst_clock_get_time),
1425         (gst_clock_slave_callback), (gst_clock_set_master),
1426         (gst_clock_get_master), (do_linear_regression),
1427         (gst_clock_add_observation), (gst_clock_set_property),
1428         (gst_clock_get_property):
1429         * gst/gstclock.h:
1430         Implement master/slave. When setting a clock as a slave, a
1431         periodic timeout is scheduled to sample master and slave times.
1432         Then the slave clock is recalibrated to match offset and rate
1433         of the master clock.
1434         Update logging a bit.
1435         Add flag so that a clock can state that is cannot be slaved to
1436         another clock.
1437
1438         * gst/gstelement.c: (gst_element_set_clock):
1439         * gst/gstelement.h:
1440         The set clock returns a gboolean for when an element cannot
1441         deal with the selected clock in the pipeline. 
1442
1443         * gst/gstpipeline.c: (gst_pipeline_change_state),
1444         (gst_pipeline_set_clock):
1445         * gst/gstpipeline.h:
1446         Handle the case where the selected clock cannot be set on
1447         the pipeline.
1448
1449         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
1450         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1451         (gst_net_client_clock_set_property),
1452         (gst_net_client_clock_get_property),
1453         (gst_net_client_clock_observe_times):
1454         * gst/net/gstnetclientclock.h:
1455         Use regression code in GstClock parent, remove duplicated
1456         functionality.
1457
1458 2005-11-22  Michael Smith <msmith@fluendo.com>
1459
1460         * gst/gstutils.c: (gst_util_clock_time_scale):
1461         * gst/gstutils.h:
1462         * docs/gst/gstreamer-sections.txt:
1463           Rename method to have extra underscore.
1464
1465 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1466
1467         * gst/elements/Makefile.am:
1468         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
1469         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1470         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1471         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
1472         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
1473         * gst/elements/gstfakesrc.h:
1474         * gst/gstqueue.c: (queue_leaky_get_type):
1475           correctly fix GEnumValues so that nick is the short lowercase
1476           dashed tag
1477         * tools/gst-inspect.c: (print_element_properties_info):
1478           also show the nick, since it's useful to use from parse_launch
1479           syntax
1480           Fixes #322139
1481
1482 2005-11-22  Michael Smith <msmith@fluendo.com>
1483
1484         * gst/gstutils.c: (gst_util_clocktime_scale):
1485         * gst/gstutils.h:
1486         * docs/gst/gstreamer-sections.txt:
1487           Add util method for scaling a clocktime by a fraction. Useful 
1488           implementation is left as an exercise for the reader.
1489
1490 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1491
1492         * gst/gstvalue.c: (gst_value_collect_fraction_range):
1493         If needed, allocate storage in the destination value during
1494         collection.
1495
1496 2005-11-22  Edward Hervey  <edward@fluendo.com>
1497
1498         * docs/gst/gstreamer-sections.txt:
1499         * gst/Makefile.am:
1500         * gst/gst.h:
1501         * gst/gsturitype.c:
1502         * gst/gsturitype.h:
1503         * gst/gstutils.c: (gst_util_set_object_arg):
1504         * tools/gst-compprep.c: (main):
1505         * tools/gst-inspect.c: (print_element_properties_info):
1506         Removed GstURI, closes bug #321061
1507
1508 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1509
1510         * check/gst/gststructure.c: (GST_START_TEST):
1511         * gst/gststructure.c: (gst_structure_parse_value):
1512           Oops, broke automatic string type parsing.
1513           Add a test to catch it in future.
1514
1515 2005-11-22  Andy Wingo  <wingo@pobox.com>
1516
1517         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
1518         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
1519         Actually rename the function implementations. Grr.
1520
1521 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1522
1523         * check/gst/capslist.h:
1524           Comment test cases
1525         * check/gst/gststructure.c: (GST_START_TEST),
1526         (gst_structure_suite):
1527           Test automatic value type detection in gst_structure_from_string.
1528         * gst/gststructure.c: (gst_structure_parse_value):
1529           Add fraction as a type we try and guess automatically in
1530           caps/structure strings.
1531
1532 2005-11-22  Andy Wingo  <wingo@pobox.com>
1533
1534         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
1535
1536         * gst/gsttagsetter.h:
1537         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
1538         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
1539         (gst_tag_setter_add_tag_valist)
1540         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
1541         _add_values, _add_valist, and _add_valist_values. Since this is an
1542         interface the function suffixes should be more explicit so
1543         language binding don't end up with element.add_valist ->
1544         gst_tag_setter_add_valist, for example. Fixes #322069.
1545
1546 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1547
1548         * check/gst/gstcaps.c: (GST_START_TEST):
1549           Extend caps string tests to check that a caps to string
1550           conversion is reversible and produces the same caps.
1551
1552         * gst/gststructure.c: (gst_structure_value_get_generic_type):
1553           Output "fraction" as the generic type fraction range, so caps
1554           serialisation and deserialisation works.
1555         * check/gst/capslist.h:
1556         * gst/gstvalue.c: (gst_value_deserialize_fraction):
1557           Support 'MIN' and 'MAX' for deserialising fractions.
1558
1559 2005-11-22  Andy Wingo  <wingo@pobox.com>
1560
1561         * gst/gstevent.h (gst_event_new_new_segment)
1562         (gst_event_parse_new_segment, gst_event_new_buffer_size)
1563         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
1564         Renamed from *_newsegment, *_buffersize, *_notarget.
1565
1566         * scripts/update-funcnames: New script, performs the changes
1567         listed above.
1568
1569 2005-11-22  Wim Taymans  <wim@fluendo.com>
1570
1571         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1572         Make sure the GstFlowReturn is returned.
1573
1574         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
1575         (gst_bus_add_signal_watch):
1576         * gst/gstbus.h:
1577         add gst_bus_add_signal_watch_full.
1578
1579         * gst/gstplugin.c: (gst_plugin_load_file):
1580         Small style cleanup.
1581
1582 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1583
1584         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
1585           Block the fakesrc srcpad when we send an event, to avoid
1586           contention on the stream_lock causing random test failures.
1587
1588 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1589
1590         * check/gst/gstvalue.c: (GST_START_TEST):
1591         * gst/gstvalue.c: (gst_value_fraction_subtract):
1592           Fix subtraction.
1593
1594 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
1595
1596         * gst/gst.h:
1597           include "gstchildproxy.h"
1598         * gst/gstchildproxy.h:
1599         * libs/gst/controller/gstcontroller.h:
1600           use G_GNUC_NULL_TERMINATED
1601
1602 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1603
1604         * check/gst/capslist.h:
1605         * check/gst/gstcaps.c: (GST_START_TEST):
1606         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1607         * gst/gststructure.c: (gst_structure_parse_range),
1608         (gst_structure_fixate_field_nearest_fraction):
1609         * gst/gststructure.h:
1610         * gst/gstvalue.c: (gst_value_init_fraction_range),
1611         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
1612         (gst_value_collect_fraction_range),
1613         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
1614         (gst_value_set_fraction_range_full),
1615         (gst_value_get_fraction_range_min),
1616         (gst_value_get_fraction_range_max),
1617         (gst_value_serialize_fraction_range),
1618         (gst_value_transform_fraction_range_string),
1619         (gst_value_compare_fraction_range),
1620         (gst_value_deserialize_fraction_range),
1621         (gst_value_intersect_fraction_fraction_range),
1622         (gst_value_intersect_fraction_range_fraction_range),
1623         (gst_value_subtract_fraction_fraction_range),
1624         (gst_value_subtract_fraction_range_fraction),
1625         (gst_value_subtract_fraction_range_fraction_range),
1626         (gst_value_collect_fraction), (gst_value_fraction_multiply),
1627         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
1628         (gst_value_transform_string_fraction), (_gst_value_initialize):
1629         * gst/gstvalue.h:
1630           Implement fraction ranges and extend GstFraction to support
1631           arithmetic subtraction, as well as deserialization from integer
1632           strings such as "100"
1633           Add a testsuite as for int and double range set operations
1634
1635 2005-11-21  Andy Wingo  <wingo@pobox.com>
1636
1637         * gst/gsttaglist.h: 
1638         * gst/gstcaps.h: 
1639         * gst/gststructure.h: Add glib-compat.h.
1640
1641 2005-11-21  Wim Taymans  <wim@fluendo.com>
1642
1643         * gst/gstbin.c: (gst_bin_change_state_func):
1644         Fix for #321595
1645
1646 2005-11-21  Wim Taymans  <wim@fluendo.com>
1647
1648         * gst/gstsegment.h:
1649         And add a nice define too.
1650
1651 2005-11-21  Wim Taymans  <wim@fluendo.com>
1652
1653         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
1654         (gst_segment_new), (gst_segment_free), (gst_segment_init),
1655         (gst_segment_set_duration), (gst_segment_set_last_stop),
1656         (gst_segment_set_seek), (gst_segment_set_newsegment),
1657         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1658         (gst_segment_clip):
1659         * gst/gstsegment.h:
1660         Make binding friendly.
1661
1662 2005-11-21  Andy Wingo  <wingo@pobox.com>
1663
1664         * gst/gsttagsetter.h: 
1665         * gst/gsttaglist.h: 
1666         * gst/gststructure.h: 
1667         * gst/gstcaps.h: 
1668         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
1669         #319940.
1670
1671         * gst/gsterror.c (_gst_core_errors_init):
1672         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
1673         category.
1674
1675         * gst/Makefile.am (gst_headers): Add glib-compat.h.
1676         (noinst_HEADERS): noinst the -private.
1677
1678 2005-11-21  Michael Smith <msmith@fluendo.com>
1679
1680         * gst/gstplugin.h:
1681         * gst/gstregistry.h:
1682           Remove unimplemented declarations for which we can see no sensible
1683           use.
1684
1685 2005-11-21  Andy Wingo  <wingo@pobox.com>
1686
1687         * gst/gst.h: Include glib-compat.h.
1688
1689         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
1690
1691         * gst/glib-compat.c: Include the public and the private header.
1692
1693         * gst/glib-compat-private.h: Copied here from glib-compat.h.
1694
1695         * gst/gstvalue.c: 
1696         * gst/gstpad.c: 
1697         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
1698
1699         * check/gst/gstevent.c (create_custom_events): Check that
1700         FLUSH_STOP is serialized.
1701
1702         * check/elements/identity.c (event_func): 
1703         * check/elements/fakesrc.c (event_func): No stream lock, the core
1704         takes it.
1705
1706         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
1707         stream lock taking, yay.
1708
1709         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
1710         ensure that core takes the stream lock.
1711
1712         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
1713         lock name change.
1714
1715         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
1716         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
1717         it already. For the flush start we do take it though so we get the
1718         right preroll state change messages.
1719
1720         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
1721         the stream lock here, the core does it for us.
1722
1723         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
1724         GST_STREAM_GET_LOCK.
1725         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
1726         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
1727         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
1728         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
1729         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
1730         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
1731
1732         * gst/gstpad.c: Update for stream lock name change.
1733
1734         * gst/base/gstbasesink.c: Update for preroll lock name change.
1735
1736 2005-11-21  Wim Taymans  <wim@fluendo.com>
1737
1738         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
1739         (gst_clock_get_master):
1740         * gst/gstclock.h:
1741         * gst/gstsystemclock.c: (gst_system_clock_init):
1742         Convert Clock flags to object flags.
1743         Added methods to manage master/slave clocks.
1744
1745 2005-11-21  Wim Taymans  <wim@fluendo.com>
1746
1747         * check/gst/gstsegment.c: (GST_START_TEST):
1748         * docs/design/part-TODO.txt:
1749         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1750         (gst_base_sink_event), (gst_base_sink_do_sync),
1751         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
1752         (gst_base_sink_query), (gst_base_sink_change_state):
1753         * gst/base/gstbasesink.h:
1754         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
1755         (gst_base_src_default_newsegment),
1756         (gst_base_src_configure_segment), (gst_base_src_do_seek),
1757         (gst_base_src_get_range), (gst_base_src_loop),
1758         (gst_base_src_change_state):
1759         * gst/base/gstbasesrc.h:
1760         * gst/base/gstbasetransform.c:
1761         (gst_base_transform_prepare_output_buf),
1762         (gst_base_transform_event), (gst_base_transform_change_state):
1763         * gst/base/gstbasetransform.h:
1764         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1765         (gst_collect_pads_event):
1766         * gst/base/gstcollectpads.h:
1767         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
1768         (gst_fake_src_create):
1769         * gst/elements/gstfakesrc.h:
1770         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1771         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1772         (gst_segment_set_last_stop), (gst_segment_set_seek),
1773         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
1774         (gst_segment_to_running_time), (gst_segment_clip):
1775         * gst/gstsegment.h:
1776         More segment updates, replace code in plugins with segment
1777         helper functions.
1778
1779 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1780
1781         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
1782         Don't ignore sscanf results
1783
1784 2005-11-21  Andy Wingo  <wingo@pobox.com>
1785
1786         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
1787
1788         * *.h:
1789         * *.c: Ran scripts/update-macros. Oh yes.
1790
1791         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
1792         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
1793         GST_GET_LOCK, etc.
1794
1795         * scripts/update-macros: New script. Run it on your files to
1796         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
1797         well.
1798
1799 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1800
1801         * docs/gst/Makefile.am:
1802         * docs/gst/gstreamer-docs.sgml:
1803         * docs/gst/gstreamer-sections.txt:
1804         * docs/gst/gstreamer.types:
1805         * gst/gstinfo.h:
1806           more docs fixes, add new api to the docs
1807
1808 2005-11-21  Andy Wingo  <wingo@pobox.com>
1809
1810         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
1811         state_broadcast call.
1812
1813         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
1814
1815 2005-11-21  Julien MOUTTE  <julien@moutte.net>
1816
1817         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
1818         function calls for arrays.
1819
1820 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1821
1822         * docs/random/ensonic/media-device-daemon.txt:
1823           wild idea, can this be done?
1824         * docs/gst/gstreamer-sections.txt:
1825         * gst/gsterror.h:
1826         * gst/gstfilter.c:
1827         * gst/gstfilter.h:
1828         * gst/gstplugin.h:
1829         * gst/gstpluginfeature.c:
1830         * gst/gsttrace.c:
1831         * gst/gstvalue.c:
1832         * gst/gstvalue.h:
1833           doc fixes and additions
1834
1835 2005-11-21  Andy Wingo  <wingo@pobox.com>
1836
1837         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
1838         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
1839         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
1840         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
1841         private to the basesrc implementation.
1842
1843         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
1844         behalf of event function if necessary. It should no longer be
1845         necessary to take the stream lock in pad's event functions. Fixes
1846         #320299.
1847
1848 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1849         * docs/gst/gstreamer-sections.txt:
1850         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
1851         (gst_structure_fixate_field_nearest_double),
1852         (gst_structure_fixate_field_boolean):
1853         * gst/gststructure.h:
1854         * win32/common/libgstreamer.def:
1855         * win32/gstreamer.def:
1856
1857         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
1858         (#322027)
1859
1860 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1861
1862         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
1863         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
1864         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
1865         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
1866         (gst_fdsrc_uri_handler_init):
1867         * gst/elements/gstfdsrc.h:
1868           Port fd:// URI handler from 0.8 to fdsrc
1869
1870 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1871
1872         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
1873         (gst_value_serialize_fourcc):
1874         * gst/gstvalue.h:
1875           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
1876           consistent with our other format defines (#320324).
1877
1878 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1879
1880         * gst/gstvalue.c: (gst_value_is_fixed):
1881           Revert previous commit. Value lists are by definition
1882           not fixed, as they are a list of possible values.
1883
1884 2005-11-21  Andy Wingo  <wingo@pobox.com>
1885
1886         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
1887         during the stable series if we need it. Fixes #319178.
1888
1889         * gst/gstevent.c (gst_event_new_filler): Removed.
1890
1891         * check/gst/gstevent.c: Update comment about filler events.
1892
1893 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1894
1895         * gst/gstvalue.c: (gst_value_is_fixed):
1896           Should handle both value arrays and value lists.
1897
1898 2005-11-21  Andy Wingo  <wingo@pobox.com>
1899
1900         patch by: Alessandro Dessina <alessandro nnva org>
1901
1902         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
1903         functions to access arrays. Fixes #321962.
1904
1905 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1906
1907         * docs/gst/gstreamer.types:
1908           gst_collectpads_get_type => gst_collect_pads_get_type.
1909           
1910         * gst/base/gstbasetransform.c:
1911           Remove unused SIGNAL_HANDOFF enum.
1912
1913 2005-11-21  Andy Wingo  <wingo@pobox.com>
1914
1915         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
1916         the event type (upstream, downstream, serialized). Renamed
1917         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
1918         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
1919         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
1920
1921         * gst/gstevent.c: Update for new CUSTOM event names.
1922
1923         * check/gst/gstevent.c: Update check for new CUSTOM event names.
1924
1925         * gst/gstevent.h:
1926         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
1927         bug #319392.
1928
1929 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1930
1931         * docs/gst/gstreamer-sections.txt:
1932         * win32/common/libgstbase.def:
1933         * win32/libgstbase.def:
1934         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1935         (gst_collect_pads_class_init), (gst_collect_pads_init),
1936         (gst_collect_pads_finalize), (gst_collect_pads_new),
1937         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
1938         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
1939         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
1940         (gst_collect_pads_start), (gst_collect_pads_stop),
1941         (gst_collect_pads_peek), (gst_collect_pads_pop),
1942         (gst_collect_pads_available), (gst_collect_pads_read),
1943         (gst_collect_pads_flush), (gst_collect_pads_event),
1944         (gst_collect_pads_chain):
1945         * gst/base/gstcollectpads.h:
1946           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
1947           unimplemented functions as unimplemented. Add padding to
1948           GstCollectData. (#320766, #320423)
1949
1950 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1951
1952         * gst/gstmessage.c:
1953           Improve docs for DURATION message (usage of duration parameter)
1954           (#320113)
1955
1956 2005-11-20  Wim Taymans  <wim@fluendo.com>
1957
1958         * check/Makefile.am:
1959         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
1960         (main):
1961         * gst/Makefile.am:
1962         * gst/gst.h:
1963         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1964         (gst_segment_set_seek), (gst_segment_set_newsegment),
1965         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1966         (gst_segment_clip):
1967         * gst/gstsegment.h:
1968         Added segment helper structure and methods. Not fully implemented
1969         yet.
1970         Added segment check.
1971
1972 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
1973
1974         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1975           Add a deserialisation test for fractions
1976         * examples/metadata/read-metadata.c: (message_loop),
1977         (make_pipeline), (main):
1978           Fix up metadata reading sample.
1979         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
1980           Debug format fix
1981         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1982           Don't try and fixate empty caps
1983         * gst/gst_private.h:
1984           Wrap in G_BEGIN_DECLS/G_END_DECLS
1985         * gst/gstvalue.c: (gst_value_collect_fraction),
1986         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
1987         (gst_value_transform_string_fraction),
1988         (gst_value_compare_fraction):
1989           Add some extra guards to ensure that we don't end up 
1990           with an invalid denominator of 0 in a gstfraction and
1991           that fractions always get reduced.
1992
1993 2005-11-20  Wim Taymans  <wim@fluendo.com>
1994
1995         * docs/gst/gstreamer-sections.txt:
1996         * gst/gstbuffer.h:
1997         * gst/gstelement.c:
1998         * gst/gstformat.c:
1999         * gst/gstformat.h:
2000         * gst/gstindex.h:
2001         * gst/gstquery.c:
2002         * gst/gstquery.h:
2003         * gst/gstvalue.c:
2004         Doc fixes.
2005
2006 2005-11-20  Wim Taymans  <wim@fluendo.com>
2007
2008         * docs/design/part-TODO.txt:
2009         * gst/gstcaps.h:
2010         Make a proper enum of the flag.
2011
2012 2005-11-19  Wim Taymans  <wim@fluendo.com>
2013
2014         * docs/design/part-TODO.txt:
2015         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
2016         (gst_format_to_quark), (gst_format_register):
2017         * gst/gstformat.h:
2018         * gst/gstquery.c: (_gst_query_initialize),
2019         (gst_query_type_get_name), (gst_query_type_to_quark),
2020         (gst_query_type_register):
2021         * gst/gstquery.h:
2022         Add type to quark and type to string conversions.
2023
2024 2005-11-19  Andy Wingo  <wingo@pobox.com>
2025
2026         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
2027         #320097.
2028
2029 2005-11-19  Wim Taymans  <wim@fluendo.com>
2030
2031         * docs/design/part-TODO.txt:
2032         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
2033         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
2034         (gst_bin_handle_message_func):
2035         * gst/gstbin.h:
2036         Make message handling overridable.
2037
2038 2005-11-19  Andy Wingo  <wingo@pobox.com>
2039
2040         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
2041
2042         * gst/gstclock.h:
2043         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
2044         be a GstClockTime.
2045         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
2046         is a GstClockTime. Fixes #321710.
2047
2048         * gst/gstclock.h (GstClock): Remove offset property. Add
2049         internal_calibration and external_calibration. Fix padding. Pad
2050         also by GstClockTime so we don't run into problems.
2051
2052         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
2053         (gst_clock_get_rate_offset): Remove.
2054         (gst_clock_set_time_adjust): Remove. Fixes #321712.
2055
2056         * gst/gstutils.h:
2057         * gst/gstutils.c (g_static_rec_cond_wait)
2058         (g_static_rec_cond_timed_wait): Removed, no longer needed.
2059
2060         * gst/gstbin.c: Remove terrible continue_state prototype.
2061
2062         * gst/gstelement.h (gst_element_continue_state): Make public.
2063
2064         * gst/gstelement.h:
2065         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
2066         by continue_state. Fixes #319389.
2067
2068         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
2069         Really fixes #168438. However I don't see anywhere where the
2070         filter function is called... stupid GStreamer...
2071         
2072         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
2073         don't have a dispose function, so it won't get called when the
2074         object is unreffed, but oh well!
2075
2076         * gst/gstindex.c (gst_index_set_filter_full): New API function,
2077         allows a destroy function to be set so user_data can be freed.
2078         Fixes #168438.
2079         (gst_index_set_filter): Call gst_index_set_filter_full.
2080
2081         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
2082
2083         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
2084         string should produce an error, given the lack of a way to
2085         represent NULL strings. Fixes #165650.
2086         
2087         * gst/gstvalue.h: 
2088         * gst/gstvalue.c (gst_value_array_append_value) 
2089         (gst_value_array_prepend_value, gst_value_array_get_size) 
2090         (gst_value_array_get_value): New API, copied from
2091         gst_value_list_*, only operates on arrays.
2092         (gst_value_list_append_value, gst_value_list_prepend_value) 
2093         (gst_value_list_concat, gst_value_list_get_size) 
2094         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
2095
2096         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
2097         init_list, because it works on both.
2098         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
2099         (gst_value_copy_list_or_array): Renamed from copy_list.
2100         (gst_value_free_list_or_array): Renamed from free_list.
2101         (gst_value_collect_list_or_array): Renamed from collect_list.
2102         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
2103         (gst_value_list_or_array_peek_pointer): Renamed from
2104         list_peek_pointer.
2105         (_gst_value_array_value_table, _gst_value_list_value_table):
2106         Update value table functions.
2107         (gst_value_compare_list_or_array): Renamed from compare_list.
2108
2109         * gsttaglist.h: Whoops, foreach function returns void. Also fix
2110         some constness.
2111
2112         * gst/gsttaglist.c:
2113         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
2114         GstTagList*. Fixes #143472.
2115
2116         * gst/gststructure.h: Clarify what the foreach/map functions can
2117         or can't do to their arguments.
2118
2119 2005-11-18  Wim Taymans  <wim@fluendo.com>
2120
2121         * gst/gstclock.c: (gst_clock_set_calibration),
2122         (gst_clock_get_calibration):
2123         Doc and API fixes.
2124         Calibration can be set with internal time equal to current
2125         internal time too.
2126
2127 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2128
2129         * gst/gsterror.c:
2130         * gst/gsterror.h:
2131           document
2132
2133 2005-11-18  Andy Wingo  <wingo@pobox.com>
2134
2135         * configure.ac: 
2136         * pkgconfig/gstreamer-net.pc.in:
2137         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2138         * pkgconfig/Makefile.am: Add net pkgconfig files.
2139
2140 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
2141
2142         * gst/gstcaps.c:
2143         * gst/gstghostpad.c:
2144         * gst/gsttrace.c:
2145         * gst/gstvalue.c:
2146         * gst/gstvalue.h:
2147           docs fixes
2148
2149 2005-11-18  Andy Wingo  <wingo@pobox.com>
2150
2151         * gst/net/gstnetclientclock.c: Turn off debugging.
2152
2153         * check/net/gstnetclientclock.c (test_functioning): Assert that the
2154         times connverge somewhat. Can't make a real test.
2155
2156         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
2157         integer arithmetic. Return the minimum of the domain, which can be
2158         set as "internal" for gst_clock_set_calibration.
2159         (gst_net_client_clock_observe_times): Call _set_calibration.
2160         (gst_net_client_clock_new): Call _set_calibration instead of
2161         rate_offset.
2162
2163         * check/net/gstnetclientclock.c (test_functioning): Use the right
2164         adjustment api.
2165
2166         * gst/gstclock.h:
2167         * gst/gstclock.c (gst_clock_get_calibration) 
2168         (gst_clock_set_calibration): New functions, obsolete the ones I
2169         added yesterday. Doh. Precision issues mean we have to extrapolate
2170         from a point in the more recent past than 1970.
2171         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
2172         obsolete.
2173         (gst_clock_adjust_unlocked): Use the right calibration data.
2174
2175 2005-11-18  Edward Hervey  <edward@fluendo.com>
2176
2177         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
2178         Also reset the ->current_* values in READY->PAUSED
2179
2180 2005-11-18  Andy Wingo  <wingo@pobox.com>
2181
2182         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
2183         Whoops, check the right fd. Also add some debugging.
2184         (gst_net_client_clock_observe_times): Adjust for int64 offset.
2185         (do_linear_regression): Add a crapload of debugging. Subtract off
2186         the minimum values from the input series to discard unneeded bits.
2187         Use only int arithmetic. There is still double arithmetic when
2188         calculating the intercept that needs fixing. Return boolean to
2189         indicate success; FALSE would mean the domain or range is too
2190         great. Still needs fixes.
2191
2192 2005-11-18  Wim Taymans  <wim@fluendo.com>
2193
2194         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2195         For the current position in stream time, we need to subtract
2196         accumulated time.
2197         
2198         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2199         Release lock before calling the callback function of async
2200         entries.
2201
2202 2005-11-18  Andy Wingo  <wingo@pobox.com>
2203
2204         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
2205         Port goes all the way to MAXUINT16.
2206
2207         * gst/net/gstnettimeprovider.c: Make the port range the same as
2208         for the kernel: 0 assigns, otherwise ports are less than
2209         MAXUINT16.
2210
2211         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
2212         port change.
2213
2214         * check/net/gstnetclientclock.c (test_functioning): Add the start
2215         of another test. 
2216
2217 2005-11-18  Wim Taymans  <wim@fluendo.com>
2218
2219         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2220         (gst_bin_remove_func), (bin_bus_handler):
2221         * gst/gstbin.h:
2222         Removing a clock provider from a bin, triggers a clock lost message
2223         so that a new clock will be selected.
2224         Adding a clock to a bin triggers a clock provider message.
2225         Make sure we reselect a clock when we received a clock lost message.
2226         Keep a reference to the element that provided the clock.
2227
2228 2005-11-18  Andy Wingo  <wingo@pobox.com>
2229
2230         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2231         the clock initially so it produces values around the base time.
2232         (gst_net_client_clock_class_init): Typo fix.
2233         (gst_net_client_clock_thread): Add note on when the socket gets
2234         closed.
2235
2236 2005-11-17  Wim Taymans  <wim@fluendo.com>
2237
2238         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2239         Free remote and local time arrays.
2240
2241 2005-11-17  Wim Taymans  <wim@fluendo.com>
2242
2243         * gst/net/gstnetclientclock.c: (do_linear_regression),
2244         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2245         Fix compilation, uninitialized vars and a forgotten continue.
2246
2247 2005-11-17  Andy Wingo  <wingo@pobox.com>
2248
2249         * check/Makefile.am (check_PROGRAMS): 
2250         * check/net/gstnetclientclock.c: Add a most minimal test for the
2251         net client clock. More to come later.
2252
2253         * gst/net/gstnet.h: 
2254         * gst/net/Makefile.am: Add netclientclock.
2255
2256         * gst/net/gstnetclientclock.h:
2257         * gst/net/gstnetclientclock.c: New files, implement an untested
2258         GstClock that takes its time from a network time provider.
2259         Implements the algorithm in network-clock.scm.
2260
2261         * tests/network-clock.scm (*window-size*): Rename from
2262         *queue-length*.
2263         * tests/network-clock.scm (network-time): 
2264         * tests/network-clock-utils.scm (q-push): Update callers.
2265
2266 2005-11-17  Wim Taymans  <wim@fluendo.com>
2267
2268         * gst/gstbin.c: (gst_bin_provide_clock_func),
2269         (gst_bin_sort_iterator_new):
2270         And unref the child too..
2271
2272 2005-11-17  Wim Taymans  <wim@fluendo.com>
2273
2274         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2275         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2276         Refactor the sort iterator so it can be used while holding the
2277         LOCK too.
2278         Make clock selection select a clock closest to the source.
2279
2280 2005-11-17  Michael Smith <msmith@fluendo.com>
2281
2282         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2283         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2284         * gst/gstclock.h:
2285           Anonymous structs are a gcc (and some other compilers) extension, so
2286           don't use them. Since this is only for ABI-compatibility, and our
2287           API/ABI freeze is over in a few days, this whole thing will only
2288           last a few days, so don't bother trying to think up a meaningful
2289           name for the struct.
2290
2291 2005-11-17  Andy Wingo  <wingo@pobox.com>
2292
2293         * gst/gstclock.h (GstClock): Add rate and offset properties,
2294         preserving ABI stability. Add rate/offset accessors. Will file bug
2295         for the freeze break.
2296
2297         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2298         and offset, trying to keep precision and avoiding
2299         underflow/overflow.
2300         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2301         functions. Make gst_clock_set_time_adjust obsolete.
2302         (gst_clock_set_time_adjust): Note that this function is obsolete.
2303         Will file bug soon.
2304
2305         * gst/base/gstbasetransform.h: Make the ABI-stability hack
2306         greppable by using GST_PADDING-1+1.
2307
2308 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
2309
2310         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2311
2312         * gst/gstmessage.c: (gst_message_parse_clock_lost):
2313           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2314
2315         * gst/gstpadtemplate.h:
2316         * gst/gstpluginfeature.h:
2317           Don't use c++ style comments in headers (#321638).
2318
2319 2005-11-16  Andy Wingo  <wingo@pobox.com>
2320
2321         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2322         buffer.
2323
2324         * check/net/gstnettimeprovider.c: Check to see that the time
2325         provider actually provides times. Works, yo!
2326
2327 2005-11-16  Wim Taymans  <wim@fluendo.com>
2328
2329         * check/Makefile.am:
2330         Enable more tests.
2331
2332         * check/elements/fakesrc.c: (GST_START_TEST):
2333         Set element to NULL before disposing it.
2334
2335 2005-11-16  Andy Wingo  <wingo@pobox.com>
2336
2337         * gst/net/Makefile.am:
2338         * gst/net/gstnet.h:
2339         * gst/net/gstnettimeprovider.c: 
2340         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2341         provider, include it from gstnet.h, and add it to the build.
2342
2343         * gst/net/gstnettimepacket.h: 
2344         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2345         sending and receiving.
2346
2347 2005-11-16  Wim Taymans  <wim@fluendo.com>
2348
2349         * check/Makefile.am:
2350         Enable valgrind check.
2351
2352         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2353         (gst_fake_src_alloc_buffer):
2354         Fix memleak.
2355
2356 2005-11-16  Wim Taymans  <wim@fluendo.com>
2357
2358         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2359         Call parent finalize too.
2360
2361 2005-11-16  Wim Taymans  <wim@fluendo.com>
2362
2363         * check/Makefile.am:
2364         Enable valgrind check that should work fine now.
2365
2366         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2367         * gst/gstqueue.c: (gst_queue_init):
2368         Fix memleaks in pad allocation.
2369
2370 2005-11-16  Andy Wingo  <wingo@pobox.com>
2371
2372         * gst/net/Makefile.am:
2373         * gst/net/gstnet.h: New part of core to hold network elements and
2374         objects. Put in core because it exposes API that applications want
2375         to use. The library is named libgstnet-tempname right now because
2376         of the existing libgstnet in gst-plugins-base. Solution is
2377         probably to rename the one in plugins-base; will file a bug for
2378         the freeze break.
2379
2380         * gst/net/gstnettimeprovider.c: 
2381         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2382         get_time call over the network.
2383
2384         * configure.ac: 
2385         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2386
2387         * check/Makefile.am:
2388         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2389         get additions shortly.
2390
2391 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2392
2393         * gst/gstpad.c: (gst_pad_new_from_static_template):
2394         * gst/gstpad.h:
2395           add gst_pad_new_from_static_template functions
2396         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2397         (gst_check_setup_sink_pad):
2398         * gst/elements/gsttee.c: (gst_tee_init):
2399           and use them
2400
2401 2005-11-16  Wim Taymans  <wim@fluendo.com>
2402
2403         * gst/gstpad.c: (gst_pad_pause_task):
2404         Removed warning, it's not really an error either.
2405
2406 2005-11-16  Wim Taymans  <wim@fluendo.com>
2407
2408         * gst/base/gstbasetransform.c:
2409         (gst_base_transform_prepare_output_buf),
2410         (gst_base_transform_event):
2411         Check if the caps are NULL, this can happen if the element
2412         is shutting down and the pad caps are set to NULL.
2413
2414 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2415
2416         * gst/elements/gsttee.c: (gst_tee_init):
2417           fix pad template leak in tee
2418
2419 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2420
2421         * gst/glib-compat.c: (g_value_dup_gst_object):
2422         * gst/glib-compat.h:
2423         * gst/gstpad.c: (gst_pad_set_property):
2424           use gst_object_ref when setting the pad template; this will
2425           trigger the pad template leaks on GLib 2.6 and the slaves
2426
2427 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2428
2429         * gst/glib-compat.c: (gst_flags_get_first_value):
2430         * gst/glib-compat.h:
2431         * gst/gstregistryxml.c:
2432           remove functions copied from GLib 2.6
2433
2434 2005-11-16  Michael Smith <msmith@fluendo.com>
2435
2436         * gst/Makefile.am:
2437           Don't link against VALGRIND_LIBS. That was always the wrong thing to
2438           do, but only breaks with newer valgrind versions. We're not a
2439           valgrind tool, we have no link-time dependencies on libcoregrind.
2440
2441 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2442
2443         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2444           some debug changes
2445         * gst/gstmessage.h:
2446           typo fixes
2447
2448 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2449
2450         * gst/base/gstbasesrc.c: (gst_base_src_init):
2451         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2452         * gst/gstqueue.c: (gst_queue_init):
2453         * gst/gstregistryxml.c: (load_feature):
2454           Revert all these unrefs, they don't even pass make check !
2455
2456 2005-11-15  Johan Dahlin  <johan@gnome.org>
2457
2458         * gst/base/gstbasesrc.c: (gst_base_src_init):
2459         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2460         * gst/gstqueue.c: (gst_queue_init): 
2461         Free pad templates, fixes a couple of leaks.
2462
2463 2005-11-15  Daniel Fischer  <dan at f3c dot com>
2464
2465         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2466
2467         * gst/gstpad.c: (gst_pad_get_property):
2468           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
2469           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
2470           (#321452)
2471
2472 2005-11-15  Wim Taymans  <wim@fluendo.com>
2473
2474         * gst/gstevent.c:
2475         Small doc update.
2476
2477 2005-11-15  Andy Wingo  <wingo@pobox.com>
2478
2479         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
2480
2481         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
2482         using GST_CLOCK_TIME_NONE to disable base time management.
2483         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
2484         time if it was NONE before.
2485         (gst_pipeline_change_state): Only munge the base time if
2486         stream_time != GST_CLOCK_TIME_NONE.
2487
2488         * check/gst/gstpipeline.c (test_base_time): Punt around the
2489         problem of the probe not being called, because that's not the
2490         issue I'm looking at. Add a check that setting stream_time to NONE
2491         disables base time management.
2492         
2493 2005-11-15  Wim Taymans  <wim@fluendo.com>
2494
2495         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2496         segment_stop == -1 at startup.
2497
2498         * gst/base/gstbasetransform.c: (gst_base_transform_event),
2499         (gst_base_transform_change_state):
2500         Init segment values at start.
2501
2502 2005-11-15  Wim Taymans  <wim@fluendo.com>
2503
2504         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2505         0 segment values are 0 in any format.
2506
2507         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2508         * gst/base/gstbasetransform.h:
2509         Parse newsegment correctly in basetransform
2510
2511         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2512         Sync to clock using updated segment values.
2513
2514 2005-11-15  Andy Wingo  <wingo@pobox.com>
2515
2516         * check/gst/gstpipeline.c (test_base_time): Add check that the
2517         base time and stream time are reset correctly.
2518
2519 2005-11-15  Wim Taymans  <wim@fluendo.com>
2520
2521         * docs/design/part-TODO.txt:
2522         Some more TODO items.
2523
2524 2005-11-15  Andy Wingo  <wingo@pobox.com>
2525
2526         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
2527         error if the user selected "no clock" as the clocking method.
2528
2529         * check/gst/gstpipeline.c (test_base_time): New test for buffer
2530         timestamps with live capture.
2531
2532         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
2533         is 0 but we are a live source, timestamp the buffers using the
2534         element's clock.
2535
2536 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
2537
2538         * docs/gst/gstreamer-sections.txt:
2539         * gst/gsterror.c:
2540         * gst/gstghostpad.c:
2541         * gst/gstobject.h:
2542         * gst/gstxml.c:
2543           more section docs
2544
2545 2005-11-14  Wim Taymans  <wim@fluendo.com>
2546
2547         * common/gst.supp:
2548           add suppressions from Wim's Debian machine
2549
2550 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2551
2552         * common/gst.supp:
2553           add suppressions from Andy's AMD64 Ubuntu machine
2554
2555 2005-11-14  Andy Wingo  <wingo@pobox.com>
2556
2557         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
2558         STATE_LOCK not necessary. Fixes #311489.
2559
2560         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
2561         #305291.
2562
2563         * gst/gstindex.c (gst_index_add_object): Note in the docs that
2564         this function is not implemented.
2565
2566 2005-11-14  Julien MOUTTE  <julien@moutte.net>
2567
2568         * gst/base/gstbasetransform.c:
2569         (gst_base_transform_prepare_output_buf):
2570         Ref the source pad caps while we need them.
2571         Fixes (#321386)
2572
2573 2005-11-11  Wim Taymans  <wim@fluendo.com>
2574
2575         * docs/gst/gstreamer-sections.txt:
2576         Added some docs for GstCollectData.
2577
2578         * gst/base/gstadapter.c:
2579         Some small code example fix.
2580
2581         * gst/base/gstcollectpads.c:
2582         * gst/base/gstcollectpads.h:
2583         Document some more.
2584
2585 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2586
2587         * configure.ac: back to HEAD
2588
2589 === release 0.9.5 ===
2590
2591 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
2592
2593         * configure.ac:
2594           releasing 0.9.5, "Bike Lunch Day"
2595
2596 2005-11-11  Wim Taymans  <wim@fluendo.com>
2597
2598         * gst/gstbuffer.c: (_gst_buffer_copy):
2599         Copy more flags.
2600
2601         * gst/gstcaps.c: (gst_caps_is_equal):
2602         Fix some docs.
2603         Make _is_equal fast in the trivial cases.
2604
2605         * gst/gstminiobject.c:
2606         * gst/gstminiobject.h:
2607         More docs. Spifify .h file.
2608
2609         * gst/gstutils.c:
2610         Small doc update.
2611
2612 2005-11-11  Wim Taymans  <wim@fluendo.com>
2613
2614         * gst/base/gstbasetransform.c:
2615         (gst_base_transform_prepare_output_buf),
2616         (gst_base_transform_handle_buffer):
2617         Small cleanups.
2618         If we're processing a buffer and need to allocate an output
2619         buffer, we cannot accept a format change. If we did get a 
2620         format change, we have to alloc a buffer ourselves of the 
2621         right size.
2622
2623 2005-11-11  Wim Taymans  <wim@fluendo.com>
2624
2625         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
2626         While checking the flag for reentrancy in the gstcaps function
2627         is nice to detect recursive invocations, it also makes it 
2628         impossible to call getcaps from multiple threads, which must be
2629         possible. So, checking for recursive calls has to go.
2630
2631 2005-11-11  Michael Smith <msmith@fluendo.com>
2632
2633         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2634           Don't sync on buffers that fall partially outside our current
2635           segment. Prevents an assertion failure/abort playing some files.
2636
2637 2005-11-10  Andy Wingo  <wingo@pobox.com>
2638
2639         * check/gst/gstbin.c (test_message_state_changed_children): Style
2640         fix..
2641
2642         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
2643         gst_bus_poll with the signal watch. Ensures that poll and a signal
2644         watch see the same messages.
2645
2646         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
2647         a poll and a watch at the same time get the same messages.
2648
2649 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2650
2651         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
2652         * gst/gstcaps.c: (gst_caps_intersect):
2653           Don't call gst_caps_do_simplify - it doesn't respect order of caps
2654           and it's not needed.
2655
2656 2005-11-10  Wim Taymans  <wim@fluendo.com>
2657
2658         * docs/design/part-TODO.txt:
2659         Updated todo.
2660
2661 2005-11-10  Wim Taymans  <wim@fluendo.com>
2662
2663         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2664         * gst/base/gstbasesrc.c: (gst_base_src_wait),
2665         (gst_base_src_do_sync), (gst_base_src_get_range):
2666         Implement clock sync in base class.
2667
2668 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2669
2670         patch by: Tim-Philipp Müller <tim at centricular dot net>
2671
2672         * gst/gststructure.c: (gst_structure_parse_field),
2673         (gst_structure_from_string):
2674           Forward-port a 0.8 patch to handle escaped spaces in structure string,
2675           so that gst_parse_launch() can deal with spaces in filtered link
2676           caps (fixes #164479)
2677         * check/gst/capslist.h:
2678         * check/gst/gststructure.c: (GST_START_TEST):
2679           add unit tests for this change
2680
2681 2005-11-10  Wim Taymans  <wim@fluendo.com>
2682
2683         * docs/gst/gstreamer-sections.txt:
2684         * gst/gstelement.c:
2685         * gst/gstelement.h:
2686         Fix docs, move some STATE macros to private.
2687
2688 2005-11-10  Wim Taymans  <wim@fluendo.com>
2689
2690         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
2691         Added check for bug #317341
2692
2693         * gst/gstbuffer.c:
2694         * gst/gstbuffer.h:
2695         Some more spiffifying.
2696
2697         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
2698         Call peer linkfunction if we are a source pad. Totally fixes
2699         #317341
2700
2701         * gst/gstpad.c:
2702         Update docs, source pads should call the peer linkfunction
2703         so they can atomically perform the pad link.
2704
2705 2005-11-09  Wim Taymans  <wim@fluendo.com>
2706
2707         * gst/gstbuffer.c:
2708         * gst/gstbuffer.h:
2709         Uber-spiffy-spiffify some more.
2710
2711 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
2712
2713         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
2714         * gst/elements/gstfilesink.c: (gst_file_sink_init):
2715         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2716         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
2717         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
2718         * gst/gstpad.c: (gst_pad_init):
2719           Use GST_DEBUG_FUNCPTR() more extensively.
2720
2721 2005-11-09  Wim Taymans  <wim@fluendo.com>
2722
2723         * gst/gstobject.c: (gst_object_class_init):
2724         * gst/gstobject.h:
2725         Documentation fixes.
2726
2727 2005-11-09  Edward Hervey  <edward@fluendo.com>
2728
2729         * gst/gsttypefindfactory.c:
2730         Fix docs.
2731         
2732 2005-11-09  Edward Hervey  <edward@fluendo.com>
2733
2734         * gst/base/gsttypefindhelper.c:
2735         * gst/gsttypefind.c:
2736         * gst/gsttypefind.h:
2737         Fix docs.
2738
2739 2005-11-09  Wim Taymans  <wim@fluendo.com>
2740
2741         * gst/gstiterator.c:
2742         Fix revision data.
2743
2744         * gst/gsttask.c:
2745         * gst/gsttask.h:
2746         Fix docs.
2747
2748 2005-11-09  Wim Taymans  <wim@fluendo.com>
2749
2750         * gst/gstevent.h:
2751         * gst/gsturi.h:
2752         Fix docs.
2753
2754 2005-11-09  Wim Taymans  <wim@fluendo.com>
2755
2756         * docs/gst/gstreamer-sections.txt:
2757         Moved the message async delivery private lock and cond
2758         to the private section.
2759
2760         * gst/gstmessage.c:
2761         * gst/gstmessage.h:
2762         Fixed docs.
2763
2764 2005-11-09  Edward Hervey  <edward@fluendo.com>
2765
2766         * docs/gst/gstreamer-sections.txt:
2767         * gst/gsturi.c:
2768         * gst/gsturi.h:
2769         Document GstURIHandler
2770
2771 2005-11-09  Wim Taymans  <wim@fluendo.com>
2772
2773         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
2774         (gst_iterator_find_custom):
2775         * gst/gstiterator.h:
2776         Fix iterator docs.
2777
2778 2005-11-09  Wim Taymans  <wim@fluendo.com>
2779
2780         * gst/gstbin.h:
2781         Document another field.
2782
2783         * gst/gststructure.c:
2784         * gst/gststructure.h:
2785         Document.
2786
2787 2005-11-09  Wim Taymans  <wim@fluendo.com>
2788
2789         * gst/gstbin.h:
2790         Documented structs.
2791
2792 2005-11-09  Wim Taymans  <wim@fluendo.com>
2793
2794         * docs/gst/gstreamer-sections.txt:
2795         Added some new macros.
2796
2797         * gst/gstclock.c:
2798         * gst/gstclock.h:
2799         * gst/gstobject.h:
2800         Docs updates.
2801
2802 2005-11-09  Wim Taymans  <wim@fluendo.com>
2803
2804         * docs/design/part-TODO.txt:
2805         Some more items for the TODO
2806
2807         * gst/gstcaps.c:
2808         * gst/gstcaps.h:
2809         Document GstCaps.
2810
2811 2005-11-09  Andy Wingo  <wingo@pobox.com>
2812
2813         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
2814         to work on something else now tho...
2815
2816         * gst/base/gstadapter.c: More adapter docs.
2817
2818         * gst/elements/gstfilesink.c (gst_file_sink_start) 
2819         (gst_file_sink_stop): New functions, replace the state change
2820         handler.
2821         (gst_file_sink_class_init): Hook up the start and stop functions.
2822         (gst_file_sink_base_init): Don't set the state change handler any
2823         more. It was a bit ugly too, being set from here...
2824         (gst_file_sink_get_property, gst_file_sink_set_property):
2825         Cleanups...
2826         (gst_file_sink_set_location): More robust check that doesn't call
2827         GST_STATE. Ugggggg.
2828
2829 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
2830
2831         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2832           Hold STREAM_LOCK while pushing newsegment or tag events as well.
2833
2834 2005-11-08  Wim Taymans  <wim@fluendo.com>
2835
2836         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2837         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
2838         (gst_base_sink_chain), (gst_base_sink_change_state):
2839         * gst/base/gstbasesink.h:
2840         * gst/base/gstbasesrc.h:
2841         * gst/gstelement.h:
2842         * gst/gstevent.h:
2843         Avoid excessive typechecking in macros.
2844
2845         * gst/gstminiobject.c: (gst_mini_object_get_type),
2846         (gst_mini_object_init), (gst_mini_object_new),
2847         (gst_mini_object_free):
2848         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
2849         (gst_object_finalize):
2850         Remove cruft code, optimize alloc_trace.
2851
2852 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2853
2854         * docs/faq/gst-uninstalled:
2855           fix up PS1 for systems that try to reset it
2856
2857 2005-11-07  Wim Taymans  <wim@fluendo.com>
2858
2859         * gst/base/gstbasesrc.c: (gst_base_src_init),
2860         (gst_base_src_get_range):
2861         Set the segment_end to -1 initially. Fixed typefind.
2862
2863 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2864
2865         * gst/base/gstadapter.c:
2866           Debug category should be 'adapter', not 'GstAdapter'.
2867           
2868         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
2869         (gst_collectpads_class_init), (gst_collectpads_init),
2870         (gst_collectpads_peek), (gst_collectpads_pop),
2871         (gst_collectpads_event), (gst_collectpads_chain):
2872           Add debug category and some debugging output. Use boilerplate
2873           macros. Remove some extraneous words from docs.
2874
2875 2005-11-05  Andy Wingo  <wingo@pobox.com>
2876
2877         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
2878         macro.
2879
2880 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2881
2882         * docs/gst/gstreamer-sections.txt:
2883         * gst/gstcaps.h:
2884         * gst/gstinfo.c:
2885         * gst/gstminiobject.h:
2886         * gst/gstobject.h:
2887         * gst/gstutils.h:
2888           more docs added
2889
2890 2005-11-04  Wim Taymans  <wim@fluendo.com>
2891
2892         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2893         Small update to stop at the configured segment_end
2894         position.
2895
2896 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2897
2898         * gst/gstregistry.c:
2899         * gst/gstregistry.h:
2900           added missing docs
2901
2902 2005-11-04  Edward Hervey  <edward@fluendo.com>
2903
2904         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
2905         Check if we are doing a segment seek and have arrived at the
2906         end of that segment.
2907
2908 2005-11-04  Wim Taymans  <wim@fluendo.com>
2909
2910         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
2911         Don't leak a mutex unlock in case of an error.
2912
2913         * gst/gstbus.h:
2914         Doc fixes.
2915
2916 2005-11-04  Wim Taymans  <wim@fluendo.com>
2917
2918         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
2919         (gst_bus_post):
2920         Get the context to wake up only once.
2921
2922 2005-11-03  Wim Taymans  <wim@fluendo.com>
2923
2924         * check/states/sinks.c: (GST_START_TEST):
2925         Uncomment fixed check.
2926
2927         * docs/design/part-TODO.txt:
2928         Updated TODO.
2929
2930         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2931         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2932         (gst_base_sink_get_position):
2933         If we are going to PLAYING, post the right pending state
2934         when we post the intermediate paused message.
2935
2936         * gst/gstelement.c: (gst_element_continue_state),
2937         (gst_element_set_state_func), (gst_element_change_state):
2938         Don't post state changes that were between the same state
2939         and were not ASYNC.
2940
2941 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2942
2943         * docs/gst/gstreamer-sections.txt:
2944         * gst/gstcaps.h:
2945         * gst/gstinfo.c:
2946         * gst/gstminiobject.h:
2947         * gst/gstobject.h:
2948         * gst/gstutils.h:
2949           more docs and doc style fixes
2950
2951 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
2952
2953         * docs/gst/gstreamer-sections.txt:
2954         * gst/gstelement.c:
2955         * gst/gstminiobject.c:
2956         doc fixes
2957
2958 2005-11-03  Andy Wingo  <wingo@pobox.com>
2959
2960         * check/states/sinks.c (test_livesrc_sink): Add checks that the
2961         state-changed messages actually have the right order and the right
2962         values.
2963
2964 2005-11-03  Wim Taymans  <wim@fluendo.com>
2965
2966         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
2967         Added some more checks. Specifically the case where NO_PREROLL
2968         elements are in the pipeline.
2969
2970         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2971         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
2972         (gst_base_sink_get_position):
2973         Post READY->PAUSED state change messages too.
2974         Fix bug where VOID was posted as pending state...
2975
2976         * gst/gstbin.c: (gst_bin_recalc_state):
2977         use _element_continue_state() to continue the state change.
2978
2979         * gst/gstelement.c: (gst_element_continue_state),
2980         (gst_element_commit_state), (gst_element_set_state_func),
2981         (gst_element_change_state), (gst_element_change_state_func):
2982         Lots of state change cleanups, assign the STATE_RETURN in
2983         a new continue_state() function that also propagates the
2984         last return value from a state change to the app.
2985         Update some debug statements with proper category.
2986
2987 2005-11-03  Wim Taymans  <wim@fluendo.com>
2988
2989         * docs/design/part-events.txt:
2990         * docs/design/part-gstpipeline.txt:
2991         * docs/design/part-messages.txt:
2992         * docs/design/part-overview.txt:
2993         * docs/design/part-seeking.txt:
2994         * docs/design/part-states.txt:
2995         * docs/design/part-trickmodes.txt:
2996         * docs/manual/advanced-position.xml:
2997         Small docs updates.
2998
2999         * gst/gstobject.h:
3000         People think !! is ugly, this looks better.
3001
3002         * gst/gstpad.c: (gst_pad_set_blocked_async):
3003         Remove !! since it's fixed elsewhere now.
3004
3005 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3006
3007         * gst/gstminiobject.h:
3008         * gst/gstobject.h:
3009           Add !! to _FLAG_IS_SET macros to make the result boolean.
3010
3011 2005-11-03  Edward Hervey  <edward@fluendo.com>
3012
3013         * gst/gstpad.c: (gst_pad_set_blocked_async):
3014         comparing a flag and a gboolean rarely returns coherent results...
3015         Added two characters (!!) to make that work correctly.
3016         
3017 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3018
3019         * gst/gstbus.c: (gst_bus_class_init):
3020           Fix some typos.
3021           
3022         * gst/gstqueue.c: (gst_queue_loop):
3023           Don't assume a miniobject that isn't a buffer is an
3024           event (it could be that there is a refcounting
3025           problem somewhere and the pointer is stale and
3026           refers to an already destroyed miniobject).
3027
3028 2005-11-03  Julien MOUTTE  <julien@moutte.net>
3029
3030         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
3031
3032 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3033
3034         * docs/manual/advanced-position.xml:
3035           Update seek example and explanations to current 0.9 API.
3036
3037         * gst/elements/gsttypefindelement.c:
3038         (gst_type_find_element_activate):
3039           Remove FIXME comment now that the found caps
3040           are unreffed.
3041
3042 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3043
3044         * gst/gstregistryxml.c: (load_feature):
3045           Add another GST_STR_NULL instance
3046
3047 2005-11-02  Edward Hervey  <edward@fluendo.com>
3048
3049         * gst/gstpad.c: (handle_pad_block):
3050         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
3051         
3052 2005-11-02  Wim Taymans  <wim@fluendo.com>
3053
3054         * gst/gstbin.c:
3055         Fix typo in docs.
3056
3057         * gst/gstelement.c: (gst_element_commit_state):
3058         Remove unused value.
3059
3060         * gst/gstiterator.c:
3061         Mention that the returned element is reffed in the docs.
3062
3063 2005-11-02  Wim Taymans  <wim@fluendo.com>
3064
3065         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
3066         (gst_pad_push), (gst_pad_push_event):
3067         Unlock blocked pads when they are flushed.
3068
3069 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3070
3071         * docs/README:
3072         * docs/gst/gstreamer-sections.txt:
3073         * gst/gstbin.c:
3074           doc updates
3075         * gst/gstregistry.c: (gst_registry_scan_path_level):
3076           fix for a nasty little missed situation where an installed plug-in
3077           which was in the cache did not get overridden by an uninstalled one
3078           which was earlier in the plugin path because the newly created plugin
3079           for the uninstalled one (not in the registry) didn't get its
3080           ->registered set to TRUE
3081
3082 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3083
3084         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
3085         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
3086         (gst_collectpads_is_active), (gst_collectpads_collect),
3087         (gst_collectpads_collect_range), (gst_collectpads_start),
3088         (gst_collectpads_stop), (gst_collectpads_peek),
3089         (gst_collectpads_pop), (gst_collectpads_available),
3090         (gst_collectpads_read), (gst_collectpads_flush):
3091           Guard public API with assertions.
3092         
3093         * gst/gstpad.c:
3094           Fix docs for gst_pad_set_link_function().
3095
3096 2005-11-02  Johan Dahlin  <johan@gnome.org>
3097
3098         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
3099         Unref found_caps after we used it.
3100
3101 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3102
3103         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
3104           Don't try to ref NULL.
3105
3106 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3107
3108         * win32/common/config.h.in:
3109           provide a GST_FUNCTION that just gives a string for now
3110
3111 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3112
3113         * win32/common/gstenumtypes.c: (register_gst_object_flags),
3114         (gst_object_flags_get_type), (register_gst_bin_flags),
3115         (gst_bin_flags_get_type), (register_gst_buffer_flag),
3116         (gst_buffer_flag_get_type), (register_gst_bus_flags),
3117         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3118         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
3119         (gst_clock_return_get_type), (register_gst_clock_entry_type),
3120         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3121         (gst_clock_flags_get_type), (register_gst_state),
3122         (gst_state_get_type), (register_gst_state_change_return),
3123         (gst_state_change_return_get_type), (register_gst_state_change),
3124         (gst_state_change_get_type), (register_gst_element_flags),
3125         (gst_element_flags_get_type), (register_gst_core_error),
3126         (gst_core_error_get_type), (register_gst_library_error),
3127         (gst_library_error_get_type), (register_gst_resource_error),
3128         (gst_resource_error_get_type), (register_gst_stream_error),
3129         (gst_stream_error_get_type), (register_gst_event_type),
3130         (gst_event_type_get_type), (register_gst_seek_type),
3131         (gst_seek_type_get_type), (register_gst_seek_flags),
3132         (gst_seek_flags_get_type), (register_gst_format),
3133         (gst_format_get_type), (register_gst_index_certainty),
3134         (gst_index_certainty_get_type), (register_gst_index_entry_type),
3135         (gst_index_entry_type_get_type),
3136         (register_gst_index_lookup_method),
3137         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3138         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3139         (gst_index_resolver_method_get_type), (register_gst_index_flags),
3140         (gst_index_flags_get_type), (register_gst_debug_level),
3141         (gst_debug_level_get_type), (register_gst_debug_color_flags),
3142         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3143         (gst_iterator_result_get_type), (register_gst_iterator_item),
3144         (gst_iterator_item_get_type), (register_gst_message_type),
3145         (gst_message_type_get_type), (register_gst_mini_object_flags),
3146         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3147         (gst_pad_link_return_get_type), (register_gst_flow_return),
3148         (gst_flow_return_get_type), (register_gst_activate_mode),
3149         (gst_activate_mode_get_type), (register_gst_pad_direction),
3150         (gst_pad_direction_get_type), (register_gst_pad_flags),
3151         (gst_pad_flags_get_type), (register_gst_pad_presence),
3152         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3153         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3154         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3155         (gst_plugin_error_get_type), (register_gst_plugin_flags),
3156         (gst_plugin_flags_get_type), (register_gst_rank),
3157         (gst_rank_get_type), (register_gst_query_type),
3158         (gst_query_type_get_type), (register_gst_tag_merge_mode),
3159         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3160         (gst_tag_flag_get_type), (register_gst_task_state),
3161         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3162         (gst_alloc_trace_flags_get_type),
3163         (register_gst_type_find_probability),
3164         (gst_type_find_probability_get_type), (register_gst_uri_type),
3165         (gst_uri_type_get_type), (register_gst_parse_error),
3166         (gst_parse_error_get_type):
3167         * win32/common/gstversion.h:
3168           update win32 copies
3169
3170 2005-11-01  Luca Ognibene  <luogni@tin.it>
3171
3172         * gst/gst.c:
3173           fix docs. popt is dead, long live GOption.
3174
3175 2005-10-31  Wim Taymans  <wim@fluendo.com>
3176
3177         * gst/gstbuffer.h:
3178         Small doc fix.
3179
3180 2005-10-31  Andy Wingo  <wingo@pobox.com>
3181
3182         * Boo!
3183
3184         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
3185
3186         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
3187         need to serialize property notifications on GLib 2.8. GLib 2.6 has
3188         the possibility of deadlocks here if code calling notify() or
3189         set() has a lock that can be taken in another notify handler (ABBA
3190         with class lock and e.g. python GIL state lock).
3191
3192 2005-10-28  Julien MOUTTE  <julien@moutte.net>
3193
3194         * gst/gstbus.c: Doc updates.
3195
3196 2005-10-28  Wim Taymans  <wim@fluendo.com>
3197
3198         * docs/design/part-TODO.txt:
3199         * gst/gstiterator.c:
3200         * gst/gstsystemclock.c:
3201         * gst/gstsystemclock.h:
3202         Doc updates.
3203
3204 2005-10-28  Edward Hervey  <edward@fluendo.com>
3205
3206         * docs/gst/gstreamer-docs.sgml:
3207         * docs/gst/gstreamer-sections.txt:
3208         the GstURIType documentation page is private, it only defines GstURIType
3209         which should be defined in the GstURIHandler page
3210         
3211 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3212
3213         * gst/gstbin.c: (gst_bin_class_init):
3214         * gst/gstbin.h:
3215         * gst/gstutils.c:
3216         Documentation updates.
3217
3218 2005-10-28  Wim Taymans  <wim@fluendo.com>
3219
3220         * docs/gst/gstreamer-sections.txt:
3221         * gst/gstclock.c:
3222         * gst/gstclock.h:
3223         Documented the clocks.
3224
3225 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
3226
3227         * docs/gst/gstreamer-sections.txt:
3228           move some macros to private sections
3229         * gst/gstminiobject.c:
3230         * gst/gstminiobject.h:
3231           add descriptions provided by ds and some more
3232         * gst/gstpad.h:
3233           mark macro as to be removed
3234
3235 2005-10-28  Wim Taymans  <wim@fluendo.com>
3236
3237         * docs/design/part-TODO.txt:
3238         Add an item to TODO.
3239
3240         * gst/gstiterator.c: (gst_iterator_fold),
3241         (gst_iterator_find_custom):
3242         * gst/gstiterator.h:
3243         Add iterator docs.
3244
3245 2005-10-28  Wim Taymans  <wim@fluendo.com>
3246
3247         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3248         (gst_base_transform_init):
3249         Don't leak class.
3250
3251         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3252         An EOS event marks the queue as completely filled.
3253
3254 2005-10-27  Wim Taymans  <wim@fluendo.com>
3255
3256         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3257         (gst_base_sink_do_sync), (gst_base_sink_get_position):
3258         Some more debugging.
3259
3260         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3261         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3262         (gst_base_transform_event), (gst_base_transform_getrange),
3263         (gst_base_transform_chain):
3264         * gst/base/gstbasetransform.h:
3265         Fix debugging,
3266         Protect transform and concurrent buffer alloc with a new lock.
3267         Try not to break ABI/API.
3268
3269 2005-10-27  Wim Taymans  <wim@fluendo.com>
3270
3271         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3272         (gst_base_src_init), (gst_base_src_query),
3273         (gst_base_src_default_newsegment),
3274         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3275         (gst_base_src_send_event), (gst_base_src_event_handler),
3276         (gst_base_src_pad_get_range), (gst_base_src_loop),
3277         (gst_base_src_unlock), (gst_base_src_default_negotiate),
3278         (gst_base_src_start), (gst_base_src_deactivate),
3279         (gst_base_src_activate_push), (gst_base_src_change_state):
3280         Move some stuff around and cleanup things.
3281
3282 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
3283
3284         * gst/base/gstbasesrc.c: (gst_base_src_query):
3285           Add missing break statements.
3286
3287 2005-10-27  Wim Taymans  <wim@fluendo.com>
3288
3289         * check/gst/gstbin.c: (GST_START_TEST):
3290         An extra refcount is taken in basesrc.
3291
3292         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3293         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3294         (gst_base_src_loop):
3295         Small cleanups, check for flushing after being unlocked from the 
3296         LIVE_LOCK. take refcounts correctly (not yet everywhere).
3297         Don't send out EOS when going to READY.
3298
3299 2005-10-27  Wim Taymans  <wim@fluendo.com>
3300
3301         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3302         (gst_base_sink_get_position):
3303         Some more debug.
3304
3305         * gst/gstbin.c: (message_check), (bin_replace_message),
3306         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3307         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3308         (bin_query_duration_init), (bin_query_duration_fold),
3309         (bin_query_duration_done), (bin_query_generic_fold),
3310         (gst_bin_query):
3311         * tools/gst-launch.c: (main):
3312         Remove old option.
3313
3314 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
3315
3316         * examples/controller/audio-example.c: (main):
3317         * examples/queue/queue.c: (event_loop):
3318         * gst/base/gstbasetransform.h:
3319         * gst/gstelement.c: (gst_element_send_event):
3320         * gst/gstevent.h:
3321         * gst/gstpad.c: (gst_pad_send_event):
3322           fixing examples
3323           fixing docs typos
3324           changing log priority in error situations
3325
3326 2005-10-25  Wim Taymans  <wim@fluendo.com>
3327
3328         * gst/gstbin.c: (message_check), (bin_replace_message),
3329         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3330         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3331         (bin_query_duration_init), (bin_query_duration_fold),
3332         (bin_query_duration_done), (bin_query_generic_fold),
3333         (gst_bin_query):
3334         Some doc and debug updates.
3335         Cache previously requested query DURATION for speed. invalidate
3336         cached duration if element posts a DURATION message.
3337
3338 2005-10-25  Wim Taymans  <wim@fluendo.com>
3339
3340         * docs/design/part-TODO.txt:
3341         Update TODO.
3342
3343         * gst/gstbin.c: (message_check), (bin_replace_message),
3344         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3345         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3346         (bin_query_duration_init), (bin_query_duration_fold),
3347         (bin_query_duration_done), (bin_query_generic_fold),
3348         (gst_bin_query):
3349         Handle SEGMENT_START/DONE messages correctly.
3350         More evolved query algorithm that handles duration queries
3351         correctly.
3352
3353         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3354         (gst_element_get_state_func), (gst_element_abort_state),
3355         (gst_element_commit_state), (gst_element_lost_state):
3356         Some more debugging.
3357
3358         * gst/gstmessage.h:
3359         Added doc.
3360
3361 2005-10-25  Wim Taymans  <wim@fluendo.com>
3362
3363         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3364         Don't use invalid stream_time.
3365
3366         * gst/gstevent.c: (gst_event_new_newsegment):
3367         stream_time in newsegment cannot be undefined.
3368
3369 2005-10-24  Wim Taymans  <wim@fluendo.com>
3370
3371         * gst/gstbus.c:
3372         Doc fix.
3373
3374         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3375         (gst_queue_loop):
3376         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3377
3378 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
3379
3380         * docs/libs/tmpl/gstdparam.sgml:
3381         * docs/libs/tmpl/gstdplinint.sgml:
3382         * docs/libs/tmpl/gstdpman.sgml:
3383         * docs/libs/tmpl/gstdpsmooth.sgml:
3384         * docs/libs/tmpl/gstunitconvert.sgml:
3385           these are obsolete
3386
3387 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3388
3389         * configure.ac:
3390           back to HEAD
3391
3392 === release 0.9.4 ===
3393
3394 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3395
3396         * configure.ac:
3397           releasing 0.9.4, "Tyrannosaurus Rex"
3398
3399 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
3400
3401         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3402         (gst_file_sink_get_current_offset):
3403           Use fseeko() and ftello() if available. When falling back on
3404           lseek() to get the current offset, fflush() first to make sure
3405           everything is up-to-date and we get the right offset.
3406
3407 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3408
3409         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3410         * gst/base/gstbasesrc.c: (gst_base_src_loop):
3411         * gst/gsterror.c: (_gst_stream_errors_init):
3412         * gst/gsterror.h:
3413         * gst/gstqueue.c: (gst_queue_loop):
3414         * po/POTFILES.in:
3415           remove prematurely added error category and clean up the instances
3416
3417 2005-10-21  Wim Taymans  <wim@fluendo.com>
3418
3419         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3420         (gst_base_sink_get_position), (gst_base_sink_query),
3421         (gst_base_sink_change_state):
3422         Simply set the right flag when going to playing, that's all
3423         we need to do instead of calling a function inside the object
3424         lock (that could take the lock as well and deadlock)
3425
3426 2005-10-21  Wim Taymans  <wim@fluendo.com>
3427
3428         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
3429         (gst_base_src_loop):
3430         Don't warn, the peer element knows what to do best when
3431         the seek failed, it might try something else.
3432
3433 2005-10-21  Wim Taymans  <wim@fluendo.com>
3434
3435         * gst/base/gstbasesrc.c: (gst_base_src_init),
3436         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3437         Fix seeking.
3438
3439 2005-10-21  Wim Taymans  <wim@fluendo.com>
3440
3441         * docs/design/part-segments.txt:
3442         More docs.
3443
3444         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3445         Correctly set caps, even on the subbufer.
3446
3447 2005-10-21  Wim Taymans  <wim@fluendo.com>
3448
3449         * docs/gst/gstreamer-docs.sgml:
3450         * docs/gst/gstreamer-sections.txt:
3451         * gst/gstelement.h:
3452         * gst/gstevent.c:
3453         * gst/gstevent.h:
3454         * gst/gstmessage.h:
3455         * gst/gstpad.h:
3456         * gst/gstparse.h:
3457         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
3458         * gst/gsttask.h:
3459         * gst/gstutils.c:
3460         * gst/gstutils.h:
3461         And 2% more doc coverage.
3462
3463 2005-10-21  Andy Wingo  <wingo@pobox.com>
3464
3465         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
3466         position reporting.
3467
3468 2005-10-20  Wim Taymans  <wim@fluendo.com>
3469
3470         * gst/gsterror.c: (gst_error_get_message):
3471         * gst/gstparse.h:
3472         * gst/gstquery.h:
3473         * gst/gststructure.c:
3474         * gst/gsttrace.c:
3475         * gst/gstutils.c:
3476         More docs.
3477
3478 2005-10-20  Wim Taymans  <wim@fluendo.com>
3479
3480         * gst/gstbuffer.h:
3481         * gst/gstpad.c:
3482         * gst/gstparse.c:
3483         Another 1% more coverage.
3484
3485 2005-10-20  Wim Taymans  <wim@fluendo.com>
3486
3487         * docs/gst/gstreamer-sections.txt:
3488         * gst/gstelement.c: (gst_element_get_state_func),
3489         (gst_element_abort_state), (gst_element_commit_state),
3490         (gst_element_lost_state):
3491         * gst/gstevent.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/gstutils.c:
3496         Yay! 1% more docs coverage.
3497
3498 2005-10-20  Wim Taymans  <wim@fluendo.com>
3499
3500         * gst/gstpad.h:
3501         * gst/gstquery.c: (gst_query_set_position),
3502         (gst_query_parse_position), (gst_query_set_duration),
3503         (gst_query_parse_duration), (gst_query_new_convert):
3504         * gst/gstquery.h:
3505         * gst/gstutils.c: (gst_element_query_convert):
3506         * gst/gstutils.h:
3507         Docs and consistency fixes.
3508
3509 2005-10-20  Wim Taymans  <wim@fluendo.com>
3510
3511         * gst/gsttask.c:
3512         * gst/gsttask.h:
3513         More docs.
3514
3515 2005-10-20  Wim Taymans  <wim@fluendo.com>
3516
3517         * gst/gstbin.c: (message_check), (bin_replace_message),
3518         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3519         (update_degree), (gst_bin_sort_iterator_next),
3520         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
3521         Reworked the message handling a bit, cache the messages instead of
3522         only the senders. alows us to do more in the future.
3523
3524 2005-10-20  Wim Taymans  <wim@fluendo.com>
3525
3526         * docs/design/part-TODO.txt:
3527         Update TODO
3528
3529         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3530         (gst_base_sink_query):
3531         Don't use clock time to report position when in EOS.
3532
3533 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
3534
3535         * tools/gst-inspect.c: (print_interfaces),
3536         (print_element_properties_info), (print_element_info):
3537           Fix interface output with gst-inspect -a; don't print
3538           newlines after double/float properties.
3539
3540 2005-10-20  Wim Taymans  <wim@fluendo.com>
3541
3542         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3543         (gst_base_sink_query):
3544         Speed up current position calculation.
3545
3546         * gst/base/gstbasesrc.c: (gst_base_src_query),
3547         (gst_base_src_default_newsegment):
3548         Correctly set stream position in newsegment.
3549
3550         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
3551         (update_degree), (gst_bin_sort_iterator_next),
3552         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
3553         * gst/gstmessage.c: (gst_message_new_custom):
3554         Clean up debugging info
3555
3556         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
3557         (gst_queue_loop), (gst_queue_handle_src_query):
3558         Pause task faster.
3559
3560 2005-10-19  Wim Taymans  <wim@fluendo.com>
3561
3562         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3563         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3564         Fix query handling again.
3565
3566 2005-10-19  Wim Taymans  <wim@fluendo.com>
3567
3568         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3569         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3570         * gst/base/gstbasesrc.c: (gst_base_src_query):
3571         * gst/elements/gstfilesink.c: (gst_file_sink_query):
3572         * gst/elements/gsttypefindelement.c:
3573         (gst_type_find_handle_src_query), (find_element_get_length),
3574         (gst_type_find_element_activate):
3575         API change fix.
3576
3577         * gst/gstquery.c: (gst_query_new_position),
3578         (gst_query_set_position), (gst_query_parse_position),
3579         (gst_query_new_duration), (gst_query_set_duration),
3580         (gst_query_parse_duration), (gst_query_set_segment),
3581         (gst_query_parse_segment):
3582         * gst/gstquery.h:
3583         Bundling query position/duration is not a good idea since duration
3584         does not change much and we don't want to recalculate it for every
3585         position query, so they are separated again..
3586         Base value in segment query is not needed.
3587
3588         * gst/gstqueue.c: (gst_queue_handle_src_query):
3589         * gst/gstutils.c: (gst_element_query_position),
3590         (gst_element_query_duration), (gst_pad_query_position),
3591         (gst_pad_query_duration):
3592         * gst/gstutils.h:
3593         Updates for query API change.
3594         Added some docs here and there.
3595
3596 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3597
3598         * check/gst/gstbin.c: (GST_START_TEST):
3599         * check/gst/gstghostpad.c: (GST_START_TEST):
3600         * check/pipelines/cleanup.c: (GST_START_TEST):
3601           wait on thread to die so we can check refcount correctly
3602
3603 2005-10-18  Wim Taymans  <wim@fluendo.com>
3604
3605         * check/pipelines/stress.c: (GST_START_TEST):
3606         Make check a little more time consuming.
3607
3608 2005-10-18  Wim Taymans  <wim@fluendo.com>
3609
3610         * check/Makefile.am:
3611         * check/pipelines/stress.c: (GST_START_TEST),
3612         (simple_launch_lines_suite), (main):
3613         Small state change torture test.
3614
3615         * docs/design/part-states.txt:
3616         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3617         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
3618         (gst_base_sink_change_state):
3619         Never take state lock from streaming thread, clean up ugly
3620         hacks. Unfortunatly core does not yet support nice ways to
3621         async commit state.
3622         
3623         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
3624         (bin_bus_handler):
3625         Start state recalc if a STATE_DIRTY message is posted, but only
3626         on the toplevel bin.
3627
3628         * gst/gstelement.c: (gst_element_sync_state_with_parent),
3629         (gst_element_get_state_func), (gst_element_abort_state),
3630         (gst_element_commit_state), (gst_element_lost_state),
3631         (gst_element_set_state_func), (gst_element_change_state):
3632         * gst/gstelement.h:
3633         State variables are now protected with the LOCK, the state
3634         lock is only used to serialize _set_state().
3635
3636 2005-10-18  Wim Taymans  <wim@fluendo.com>
3637
3638         * check/gst/gstbin.c: (GST_START_TEST):
3639         * check/gst/gstmessage.c: (GST_START_TEST):
3640         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3641         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
3642         (bin_bus_handler):
3643         * gst/gstelement.c: (gst_element_abort_state),
3644         (gst_element_commit_state), (gst_element_lost_state):
3645         * gst/gstmessage.c: (gst_message_new_state_changed),
3646         (gst_message_new_state_dirty), (gst_message_new_segment_start),
3647         (gst_message_new_segment_done), (gst_message_new_duration),
3648         (gst_message_parse_state_changed),
3649         (gst_message_parse_segment_start),
3650         (gst_message_parse_segment_done), (gst_message_parse_duration):
3651         * gst/gstmessage.h:
3652         * tools/gst-launch.c: (event_loop):
3653         Seriously, this is better than a previous commit as we only need
3654         to notify the fact that an element changed state in a streaming
3655         thread, marking the state of the parents dirty, hence the 
3656         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
3657         message.
3658
3659 2005-10-18  Wim Taymans  <wim@fluendo.com>
3660
3661         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
3662         (gst_bin_recalc_func):
3663         * gst/gstelement.c: (gst_element_set_clock),
3664         (gst_element_abort_state), (gst_element_lost_state):
3665         Cleanups, prepare for state change fixes.
3666
3667 2005-10-18  Wim Taymans  <wim@fluendo.com>
3668
3669         * gst/gstbin.h:
3670         * gst/gstelement.c: (gst_element_class_init),
3671         (gst_element_set_state), (gst_element_set_state_func):
3672         * gst/gstelement.h:
3673         Pending ABI changes.
3674         GThreadPool in GstBinClass to monitor async state changes.
3675         state_cookie in GstElement to detect concurrent gst/set state.
3676         set_state is now virtual too in case a very complicated element
3677         has to be constructed.
3678
3679 2005-10-18  Wim Taymans  <wim@fluendo.com>
3680
3681         * check/gst/gstbin.c: (GST_START_TEST):
3682         * check/gst/gstmessage.c: (GST_START_TEST):
3683         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3684         * gst/gstbin.c: (bin_bus_handler):
3685         * gst/gstelement.c: (gst_element_commit_state),
3686         (gst_element_lost_state):
3687         * gst/gstmessage.c: (gst_message_new_state_changed),
3688         (gst_message_new_segment_start), (gst_message_new_segment_done),
3689         (gst_message_new_duration), (gst_message_parse_state_changed),
3690         (gst_message_parse_segment_start),
3691         (gst_message_parse_segment_done), (gst_message_parse_duration):
3692         * gst/gstmessage.h:
3693         * tools/gst-launch.c: (event_loop):
3694         Make messages future proof.
3695         state-change gets a flag if it was a message comming from the
3696         streaming thread.
3697         segment-start/stop can also be specified in other formats.
3698         A message to notify an app that a pipeline changed playback 
3699         duration.
3700         Also fix a GstMessage leak in -launch
3701
3702 2005-10-18  Andy Wingo  <wingo@pobox.com>
3703
3704         * gst/gstelement.c (gst_element_dispose): More helpful message.
3705
3706 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3707
3708         reviewed by: <delete if not using a buddy>
3709
3710         * common/gtk-doc.mak:
3711
3712 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3713
3714         * gst/gstregistry.c: (gst_registry_scan_path_level):
3715           unref a plug-in we get that was already initialized
3716
3717 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
3718
3719         * docs/gst/gstreamer-sections.txt:
3720         * docs/libs/gstreamer-libs-sections.txt:
3721         * gst/gstelement.h:
3722           add new api entries
3723           hide internal macro
3724
3725 2005-10-17  Andy Wingo  <wingo@pobox.com>
3726
3727         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
3728         cleanup.
3729
3730         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
3731
3732         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
3733
3734         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
3735         (gst_element_get_state_func): Better debug message.
3736         (gst_element_commit_state): s/INFO/DEBUG/.
3737         (gst_element_lost_state, gst_element_change_state): 
3738
3739         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
3740         (gst_message_new_custom): s/INFO/LOG/.
3741
3742 2005-10-17  Michael Smith <msmith@fluendo.com>
3743
3744         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3745           Check if end time is valid using end time, not start time.
3746
3747 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
3748
3749         * check/gst-libs/controller.c: (GST_START_TEST),
3750         (gst_controller_suite):
3751         * libs/gst/controller/gstcontroller.c:
3752         (gst_controlled_property_set_interpolation_mode):
3753         * libs/gst/controller/gstcontroller.h:
3754         * libs/gst/controller/gstinterpolation.c:
3755         * testsuite/controller/.cvsignore:
3756         * testsuite/controller/Makefile.am:
3757         * testsuite/controller/interpolator.c:
3758           merge controller testsuites
3759           fix broken tests
3760           remove mem-chunk from docs
3761
3762 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3763
3764         * gst/gstmemchunk.c:
3765         * gst/gstmemchunk.h:
3766         * gst/gsttrashstack.c:
3767         * gst/gsttrashstack.h:
3768           out.  get out.  you're fired.  to the Attic !
3769
3770 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3771
3772         * gst/gstcaps.c: (gst_caps_intersect):
3773           fix signedness issues in a (hopefully) correct way
3774         * gst/gstelement.c: (gst_element_pads_activate):
3775           some debugging
3776         * gst/gstobject.c: (gst_object_set_parent):
3777           some debugging
3778
3779 2005-10-17  Julien MOUTTE  <julien@moutte.net>
3780
3781         * gst/gstvalue.h: Fix prototypes.
3782
3783 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3784
3785         * docs/gst/gstreamer-sections.txt:
3786         * gst/gst.c: (gst_version_string):
3787         * gst/gst.h:
3788         * gst/gstversion.h.in:
3789         * win32/common/libgstreamer.def:
3790           add gst_version_string ()
3791
3792 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3793
3794         * configure.ac:
3795           clean up further
3796         * gst/gst.c: (init_post):
3797         * win32/common/config.h.in:
3798           it's PLUGINDIR now
3799         * gst/gstcaps.c: (gst_caps_intersect):
3800           use gint64, the range could be bigger than a guint
3801
3802 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3803
3804         * gst/gstclock.h:
3805           document potential problem in 2038
3806
3807 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3808
3809         * gst/gstcaps.c: (gst_caps_intersect):
3810           Fix guint j diving under 0
3811
3812 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3813
3814         * configure.ac:
3815         * win32/common/config.h:
3816         * win32/common/config.h.in:
3817           check for process.h, declares getpid() on Windows
3818         * gst/gstinfo.c:
3819           include process.h if we have it
3820         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
3821         * gst/gstmemchunk.h:
3822           fix signedness issues
3823         * win32/common/libgstreamer.def:
3824           fix get_type's
3825
3826 2005-10-16  Julien MOUTTE  <julien@moutte.net>
3827
3828         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
3829         fix. Because of unsigned ints, caps intersection was going nuts and
3830         trying to access structures with G_MAXUINT index. That fixes
3831         videotestsrc ! ffmpegcolorspace ! fakesink
3832         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
3833         consistency.
3834
3835 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3836
3837         * configure.ac:
3838           use the gettext macro
3839         * gst/elements/gstelements.c:
3840         * gst/gst.c:
3841         * gst/indexers/gstindexers.c:
3842           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
3843         * win32/common/config.h:
3844           updated config.h
3845         * win32/common/config.h.in:
3846           add the template to generate config.h
3847         * win32/common/gstenumtypes.c:
3848         * win32/common/gstversion.h:
3849           updated copies
3850
3851 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3852
3853         * gst/gst.c: (gst_version):
3854         * gst/gstversion.h.in:
3855           add the nano
3856
3857 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3858
3859         * gst/gstevent.h:
3860           Oops, add missing closing bracket.
3861
3862 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3863
3864         * configure.ac:
3865           use common m4's for argument checking
3866
3867 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3868
3869         * docs/gst/gstreamer-sections.txt:
3870         * gst/gstevent.h:
3871           Add GST_EVENT_TYPE_NAME() macro.
3872
3873 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3874
3875         * gst/gstinfo.c:
3876         * gst/gstpluginfeature.c:
3877         * gst/gsttask.c:
3878           privatize more symbols
3879
3880 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3881
3882         * configure.ac:
3883           add srcdir, builddir includes to GST_ALL_CFLAGS, since
3884           everything that uses GStreamer API should have the includes
3885
3886 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3887
3888         * docs/gst/gstreamer-sections.txt:
3889         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
3890         * gst/gstvalue.h:
3891           give each value a _get_type, removes the DATA exports
3892
3893 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3894
3895         * gst/gst.c:
3896         * gst/gst.h:
3897           remove _gst_registry_auto_load, not used anymore
3898         * gst/gstbin.c: (gst_bin_get_type):
3899         * gst/gstbin.h:
3900         * gst/gstelement.c: (gst_element_get_type):
3901         * gst/gstelement.h:
3902         * gst/gstobject.c: (gst_object_get_type):
3903         * gst/gstobject.h:
3904         * gst/gstpad.c: (gst_pad_get_type):
3905         * gst/gstpad.h:
3906           make _get_type functions similar, fixes data export from library
3907
3908 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3909
3910         * configure.ac:
3911           correctly make conditionals
3912         * gst/elements/Makefile.am:
3913         * gst/elements/gstelements.c:
3914           fix typo causing fdsrc not to build
3915
3916 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3917
3918         * testsuite/Makefile.am:
3919         * testsuite/bytestream/.cvsignore:
3920         * testsuite/bytestream/Makefile.am:
3921         * testsuite/bytestream/filepadsink.c:
3922         * testsuite/bytestream/gstbstest.c:
3923         * testsuite/bytestream/test1.c:
3924         * testsuite/bytestream/testfile1:
3925         * testsuite/caps/normalisation.c:
3926         * testsuite/caps/random.c: (main):
3927         * testsuite/cleanup/.cvsignore:
3928         * testsuite/cleanup/Makefile.am:
3929         * testsuite/cleanup/cleanup1.c:
3930         * testsuite/cleanup/cleanup2.c:
3931         * testsuite/cleanup/cleanup3.c:
3932         * testsuite/cleanup/cleanup4.c:
3933         * testsuite/cleanup/cleanup5.c:
3934         * testsuite/controller/interpolator.c:
3935         * testsuite/debug/printf_extension.c: (main):
3936         * testsuite/elements/tee.c:
3937         * testsuite/negotiation/.cvsignore:
3938         * testsuite/negotiation/Makefile.am:
3939         * testsuite/negotiation/pad_link.c:
3940         * testsuite/pad/Makefile.am:
3941         * testsuite/pad/chainnopull.c:
3942         * testsuite/pad/getnopush.c:
3943         * testsuite/pad/link.c:
3944         * testsuite/refcounting/sched.c: (create_pipeline):
3945         * testsuite/registry/Makefile.am:
3946         * testsuite/registry/gst-print-formats.c:
3947         * testsuite/schedulers/.cvsignore:
3948         * testsuite/schedulers/142183-2.c:
3949         * testsuite/schedulers/142183.c:
3950         * testsuite/schedulers/143777-2.c:
3951         * testsuite/schedulers/143777.c:
3952         * testsuite/schedulers/147713.c:
3953         * testsuite/schedulers/147819.c:
3954         * testsuite/schedulers/147894-2.c:
3955         * testsuite/schedulers/147894.c:
3956         * testsuite/schedulers/Makefile.am:
3957         * testsuite/schedulers/group_link.c:
3958         * testsuite/schedulers/queue_link.c:
3959         * testsuite/schedulers/relink.c:
3960         * testsuite/schedulers/unlink.c:
3961         * testsuite/schedulers/unref.c:
3962         * testsuite/schedulers/useless_iteration.c:
3963         * testsuite/states/bin.c:
3964           clean out/remove some stuff from the testsuite directories
3965
3966 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3967
3968         * configure.ac:
3969           check for some headers
3970         * gst/elements/Makefile.am:
3971         * gst/elements/gstelements.c:
3972           don't compile fdsrc without sys/socket.h
3973         * gst/indexers/Makefile.am:
3974         * gst/indexers/gstindexers.c: (plugin_init):
3975           don't compile fileindex without mmap
3976
3977 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3978
3979         * configure.ac:
3980           reorganize
3981           clean up
3982           document more
3983           remove cruft
3984         * check/Makefile.am:
3985         * docs/gst/Makefile.am:
3986         * examples/helloworld/Makefile.am:
3987         * gst/Makefile.am:
3988         * gst/base/Makefile.am:
3989         * gst/check/Makefile.am:
3990         * gst/elements/Makefile.am:
3991         * gst/indexers/Makefile.am:
3992         * gst/parse/Makefile.am:
3993         * libs/gst/controller/Makefile.am:
3994         * libs/gst/dataprotocol/Makefile.am:
3995         * examples/helloworld/helloworld.c: (event_loop):
3996           compile fixes, though it's not being compiled currently
3997
3998 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
3999
4000         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
4001           Add some simple tests for the new taglist date API.
4002
4003 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4004
4005         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
4006         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
4007           Beautify 'last-message' output: print 'none' for buffer timestamps
4008           and durations if none is set; improve alignment with next messages.
4009
4010 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4011
4012         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
4013         * gst/gstpluginfeature.h:
4014         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
4015         * gst/gstregistry.h:
4016         * docs/gst/gstreamer-sections.txt:
4017           Add new API to check plugin feature version requirements.
4018
4019         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
4020           Some basic tests for the above.         
4021
4022 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4023
4024         * gst/gststructure.c: (gst_structure_to_string):
4025           guard against NULL printf - happens when for example
4026           a message structure with GstClock gets serialized
4027
4028 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4029
4030         * gst/base/gstcollectpads.c: (gst_collectpads_event):
4031           Fix presumable copy'n'pasto.
4032
4033 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4034
4035         * gst/elements/gstfakesrc.h:
4036         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
4037         * gst/elements/gsttypefindelement.c:
4038           fix some signedness
4039         * gst/elements/gstfilesink.c: (gst_file_sink_render):
4040           I wonder if this could actually write +2GB files before
4041
4042 2005-10-13  Andy Wingo  <wingo@pobox.com>
4043
4044         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
4045         Fix Timmeke Waymans bug.
4046         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
4047         string of the proper length to gst_caps_from_string. There's a
4048         potential for, before this fix, that this could cause someone
4049         connecting over the network to cause a segfault if the payload is
4050         not NUL-terminated.
4051
4052 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4053
4054         * docs/design/draft-push-pull.txt:
4055         * docs/design/part-overview.txt:
4056         * docs/random/TODO-pre-0.9:
4057         * docs/random/old/ChangeLog.gstreamer:
4058         * gst/base/gstpushsrc.c:
4059         * gst/gstclock.c:
4060           fixed typos
4061
4062 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4063
4064         * gst/glib-compat.c: (gst_flags_get_first_value):
4065         * gst/glib-compat.h:
4066         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
4067         (gst_value_compare_double), (gst_value_serialize_flags):
4068           GLib 2.6 g_flags_get_first_value has a bug that triggers an
4069           infinite loop
4070
4071 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4072
4073         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4074         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4075           fix up debugging
4076         * tools/gst-launch.c: (event_loop):
4077           print out clock nicely
4078
4079 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4080
4081         * docs/gst/gstreamer-sections.txt:
4082         * gst/gsttaglist.h:
4083         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
4084         (gst_tag_list_get_date_index):
4085           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
4086           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
4087
4088 2005-10-13  Julien MOUTTE  <julien@moutte.net>
4089
4090         * gst/base/gstcollectpads.c: (gst_collectpads_event),
4091         (gst_collectpads_chain):
4092         * gst/base/gstcollectpads.h: Handle newsegment and store informations
4093         in CollectData.
4094
4095 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4096
4097         * docs/gst/gstreamer-sections.txt:
4098         * gst/gst.c:
4099         * gst/gsterror.h:
4100         * tools/gst-inspect.c: (main):
4101         * tools/gst-launch.c: (main):
4102         * tools/gst-run.c: (main):
4103         * tools/gst-xmlinspect.c: (main):
4104           fix GOption context leaks
4105           doc fixes
4106
4107 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4108
4109         * gst/gstbus.c:
4110           use HAVE_UNISTD_H
4111         * win32/common/config.h:
4112           update config
4113         * win32/vs6/grammar.dsp:
4114         * win32/vs6/libgstelements.dsp:
4115         * win32/vs6/libgstreamer.dsp:
4116           update vs6 files
4117
4118 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4119
4120         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4121         * gst/base/gstbasesrc.c: (gst_base_src_query):
4122           fix more guint64<->gdouble conversions
4123
4124 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4125
4126         * Makefile.am:
4127           add win32-update target
4128         * win32/common/gstconfig.h:
4129         * win32/common/gstenumtypes.c:
4130         * win32/common/gstenumtypes.h:
4131         * win32/common/gstversion.h:
4132           add files that visual studio can't generate
4133
4134 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4135
4136         * Makefile.am:
4137           add a win32-update target
4138         * configure.ac:
4139
4140 2005-10-12  Wim Taymans  <wim@fluendo.com>
4141
4142         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4143         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
4144         * gst/gstelement.c: (gst_element_commit_state),
4145         (gst_element_set_state):
4146         Protect flags with proper lock.
4147         unref provided cached clock in dispose.
4148
4149 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4150
4151         * gst/gst.c:
4152         * gst/gstminiobject.h:
4153         * gst/gstpad.h:
4154         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
4155           removed unused flags from miniobject
4156           doc fixes
4157
4158 2005-10-12  Wim Taymans  <wim@fluendo.com>
4159
4160         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4161         (gst_file_sink_event), (gst_file_sink_render):
4162         Flush before seeking.
4163
4164 2005-10-12  Andy Wingo  <wingo@pobox.com>
4165
4166         * gst/gst.c (gst_init_check): Ignore unknown options, as has
4167         always been the case.
4168
4169 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4170
4171         * check/gst/gstbin.c: (GST_START_TEST):
4172         * docs/gst/gstreamer-sections.txt:
4173         * gst/base/gstbasesink.c: (gst_base_sink_init):
4174         * gst/base/gstbasesrc.c: (gst_base_src_init),
4175         (gst_base_src_get_range), (gst_base_src_check_get_range),
4176         (gst_base_src_start), (gst_base_src_stop):
4177         * gst/base/gstbasesrc.h:
4178         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
4179         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4180         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
4181         (bin_bus_handler):
4182         * gst/gstbin.h:
4183         * gst/gstbuffer.h:
4184         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
4185         * gst/gstbus.h:
4186         * gst/gstelement.c: (gst_element_is_locked_state),
4187         (gst_element_set_locked_state), (gst_element_commit_state),
4188         (gst_element_set_state):
4189         * gst/gstelement.h:
4190         * gst/gstindex.c: (gst_index_init):
4191         * gst/gstindex.h:
4192         * gst/gstminiobject.h:
4193         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
4194         (gst_object_set_parent):
4195         * gst/gstobject.h:
4196         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4197         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4198         * gst/gstpad.h:
4199         * gst/gstpadtemplate.h:
4200         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4201         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4202         * gst/gstpipeline.h:
4203         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4204         (gst_file_index_commit):
4205         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4206         * testsuite/pad/link.c: (gst_test_src_init),
4207         (gst_test_filter_init), (gst_test_sink_init):
4208         * testsuite/states/locked.c: (main):
4209           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
4210           moved bitshift from macro to enum definition
4211
4212 2005-10-12  Wim Taymans  <wim@fluendo.com>
4213
4214         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
4215         * gst/elements/gstfilesink.c: (gst_file_sink_event),
4216         (gst_file_sink_render):
4217         Some more debugging info.
4218
4219 2005-10-12  Wim Taymans  <wim@fluendo.com>
4220
4221         * docs/design/part-states.txt:
4222         * tools/gst-launch.c: (main):
4223         Some doc updates.
4224         Revert non-intentional change.
4225
4226 2005-10-12  Wim Taymans  <wim@fluendo.com>
4227
4228         * check/gst/gstbin.c: (GST_START_TEST):
4229         * check/gst/gstelement.c: (GST_START_TEST):
4230         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4231         * check/gst/gstghostpad.c: (GST_START_TEST):
4232         * check/gst/gstpipeline.c: (GST_START_TEST):
4233         * check/pipelines/simple_launch_lines.c: (run_pipeline):
4234         * check/states/sinks.c: (GST_START_TEST):
4235         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4236         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4237         (gst_bin_remove_func), (gst_bin_get_state_func),
4238         (gst_bin_recalc_state), (gst_bin_change_state_func),
4239         (bin_bus_handler):
4240         * gst/gstelement.c: (gst_element_get_state_func),
4241         (gst_element_get_state), (gst_element_abort_state),
4242         (gst_element_commit_state), (gst_element_set_state),
4243         (gst_element_change_state), (gst_element_change_state_func):
4244         * gst/gstelement.h:
4245         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4246         (gst_pipeline_provide_clock_func):
4247         * gst/gstutils.c: (gst_element_link_pads_filtered):
4248         * tools/gst-launch.c: (main):
4249         * tools/gst-typefind.c: (main):
4250         Use GstClockTime in _get_state() instead of GTimeVal.
4251         Remove old code in gstutils.c
4252
4253 2005-10-12  Andy Wingo  <wingo@pobox.com>
4254
4255         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4256         removed.
4257
4258         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4259         there is no task. Shouldn't affect any code, as nothing in our
4260         plugins checks this return value.
4261         (gst_pad_stop_task): Also take the stream lock if the pad has no
4262         task. Docs updated.
4263
4264 2005-10-12  Wim Taymans  <wim@fluendo.com>
4265
4266         * gst/gstpad.c: (pre_activate), (post_activate),
4267         (gst_pad_activate_pull), (gst_pad_activate_push):
4268         Cleanup activation code. Reset old state if
4269         activation failed.
4270
4271 2005-10-12  Wim Taymans  <wim@fluendo.com>
4272
4273         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4274         (gst_base_sink_change_state):
4275         No need to prerol after receiving EOS.
4276
4277         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4278         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4279         * gst/elements/gstidentity.c: (gst_identity_event):
4280         Print events more verbosely.
4281
4282 2005-10-12  Wim Taymans  <wim@fluendo.com>
4283
4284         * check/Makefile.am:
4285         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4286         * check/states/sinks2.c:
4287         Moved sinks2 testcode in sinks check.
4288
4289         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4290         (gst_bin_remove_func), (gst_bin_recalc_state),
4291         (gst_bin_change_state_func), (bin_bus_handler):
4292         Fix potential race condition when _get_state() iterated over an
4293         ASYNC element right before it posted a state completion.
4294
4295         * gst/gstclock.h:
4296         Do proper cast here.
4297
4298         * gst/gstevent.c: (gst_event_new_newsegment),
4299         (gst_event_parse_newsegment):
4300         A playback rate of 0.0 is not allowed.
4301
4302 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4303
4304         * win32/common/config.h:
4305         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4306         (_trewinddir), (_ttelldir), (_tseekdir):
4307         * win32/common/dirent.h:
4308         * win32/common/gtchar.h:
4309         * win32/common/libgstbase.def:
4310         * win32/common/libgstreamer.def:
4311         * win32/vs6/grammar.dsp:
4312         * win32/vs6/gst_inspect.dsp:
4313         * win32/vs6/gst_launch.dsp:
4314         * win32/vs6/gstreamer.dsw:
4315         * win32/vs6/libgstbase.dsp:
4316         * win32/vs6/libgstelements.dsp:
4317         * win32/vs6/libgstreamer.dsp:
4318           Visual Studio 6 project files, and a new common directory.
4319           Phear.
4320
4321 2005-10-11  Wim Taymans  <wim@fluendo.com>
4322
4323         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4324         (gst_base_sink_do_sync), (gst_base_sink_query),
4325         (gst_base_sink_change_state):
4326         * gst/base/gstbasesink.h:
4327         Correctly parse newsegment info.
4328
4329 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4330
4331         * gst/gst.c: (init_post):
4332           split plugin paths correctly
4333
4334 2005-10-11  Wim Taymans  <wim@fluendo.com>
4335
4336         * check/gst/gstevent.c: (GST_START_TEST):
4337         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4338         (gst_base_sink_change_state):
4339         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4340         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4341         * gst/elements/gstfilesink.c: (gst_file_sink_event):
4342         * gst/gstevent.c: (gst_event_new_newsegment),
4343         (gst_event_parse_newsegment):
4344         * gst/gstevent.h:
4345         Added extra flag to newsegment for future API freeze.
4346         Updated check and base elements.
4347
4348 2005-10-11  Julien MOUTTE  <julien@moutte.net>
4349
4350         * gst/base/gstcollectpads.c: (gst_collectpads_init),
4351         (gst_collectpads_add_pad), (gst_collectpads_pop),
4352         (gst_collectpads_event), (gst_collectpads_chain):
4353         * gst/base/gstcollectpads.h: Handle EOS correctly.
4354
4355 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4356
4357         * tools/gst-launch.c: (main):
4358           more null protecting
4359
4360 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4361
4362         * gst/gst-i18n-lib.h:
4363           check for ENABLE_NLS, not GETTEXT_PACKAGE
4364         * gst/gstregistry.c: (gst_registry_add_plugin),
4365         (gst_registry_scan_path_level),
4366         (_gst_registry_remove_cache_plugins):
4367           protect possibly NULL strings
4368         * gst/parse/types.h:
4369           config.h already included before
4370         * tools/gst-inspect.c: (main):
4371           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4372           check for ENABLE_NLS, not GETTEXT_PACKAGE
4373         * tools/gst-launch.c: (main):
4374           check for ENABLE_NLS, not GETTEXT_PACKAGE
4375
4376 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4377
4378         * configure.ac:
4379           if we don't have glib, fail before testing 2.8
4380         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4381           fix a leak, should fix plugins-base testsuite
4382
4383 2005-10-11  Andy Wingo  <wingo@pobox.com>
4384
4385         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4386         take the mode we're going to as an arg. Go head and set the mode
4387         and flushing flags now, so that if the activate function starts a
4388         thread all the flags will be in the right state.
4389         (post_activate): Renamed also. Just handle making sure streaming
4390         finishes for the deactivation case, and setting the deactivated
4391         mode.
4392         (gst_pad_set_active): Complain loudly if deactivation fails.
4393         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4394         (gst_pad_activate_push): Adapt to pre/post_activate changes,
4395         remove the terrible hack.
4396
4397 2005-10-11  Wim Taymans  <wim@fluendo.com>
4398
4399         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4400         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4401         (gst_bin_recalc_state), (gst_bin_change_state_func),
4402         (gst_bin_dispose), (bin_bus_handler):
4403         * gst/gstbin.h:
4404         Prepare to make current EOS message queue more generic.
4405         Fix some typos.
4406
4407         * gst/gstevent.c: (gst_event_new_newsegment),
4408         (gst_event_parse_newsegment):
4409         * gst/gstevent.h:
4410         Rename base to stream_time.
4411
4412         * gst/gstmessage.h:
4413         Fix typo in docs.
4414
4415 2005-10-11  Wim Taymans  <wim@fluendo.com>
4416
4417         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4418         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
4419         (gst_bin_change_state_func), (bin_bus_handler):
4420         * gst/gstbin.h:
4421         Work on proper clock selection.
4422
4423 2005-10-11  Edward Hervey  <edward@fluendo.com>
4424
4425         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
4426         * libs/gst/controller/gstcontroller.h:
4427         Added GList* version of _remove_properties() in order to be able to wrap
4428         it in bindings.
4429
4430 2005-10-11  Wim Taymans  <wim@fluendo.com>
4431
4432         * docs/design/part-states.txt:
4433         Some more docs.
4434
4435         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
4436         (gst_bin_change_state_func), (bin_bus_handler):
4437         Doc updates. Don't distribute the same clock over and over again.
4438
4439         * gst/gstclock.c:
4440         * gst/gstclock.h:
4441         Doc updates.
4442
4443         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
4444         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
4445         (gst_pad_send_event):
4446         * gst/gstpad.h:
4447         Make probe emission threadsafe again.
4448         Register quarks and move _get_name() from utils.
4449         Doc updates.
4450
4451         * gst/gstpipeline.c: (gst_pipeline_class_init),
4452         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4453         Only redistribute the clock of it changed.
4454
4455         * gst/gstsystemclock.h:
4456         Doc updates. 
4457
4458         * gst/gstutils.c:
4459         * gst/gstutils.h:
4460         Moved the _flow_get_name() to GstPad.
4461
4462 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4463
4464         * check/gst-libs/gdp.c: (GST_START_TEST):
4465         * check/gst/gstcaps.c: (GST_START_TEST):
4466         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
4467         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
4468         (gst_dp_packet_from_caps):
4469           fix more valgrind warnings before turning up the heat
4470
4471 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4472
4473         * gst/parse/grammar.y:
4474           some cleanup before the hacking
4475
4476 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4477
4478         * gst/base/gstbasesrc.c: (gst_base_src_query):
4479           use conversions
4480         * gst/gstutils.c: (gst_guint64_to_gdouble),
4481         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
4482         * gst/gstutils.h:
4483           externalize, basesrc uses it
4484           obviously the implementation needs testing
4485
4486 2005-10-10  Wim Taymans  <wim@fluendo.com>
4487
4488         * tests/sched/Makefile.am:
4489         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
4490         (make_pipeline3), (make_pipeline4), (print_elem), (main):
4491
4492 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4493
4494         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
4495           apparently converting from guint64 to double is not implemented
4496           on MSVC
4497
4498 2005-10-10  Wim Taymans  <wim@fluendo.com>
4499
4500         * check/Makefile.am:
4501         * check/generic/states.c: (GST_START_TEST):
4502         * check/gst/gstbin.c: (GST_START_TEST):
4503         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4504         * check/states/sinks.c: (GST_START_TEST):
4505         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
4506         (main):
4507         Check fixes, use API as stated in design docs, remove hacks.
4508
4509         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4510         (gst_base_sink_change_state):
4511         Catch stopping our task while we're shutting down.
4512
4513         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
4514         (gst_bin_remove_func), (gst_bin_get_state_func),
4515         (gst_bin_recalc_state), (gst_bin_change_state_func),
4516         (bin_bus_handler):
4517         * gst/gstbin.h:
4518         * gst/gstelement.c: (gst_element_init),
4519         (gst_element_get_state_func), (gst_element_abort_state),
4520         (gst_element_commit_state), (gst_element_lost_state),
4521         (gst_element_set_state), (gst_element_change_state),
4522         (gst_element_change_state_func):
4523         * gst/gstelement.h:
4524         New state change algorithm (see #318116)
4525
4526         * gst/gstpipeline.c: (gst_pipeline_class_init),
4527         (gst_pipeline_init), (gst_pipeline_set_property),
4528         (gst_pipeline_get_property), (do_pipeline_seek),
4529         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4530         * gst/gstpipeline.h:
4531         Remove crude state change hacks.
4532
4533         * gst/gstutils.h:
4534         Remove crude hacks.
4535
4536         * tools/gst-launch.c: (main):
4537         Fixes for state change. Needs some more work to fully use the
4538         new stuff.
4539
4540 2005-10-10  Andy Wingo  <wingo@pobox.com>
4541
4542         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
4543
4544         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
4545         this flag, but it's not even in GLib 2.6. Odd. Hack around the
4546         issue.
4547
4548 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4549
4550         * gst/gstiterator.c: (gst_iterator_new):
4551           Fix my previous commit: GTypes passed to gst_iterator_new()
4552           can be fundamental types.
4553
4554 2005-10-10  Wim Taymans  <wim@fluendo.com>
4555
4556         * gst/gstelement.c: (gst_element_iterate_pad_list),
4557         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
4558         (gst_element_iterate_sink_pads):
4559         Use src/sink pads lists for the respective iterators instead
4560         of filtering.
4561
4562 2005-10-10  Andy Wingo  <wingo@pobox.com>
4563
4564         Merged in popt removal + GOption addition patch from Ronald, bug
4565         #169772.
4566
4567         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
4568         GstElement macros around, remove popt-related symbols, add goption
4569         stuff.
4570
4571         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
4572         
4573         * docs/gst/Makefile.am:
4574         * docs/libs/Makefile.am: No POPT_CFLAGS.
4575         
4576         * examples/manual/Makefile.am:
4577         * docs/manual/basics-init.xml: Doc updates with an example.
4578         
4579         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4580         (gst_init), (parse_one_option), (parse_goption_arg):
4581         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
4582         bit of hand merging and debugging to get the GOption stuff working
4583         tho.
4584         
4585         * tests/Makefile.am:
4586         * tools/Makefile.am:
4587         * tools/gst-inspect.c: (main):
4588         * tools/gst-launch.c: (main):
4589         * tools/gst-run.c: (main):
4590         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
4591
4592 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4593
4594         * gst/gstiterator.c: (gst_iterator_new):
4595           Add assertions to make sure passed GType is likely to really
4596           be a GType (as the compiler won't catch it if the size and
4597           GType arguments get mixed up, see #318447).
4598
4599 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
4600
4601         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4602
4603         * gst/gstbin.c: (gst_bin_iterate_sorted):
4604           Pass GType and size arguments to gst_iterator_new() in the right
4605           order (maybe we should make _new() take the GType as first argument
4606           just like _new_list()?) (#318447).
4607           
4608
4609 2005-10-10  Wim Taymans  <wim@fluendo.com>
4610
4611         * gst/gstelement.c: (gst_element_finalize):
4612         And free the GStaticRecMutex too
4613
4614 2005-10-10  Andy Wingo  <wingo@pobox.com>
4615
4616         * gst/gstelement.c (gst_element_init, gst_element_finalize):
4617         Allocate and free the mutex properly.
4618
4619         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
4620         New macros.
4621         (GstElement): The state_lock is now recursive. Rebuild your
4622         plugins, suckers. Old macros adapted.
4623
4624         * docs/gst/gstreamer-sections.txt: Doc updates.
4625
4626         * gst/gstutils.h:
4627         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
4628         (g_static_rec_cond_wait): Ported from state changes patch, while
4629         we wait on bug #317802 to be solved in a well-distributed GLib.
4630
4631         * gst/gstelement.c (gst_element_change_state_func): Renamed from
4632         gst_element_change_state, variable name changes.
4633         (gst_element_change_state): Split out of gst_element_set_state in
4634         preparation for the state change merge. Doesn't pay attention to
4635         the 'transition' argument.
4636         (gst_element_set_state): Updates, hopefully purely cosmetic.
4637         (gst_element_sync_state_with_parent): MT-safety. Ported from the
4638         state change patch.
4639         (gst_element_get_state_func): Renamed from get_state, cosmetic
4640         changes.
4641
4642 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4643
4644         * gst/elements/gstelements.c:
4645         * win32/GStreamer.vcproj:
4646         * win32/config.h:
4647         * win32/dirent.c: (_tseekdir):
4648         * win32/gst-inspect.vcproj:
4649         * win32/gst-launch.vcproj:
4650         * win32/gstconfig.h:
4651         * win32/gstelements.vcproj:
4652         * win32/gstenumtypes.c: (gst_object_flags_get_type):
4653         * win32/gstreamer.def:
4654         * win32/msvc71.sln:
4655           updates for the win32 build (patch from Sebastien Moutte)
4656
4657 2005-10-10  Andy Wingo  <wingo@pobox.com>
4658
4659         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
4660         gst_bin_get_state, cleaned up (but no logic changes).
4661         (bin_element_is_sink): Comment updates.
4662         (sink_iterator_filter): Remove needless cast.
4663         (gst_bin_iterate_sinks): Doc update.
4664         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
4665         cleaned up (but no logic changes).
4666
4667         * check/states/sinks.c (test_src_sink): Cleanups from the state
4668         change patch.
4669         (test_livesrc_sink): Sync on the state.
4670
4671         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
4672         the state change patch.
4673
4674         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
4675         change patch.
4676
4677         * check/gst/gstbin.c: Merge in some style fixes and additional
4678         checks from Wim's state change patch.
4679
4680 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4681
4682         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4683         (gst_type_find_helper):
4684           Check whether we have the requested data already in our list of
4685           cached buffers before pulling a new buffer; also make the buffer
4686           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
4687
4688 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4689
4690         * gst/gstcaps.c:
4691         * gst/gstevent.c:
4692           doc updates
4693         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
4694           don't use long long, it's not portable.  Replacing with
4695           gint64 seems to work; let's hope no skeletons fall out of the closet.
4696
4697 2005-10-10  Andy Wingo  <wingo@pobox.com>
4698
4699         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
4700
4701 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
4702
4703         * docs/gst/gstreamer-sections.txt:
4704         * gst/gstevent.c:
4705         * gst/gstevent.h:
4706         * gst/gstinfo.c:
4707         * gst/gstinfo.h:
4708         * gst/gstmessage.c: (gst_message_parse_state_changed):
4709         * gst/gstpad.c:
4710         * gst/gstpad.h:
4711           more docs, fix compilation
4712
4713 2005-10-09  Philippe Khalaf <burger@speedy.org>
4714         * gst/gstmessage.c:
4715           Fixed a few forgotten variables on previous commit
4716
4717 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4718
4719         * gst/base/gsttypefindhelper.c: (helper_find_peek):
4720           Fix evil typefind crasher: getrange() might return a short
4721           buffer at the end of a file, but gst_type_find_peek() must
4722           either return the full data as requested or NULL, but
4723           never a short buffer.
4724
4725 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4726
4727         * gst/gstmessage.c: (gst_message_new_state_changed),
4728         (gst_message_parse_state_changed):
4729         * gst/gstmessage.h:
4730           don't use "new", it's a C++ keyword
4731
4732 2005-10-08  Wim Taymans  <wim@fluendo.com>
4733
4734         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
4735         * gst/gstelement.c: (gst_element_post_message):
4736         * gst/gstpipeline.c: (gst_pipeline_change_state):
4737         Small docs and debug updates.
4738
4739 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4740
4741         * docs/gst/gstreamer-sections.txt:
4742         * gst/gstelementfactory.c:
4743         * gst/gstevent.c:
4744         * gst/gsttaglist.c:
4745           more docs
4746
4747 2005-10-08  Wim Taymans  <wim@fluendo.com>
4748
4749         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
4750         (gst_bin_dispose), (bin_bus_handler):
4751         Fix typos, add comments.
4752         Clear EOS list when going to PAUSED from any direction and do it
4753         in a threadsafe way.
4754         Get base time in a threadsafe way too.
4755         Fix confusing debug in the change_state function.
4756         Various other small cleanups.
4757         
4758         * gst/gstelement.c: (gst_element_post_message):
4759         Fix very verbose bus posting code.
4760
4761         * gst/gstpipeline.c: (gst_pipeline_class_init),
4762         (gst_pipeline_set_property), (gst_pipeline_get_property),
4763         (gst_pipeline_change_state):
4764         Small ARG_ -> PROP_ cleanup
4765
4766 2005-10-08  Wim Taymans  <wim@fluendo.com>
4767
4768         * gst/gstbin.c: (is_eos), (bin_bus_handler):
4769         Do a less CPU demanding EOS check because we can.
4770
4771 2005-10-08  Wim Taymans  <wim@fluendo.com>
4772
4773         * libs/gst/dataprotocol/dataprotocol.c:
4774         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
4775         (gst_dp_packet_from_event):
4776         * libs/gst/dataprotocol/dataprotocol.h:
4777         * libs/gst/dataprotocol/dp-private.h:
4778         It's about time we bump the version number.
4779         Since event types don't fit in the guint8 anymore describing
4780         the payload type, make payload type 16 bits wide.
4781
4782 2005-10-08  Wim Taymans  <wim@fluendo.com>
4783
4784         * docs/design/part-TODO.txt:
4785         * docs/design/part-clocks.txt:
4786         * docs/design/part-events.txt:
4787         * docs/design/part-gstbin.txt:
4788         * docs/design/part-gstelement.txt:
4789         * docs/design/part-gstpipeline.txt:
4790         * docs/design/part-live-source.txt:
4791         * docs/design/part-messages.txt:
4792         * docs/design/part-overview.txt:
4793         * docs/design/part-states.txt:
4794         Many doc updates.
4795
4796 2005-10-08  Wim Taymans  <wim@fluendo.com>
4797
4798         * gst/gstevent.c:
4799         * gst/gstevent.h:
4800         Fix event quark registration.
4801         Add some space between events so we can insert them in the
4802         right groups.
4803
4804 2005-10-08  Wim Taymans  <wim@fluendo.com>
4805
4806         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4807         (gst_base_sink_handle_buffer):
4808         Better log message.
4809
4810         * gst/gstbus.h:
4811         * gst/gstelement.h:
4812         More docs.
4813
4814         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4815         (gst_queue_set_property), (gst_queue_get_property):
4816         * gst/gstqueue.h:
4817         Remove old unused properties.
4818
4819 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4820         * docs/gst/gstreamer-sections.txt:
4821         * gst/gstmessage.c:
4822         * gst/gstmessage.h:
4823         * gst/gstminiobject.c:
4824         * gst/gstminiobject.h:
4825         * gst/gstobject.h:
4826         * gst/gstpad.h:
4827         * gst/gstutils.h:
4828           lots of new docs and doc fixes
4829
4830 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4831
4832         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
4833         * gst/gstplugin.h:
4834         * gst/gstregistry.c: (gst_registry_lookup_locked),
4835         (gst_registry_scan_path_level):
4836         * gst/gstregistryxml.c: (load_plugin):
4837           Only ever load one plugin for a given plugin basename.
4838           This ensures correct overriding of GST_PLUGIN_PATH over
4839           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
4840           system installed plugins.
4841
4842 2005-10-08  Wim Taymans  <wim@fluendo.com>
4843
4844         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4845         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
4846         Prepare for doing QOS.
4847
4848 2005-10-08  Wim Taymans  <wim@fluendo.com>
4849
4850         * check/gst/gstbin.c: (GST_START_TEST):
4851         * check/pipelines/cleanup.c: (GST_START_TEST):
4852         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
4853         Allow new clock message too.
4854
4855 2005-10-08  Wim Taymans  <wim@fluendo.com>
4856
4857         * gst/gstmessage.c: (gst_message_new_error),
4858         (gst_message_new_warning), (gst_message_new_tag),
4859         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4860         (gst_message_new_clock_lost), (gst_message_new_new_clock),
4861         (gst_message_new_segment_start), (gst_message_new_segment_done),
4862         (gst_message_parse_state_changed),
4863         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
4864         (gst_message_parse_new_clock):
4865         * gst/gstmessage.h:
4866         Also carry the clock in question.
4867
4868 2005-10-08  Wim Taymans  <wim@fluendo.com>
4869
4870         * gst/gstmessage.c: (gst_message_new_custom),
4871         (gst_message_new_eos), (gst_message_new_error),
4872         (gst_message_new_warning), (gst_message_new_tag),
4873         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4874         (gst_message_new_new_clock), (gst_message_new_segment_start),
4875         (gst_message_new_segment_done), (gst_message_parse_state_changed),
4876         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
4877         * gst/gstmessage.h:
4878         Clean up.
4879         Added clock related messages.
4880
4881         * gst/gstpipeline.c: (gst_pipeline_change_state):
4882         Post message when the clock changed.
4883
4884         * tools/gst-launch.c: (event_loop):
4885         Print new clock.
4886
4887 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
4888
4889         * tools/gst-inspect.c: (print_element_properties_info):
4890           Can't pass NULL strings to g_print() on windows.
4891
4892 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4893
4894         * docs/Makefile.am:
4895         * docs/gst/Makefile.am:
4896         * docs/gst/gstreamer-docs.sgml:
4897         * docs/gst/running.xml:
4898         * docs/version.entities.in:
4899           add a chapter on running GStreamer.
4900           document GST_DEBUG and GST_PLUGIN* env vars
4901
4902 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4903
4904         * Makefile.am:
4905           remove include dir
4906         * configure.ac:
4907           remove PLUGINS_BUILDDIR stuff
4908         * gst/gst.c: (init_post):
4909           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
4910         * idiottest.mak:
4911           remove, it was condescending and not needed
4912
4913 2005-10-08  Wim Taymans  <wim@fluendo.com>
4914
4915         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
4916         (gst_base_sink_handle_object), (gst_base_sink_event),
4917         (gst_base_sink_wait), (gst_base_sink_handle_event),
4918         (gst_base_sink_change_state):
4919         * gst/base/gstbasesink.h:
4920         Repost EOS message while going to PLAYING if still EOS.
4921         Make sure that when receiving a FLUSH_START we don't attempt
4922         to sync on the clock anymore.
4923
4924 2005-10-08  Wim Taymans  <wim@fluendo.com>
4925
4926         * tools/gst-launch.c: (event_loop):
4927         Better message printout.
4928
4929 2005-10-08  Wim Taymans  <wim@fluendo.com>
4930
4931         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
4932         (gst_bin_child_proxy_get_children_count):
4933         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
4934         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
4935         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
4936         (gst_child_proxy_set_valist):
4937         * gst/parse/grammar.y:
4938         Make ChildProxy threadsafe and fix mem leaks.
4939
4940 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4941
4942         * gst/gst.c: (init_post):
4943           debug the GST_PLUGIN_ env vars
4944
4945 2005-10-08  Wim Taymans  <wim@fluendo.com>
4946
4947         * check/gst/gstbin.c: (GST_START_TEST):
4948         * check/gst/gstmessage.c: (GST_START_TEST):
4949         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4950         * gst/gstelement.c: (gst_element_commit_state),
4951         (gst_element_lost_state):
4952         * gst/gstmessage.c: (gst_message_new_state_changed),
4953         (gst_message_parse_state_changed):
4954         * gst/gstmessage.h:
4955         * tools/gst-launch.c: (event_loop):
4956         Added extra field to STATE_CHANGE message with the pending
4957         state, which will be different from the new state soon.
4958
4959 2005-10-08  Wim Taymans  <wim@fluendo.com>
4960
4961         * gst/gstbus.c: (gst_bus_pop):
4962         * gst/gstclock.c:
4963         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
4964         Small cleanups and doc updates.
4965
4966 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4967
4968         * gst/gst.c: (init_pre):
4969         * gst/gstbin.c: (gst_bin_add_func):
4970           log distributing clocks and base time
4971         * gst/gstregistry.c: (gst_registry_add_plugin),
4972         (gst_registry_scan_path_level), (gst_registry_scan_path):
4973           clean up the debugging output a little
4974         * gst/gstutils.c: (gst_element_state_get_name):
4975           warn about a memleak (I've actually seen this be used, though
4976           it was probably a bug)
4977
4978 2005-10-07  Wim Taymans  <wim@fluendo.com>
4979
4980         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4981         (gst_base_src_init), (gst_base_src_default_newsegment),
4982         (gst_base_src_newsegment), (gst_base_src_do_seek),
4983         (gst_base_src_loop), (gst_base_src_start):
4984         * gst/base/gstbasesrc.h:
4985         Make the newsegment event customizable by subclasses.
4986
4987 2005-10-07  Wim Taymans  <wim@fluendo.com>
4988
4989         * gst/gstevent.c: (gst_event_new_buffersize),
4990         (gst_event_parse_buffersize):
4991         * gst/gstevent.h:
4992         New event for future idea.
4993
4994 2005-10-07  Andy Wingo  <wingo@pobox.com>
4995
4996         * gst/gstelement.c (gst_element_post_message): Doc update.
4997
4998         * docs/gst/gstreamer-sections.txt: Update.
4999
5000         * gst/gstmessage.c (gst_message_new_application): Made into a
5001         function like honest API calls.
5002         (gst_message_new_element): New message type.
5003
5004         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
5005
5006         * check/elements/fakesrc.c (test_no_preroll): New check, checks
5007         that setting a live fakesrc to PAUSED returns NO_PREROLL both
5008         times.
5009
5010         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
5011         NO_PREROLL from gst_element_change_state to fall through.
5012
5013 2005-10-07  Wim Taymans  <wim@fluendo.com>
5014
5015         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
5016         (gst_ghost_pad_do_activate_push):
5017         Activating a ghostpad with no internal pad in push mode
5018         is ok.
5019
5020 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5021
5022         * gst/gstobject.h:
5023           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
5024           Fixes compilation on Windows.
5025
5026 2005-10-07  Michael Smith <msmith@fluendo.com>
5027
5028         * tools/gst-inspect.c:
5029           Print out feature and plugin count at the end when printing out
5030           all features.
5031
5032 2005-10-04  Michael Smith <msmith@fluendo.com>
5033
5034         * gst/gsterror.c: (_gst_stream_errors_init):
5035           Add another error string used in a few existing plugins.
5036
5037         * gst/gstplugin.c:
5038         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5039         * tools/gst-inspect.c: (print_element_info):
5040           When a feature disappears from a plugin (and the feature exists in
5041           the cached registry file), things went horribly wrong. This isn't a
5042           complete fix, we should actually be removing the 'missing' features
5043           from the features list when we load the actual plugin. That's not
5044           yet implemented. 
5045
5046 2005-10-04  Johan Dahlin  <johan@gnome.org>
5047
5048         * check/gst/gstiterator.c: (GST_START_TEST):
5049         * gst/gstbin.c: (gst_bin_iterate_elements),
5050         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
5051         * gst/gstelement.c: (gst_element_iterate_pads):
5052         * gst/gstformat.c: (gst_format_iterate_definitions):
5053         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5054         (gst_iterator_new_list), (gst_iterator_filter):
5055         * gst/gstiterator.h:
5056         * gst/gstquery.c: (gst_query_type_iterate_definitions):
5057         Add a GType to GstIterator, update callsites and tests.
5058
5059 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5060
5061         * gst/gstpad.c: (gst_pad_event_default_dispatch):
5062           give events a chance to be handled by event probes when the pad
5063           is not linked
5064
5065 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5066
5067         * gst/gstevent.c: (gst_event_type_get_name),
5068         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
5069         * gst/gstevent.h:
5070           add string representations for event types
5071
5072 2005-10-06  Wim Taymans  <wim@fluendo.com>
5073
5074         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
5075         Don't use NULL pointers.
5076
5077 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5078
5079         * gst/gst_private.h:
5080         * gst/gstbus.c:
5081         * gst/gstelement.c:
5082         * gst/gstinfo.c:
5083         * gst/gstpluginfeature.c:
5084           widen the debug category in output to fit the biggest one we have
5085           add a bus category and use it
5086           play with the colors
5087           fix up some categories
5088
5089 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5090
5091         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
5092           add push activation of sink ghost pads.
5093           Andye, please verify
5094
5095 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5096
5097         * gst/gstutils.c: (gst_element_link_pads):
5098           fix a bug in the case where neither element has a pad
5099         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5100           add a test for that case
5101
5102 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5103
5104         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
5105           emit have-data before checking for peers.  This allows
5106           for probe handlers to connect elements.  This helps autopluggers.
5107         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
5108         (gst_pad_suite):
5109           add six checks, linked/unlinked with no/true/false probe
5110
5111 2005-10-04  Wim Taymans  <wim@fluendo.com>
5112
5113         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
5114         (gst_fake_sink_event), (gst_fake_sink_preroll),
5115         (gst_fake_sink_render), (gst_fake_sink_change_state):
5116         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
5117         (gst_fake_src_get_property), (gst_fake_src_create),
5118         (gst_fake_src_stop):
5119         * gst/elements/gstidentity.c: (gst_identity_stop):
5120         Protect last_message with lock.
5121
5122 2005-10-04  Edward Hervey  <edward@fluendo.com>
5123
5124         * gst/gstformat.h: 
5125         Added precision in the comments for GST_FORMAT_DEFAULT
5126
5127 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
5128
5129         * tools/gst-launch.c: (main):
5130           Don't try to run erroneous pipelines.
5131
5132 2005-10-04  Julien MOUTTE  <julien@moutte.net>
5133
5134         * gst/gstbus.c: We don't need this header.
5135
5136 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5137
5138         * configure.ac:
5139           back to development
5140
5141 === release 0.9.3 ===
5142
5143 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5144
5145         * README:
5146         * configure.ac:
5147           Releasing 0.9.3, "Unregistered"
5148
5149 2005-10-03  Andy Wingo  <wingo@pobox.com>
5150
5151         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
5152         whereby calling a pad's activatepush() function can start a thread
5153         that starts to push or pull before the pad gets the FLUSHING flag
5154         unset. Hack around it by holding the stream lock until the flag is
5155         set. Need to replace this with a proper solution. Together with
5156         the ghost pad fixes, this fixes mp3 playing/tagreading.
5157
5158         * docs/design/part-gstghostpad.txt: Add a note about activation of
5159         proxy pads outside of ghost pads.
5160
5161         * gst/gstghostpad.c: Implement the ghost pad activation design.
5162
5163 2005-10-02  Andy Wingo  <wingo@pobox.com>
5164
5165         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
5166         It is volatile, after all.
5167
5168         * docs/design/part-gstghostpad.txt: Flesh out activation with
5169         ghost pads.
5170
5171         * gst/base/gstbasesrc.c (gst_base_src_init): Use
5172         GST_DEBUG_FUNCPTR.
5173
5174 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5175
5176         * configure.ac:
5177           Fix (unused) AM_CONDITIONAL tests.
5178
5179 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
5180
5181         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5182
5183         * gst/gstutils.c: (gst_pad_query_convert):
5184           Add assertion that makes sure src_val is >=0, just like
5185           gst_query_new_convert() has. (#315895)
5186
5187 2005-09-30  Edward Hervey  <edward@fluendo.com>
5188
5189         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
5190         Let's not iterate pads we're not interested in, it avoids getting 
5191         sky-high refcounts on sinkpad.
5192
5193 2005-09-30  Wim Taymans  <wim@fluendo.com>
5194
5195         * gst/gstelement.c: (gst_element_set_state),
5196         (gst_element_change_state):
5197         Small tweak, element in ASYNC remains ASYNC.
5198
5199 2005-09-30  Wim Taymans  <wim@fluendo.com>
5200
5201         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5202         Only error is an error.
5203
5204         * gst/gstbin.c: (gst_bin_change_state):
5205         Better debugging.
5206
5207         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
5208         Also call pad_block in pad alloc.
5209
5210         * gst/gstutils.c: (gst_flow_get_name):
5211         Better debugging.
5212
5213 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5214
5215         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5216         (gst_base_src_get_range):
5217           Fix documentation typos. Add some more debug info.
5218
5219 2005-09-29  David Schleef  <ds@schleef.org>
5220
5221         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5222           more end-user friendly.
5223         * tools/gst-inspect.c: (main): Check if command-line argument is
5224           a file and attempt to load that file as a plugin.
5225
5226 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5227
5228         * check/gst/gstbin.c:
5229         * check/states/sinks.c:
5230           fix tests for the new warning
5231         * check/gst/gstpipeline.c:
5232           add a test for pipeline and bus interaction
5233         * gst/gstelement.c:
5234           elements should be NULL if they get disposed; add a warning if not
5235
5236 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5237
5238         * gst/gstobject.c:
5239           for 2.6 refcounting, make debug log more correct by printing
5240           the actual refcounts at the time of swap (Wim)
5241
5242 2005-09-29  Andy Wingo  <wingo@pobox.com>
5243
5244         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5245         removes signal watches previously added via
5246         gst_bus_add_signal_watch.
5247         (gst_bus_add_signal_watch): Don't return the source id, just store
5248         it on the bus if there wasn't an id already.
5249
5250         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5251         add_signal_watch and remove_signal_watch.
5252
5253 2005-09-29  Edward Hervey  <edward@fluendo.com>
5254
5255         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
5256         Better if we actually iterate the list :)
5257
5258 2005-09-29  Wim Taymans  <wim@fluendo.com>
5259
5260         * check/gst/gstbin.c: (GST_START_TEST):
5261         Change for new bus API.
5262
5263         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5264         (send_messages), (GST_START_TEST), (gstbus_suite):
5265         Change for new bus signal API.
5266
5267         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5268         (gst_bus_source_prepare), (gst_bus_source_check),
5269         (gst_bus_create_watch), (gst_bus_add_watch_full),
5270         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5271         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5272         * gst/gstbus.h:
5273         Remove support for multiple GSources operating on different
5274         message types as it is too complex and unneeded when using
5275         signals.
5276         Added support for receiving signals from the bus.
5277
5278 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5279
5280         * docs/libs/tmpl/gstdataprotocol.sgml:
5281         * docs/manual/advanced-dataaccess.xml:
5282         * gst/elements/gstcapsfilter.c:
5283         * gst/gstutils.c:
5284           rename filter-caps to caps property
5285
5286 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5287
5288         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5289           More robust fraction string parsing.
5290
5291         * docs/pwg/appendix-porting.xml:
5292           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5293
5294 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5295
5296         * gst/gstcaps.c: (gst_caps_do_simplify):
5297           Thou shalt not free a structure and then continue using it
5298           in the next loop iteration.
5299
5300         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5301         (gst_caps_suite):
5302           Add test case for caps simplification.
5303
5304 2005-09-29  Wim Taymans  <wim@fluendo.com>
5305
5306         * check/gst/gstbin.c: (GST_START_TEST):
5307         Oops.
5308
5309 2005-09-29  Wim Taymans  <wim@fluendo.com>
5310
5311         * check/gst/gstbin.c: (GST_START_TEST):
5312         Add bus to bin.
5313
5314         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5315         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5316         (find_element), (gst_bin_sort_iterator_next),
5317         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5318         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5319         (gst_bin_change_state), (gst_bin_dispose):
5320         A bin does not have a bus, it gets the bus from the parent.
5321
5322         * gst/gstelement.c: (gst_element_requires_clock),
5323         (gst_element_provides_clock), (gst_element_is_indexable),
5324         (gst_element_is_locked_state), (gst_element_change_state),
5325         (gst_element_set_bus_func):
5326         Small cleanups.
5327
5328         * gst/gstpipeline.c: (gst_pipeline_class_init),
5329         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5330         The pipeline provides a bus.
5331
5332 2005-09-28  Johan Dahlin  <johan@gnome.org>
5333
5334         * gst/gstmessage.c (gst_message_parse_state_changed): Use
5335         gst_structure_get_enum instead of gst_structure_get_int
5336
5337         * gst/gststructure.c (gst_structure_get_enum): Impl.
5338
5339         * gst/gststructure.h (gst_structure_get_enum): Add
5340
5341         * docs/gst/gstreamer-sections.txt: Ditto
5342
5343         * gst/gstmessage.c (gst_message_new_state_changed): Use
5344         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5345         which does introspection.
5346         Reviewed by Christian Schaller
5347
5348 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5349
5350         * gst/gstinfo.c: (gst_debug_log_default):
5351           don't do dummy g_strdup()s
5352         * libs/gst/controller/gstcontroller.c:
5353         (on_object_controlled_property_changed),
5354         (gst_controlled_property_new), (gst_controller_new_valist),
5355         (gst_controller_new_list),
5356         (gst_controller_remove_properties_valist), (gst_controller_set),
5357         (gst_controller_get), (gst_controller_sync_values),
5358         (gst_controller_get_value_array), (_gst_controller_class_init),
5359         (gst_controller_get_type):
5360         * libs/gst/controller/gstcontroller.h:
5361         * libs/gst/controller/gstinterpolation.c:
5362         (gst_controlled_property_find_timed_value_node):
5363           convert // to /**/ comments
5364
5365 2005-09-28  Wim Taymans  <wim@fluendo.com>
5366
5367         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5368         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5369         (gst_bus_sync_signal_handler):
5370         * gst/gstbus.h:
5371         Added async-message and sync-message signals to the bus.
5372         Added helper BusFunc to emit signals for all posted messages.
5373
5374         * gst/gstmessage.c: (gst_message_type_get_name),
5375         (gst_message_type_to_quark), (gst_message_get_type):
5376         * gst/gstmessage.h:
5377         Register quarks for message names.
5378
5379 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5380
5381         * docs/libs/gstreamer-libs-sections.txt:
5382         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5383         (gst_controller_new_list):
5384         * libs/gst/controller/gstcontroller.h:
5385           added another constructor for language bindings
5386
5387 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5388
5389         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5390           add another check
5391         * gst/gstbus.c:
5392           add some doc
5393         * gst/gstinfo.c: (_gst_debug_init):
5394           slightly more readable color for refcount debugging
5395
5396 2005-09-28  Wim Taymans  <wim@fluendo.com>
5397
5398         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5399         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5400         (find_element), (gst_bin_sort_iterator_next),
5401         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5402         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5403         (gst_bin_change_state), (gst_bin_dispose):
5404         Small doc fixes. get_clock -> provide_clock.
5405
5406         * gst/gstelement.c: (gst_element_class_init),
5407         (gst_element_provides_clock), (gst_element_provide_clock),
5408         (gst_element_get_clock), (gst_element_commit_state),
5409         (gst_element_lost_state):
5410         * gst/gstelement.h:
5411         Make get/set_clock() symetric. Add provide_clock vmethod since
5412         that is actually what this function does.
5413
5414         * gst/gstpipeline.c: (gst_pipeline_class_init),
5415         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
5416         (gst_pipeline_get_clock):
5417         get_clock -> provide_clock.
5418
5419 2005-09-28  Andy Wingo  <wingo@pobox.com>
5420
5421         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
5422         lieu of real docs...
5423
5424         * gst/elements/gstfdsrc.c: Cleaned up a bit.
5425
5426 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
5427
5428         * gst/elements/gstcapsfilter.c:
5429         * gst/elements/gstfakesink.c:
5430         * gst/elements/gstfakesrc.c:
5431         * gst/elements/gstfdsink.c:
5432         * gst/elements/gstfdsrc.c:
5433         * gst/elements/gstfilesink.c:
5434         * gst/elements/gstfilesrc.c:
5435         * gst/elements/gstidentity.c:
5436         * gst/elements/gsttee.c:
5437         * gst/elements/gsttypefindelement.c:
5438           Make element details static.
5439
5440 2005-09-28  Wim Taymans  <wim@fluendo.com>
5441
5442         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5443         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5444         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5445         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5446         (gst_bin_change_state), (gst_bin_dispose):
5447         Some documentation updates.
5448         Clean up dispose handlers.
5449
5450         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
5451         * gst/gstpad.c: (gst_pad_dispose):
5452         Clean up dispose handler.
5453
5454         * gst/gstpipeline.c: (gst_pipeline_change_state):
5455         Removed spurious UNLOCK.
5456
5457 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
5458
5459         * docs/gst/gstreamer-sections.txt:
5460         * gst/base/gstbasesrc.h:
5461         * gst/gstelement.h:
5462         * gst/gstevent.h:
5463         * gst/gstobject.h:
5464         * gst/gstpad.h:
5465         * gst/gstpipeline.c:
5466         * gst/gstpipeline.h:
5467         * gst/gstutils.h:
5468         * gst/gstxml.h:
5469           added two new functions to the docs
5470                 documents all undocumented GstXXXFlags
5471                 completed some incomplete docs 
5472
5473 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5474
5475         * gst/gstbin.c: (gst_bin_dispose):
5476         * gst/gstelement.c: (gst_element_dispose):
5477           remove now useless and leaky resurrection code in dispose
5478         * gst/base/gstbasesrc.c: (gst_base_src_init):
5479         * gst/gstelementfactory.c: (gst_element_factory_create):
5480         * gst/gstobject.c: (gst_object_set_parent):
5481           add some debugging
5482
5483 2005-09-27  Wim Taymans  <wim@fluendo.com>
5484
5485         * docs/design/part-TODO.txt:
5486         Update TODO.
5487
5488         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5489         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5490         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5491         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5492         (gst_bin_change_state):
5493         * gst/gstelement.h:
5494         Remove element variable, we keep element info in the iterator now.
5495
5496 2005-09-27  Andy Wingo  <wingo@pobox.com>
5497
5498         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
5499         values.
5500
5501 2005-09-27  Wim Taymans  <wim@fluendo.com>
5502
5503         * check/gst/gstbin.c: (GST_START_TEST):
5504         Enable check that works now.
5505
5506         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5507         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5508         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5509         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5510         (gst_bin_change_state):
5511         * gst/gstbin.h:
5512         Redid the state change algorithm using a topological sort algo.
5513         Handles all cases correctly.
5514         Exposed iterator for state change order.
5515
5516         * gst/gstelement.h:
5517         Temp storage for state changes. Need to get rid of this soon.
5518
5519 2005-09-27  Wim Taymans  <wim@fluendo.com>
5520
5521         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
5522         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
5523         (link_fold_func), (gst_pad_proxy_setcaps):
5524         Leak fixes, the fold functions need to unref the passed object and
5525         _get_parent_*() returns ref to parent.
5526
5527 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5528
5529         * check/gst/gstbuffer.c: (test_make_writable):
5530           Plug leak in test case and fix 'make check-valgrind'
5531
5532 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5533
5534         * gst/gstbuffer.c: (gst_subbuffer_init):
5535           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
5536           works correctly in all circumstances (we could have just copied
5537           the parent buffer's readonly flag, but conceptually it seems
5538           cleaner to mark all subbuffers as read-only). (based on patch
5539           by Alessandro Decina, #314710).
5540         
5541         * check/gst/gstbuffer.c: (create_read_only_buffer),
5542         (test_make_writable), (test_subbuffer_make_writable),
5543         (gst_test_suite):
5544           Add some tests for gst_buffer_make_writable().
5545
5546 2005-09-27  Wim Taymans  <wim@fluendo.com>
5547
5548         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
5549         use gst_object_has_ancestor().
5550
5551         * gst/gstobject.c: (gst_object_has_ancestor):
5552         * gst/gstobject.h:
5553         gst_object_has_ancestor() copied from gstbin.c as it is a
5554         usefull function.
5555
5556         * tests/instantiate/create.c: (create_all_elements):
5557         * tests/lat.c: (handoff_src), (handoff_sink):
5558         * tests/sched/runxml.c: (main):
5559         * tests/seeking/seeking1.c: (main):
5560         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
5561         (main):
5562         Fix compilation of some tests.
5563
5564 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5565
5566         * gst/gsterror.h:
5567           Remove comment. GST_TYPE_G_ERROR is here to stay,
5568           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
5569           (#316961, #300610).
5570
5571 2005-09-26  Wim Taymans  <wim@fluendo.com>
5572
5573         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5574         Added check that shows error in state change order.
5575
5576 2005-09-26  Wim Taymans  <wim@fluendo.com>
5577
5578         * gst/gstbin.c: (gst_bin_change_state):
5579         Make state change function use 3 queues again, we were
5580         adding elements in the wrong order.
5581
5582         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
5583         Some debug info,
5584
5585         * gst/gstpad.c: (gst_pad_dispose):
5586         Added some debug info first.
5587
5588 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
5589
5590         * docs/design/draft-push-pull.txt:
5591         * docs/design/part-events.txt:
5592         * docs/design/part-overview.txt:
5593         * docs/design/part-scheduling.txt:
5594           Replace all _pull_region() with _pull_range()
5595           
5596 2005-09-26  Andy Wingo  <wingo@pobox.com>
5597
5598         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
5599
5600         * check/gst-libs/controller.c: Update for controller api change.
5601
5602         * configure.ac: 
5603         * tests/Makefile.am:
5604         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
5605         over by GLib bug 118439.
5606         
5607         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
5608         routines to a function.
5609
5610         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
5611
5612         * libs/gst/controller/gsthelper.c:
5613         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
5614         (gst_object_sync_values): Renamed from sink_values. Ugh.
5615
5616         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
5617
5618         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
5619         Renamed from controller_key, as it is exported.
5620
5621         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
5622
5623 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5624
5625         * gst/Makefile.am:
5626         * gst/gst.h:
5627         * gst/gstpad.h:
5628         * gst/gstpadtemplate.h:
5629         * gst/gstquery.c:
5630         * gst/gstquery.h:
5631         * gst/gstqueryutils.c:
5632         * gst/gstqueryutils.h:
5633           remove queryutils headers after moving the two used functions
5634           to gstquery.  also fixes build problem for gstsiddec
5635
5636 2005-09-26  Michael Smith <msmith@fluendo.com>
5637
5638         * tools/gst-launch.1.in:
5639         Correct documentation in manpage of debug syntax
5640
5641 2005-09-26  Wim Taymans  <wim@fluendo.com>
5642
5643         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
5644         (gst_base_src_is_seekable), (gst_base_src_change_state):
5645         Some more debugging info.
5646
5647 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5648
5649         * docs/gst/gstreamer-sections.txt:
5650         * gst/base/gstbasetransform.h:
5651         * gst/gstindex.h:
5652           added more docs
5653
5654 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5655
5656         * docs/gst/.cvsignore:
5657         * docs/gst/tmpl/.cvsignore:
5658         * docs/gst/tmpl/gstpipeline.sgml:
5659         * docs/gst/tmpl/gstplugin.sgml:
5660         * gst/gstpipeline.c:
5661         * gst/gstplugin.c:
5662         * gst/gstplugin.h:
5663           inlined the last two docs files
5664           removed the tmpl directory from cvs (no more conflicts here!)
5665
5666 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5667
5668         * docs/gst/gstreamer-sections.txt:
5669         * docs/gst/tmpl/.cvsignore:
5670         * docs/gst/tmpl/gstpad.sgml:
5671         * docs/gst/tmpl/gstpadtemplate.sgml:
5672         * gst/Makefile.am:
5673         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
5674         (gst_pad_finalize), (gst_pad_set_pad_template):
5675         * gst/gstpad.h:
5676         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5677         (gst_pad_template_class_init), (gst_pad_template_init),
5678         (gst_pad_template_dispose), (name_is_valid),
5679         (gst_static_pad_template_get), (gst_pad_template_new),
5680         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
5681         (gst_pad_template_pad_created):
5682         * gst/gstpadtemplate.h:
5683           inlined two more docs
5684           factored gstpadtemplate out of gstpad
5685
5686 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
5687
5688         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5689         (test_children_state_change_order_semi_sink):
5690           Fix test case: we can't rely on a fixed state change order when
5691           going from READY => PAUSED because the sink might commit its 
5692           new state first when the first buffer created by the source 
5693           reaches the sink before the source has finished its change state.
5694           (Test case still fails at times, see #316856, comment 5 onwards)
5695
5696 2005-09-24  Wim Taymans  <wim@fluendo.com>
5697
5698         * docs/design/part-events.txt:
5699         * docs/design/part-gstbus.txt:
5700         * docs/design/part-gstpipeline.txt:
5701         * docs/design/part-messages.txt:
5702         * docs/design/part-overview.txt:
5703         * docs/design/part-segments.txt:
5704         * gst/gstbin.c:
5705         * gst/gstbuffer.c:
5706         * gst/gstclock.c:
5707         * gst/gstelement.c:
5708         * gst/gstevent.c:
5709         * gst/gstfilter.c:
5710         * gst/gstiterator.c:
5711         Various documentation updates.
5712
5713 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5714
5715         * gst/gstclock.h:
5716           Well, that's embarassing.  Luckily we weren't using
5717           GST_CLOCK_DIFF anywhere.
5718
5719 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5720
5721         * common/gtk-doc.mak:
5722           don't fail on building XML, FC4 slave shows a bunch of doc
5723           missing bits that I don't get
5724         * gst/gstpad.c:
5725         * gst/gstpipeline.c:
5726         * gst/gststructure.c:
5727           some doc updates
5728
5729 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5730
5731         * docs/design/part-gstbin.txt:
5732         * docs/design/part-gstbus.txt:
5733         * gst/gstbus.c:
5734           Add blurb about how the bus goes into flushing mode and
5735           drops all messages when its bin goes from READY into NULL 
5736           state.
5737
5738 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5739
5740         * docs/gst/gstreamer-sections.txt:
5741         * gst/gststructure.c: (gst_structure_get_clock_time):
5742         * gst/gststructure.h:
5743           add a method to get a GstClockTime out of a structure
5744
5745 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5746
5747         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5748         (test_children_state_change_order_semi_sink), (gst_bin_suite):
5749           Added test to check state change order in bins (can still be made
5750           to fail here under heavy disk load; bails out with 'Push on pad
5751           fakesink:sink0, but it was not activated in push mode').
5752
5753         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
5754           Fix state change order when there is only a semi sink (#316856)
5755
5756         * gst/gstbus.c: (gst_bus_class_init):
5757           Use _class_peek_parent(), not _class_ref(); fix docs to say
5758           'default main context' instead of 'mainloop' where that is
5759           what's meant.
5760
5761         * gst/gstelement.c: (gst_element_commit_state),
5762         (gst_element_set_state):
5763           Fix typos in debug messages
5764
5765 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5766
5767         * docs/README:
5768         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
5769         * gst/gstpluginfeature.c:
5770         * gst/gstutils.c:
5771           various doc updates
5772         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5773           change an assert into an error until it gets fixed properly
5774
5775 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
5776
5777         * docs/gst/gstreamer-sections.txt:
5778         * docs/gst/tmpl/.cvsignore:
5779         * docs/gst/tmpl/gstelement.sgml:
5780         * docs/gst/tmpl/gstinfo.sgml:
5781         * docs/gst/tmpl/gstobject.sgml:
5782         * gst/gstelement.c:
5783         * gst/gstelement.h:
5784         * gst/gstinfo.c:
5785         * gst/gstinfo.h:
5786         * gst/gstobject.c: (gst_object_class_init):
5787         * gst/gstobject.h:
5788           inlined 3 more biiiig doc files and added some missing docs on the fly
5789
5790 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5791
5792         * check/gst/.cvsignore:
5793         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
5794         * gst/gstregistryxml.c: (load_plugin),
5795         (gst_registry_xml_save_plugin):
5796           put back source in registry.  add checks for find_plugin.
5797         * testsuite/states/bin.c: (assert_state), (empty_bin),
5798         (test_adding_one_element), (main):
5799         * testsuite/states/locked.c: (main):
5800           some compile/run fixes
5801
5802 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5803
5804         * check/gst/gstvalue.c: (GST_START_TEST):
5805           fix leaks in the test itself
5806
5807 2005-09-22  Wim Taymans  <wim@fluendo.com>
5808
5809         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5810         (gst_base_sink_send_event), (gst_base_sink_peer_query),
5811         (gst_base_sink_query):
5812         Prepare for more accurate position reporting and query
5813         handling.
5814
5815         * gst/gstelement.c: (gst_element_send_event),
5816         (gst_element_set_state):
5817         Add some comment.
5818
5819 2005-09-22  Wim Taymans  <wim@fluendo.com>
5820
5821         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
5822         (gst_query_parse_segment):
5823         * gst/gstquery.h:
5824         More documentation.
5825         Add segment query for future use.
5826
5827 2005-09-22  Wim Taymans  <wim@fluendo.com>
5828
5829         * gst/gstbin.c: (gst_bin_add_func):
5830         Some more debug info.
5831
5832         * gst/gstelement.c: (gst_element_send_event):
5833         Simplify send_event
5834
5835         * gst/gstelement.h:
5836         Don't know how flags got broken.
5837
5838         * gst/gstquery.h:
5839         Added new query.
5840
5841 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5842
5843         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
5844           Add simplistic test suite for GST_TYPE_DATE serialisation and
5845           deserialisation.
5846
5847 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5848
5849         * docs/gst/gstreamer-sections.txt:
5850         * gst/gststructure.c: (gst_structure_set_valist),
5851         (gst_structure_get_date):
5852         * gst/gststructure.h:
5853         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
5854         (gst_date_copy), (gst_value_compare_date),
5855         (gst_value_serialize_date), (gst_value_deserialize_date),
5856         (gst_value_transform_date_string),
5857         (gst_value_transform_string_date), (_gst_value_initialize):
5858         * gst/gstvalue.h:
5859           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
5860           bunch of utility functions along with a hack that checks that
5861           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
5862           is required. Part of the grand scheme in #170777.
5863
5864 2005-09-22  Andy Wingo  <wingo@pobox.com>
5865
5866         * gst/gstconfig.h.in: Psych out gtk-doc.
5867
5868         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
5869
5870         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
5871
5872         * tools/gst-inspect.c (print_element_list): Plug some
5873         inconsequential leaks.
5874
5875         * gst/gstregistry.c (gst_registry_get_default): Doc.
5876
5877         * check/gst/gstplugin.c: 
5878         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
5879         * gst/gstelementfactory.c (gst_element_factory_create): 
5880         * gst/gstindexfactory.c (gst_index_factory_create): Update for
5881         refcount changes.
5882
5883         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
5884         (gst_plugin_feature_load): Doc, don't eat refs.
5885
5886         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
5887         (gst_plugin_list_free): Doc.
5888         (gst_plugin_load_file): Doc updates.
5889
5890         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
5891         accessors returning refcounted objects, return a ref.
5892
5893         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
5894         accessor for caps. IDEMPOTENCE. Oh yes.
5895
5896 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
5897
5898         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5899
5900         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
5901         (_gst_debug_register_funcptr):
5902           Add mutex to serialise access to the hash table with
5903           the function pointer => function name string mapping;
5904           make that hash table static scope (#316809).
5905
5906         * gst/registries/.cvsignore:
5907           Remove left-over file.
5908
5909 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5910
5911         * docs/pwg/appendix-porting.xml:
5912           And something about newsegment events and caps-on-buffers to
5913           the porting guide (feel free to improve).
5914
5915 2005-09-21  Andy Wingo  <wingo@pobox.com>
5916
5917         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
5918         data and event probes on the same pad.
5919         (test_buffer_probe_once): Test that removing probes from within
5920         the probe functions works.
5921
5922 2005-09-21  Andy Wingo  <wingo@pobox.com>
5923
5924         * check/gst/gstutils.c: New file.
5925         (test_buffer_probe_n_times): A simple buffer probe test. More to
5926         come, foolios.
5927
5928         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
5929         have-data::buffer, not have-data.
5930         (gst_pad_add_event_probe): Likewise for have-data::event.
5931         (gst_pad_add_data_probe): More docs. The part about 'resolving the
5932         peer' isn't quite right yet though.
5933         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
5934         (gst_pad_remove_data_probe): Change to take the guint handler_id
5935         as their arg, not the function+data, which is more glib-like.
5936
5937         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
5938         the signal emission to indicate if the data is a buffer or an
5939         event.
5940         (gst_pad_get_type): Initialize buffer and event quarks.
5941         (gst_pad_class_init): have-data is now a detailed signal, yes it
5942         is.
5943
5944 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
5945
5946         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
5947         * gst/gstutils.c: (gst_util_set_value_from_string),
5948         (gst_util_set_object_arg):
5949           Don't put functional code in g_return_if_fail() or
5950           g_return_val_if_fail() statements, otherwise things will 
5951           break when G_DISABLE_CHECKS is defined during compilation.
5952
5953 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5954
5955         * docs/gst/tmpl/.cvsignore:
5956         * docs/gst/tmpl/gstvalue.sgml:
5957         * gst/gstvalue.c:
5958         * gst/gstvalue.h:
5959           inlied another one and added  some obvious docs
5960
5961 2005-09-21  Wim Taymans  <wim@fluendo.com>
5962
5963         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5964         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
5965         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
5966         (gst_fdsrc_get_property), (gst_fdsrc_create):
5967         * gst/elements/gstfdsrc.h:
5968         Properly implement fdsrc. Removed signal and timeout,
5969         better implemented somewhere else.
5970
5971 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5972
5973         * docs/gst/tmpl/.cvsignore:
5974         * docs/gst/tmpl/gstimplementsinterface.sgml:
5975         * gst/gstinterface.c:
5976           inlined more docs
5977
5978 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5979
5980         * docs/gst/gstreamer-sections.txt:
5981         * docs/gst/tmpl/.cvsignore:
5982         * docs/gst/tmpl/gstenumtypes.sgml:
5983           remove obsolete doc file
5984
5985 2005-09-21  David Schleef  <ds@schleef.org>
5986
5987         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
5988         little beer, fix a little leak.
5989
5990 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
5991
5992         * docs/gst/gstreamer-docs.sgml:
5993         * docs/gst/gstreamer-sections.txt:
5994         * docs/gst/tmpl/.cvsignore:
5995         * gst/Makefile.am:
5996         * gst/gst.h:
5997         * gst/gstbin.c:
5998         * gst/gstelement.h:
5999         * gst/gstindex.c: (gst_index_class_init):
6000         * gst/gstindex.h:
6001         * gst/gstindexfactory.c: (gst_index_factory_get_type),
6002         (gst_index_factory_class_init), (gst_index_factory_init),
6003         (gst_index_factory_finalize), (gst_index_factory_new),
6004         (gst_index_factory_destroy), (gst_index_factory_find),
6005         (gst_index_factory_create), (gst_index_factory_make):
6006         * gst/gstindexfactory.h:
6007         * gst/gstpluginfeature.c:
6008         * gst/gstpluginfeature.h:
6009         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6010           more docs inlined, splitted gstindex.{c,h}
6011
6012 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6013
6014         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6015           fix a leak
6016
6017 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6018
6019         * gst/elements/gstfilesink.c: (gst_file_sink_init):
6020           Set sync to FALSE by default.
6021
6022 2005-09-20  Wim Taymans  <wim@fluendo.com>
6023
6024         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6025         (gst_base_sink_init):
6026         Make sync property settable from subclass.
6027
6028         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6029         (gst_fake_sink_change_state):
6030         Set sync to FALSE by default.
6031
6032 2005-09-20  Wim Taymans  <wim@fluendo.com>
6033
6034         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
6035         * tools/gst-launch.c: (main):
6036         The timeout handler should have lower priority than the source
6037         so we don't timeout before popping a message with 0 timeout.
6038         Dump error messages after failed state change.
6039
6040 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6041
6042         * tools/gst-inspect.c: (print_element_properties_info):
6043           Fix two typos.
6044
6045 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6046
6047         * check/gst/gstevent.c:
6048         * gst/elements/gstfakesink.c:
6049         * gst/elements/gstfakesink.h:
6050           remove the sync property from fakesink.
6051           has the side effect of setting sync TRUE
6052           for fakesink, which is a change.  Anyone who knows how
6053           to fix this nicely in a GObject-y way, feel free.
6054
6055 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6056
6057         * docs/gst/gstreamer-docs.sgml:
6058           remove probe refsection
6059
6060 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6061
6062         * check/Makefile.am:
6063           disable valgrinding the controller test again
6064         * docs/gst/gstreamer-sections.txt:
6065           update for api-changes
6066
6067 2005-09-20  Wim Taymans  <wim@fluendo.com>
6068
6069         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6070         (gst_base_sink_set_property), (gst_base_sink_get_property),
6071         (gst_base_sink_do_sync):
6072         * gst/base/gstbasesink.h:
6073         Added sync property to basesink to disable clock sync.
6074
6075 2005-09-20  Andy Wingo  <wingo@pobox.com>
6076
6077         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
6078         eating the caller's refcount.
6079
6080         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
6081         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
6082         refcount.
6083
6084         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
6085         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
6086         of GLib 2.8 public, so we can know which refcount to check in
6087         tests.
6088
6089         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
6090         (gst_object_init): Only set the gst refcount if we're going ahead
6091         with the refcount hack.
6092
6093 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6094
6095         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6096         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6097           more leaks plumbed, added more debug-logging
6098         * gst/gstmacros.h:
6099           whitespace fix
6100
6101 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6102
6103         * gst/gstmessage.c:
6104           remove include of gstmemchunk.h
6105
6106 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6107
6108         * gst/gstclock.c: (_gst_clock_id_free):
6109           Commit from the Political Party For More Atomic CVS Commits,
6110           so that people don't waste too much of their day fishing
6111           out obvious leaks out of massive commits.
6112           Oh, and fix a pretty damn obvious leak in the memchunk
6113           removal code.
6114
6115 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6116
6117         * check/Makefile.am:
6118         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6119           plug mem-leak, re-add to valgrindable tests
6120
6121 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6122
6123         * gst/gstplugin.h:
6124           unbreak the build for those who have chronic arthritis
6125           and typing "make check" is just too taxing on the hands
6126
6127 2005-09-20  Andy Wingo  <wingo@pobox.com>
6128
6129         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
6130         really want it out, you should fix plugins at the same time.
6131
6132 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
6133
6134         * configure.ac:
6135         * docs/gst/gstreamer-sections.txt:
6136         * gst/gstobject.c:
6137           added missing symbols to api docs
6138           disable ref-count hack if we have glib >= 2.8
6139
6140 2005-09-19  David Schleef  <ds@schleef.org>
6141
6142         * docs/gst/Makefile.am: Ignore a few more internal headers
6143         * docs/gst/gstreamer-docs.sgml: Remove old sections
6144         * docs/gst/gstreamer-sections.txt: Remove old sections
6145         * docs/gst/tmpl/gstobject.sgml: update
6146         * docs/gst/tmpl/gstplugin.sgml: update
6147         * docs/gst/tmpl/gstpluginfeature.sgml: update
6148         * docs/random/ds/0.9-suggested-changes: update.
6149         * gst/Makefile.am: remove memchunk and trashstack, since they're
6150           not used.
6151         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
6152         * gst/gst.h: don't include some headers
6153         * gst/gstchildproxy.c: add gstmarshal.h
6154         * gst/gstclock.c: Don't use memchunks
6155         * gst/gstminiobject.c: Add some docs
6156         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
6157         * gst/gstobject.h: same
6158         * gst/gstplugin.c: include gstmacros.h
6159         * gst/gstplugin.h: don't include gstmacros.h, since it's private
6160         * gst/gstquery.c: don't use memchunks
6161         * gst/gstregistry.c: rename gst_registry_deinit()
6162         * gst/gstregistry.h: same
6163
6164 2005-09-19  David Schleef  <ds@schleef.org>
6165
6166         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
6167         * docs/libs/gstreamer-libs-sections.txt:
6168         * docs/libs/tmpl/gstgetbits.sgml:
6169         * docs/libs/tmpl/gstputbits.sgml:
6170
6171 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6172
6173         * win32/gstenumtypes.c:
6174         * win32/gstenumtypes.h:
6175           Update.
6176
6177 2005-09-19  Wim Taymans  <wim@fluendo.com>
6178
6179         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
6180         Automatically PAUSE and RESUME a pipeline when a flushing seek
6181         is performed.
6182
6183 2005-09-19  Andy Wingo  <wingo@pobox.com>
6184
6185         * gst/gstregistry.h: Spacing fixen.
6186
6187 2005-09-19  Wim Taymans  <wim@fluendo.com>
6188
6189         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
6190         Handle state change failure more correctly.
6191
6192 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6193
6194         * check/Makefile.am:
6195         * check/pipelines/cleanup.c: (run_pipeline):
6196         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6197         (GST_START_TEST):
6198           enable cleanup again after fixing the leak
6199         * docs/README:
6200           some more info on docs
6201
6202 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6203
6204         * check/Makefile.am:
6205           re-enable tests now that leaks are plugged
6206         * check/gst/gst.c:
6207         * check/gst/gstbin.c:
6208         * check/gst/gstpipeline.c:
6209           add some more tests while fixing leaks
6210         * common/check.mak:
6211           make sure binaries are uptodate when valgrinding/gdbing
6212         * gst/gst.c:
6213         * gst/gstelementfactory.c:
6214           remove a ref too many, and add a FIXME for when we get
6215           round to disposing of classes
6216         * gst/gstplugin.c:
6217           fix the refcounting when loading a plugin from a file and
6218           the code pretends that the pointer is the same even though
6219           of course it can change
6220         * gst/gstpluginfeature.c:
6221           unref plugins marked cached (a bit confusing as a name)
6222           as the docs state should be done
6223           various doc additions to explain refcounting
6224         * gst/gstregistry.c:
6225         * gst/gstregistryxml.c:
6226           debugging
6227
6228 2005-09-19  Wim Taymans  <wim@fluendo.com>
6229
6230         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6231         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6232         (send_messages), (GST_START_TEST), (gstbus_suite):
6233         * check/gst/gstpipeline.c: (GST_START_TEST):
6234         * check/pipelines/cleanup.c: (run_pipeline):
6235         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6236         (GST_START_TEST):
6237         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6238         (gst_bus_source_check), (gst_bus_source_dispatch),
6239         (gst_bus_create_watch), (gst_bus_add_watch_full),
6240         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6241         * gst/gstbus.h:
6242         * tools/gst-launch.c: (event_loop):
6243         * tools/gst-md5sum.c: (event_loop):
6244         GstBusHandler -> GstBusFunc, return value has the same meaning as
6245         any other GSource (FALSE == remove source).
6246         _add_watch() and _add_watch_full() now take a MessageType mask to
6247         only handle specific types of messages.
6248         _poll() returns the GstMessage instead of the message type to avoid
6249         race conditions.
6250         _have_pending() takes a MessageType mask now too.
6251         Added testsuite for multiple bus watches.
6252         Fix testsuites and applications for new bus API.
6253
6254 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6255
6256         * check/Makefile.am:
6257           mark a bunch of the tests as to fix until we fix them
6258
6259 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6260
6261         * common/check.mak:
6262           use GST_PLUGIN settings for valgrind tests as well, so we're
6263           valgrinding the correct thing
6264         * gst/gst.c: (init_post):
6265           plug another leak
6266
6267 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6268
6269         * gst/gst.c: (init_post), (gst_deinit):
6270         * gst/gstelementfactory.c: (gst_element_factory_class_init),
6271         (gst_element_factory_finalize), (gst_element_factory_cleanup):
6272         * gst/gstindex.c: (gst_index_factory_class_init),
6273         (gst_index_factory_finalize):
6274         * gst/gstobject.c: (gst_object_dispose):
6275         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6276         (gst_plugin_load_file), (gst_plugin_desc_free):
6277         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6278         (gst_plugin_feature_finalize):
6279         * gst/gstregistry.c: (gst_registry_class_init),
6280         (gst_registry_init), (gst_registry_finalize),
6281         (gst_registry_get_default), (gst_registry_deinit):
6282         * gst/gstregistry.h:
6283         * gst/gstregistryxml.c: (load_feature), (load_plugin):
6284           various cleanups and memleak plugging.  make valgrind is happy now.
6285
6286 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6287
6288         * common/check.mak:
6289           add a check-valgrind target
6290
6291 2005-09-18  David Schleef  <ds@schleef.org>
6292
6293         * tools/gst-inspect.c: Revert the GOption code.
6294
6295 2005-09-17  David Schleef  <ds@schleef.org>
6296
6297         * check/Makefile.am: Fix environment variables.
6298         * check/gst/gstplugin.c: Fix for API changes.
6299         * tools/gst-inspect.c: Fix for API changes.
6300         * tools/gst-xmlinspect.c: Fix for API changes.
6301         * gst/gstelementfactory.c:
6302         * gst/gstplugin.c:
6303         * gst/gstplugin.h:
6304         * gst/gstpluginfeature.c:
6305         * gst/gstpluginfeature.h:
6306         * gst/gstregistry.c:
6307         * gst/gstregistry.h:
6308         * gst/gstregistryxml.c:
6309         * gst/gsttypefind.c:
6310         * gst/gsttypefindfactory.c:
6311         * gst/indexers/gstfileindex.c:
6312         * gst/indexers/gstmemindex.c:
6313         * gst/schedulers/Makefile.am:
6314           Change registry to keep track of both plugins and features,
6315           removing the feature tracking from plugins themselves.
6316
6317 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6318
6319         * check/Makefile.am:
6320         * tools/gst-register.1.in:
6321           remove gst-register
6322
6323 2005-09-15  David Schleef  <ds@schleef.org>
6324
6325         * check/gst/gstplugin.c:
6326         * gst/gstelementfactory.c:
6327         * gst/gstplugin.c:
6328         * gst/gstpluginfeature.c:
6329         * gst/gstregistry.c:
6330           Getting tired of debugging.  Disabled all the unreffing of
6331           plugins and features, which fixes the segfaults, but of
6332           course leaks like crazy.  At least playbin works.
6333
6334 2005-09-15  David Schleef  <ds@schleef.org>
6335
6336         * check/gst/gstplugin.c: (register_check_elements),
6337         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6338         More testing
6339         * gst/elements/gsttypefindelement.c: Fix refcounting.
6340         * gst/gsttypefind.c:
6341         * gst/gsttypefindfactory.c:
6342         * gst/gsttypefindfactory.h:
6343
6344 2005-09-15  David Schleef  <ds@schleef.org>
6345
6346         * gst/gstindex.c: get refcounting correct.
6347         * gst/gstregistry.c: Handle the case where a feature/plugin is
6348           not found.
6349
6350 2005-09-15  David Schleef  <ds@schleef.org>
6351
6352         * check/Makefile.am:
6353         * check/gst/gstplugin.c: Add test
6354         * gst/gstplugin.c: Fix problems noticed by testsuite
6355         * gst/gstplugin.h:
6356         * gst/gstregistry.c: 
6357         * gst/gstregistry.h:
6358
6359 2005-09-15  David Schleef  <ds@schleef.org>
6360
6361         * gst/gstplugin.c: Implement semi-decent recounting and locking
6362           in plugins and plugin features.
6363         * gst/gstplugin.h:
6364         * gst/gstpluginfeature.c:
6365         * gst/gstpluginfeature.h:
6366         * gst/gstregistry.c:
6367
6368 2005-09-15  Michael Smith <msmith@fluendo.com>
6369
6370         * gst/gstregistry.c: (gst_registry_get_feature_list):
6371           Implement this. Makes oggdemux work; decodebin still broken.
6372
6373 2005-09-14  David Schleef  <ds@schleef.org>
6374
6375         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6376           #316076)
6377         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6378         * gst/check/Makefile.am:
6379         * libs/gst/controller/Makefile.am:
6380         * libs/gst/dataprotocol/Makefile.am:
6381
6382 2005-09-14  David Schleef  <ds@schleef.org>
6383
6384         * configure.ac: Remove getbits library.  Nothing uses it, and
6385           it should be in something like liboil if someone did want
6386           to use it.
6387         * libs/gst/Makefile.am:
6388         * libs/gst/getbits/Makefile.am:
6389         * libs/gst/getbits/gbtest.c:
6390         * libs/gst/getbits/getbits.c:
6391         * libs/gst/getbits/getbits.h:
6392         * libs/gst/getbits/gstgetbits_generic.c:
6393         * libs/gst/getbits/gstgetbits_i386.s:
6394         * libs/gst/getbits/gstgetbits_inl.h:
6395
6396 2005-09-14  David Schleef  <ds@schleef.org>
6397
6398         * gst/Makefile.am: Dist glib-compat.h
6399
6400 2005-09-14  David Schleef  <ds@schleef.org>
6401
6402         * configure.ac: Remove gst/registries, since it's no longer used.
6403         * gst/registries/Makefile.am:
6404         * gst/registries/gstlibxmlregistry.c:
6405         * gst/registries/gstlibxmlregistry.h:
6406         * gst/registries/gstxmlregistry.c:
6407         * gst/registries/gstxmlregistry.h:
6408         * gst/registries/registrytest.c:
6409
6410 2005-09-14  David Schleef  <ds@schleef.org>
6411
6412         * gst/glib-compat.h:
6413         * gst/gstregistryxml.c:
6414           Convergence is near.  Seriously.
6415
6416 2005-09-14  David Schleef  <ds@schleef.org>
6417
6418         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6419         * gst/glib-compat.h:
6420           Attempt #4 to appease the buildbots.
6421
6422 2005-09-14  David Schleef  <ds@schleef.org>
6423
6424         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6425           Attempt #3.
6426
6427 2005-09-14  David Schleef  <ds@schleef.org>
6428
6429         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6430         Attempt #2.
6431
6432 2005-09-14  David Schleef  <ds@schleef.org>
6433
6434         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
6435           the new functions.
6436
6437 2005-09-14  David Schleef  <ds@schleef.org>
6438
6439         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6440         * gst/glib-compat.h: Add some functions that are in newer versions
6441           of glib than we care to require.
6442         * gst/gstregistryxml.c: Use them.
6443
6444 2005-09-14  David Schleef  <ds@schleef.org>
6445
6446         * po/POTFILES.in: remove gst-register.c
6447
6448 2005-09-14  David Schleef  <ds@schleef.org>
6449
6450         * docs/gst/gstreamer-docs.sgml:
6451         * docs/gst/gstreamer-sections.txt:
6452         * docs/gst/gstreamer.types:
6453         * docs/gst/tmpl/gstelement.sgml:
6454         * docs/gst/tmpl/gstplugin.sgml:
6455         * docs/gst/tmpl/gstpluginfeature.sgml:
6456           Documentation updates for registry changes.
6457
6458 2005-09-14  David Schleef  <ds@schleef.org>
6459
6460         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
6461           because we don't require glib-2.8.
6462
6463 2005-09-14  David Schleef  <ds@schleef.org>
6464
6465         * gst/gstregistryxml.c: Added.  Essentially moved out of the
6466           registries directory.
6467
6468 2005-09-14  David Schleef  <ds@schleef.org>
6469
6470         * check/Makefile.am:
6471         * check/generic/states.c:
6472         * gst/Makefile.am:
6473         * gst/gst.c:
6474         * gst/gst.h:
6475         * gst/gst_private.h:
6476         * gst/gstelementfactory.c:
6477         * gst/gstindex.c:
6478         * gst/gstinfo.c:
6479         * gst/gstplugin.c:
6480         * gst/gstplugin.h:
6481         * gst/gstpluginfeature.c:
6482         * gst/gstpluginfeature.h:
6483         * gst/gstregistry.c:
6484         * gst/gstregistry.h:
6485         * gst/gstregistrypool.c: remove
6486         * gst/gstregistrypool.h: remove
6487         * gst/gsttypefind.c:
6488         * gst/gsttypefindfactory.c:
6489         * gst/gsturi.c:
6490         * tools/Makefile.am:
6491         * tools/gst-compprep.c:
6492         * tools/gst-inspect.c:
6493         * tools/gst-register.c: remove
6494         * tools/gst-xmlinspect.c:
6495           Registry rewrite.  Changes registry from being a file created
6496           by a tool into a simple cache file created automatically by 
6497           libgstreamer.  Removed gst-register (because it's no longer
6498           needed).  Remove registry pools, because we only have one
6499           registry implementation (XML).  Fix up other subsystems as
6500           necessary.
6501
6502 2005-09-13  Michael Smith <msmith@fluendo.com>
6503
6504         * gst/gstconfig.h.in:
6505           Don't Use windows linking attributes for MinGW. Fixes #316157
6506
6507 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6508
6509         * gst/gstutils.c: (set_state_async_thread_func),
6510         (gst_element_set_state_async):
6511           Apparently people think it's better if this function doesn't
6512           try to set the state to whatever state was asked for on the first
6513           call to this function for any object.  Seriously.
6514
6515 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6516
6517         * check/gst/gstpipeline.c: (GST_START_TEST):
6518         * docs/gst/gstreamer-sections.txt:
6519         * gst/gstutils.c: (set_state_async_thread_func),
6520         (gst_element_set_state_async):
6521         * gst/gstutils.h:
6522           add a "gst_element_set_state_async" method that
6523           sets the state and starts a thread to make sure the state
6524           change completes as best as it can
6525
6526 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6527
6528         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6529           codify design+behaviour in testsuite after discussion
6530
6531 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6532
6533         * docs/gst/tmpl/gstelement.sgml:
6534         * docs/manual/appendix-quotes.xml:
6535           add a quote
6536         * gst/gstelement.c: (gst_element_set_state):
6537           add some debug
6538
6539 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
6540
6541         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6542         (gst_base_transform_prepare_output_buf),
6543         (gst_base_transform_handle_buffer):
6544         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
6545         (gst_capsfilter_prepare_buf):
6546           Remove the requirement for sub-classes to call the parent
6547           implementation of prepare_output_buffer with a wrapper function.
6548           
6549         * gst/gsttaglist.h:
6550         * gst/gsttagsetter.h:
6551           Fix #define wrapper
6552
6553 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
6554
6555         * docs/gst/gstreamer-sections.txt:
6556           more doc cleanups
6557
6558 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6559
6560         * docs/gst/gstreamer-sections.txt:
6561         * docs/gst/tmpl/gstelement.sgml:
6562         * docs/gst/tmpl/gstplugin.sgml:
6563         * gst/gstminiobject.c:
6564         * gst/gstvalue.h:
6565           docs now stop throwing warnings
6566
6567 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6568
6569         * docs/gst/gstreamer-sections.txt:
6570         * docs/gst/gstreamer.types:
6571         * docs/gst/tmpl/gstpad.sgml:
6572         * docs/gst/tmpl/gsttypes.sgml:
6573         * gst/base/gstadapter.h:
6574         * gst/base/gstbasesink.h:
6575         * gst/base/gstbasesrc.h:
6576         * gst/gstbin.h:
6577         * gst/gstbuffer.h:
6578         * gst/gstbus.h:
6579         * gst/gstcaps.h:
6580         * gst/gstclock.h:
6581         * gst/gstelement.h:
6582         * gst/gstevent.h:
6583         * gst/gstmessage.h:
6584         * gst/gstpad.h:
6585         * gst/gststructure.c:
6586         * gst/registries/gstlibxmlregistry.h:
6587           various documentation fixes
6588
6589 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6590
6591         * docs/gst/gstreamer-sections.txt:
6592         * docs/gst/tmpl/gstvalue.sgml:
6593           rearrange gstvalue section
6594         * gst/gstutils.c: (gst_element_state_get_name):
6595           NONE -> VOID
6596         * gst/gstvalue.c: (_gst_value_initialize):
6597         * gst/gstvalue.h:
6598           doc updates
6599
6600 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
6601
6602         * check/gst-libs/controller.c:
6603           Header include fix.
6604         * gst/base/gstbasetransform.c:
6605         (gst_base_transform_default_prepare_buf),
6606         (gst_base_transform_handle_buffer):
6607         * gst/base/gstbasetransform.h:
6608           Some more basetransform changes and fixes to enable sub-classes
6609           that modify buffer metadata only.
6610         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6611         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
6612         (gst_capsfilter_prepare_buf):
6613           If the output pad has fixed allowed caps and input buffers 
6614           don't have any, set the fixed caps on outgoing buffers.
6615
6616 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
6617         * check/elements/identity.c: (GST_START_TEST):
6618           Make the error a little clearer when the test fails because
6619           identity made a copy of the buffer.
6620         * docs/gst/gstreamer-sections.txt:
6621           New symbols in gstbasetransform.h
6622         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6623         (gst_base_transform_init), (gst_base_transform_transform_size),
6624         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6625         (gst_base_transform_default_prepare_buf),
6626         (gst_base_transform_get_unit_size),
6627         (gst_base_transform_buffer_alloc),
6628         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
6629         (gst_base_transform_change_state),
6630         (gst_base_transform_set_passthrough),
6631         (gst_base_transform_set_in_place),
6632         (gst_base_transform_is_in_place):
6633         * gst/base/gstbasetransform.h:
6634           Change BaseTransform to separate in_place operate from same_caps
6635           output. in_place implies that the element can perform the transform
6636           on incoming buffers in-place, even if the caps on the output are
6637           different.
6638           Sub-class elements can now implement special buffer allocation
6639           methods for outgoing buffers if they wish to.
6640           Big documentation addition.
6641         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
6642         * gst/elements/gstelements.c:
6643           Changes for basetransform modifications.
6644         * gst/elements/Makefile.am:
6645         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
6646           Compile fix. Extra debug output.
6647
6648 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6649
6650         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
6651         (gst_pad_suite):
6652           add tests for valid pad naming
6653         * gst/check/gstcheck.c: (gst_check_log_message_func),
6654         (gst_check_log_critical_func):
6655           add ASSERT_WARNING
6656           remove printing of code, it is fragile when the code contains
6657           % and the line number is enough info
6658         * gst/check/gstcheck.h:
6659         * gst/gstpad.c: (gst_pad_template_new):
6660           fix memleaks
6661
6662 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6663
6664         * configure.ac:
6665           say what CHECK flags we use
6666         * docs/libs/gstreamer-libs.types:
6667         * libs/gst/controller/Makefile.am:
6668         * libs/gst/controller/gst-controller.c:
6669         * libs/gst/controller/gst-controller.h:
6670         * libs/gst/controller/gst-helper.c:
6671         * libs/gst/controller/gst-interpolation.c:
6672         * libs/gst/controller/gstcontroller.c:
6673         * libs/gst/controller/gsthelper.c:
6674         * libs/gst/controller/gstinterpolation.c:
6675         * tools/gst-inspect.c: (print_plugin_info):
6676           we don't use dashes in header names
6677
6678 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6679
6680         * check/Makefile.am:
6681         * check/gst/.cvsignore:
6682         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
6683         (gst_pipeline_suite), (main):
6684           adding a test for pipelines and state changes
6685         * gst/gstutils.c: (get_state_func):
6686           add some debugging
6687         * gstreamer.spec.in:
6688           fix up spec file
6689
6690 2005-09-08  Michael Smith <msmith@fluendo.com>
6691
6692         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
6693         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
6694         (gst_file_src_is_seekable), (gst_file_src_get_size),
6695         (gst_file_src_start):
6696         * gst/elements/gstfilesrc.h:
6697           Various fixes for unseekable, unmmapable, and non-normal files, so
6698           that fallback to read() rather than mmap() works.
6699         * gst/gstevent.c: (gst_event_new_newsegment):
6700           Allow newsegment events with segment_start == segment_end, as will
6701           correctly happen if you use filesrc on a zero-size file, for
6702           example.
6703
6704 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6705
6706         * gst/gstplugin.c: (gst_plugin_load_file):
6707           Call g_module_close when we don't load the module
6708
6709         * gst/registries/gstlibxmlregistry.c:
6710         (gst_xml_registry_get_property):
6711           Port leak fix from 0.8
6712
6713 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6714
6715         * docs/gst/gstreamer-docs.sgml:
6716         * docs/gst/tmpl/.cvsignore:
6717         * docs/gst/tmpl/gsttrace.sgml:
6718         * docs/gst/tmpl/gsttrashstack.sgml:
6719         * gst/Makefile.am:
6720         * gst/gst.h:
6721         * gst/gstelement.h:
6722         * gst/gstevent.h:
6723         * gst/gstmessage.c:
6724         * gst/gstmessage.h:
6725         * gst/gsttag.c:
6726         * gst/gsttag.h:
6727         * gst/gsttaginterface.c:
6728         * gst/gsttaginterface.h:
6729         * gst/gsttaglist.c:
6730         * gst/gsttaglist.h:
6731         * gst/gsttagsetter.c:
6732         * gst/gsttagsetter.h:
6733         * gst/gsttrace.c:
6734         * gst/gsttrace.h:
6735         * gst/gsttrashstack.c:
6736           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
6737           inlined docs for gsttrace, gsttrashstack
6738
6739 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6740
6741         * gst/Makefile.am:
6742         * gst/elements/gstbufferstore.h:
6743         * gst/elements/gsttypefindelement.c:
6744         * gst/elements/gsttypefindelement.h:
6745         * gst/gst.h:
6746         * gst/gsttypefind.c:
6747         * gst/gsttypefind.h:
6748         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
6749         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
6750         (gst_type_find_factory_dispose),
6751         (gst_type_find_factory_unload_thyself),
6752         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
6753         (gst_type_find_factory_get_caps),
6754         (gst_type_find_factory_get_extensions),
6755         (gst_type_find_factory_call_function):
6756         * gst/gsttypefindfactory.h:
6757         * gst/registries/gstlibxmlregistry.c:
6758         * gst/registries/gstxmlregistry.c:
6759           splitted gsttypefind into gsttypefind, gsttypefindfactory
6760
6761 2005-09-07  Andy Wingo  <wingo@pobox.com>
6762
6763         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
6764         condition whereby the pad's task function is entered before the
6765         pad_mode variable was set.
6766
6767 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6768
6769         * gst/gstpad.c: (gst_pad_alloc_buffer):
6770           Catch misbehaving pad_alloc functions that don't
6771           set up caps and do it for them.
6772
6773 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6774
6775         * check/pipelines/simple_launch_lines.c: (run_pipeline):
6776           test for pipe!=NULL
6777         * docs/gst/tmpl/.cvsignore:
6778         * docs/gst/tmpl/gstmemchunk.sgml:
6779         * docs/gst/tmpl/gstparse.sgml:
6780         * docs/gst/tmpl/gsttaglist.sgml:
6781         * docs/gst/tmpl/gsttagsetter.sgml:
6782         * docs/gst/tmpl/gsttypefind.sgml:
6783         * docs/gst/tmpl/gsttypefindfactory.sgml:
6784         * gst/gstmemchunk.c:
6785         * gst/gstparse.c:
6786         * gst/gsttag.c:
6787         * gst/gsttaginterface.c:
6788         * gst/gsttypefind.c:
6789         * gst/gsttypefind.h:
6790           inlined more docs
6791
6792 === release 0.9.2 ===
6793
6794 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6795
6796         * NEWS:
6797         * RELEASE:
6798         * configure.ac:
6799           releasing 0.9.2, "South"
6800
6801 2005-09-05  Andy Wingo  <wingo@pobox.com>
6802
6803         * gst/registries/gstxmlregistry.h:
6804         * gst/registries/gstxmlregistry.c: Um... resurrect...
6805         
6806         * gst/registries/gstxmlregistry.h:
6807         * gst/registries/gstxmlregistry.c: and update to newer API.
6808         Incidentally they should be a bit faster now that they don't have
6809         to parse the caps.
6810         
6811 2005-09-05  Andy Wingo  <wingo@pobox.com>
6812
6813         * gst/registries/gstxmlregistry.h:
6814         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
6815         replaced by the libxml registry a while back
6816
6817 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6818
6819         * docs/gst/tmpl/gstplugin.sgml:
6820         * gst/elements/gstelements.c:
6821         * gst/gst.c:
6822         * gst/gstplugin.c: (gst_plugin_register_func),
6823         (gst_plugin_desc_copy), (gst_plugin_desc_free),
6824         (gst_plugin_get_source):
6825         * gst/gstplugin.h:
6826         * gst/registries/gstlibxmlregistry.c: (load_plugin),
6827         (gst_xml_registry_save_plugin):
6828         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
6829         (gst_xml_registry_save_plugin):
6830         * tools/gst-inspect.c: (print_plugin_info):
6831           add a "source" plugin description field, to represent the source
6832           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
6833           will set it to PACKAGE, which is automake's idea of the name of
6834           the source project.
6835
6836 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6837
6838         * Makefile.am:
6839         * autogen.sh:
6840         * configure.ac:
6841         * docs/Makefile.am:
6842         * docs/faq/Makefile.am:
6843         * docs/gst/tmpl/gstelement.sgml:
6844         * docs/gst/tmpl/gsttypes.sgml:
6845         * docs/htmlinstall.mak:
6846         * docs/manual/Makefile.am:
6847         * docs/pwg/Makefile.am:
6848           reorganize doc build a little
6849           split out docbook and gtk-doc stuff
6850           have two separate --enable's and enable them through autogen
6851           but disable by default in configure (to be similar to other
6852           projects)
6853         * gstreamer.spec.in:
6854           clean up docs install
6855         * po/af.po:
6856         * po/az.po:
6857         * po/ca.po:
6858         * po/cs.po:
6859         * po/de.po:
6860         * po/en_GB.po:
6861         * po/fr.po:
6862         * po/it.po:
6863         * po/nb.po:
6864         * po/nl.po:
6865         * po/ru.po:
6866         * po/sq.po:
6867         * po/sr.po:
6868         * po/sv.po:
6869         * po/tr.po:
6870         * po/uk.po:
6871         * po/vi.po:
6872           translation updates
6873
6874 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
6875
6876         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
6877           Add comment.
6878           
6879         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6880         (gst_fake_sink_change_state):
6881           Make state change function thread-safe.
6882           
6883         * gst/gstpad.c: (gst_pad_alloc_buffer):
6884           Set offset on generic buffer allocated by fallback.
6885
6886 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
6887
6888         * docs/gst/gstreamer-sections.txt:
6889         * docs/gst/tmpl/gstelement.sgml:
6890         * gst/gstpad.c:
6891         * libs/gst/controller/gst-controller.c:
6892         (gst_controlled_property_set_interpolation_mode),
6893         (gst_controlled_property_new),
6894         (gst_controller_find_controlled_property):
6895          run the wingo-magic script against the docs
6896
6897 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6898
6899         * docs/gst/gstreamer-docs.sgml:
6900         * docs/gst/gstreamer-sections.txt:
6901         * docs/gst/tmpl/.cvsignore:
6902         * docs/gst/tmpl/gstelementdetails.sgml:
6903         * docs/gst/tmpl/gstelementfactory.sgml:
6904         * gst/gst.c:
6905         * gst/gstbus.c:
6906         * gst/gstelementfactory.c:
6907         * gst/gstelementfactory.h:
6908           merged elementdetails docs into elementfactory docs
6909           inlined both
6910
6911 2005-09-02  Andy Wingo  <wingo@pobox.com>
6912
6913         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
6914         consider this enum an enum and not a flags.
6915
6916 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
6917
6918         * docs/gst/gstreamer-docs.sgml:
6919         * docs/gst/tmpl/.cvsignore:
6920         * docs/gst/tmpl/gstghostpad.sgml:
6921         * docs/gst/tmpl/gstiterator.sgml:
6922         * docs/gst/tmpl/gstmacros.sgml:
6923         * docs/gst/tmpl/gstrealpad.sgml:
6924         * docs/gst/tmpl/gstregistry.sgml:
6925         * docs/gst/tmpl/gstregistrypool.sgml:
6926         * docs/gst/tmpl/gststructure.sgml:
6927         * docs/gst/tmpl/gstsystemclock.sgml:
6928         * docs/gst/tmpl/gsttrace.sgml:
6929         * gst/gstghostpad.c:
6930         * gst/gstmacros.h:
6931         * gst/gstmemchunk.c:
6932         * gst/gstmemchunk.h:
6933         * gst/gstqueue.c:
6934         * gst/gstregistry.c:
6935         * gst/gstregistrypool.c:
6936         * gst/gststructure.c:
6937         * gst/gstsystemclock.c:
6938           more docs inlined
6939
6940 2005-09-02  Andy Wingo  <wingo@pobox.com>
6941
6942         * gst/gstelement.h (GstState): Renamed from GstElementState,
6943         changed to be a normal enum instead of flags.
6944         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
6945         munged to be GST_STATE_CHANGE_*.
6946         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
6947         work with the new state representation.
6948         (GstStateChange): New enumeration of possible state transitions.
6949         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
6950         (GstElementClass::change_state): Pass the GstStateChange along as
6951         an argument. Helps language bindings, so they don't have to use
6952         tricky lock-needing macros like GST_STATE_CHANGE ().
6953
6954         * scripts/update-states (file): New script. Run it on a file to
6955         update it for state naming and API changes. Updates files in
6956         place.
6957
6958         * All files updated for the new API.
6959
6960 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6961
6962         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
6963         * gst/gstutils.c: (gst_util_set_value_from_string),
6964         (gst_util_set_object_arg):
6965           fix a bunch of unchecked return values
6966         * tools/gst-complete.c: (main):
6967         * gstreamer.spec.in:
6968           clean up a little
6969
6970 2005-09-01  Wim Taymans  <wim@fluendo.com>
6971
6972         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6973         (gst_base_sink_event), (gst_base_sink_do_sync),
6974         (gst_base_sink_handle_event):
6975         * gst/base/gstbasesink.h:
6976         Handle newsegments more correctly.
6977
6978         * gst/gstbus.c:
6979         Fix docs.
6980
6981         * gst/gstevent.c: (gst_event_new_newsegment):
6982         A newsegment cannot have a start_time of -1
6983
6984 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
6985
6986         * win32/gstenumtypes.c:
6987         * win32/gstenumtypes.h:
6988           Update
6989
6990 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
6991
6992         * libs/gst/controller/gst-controller.c:
6993         (gst_controlled_property_set_interpolation_mode),
6994         (gst_controlled_property_new):
6995          fixed boolean again
6996
6997 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
6998
6999         * docs/faq/gst-uninstalled:
7000           add -good
7001         * gst/gstevent.c:
7002         * gst/gstevent.h:
7003           remove wrong docs
7004         * gst/gstutils.c: (gst_element_link_filtered):
7005         * gst/gstutils.h:
7006           add gst_element_link_filtered
7007
7008 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7009
7010         * docs/gst/gstreamer-docs.sgml:
7011         * docs/gst/gstreamer-sections.txt:
7012         * docs/gst/tmpl/.cvsignore:
7013         * docs/gst/tmpl/gsterror.sgml:
7014         * docs/gst/tmpl/gstfilter.sgml:
7015         * docs/gst/tmpl/gsturihandler.sgml:
7016         * docs/gst/tmpl/gsturitype.sgml:
7017         * docs/gst/tmpl/gstutils.sgml:
7018         * docs/gst/tmpl/gstxml.sgml:
7019         * gst/gsterror.c:
7020         * gst/gsterror.h:
7021         * gst/gstfilter.c:
7022         * gst/gsturi.c:
7023         * gst/gsturitype.c:
7024         * gst/gstutils.c:
7025         * gst/gstxml.c:
7026           inlined more docs, fixed double id-ref
7027
7028 2005-08-31  Wim Taymans  <wim@fluendo.com>
7029
7030         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7031         (gst_base_transform_handle_buffer):
7032         Passthrough elements don't need the caps as they don't care.
7033
7034 2005-08-31  Wim Taymans  <wim@fluendo.com>
7035
7036         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7037         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
7038         Don't leak refcounts on buffers.
7039
7040 2005-08-31  Wim Taymans  <wim@fluendo.com>
7041
7042         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
7043         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
7044         (gst_base_transform_chain), (gst_base_transform_change_state):
7045         * gst/base/gstbasetransform.h:
7046         Handle the case where we are not negotiated more gracefully.
7047
7048 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
7049
7050         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
7051         (gst_file_src_map_region):
7052           Set READONLY flag on mmap'ed buffers, otherwise
7053           gst_buffer_make_writable() won't work properly (#314708).
7054
7055 2005-08-31  Wim Taymans  <wim@fluendo.com>
7056
7057         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
7058         passthrough elements can even do inplace on non writable
7059         buffers (as they don't touch them).
7060
7061 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7062
7063         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7064         (gst_test_mono_source_set_property),
7065         (gst_test_mono_source_class_init), (GST_START_TEST),
7066         (gst_controller_suite):
7067           more tests (hehe I have the most)
7068         * gst/gstbus.c:
7069           describe popping messages whenusing mulltiple sources
7070         * libs/gst/controller/gst-controller.c:
7071         (gst_controlled_property_set_interpolation_mode),
7072         (gst_controlled_property_new):
7073         * libs/gst/controller/gst-controller.h:
7074         * libs/gst/controller/gst-interpolation.c:
7075           implement boolean properties
7076
7077 2005-08-31  Wim Taymans  <wim@fluendo.com>
7078
7079         * gst/gstminiobject.c: (gst_mini_object_ref):
7080         Cannot assert that the refcount has to be positive
7081         since a disposed object can be resurrected.
7082
7083 2005-08-31  Wim Taymans  <wim@fluendo.com>
7084
7085         * gst/gstpad.c: (gst_pad_init):
7086         Revert change, need to first fix badly behaving 
7087         apps.
7088
7089 2005-08-30  Wim Taymans  <wim@fluendo.com>
7090
7091         * check/elements/fakesrc.c: (setup_fakesrc):
7092         * check/elements/identity.c: (setup_identity):
7093         Activate pads before using them.
7094
7095 2005-08-30  Wim Taymans  <wim@fluendo.com>
7096
7097         * gst/base/gstadapter.c: (gst_adapter_flush):
7098         Flushing out 0 bytes is ok for this function.
7099
7100         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7101         no newsegment gives a warning and sets the start/stop to 
7102         invalid.
7103
7104         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
7105         (gst_base_transform_set_passthrough):
7106         Some debug info.
7107
7108         * gst/gstminiobject.c: (gst_mini_object_ref):
7109         Check refcount here too.
7110
7111         * gst/gstpad.c: (gst_pad_init):
7112         Pads are initially flushing and refusing data.
7113
7114         * gst/gstutils.c: (gst_element_link_pads_filtered):
7115         When adding a capsfilter element make sure it has the
7116         same state as the parent bin.
7117
7118 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7119
7120         * docs/gst/tmpl/.cvsignore:
7121         * docs/gst/tmpl/gstformat.sgml:
7122         * docs/gst/tmpl/gstversion.sgml:
7123         * gst/gstbus.h:
7124         * gst/gstformat.c:
7125         * gst/gstformat.h:
7126         * gst/gstversion.h.in:
7127           more docs and two more inlined
7128
7129 2005-08-30  Wim Taymans  <wim@fluendo.com>
7130
7131         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
7132         Don't sync to clock.
7133
7134 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7135
7136         * docs/gst/gstreamer-sections.txt:
7137           ultral33t func10ns deserve to appear in the docs actually
7138         * docs/gst/tmpl/.cvsignore:
7139         * docs/gst/tmpl/gstcompat.sgml:
7140         * docs/gst/tmpl/gstconfig.sgml:
7141         * gst/check/gstcheck.c:
7142         * gst/gstcompat.h:
7143         * gst/gstconfig.h.in:
7144           inlined more docs
7145
7146 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7147
7148         * docs/gst/tmpl/.cvsignore:
7149         * docs/gst/tmpl/gstquery.sgml:
7150         * docs/gst/tmpl/gstutils.sgml:
7151         * gst/gstquery.c:
7152         * gst/gstquery.h:
7153           inlined and extended docs
7154
7155 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7156
7157         * check/gst-libs/controller.c: (GST_START_TEST),
7158         (gst_controller_suite):
7159           more tests
7160         * docs/gst/tmpl/gstutils.sgml:
7161         * docs/libs/gstreamer-libs-sections.txt:
7162         * docs/libs/tmpl/gstdataprotocol.sgml:
7163           include path fixes
7164         * examples/controller/audio-example.c: (main):
7165           controller example works now
7166         * gst/gstclock.h:
7167           doc fixes
7168         * tools/gst-inspect.c: (print_element_properties_info):
7169           show param spec flags
7170
7171 2005-08-29  Andy Wingo  <wingo@pobox.com>
7172
7173         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
7174
7175 2005-08-28  Andy Wingo  <wingo@pobox.com>
7176
7177         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
7178         as having two arguments instead of just one. Allows superclasses
7179         to access information on subclasses -- see the terrible for() loop
7180         in gtype.c:g_type_create_instance for the reason why. All callers
7181         changed.
7182
7183 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7184
7185         * docs/design/part-messages.txt:
7186           update info
7187         * docs/gst/tmpl/.cvsignore:
7188         * docs/gst/tmpl/gstcaps.sgml:
7189         * docs/gst/tmpl/gstclock.sgml:
7190         * gst/gstbus.c:
7191         * gst/gstcaps.c:
7192         * gst/gstcaps.h:
7193         * gst/gstclock.c:
7194         * gst/gstclock.h:
7195         * gst/gstmessage.c:
7196           added descriptions for bus and message
7197           inline caps and clock docs
7198
7199 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7200
7201         * gst/gstmessage.c:
7202         * gst/gstmessage.h:
7203           doc fixes
7204
7205 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7206
7207         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7208           fix div-by-zero
7209
7210 2005-08-26  Andy Wingo  <wingo@pobox.com>
7211
7212         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
7213         element_set_state's return val.
7214         (test_2_elements): Add test that's been disabled for months.
7215
7216         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
7217         can-activate-pull properties.
7218
7219         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
7220         can-activate-pull properties. Implement is_seekable so fakesrc can
7221         operate in pull mode.
7222
7223         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7224         properties.
7225         (gst_base_sink_activate, gst_base_sink_activate_pull)
7226         (gst_base_sink_activate_push): Make activation mode choosing work.
7227         Cleanups.
7228         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7229         is right. Make pull mode work. Post an eos before pausing in pull
7230         mode.
7231         (gst_base_sink_change_state): Pay attention to the core's
7232         change_state() return val.
7233         
7234         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7235         has-getrange properties. Cleanups.
7236         
7237         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7238         has_getrange and replace with can_activate_pull and
7239         can_activate_push.
7240
7241         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7242         locking comments. Remove has_loop, has_chain and replace with
7243         can_activate_pull and can_activate_push.
7244
7245 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
7246
7247         * configure.ac:
7248         * examples/Makefile.am:
7249         * examples/metadata/Makefile.am:
7250         * examples/metadata/read-metadata.c: (message_loop),
7251         (have_pad_handler), (make_pipeline), (print_tag), (main):
7252           Add metadata reading example that loops over a list of filenames,
7253           dumping any tags found.
7254
7255         * gst/gstbus.c: (gst_bus_dispose):
7256         * gst/gstelement.c: (gst_element_dispose):
7257           Release a few potentially-held references in dispose.
7258
7259 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7260
7261         * docs/gst/tmpl/gstminiobject.sgml:
7262           do *not* add tmpl/*.sgml files to CVS!
7263
7264 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7265
7266         * libs/gst/bytestream/.cvsignore:
7267         * libs/gst/bytestream/Makefile.am:
7268         * libs/gst/bytestream/adapter.c:
7269         * libs/gst/bytestream/adapter.h:
7270         * libs/gst/bytestream/bytestream.c:
7271         * libs/gst/bytestream/bytestream.h:
7272         * libs/gst/bytestream/filepad.c:
7273         * libs/gst/bytestream/filepad.h:
7274           removing obsolete files
7275
7276 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7277
7278         * docs/gst/gstreamer-docs.sgml:
7279         * docs/libs/gstreamer-libs-docs.sgml:
7280           disabed additional index entries again, as this makes docs-gen just
7281           slow and they aren't useful yet
7282         * docs/libs/gstreamer-libs-sections.txt:
7283           little -section.txt cleanup for libs
7284
7285 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7286
7287         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7288         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7289           fix up some debugging
7290         (gst_base_transform_get_unit_size),
7291         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7292         (gst_base_transform_handle_buffer):
7293         * gst/base/gstbasetransform.h:
7294           handle and store timed NEWSEGMENT events so that subclasses that
7295           calculate time by counting samples have a segment_start time they
7296           need to add to their timestamps - see audioresample
7297
7298 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7299
7300         * gst/gstbin.h:
7301           removed ';' from the end of macro defs
7302         * docs/gst/gstreamer-docs.sgml:
7303         * docs/gst/gstreamer-sections.txt:
7304         * docs/gst/tmpl/.cvsignore:
7305         * gst/gstbus.h:
7306         * gst/gstelement.c: (gst_element_class_init),
7307         (gst_element_set_state), (activate_pads),
7308         (gst_element_save_thyself):
7309         * gst/gstevent.c: (gst_event_new_newsegment):
7310         * gst/gstevent.h:
7311         * gst/gstiterator.c:
7312         * gst/gstiterator.h:
7313         * gst/gstpad.c:
7314         * gst/gstprobe.h:
7315         * gst/gstutils.c: (gst_pad_query_convert):
7316         * gst/gstutils.h:
7317           fixed parameter name mismatches between source, header and docs
7318           added some more docs, resolved the last batch of unused elements in
7319           docs (now someone needs to doc them)
7320
7321 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7322
7323         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7324         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7325           don't walk through the plugins backwards.  Where is all this
7326           reversed logic coming from ?
7327
7328 2005-08-25  Wim Taymans  <wim@fluendo.com>
7329
7330         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7331         (gst_base_transform_transform_size),
7332         (gst_base_transform_configure_caps),
7333         (gst_base_transform_get_unit_size),
7334         (gst_base_transform_buffer_alloc),
7335         (gst_base_transform_change_state):
7336         * gst/base/gstbasetransform.h:
7337         Cache caps unit_size.
7338         Make sure we cannot negotiate up and downstream at the
7339         same time.
7340
7341 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7342
7343         * gst/gst.c: (init_pre), (init_post):
7344           register the installed plugin path after the env var
7345         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7346         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7347           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7348           directories, so the tests can prefer uninstalled over installed
7349
7350 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7351
7352         * gst/base/gstbasetransform.h:
7353           comment
7354         * gst/gstpad.c:
7355           add to docs
7356
7357 2005-08-25  Wim Taymans  <wim@fluendo.com>
7358
7359         * gst/gstbin.c: (bin_bus_handler):
7360         Be a bit more conservative about the posted message.
7361         
7362         * gst/gstbus.c: (gst_bus_post):
7363         Some cleanups, warn wrong return values.
7364
7365 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
7366
7367         * check/gst/gstbin.c: (GST_START_TEST):
7368         * gst/gstbin.c: (bin_bus_handler):
7369         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7370         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7371         (gst_message_new_warning), (gst_message_new_tag),
7372         (gst_message_new_state_changed), (gst_message_new_segment_start),
7373         (gst_message_new_segment_done), (gst_message_new_custom):
7374         * gst/gstmessage.h:
7375         * tools/gst-launch.c: (event_loop):
7376         * tools/gst-md5sum.c: (event_loop):
7377           Revert unpopular change for GST_MESSAGE_SRC to GObject.
7378
7379 2005-08-25  Wim Taymans  <wim@fluendo.com>
7380
7381         * check/generic/states.c: (GST_START_TEST):
7382         Cleanup can be done at the end.
7383
7384         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7385         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7386         (gst_task_get_state), (gst_task_start), (gst_task_pause):
7387         Oh boy.. Thanks for finding this, Thomas. 
7388
7389 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7390
7391         * docs/gst/gstreamer.types:
7392           added missing types
7393
7394 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7395
7396         * docs/gst/gstreamer-docs.sgml:
7397         * docs/gst/gstreamer-sections.txt:
7398         * docs/gst/tmpl/.cvsignore:
7399         * gst/gstbin.c:
7400         * gst/gstiterator.c:
7401         * gst/gstutils.c:
7402         * gst/registries/gstxmlregistry.h:
7403           added missing classes and symbols (123 more to go)
7404           removed removed symbols from section file
7405           fixed many doc-comments
7406
7407 2005-08-24  Wim Taymans  <wim@fluendo.com>
7408
7409         * check/generic/states.c: (GST_START_TEST):
7410         Make sure all tasks are stopped.
7411
7412         * check/gst/gstbin.c: (GST_START_TEST):
7413         Unref after usage for proper valgrinding.
7414
7415         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
7416         Really wait for the task to stop before destroying the
7417         mutex.
7418
7419         * gst/gstqueue.c: (gst_queue_sink_activate_push),
7420         (gst_queue_src_activate_push):
7421         Small cleanups. Don't stop the task when we did not start
7422         it.
7423
7424         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
7425         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7426         (gst_task_get_state), (gst_task_start), (gst_task_pause),
7427         (gst_task_join):
7428         * gst/gsttask.h:
7429         Protect the stream lock with the object lock.
7430         Disallow setting the stream lock when running.
7431         Add cleanup_all to wait for the threadpool to finish.
7432         Remove code to autoallocate a mutex if none was provided.
7433         Add _join() to wait for a task to stop.
7434         Protect the thread pool with a global lock.
7435
7436 2005-08-24  Wim Taymans  <wim@fluendo.com>
7437
7438         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7439         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7440         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
7441         * gst/base/gstbasesink.h:
7442         Handle newsegment events correctly.
7443         Drop buffers out of the segment range.
7444
7445 2005-08-22  Andy Wingo  <wingo@pobox.com>
7446
7447         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
7448         macro, implements an interface and gstimplementsinterface for a
7449         new type.
7450
7451 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7452
7453         * check/Makefile.am:
7454         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
7455           add a test that does a bunch of state changes on elements
7456           needs some fixing for valgrind
7457         * check/states/sinks.c: (gst_object_suite):
7458           whitespace
7459         * gst/gstcaps.h:
7460           add prototype for gst_caps_is_equal_fixed
7461         * gst/gstplugin.c:
7462         * gst/gstregistrypool.c:
7463           doc fixes
7464
7465 2005-08-24  Andy Wingo  <wingo@pobox.com>
7466
7467         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
7468         convert a negative value. Doesn't make much sense. Mostly this is
7469         here to force callers to ensure -1 maps to -1.
7470
7471 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7472
7473         * docs/pwg/advanced-types.xml:
7474           Well done to Michael for catching my deliberate introduction
7475           of this spelling mistake. 
7476         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
7477         * gst/gstelement.h:
7478           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
7479           unlink pads before removing the element from the bin.
7480
7481 2005-08-24  Andy Wingo  <wingo@pobox.com>
7482
7483         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
7484         the same thing as GST_DEBUG=*:4.
7485         (parse_debug_level, parse_debug_category): New helper parsers.
7486
7487 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7488
7489         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7490         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
7491         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
7492         (gst_base_transform_buffer_alloc),
7493         (gst_base_transform_handle_buffer):
7494           use gboolean return values and pointers to size so we can use the
7495           full GST_BUFFER_SIZE range (guint) for buffer sizes
7496           use GstPadDirection for transform_caps
7497         * gst/base/gstbasetransform.h:
7498           rename get_size to get_unit_size since that's what it is
7499         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
7500           use GstPadDirection for transform_caps
7501         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7502         * gst/gstutils.h:
7503           cleanup and debugging
7504
7505 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7506
7507         * gst/gstelement.c: (gst_element_class_init),
7508         (gst_element_set_state), (activate_pads),
7509         (gst_element_save_thyself):
7510         * tools/gst-compprep.c: (main):
7511         * tools/gst-inspect.c: (print_element_properties_info):
7512         * tools/gst-xmlinspect.c: (print_element_properties):
7513           Fixed long standing mem-leak
7514
7515 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7516
7517         * check/gst/gstbin.c: (GST_START_TEST):
7518         * gst/gstbin.c: (bin_bus_handler):
7519         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7520         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7521         (gst_message_new_warning), (gst_message_new_tag),
7522         (gst_message_new_state_changed), (gst_message_new_segment_start),
7523         (gst_message_new_segment_done), (gst_message_new_custom):
7524         * gst/gstmessage.h:
7525         * tools/gst-launch.c: (event_loop):
7526         * tools/gst-md5sum.c: (event_loop):
7527           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
7528           that applications can sensibly post custom messages with references
7529           to their own objects.
7530
7531 2005-08-24  Andy Wingo  <wingo@pobox.com>
7532
7533         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
7534         already.
7535
7536 2005-08-24  Wim Taymans  <wim@fluendo.com>
7537
7538         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7539         (gst_base_transform_transform_caps),
7540         (gst_base_transform_transform_size),
7541         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7542         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7543         (gst_base_transform_handle_buffer):
7544         * gst/base/gstbasetransform.h:
7545         Many fixes and new features added by Thomas. Can now also do
7546         transforms with variable sizes and a custom fixate_caps function.
7547
7548 2005-08-24  Wim Taymans  <wim@fluendo.com>
7549
7550         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7551         Some debugging.
7552
7553         * gst/gstclock.h:
7554         Cast to ClockTime before formatting to time.
7555
7556         * gst/gstutils.h:
7557         Cleanups.
7558
7559 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7560
7561         * check/gst-libs/controller.c: (GST_START_TEST),
7562         (gst_controller_suite):
7563         * docs/gst/tmpl/gstcaps.sgml:
7564         * docs/gst/tmpl/gstghostpad.sgml:
7565         * docs/gst/tmpl/gstquery.sgml:
7566         * docs/gst/tmpl/gstutils.sgml:
7567         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
7568         (gst_object_sink_values), (gst_object_get_value_arrays),
7569         (gst_object_get_value_array):
7570           gracefully handle helper method calls to objects that are not beeing
7571           controlled, added test case for that          
7572
7573 2005-08-23  Wim Taymans  <wim@fluendo.com>
7574
7575         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
7576         (gst_event_new_newsegment), (gst_event_parse_newsegment),
7577         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
7578         (gst_event_parse_qos), (gst_event_new_seek),
7579         (gst_event_parse_seek):
7580         * gst/gstevent.h:
7581         Some more debugging output and doc cleanups.
7582
7583         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7584         Fix possible deadlock.
7585
7586 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7587
7588         * docs/gst/gstreamer-docs.sgml:
7589         * docs/gst/gstreamer-sections.txt:
7590         * docs/gst/gstreamer.types:
7591         * docs/gst/tmpl/.cvsignore:
7592         * gst/gstbin.h:
7593         * gst/gstbus.c:
7594         * gst/gstelement.c:
7595         * gst/gstevent.h:
7596           added 100 symbols from gstreamer-unused.txt to the right sections
7597           fixed more broken comments
7598           added GstBus to docs
7599
7600 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7601
7602         * docs/gst/gstreamer-sections.txt:
7603         * docs/gst/tmpl/.cvsignore:
7604         * docs/gst/tmpl/gstbin.sgml:
7605         * docs/gst/tmpl/gstbuffer.sgml:
7606         * gst/base/gstbasesrc.c:
7607         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
7608         * gst/gstbuffer.c:
7609         * gst/gstbuffer.h:
7610         * tools/gst-launch.1.in:
7611           inlined more doc comments, added missing comments and fixed comments
7612           fixed typos
7613
7614 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7615
7616         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7617           some debugging
7618         * gst/gstcaps.h:
7619           whitespace fixes
7620         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
7621           more debugging
7622         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
7623         * gst/gststructure.h:
7624           add a fixate function for booleans; add a FIXME that these func
7625           names should probably be gst_structure_fixate_*
7626
7627 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7628
7629         * docs/gst/gstreamer-docs.sgml:
7630         * docs/gst/gstreamer-sections.txt:
7631         * gst/Makefile.am:
7632         * gst/gstbin.c: (gst_bin_get_type),
7633         (gst_bin_child_proxy_get_child_by_index),
7634         (gst_bin_child_proxy_get_children_count),
7635         (gst_bin_child_proxy_init):
7636         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
7637         (gst_child_proxy_get_child_by_index),
7638         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
7639         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
7640         (gst_child_proxy_get), (gst_child_proxy_set_property),
7641         (gst_child_proxy_set_valist), (gst_child_proxy_set),
7642         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
7643         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
7644         * gst/gstchildproxy.h:
7645         * gst/parse/grammar.y:
7646         * tools/gst-inspect.c: (print_interfaces),
7647         (print_element_properties_info), (print_element_info):
7648           ported gstchildproxy over from 0.8
7649           ported gst-inspect fixes and enhancements over from 0.8
7650
7651 2005-08-22  Wim Taymans  <wim@fluendo.com>
7652
7653         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7654         (gst_base_transform_handle_buffer):
7655         Also call the transform function if we have ANY caps.
7656
7657         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
7658         Fix debug info.
7659
7660 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7661
7662         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
7663           Don't pretend to handle seek events if the source is not seekable
7664
7665 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7666
7667         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7668           Remove extra parameter to debug output
7669
7670         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7671         (gst_base_src_do_seek), (gst_base_src_activate_push):
7672           Fix seek event handling.
7673
7674         * gst/gstpipeline.c: (gst_pipeline_change_state):
7675         * gst/gstqueue.c: (gst_queue_handle_sink_event),
7676         (gst_queue_src_activate_push):
7677           Don't start the src pad task on FLUSH_STOP if the pad
7678           isn't linked.
7679           Debug changes.
7680
7681 2005-08-22  Wim Taymans  <wim@fluendo.com>
7682
7683         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
7684         Added check for gst_static_caps_get() refcounting.
7685
7686 2005-08-22  Wim Taymans  <wim@fluendo.com>
7687
7688         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
7689         Make _static_caps_get() refcounting sane.
7690         
7691         * gst/gstelement.c: (gst_element_set_state):
7692         Add g_return_val_if_fail() to protect against segfaults.
7693
7694 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
7695
7696         * docs/gst/tmpl/gstevent.sgml:
7697         * gst/gstevent.c:
7698         * gst/gstevent.h:
7699           inlined remaining docs, added missing doc comments
7700
7701 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7702
7703         * check/gst/gstbin.c: (GST_START_TEST):
7704           since we don't know when preroll is done, use refcount range
7705           check for the sink
7706         * gst/check/gstcheck.h:
7707           add macro for checking refcount range
7708
7709 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7710
7711         * check/Makefile.am:
7712           clean up environment for when registry gets built versus
7713           when actual tests are run; valgrind seems to not report
7714           leaks if GST_PLUGIN_PATH is set to some specific values
7715         * check/gst/gstbin.c: (GST_START_TEST):
7716           add more refcounting checks; maybe this exposes a
7717           preroll lock bug ?
7718         * common/check.mak:
7719         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7720         * gst/check/gstcheck.h:
7721         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
7722         (gst_bin_change_state):
7723         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
7724           add/fix debugging/whitespace
7725
7726 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7727
7728         * check/gst/gstevent.c: (event_probe), (test_event),
7729         (GST_START_TEST):
7730          Er, don't call gst_bin_watch_for_state_change you idiot.
7731
7732 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7733
7734         * check/Makefile.am:
7735           Use CHECK_CFLAGS and CHECK_LIBS
7736         * check/gst/gstevent.c: (event_probe), (test_event),
7737         (GST_START_TEST):
7738           Don't leak events.
7739         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7740         (gst_base_src_start), (gst_base_src_stop),
7741         (gst_base_src_activate_push), (gst_base_src_activate_pull),
7742         (gst_base_src_change_state):
7743           Sprinkle gst_base_src_stop liberally around error paths to fix
7744           problems reusing a source after failed state changes.
7745         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7746         (helper_find_suggest), (gst_type_find_helper):
7747           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
7748         * gst/gstevent.h:
7749         * docs/gst/tmpl/gstevent.sgml:
7750           Migrate part of the docs from the SGML file. Wait for ensonic to
7751           tell me how I did it wrong ;)
7752         * tools/gst-typefind.c: (main):
7753           Extra robustness to state changes between files.
7754
7755 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7756
7757         * check/Makefile.am:
7758           don't valgrind the controller test - it's leaking - Stefan, HELP
7759         * gst/check/gstcheck.c: (gst_check_message_error),
7760         (gst_check_chain_func), (gst_check_setup_element),
7761         (gst_check_teardown_element), (gst_check_setup_src_pad),
7762         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
7763         (gst_check_teardown_sink_pad):
7764         * gst/check/gstcheck.h:
7765           add a bunch of methods to set up elements, and src and sink pads
7766         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
7767         * check/elements/identity.c: (setup_identity), (cleanup_identity),
7768         (GST_START_TEST):
7769           use them
7770         * gst/gstmessage.c:
7771         * gst/gsttag.h:
7772           whitespace/doc fixes
7773
7774 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7775
7776         * gst/gstelement.h:
7777           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
7778           be handled by the application and not always printed as well
7779
7780 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7781
7782         * check/Makefile.am:
7783           set GST_TOOLS_DIR
7784         * gst/check/gstcheck.c: (gst_check_message_error):
7785         * gst/check/gstcheck.h:
7786           add a fail_unless_equals_int
7787           add fail_unless for error messages
7788
7789 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7790
7791         * check/Makefile.am:
7792         * check/gst.supp:
7793         * common/Makefile.am:
7794         * common/check.mak:
7795         * common/gst.supp:
7796           factor out some of the common stuff so we can use it
7797
7798 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7799
7800         * check/Makefile.am:
7801         * check/gst/gstiterator.c: (GST_START_TEST):
7802         * check/gst/gstsystemclock.c: (GST_START_TEST),
7803         (gst_systemclock_suite):
7804         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7805         * gst/gstclock.c:
7806           valgrind more tests
7807
7808 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7809
7810         * check/elements/.cvsignore:
7811         * check/elements/gstfakesrc.c:
7812           rename to name of element
7813         * check/elements/identity.c: (chain_func), (event_func),
7814         (setup_identity), (cleanup_identity), (GST_START_TEST),
7815         (identity_suite), (main):
7816           add a test for identity
7817         * check/Makefile.am:
7818         * pkgconfig/Makefile.am:
7819         * pkgconfig/gstreamer-check.pc.in:
7820         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7821         * gst/check:
7822         * gst/Makefile.am:
7823         * configure.ac:
7824           move the check stuff to a library that gets installed
7825         * check/gst-libs/controller.c: (GST_START_TEST):
7826         * check/gst-libs/gdp.c:
7827         * check/gst/gst.c: (GST_START_TEST):
7828         * check/gst/gstbin.c:
7829         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7830         * check/gst/gstbus.c:
7831         * check/gst/gstcaps.c: (GST_START_TEST):
7832         * check/gst/gstelement.c:
7833         * check/gst/gstghostpad.c:
7834         * check/gst/gstiterator.c:
7835         * check/gst/gstmessage.c:
7836         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
7837         * check/gst/gstobject.c:
7838         * check/gst/gstpad.c: (GST_START_TEST):
7839         * check/gst/gststructure.c: (GST_START_TEST):
7840         * check/gst/gstsystemclock.c: (GST_START_TEST),
7841         (gst_systemclock_suite):
7842         * check/gst/gsttag.c: (gst_tag_suite):
7843         * check/gst/gstvalue.c:
7844         * check/pipelines/cleanup.c:
7845         * check/pipelines/simple_launch_lines.c:
7846         * check/states/sinks.c:
7847           change include statement
7848
7849         * docs/gst/gstreamer-sections.txt:
7850         * docs/gst/tmpl/gstpad.sgml:
7851           document more pad stuff
7852         * gst/gstminiobject.c: (gst_mini_object_ref),
7853         (gst_mini_object_unref):
7854           debug refcounting
7855
7856 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
7857
7858         * docs/gst/tmpl/gst.sgml:
7859         * gst/gst.c:
7860           eliminate another tmpl file, fix spelling in the long-description
7861
7862 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7863
7864         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7865         (test_event), (timediff), (gstevents_suite):
7866           Should fix build on 64-bit arch's
7867
7868 2005-08-18  Andy Wingo  <wingo@pobox.com>
7869
7870         Make sure that when a pipeline goes to PLAYING, that data has
7871         actually hit the sink.
7872
7873         * check/states/sinks.c (test_sink): A sink that doesn't get any
7874         data shouldn't return SUCCESS for going to either PLAYING or
7875         PAUSED. Test also the return values on the way back down.
7876
7877         * gst/gstelement.c (gst_element_set_state): When changing the
7878         state of an element currently changing state asynchronously, go to
7879         lost-state after commiting the pending state. Makes future calls
7880         to get_state continue to return ASYNC.
7881
7882         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
7883         ASYNC when going to PLAYING if we still don't have preroll, as can
7884         happen with live sources.
7885
7886 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7887
7888         * docs/pwg/advanced-types.xml:
7889           Hack long paragraph into 2 chunks as a workaround for buggy
7890           jadetex version in sid and breezy that loops infinitely and
7891           eats all RAM.
7892
7893 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7894
7895         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7896         (test_event), (timediff), (gstevents_suite):
7897           Provide more error margin in clock measurements to allow for 
7898           g_get_current_time inaccuracies.
7899
7900 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7901
7902         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7903         (test_event), (timediff), (gstevents_suite):
7904            Fix error message output so I might be able to tell why the
7905            test works here but fails on the build farm.
7906
7907 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7908
7909         * check/Makefile.am:
7910         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7911         (test_event), (timediff), (gstevents_suite), (main):
7912           I wrote a test!
7913
7914         * docs/design/part-seeking.txt:
7915           Spelling correction
7916
7917         * docs/gst/tmpl/gstevent.sgml:
7918         * docs/gst/tmpl/gstfakesrc.sgml:
7919           Docs updates.
7920
7921         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7922           Treat a buffer-without-newsegment the same as a receiving 
7923           a newsegment not in time format, and disable syncing to the clock
7924           with a warning.
7925
7926         * gst/gstbus.c: (gst_bus_set_sync_handler):
7927           Assert if anyone tries to replace the existing sync_handler for bus, 
7928           as only the owner should be setting it.
7929
7930         * gst/gstevent.h:
7931           Have a fixed set of custom event enums with events identified by
7932           their structure name (as in 0.8), rather than a free-for-all
7933           allowing collisions between enum values from different plugins.
7934
7935         * gst/gstpad.c: (gst_pad_class_init):
7936           Docs change.
7937           
7938         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7939           Handle out-of-band downstream events from the sending thread.
7940
7941 2005-08-17  Andy Wingo  <wingo@pobox.com>
7942
7943         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
7944         play-timeout==0 to mean no timeout at all. In that case, don't
7945         bother with a get_state or a warning, just return directly, even
7946         if it's ASYNC.
7947
7948         * gst/base/gstbasetransform.c: Debug changes.
7949
7950         * gst/gstutils.h:
7951         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
7952         ensure bins post state change messages. A bit of a hack but I can't
7953         think of a way to avoid it.
7954
7955         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
7956
7957 2005-08-16  Andy Wingo  <wingo@pobox.com>
7958
7959         * gst/base/gstadapter.h:
7960         * gst/base/gstadapter.c (gst_adapter_take): New function, like
7961         peek() but you own the data. Not terribly efficient atm.
7962
7963 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7964
7965         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
7966         (gst_element_found_tags):
7967         * gst/gstutils.h:
7968           Add two utility functions for tag handling.
7969
7970 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7971
7972         * docs/manual/advanced-dataaccess.xml:
7973         * docs/manual/basics-helloworld.xml:
7974           Fix docs to use _bin_add() before _link(), which fixes the examples
7975           with recent core versions (reported by Madhan Raj M
7976           <raj_madan@rediffmail.com>, #313199).
7977
7978 2005-08-16  Wim Taymans  <wim@fluendo.com>
7979
7980         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7981         Added subtract checks.
7982
7983         * docs/design/part-events.txt:
7984         Some more docs about newsegment
7985
7986         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
7987         Fix FIXME
7988
7989         * gst/gstcaps.c: (gst_caps_to_string):
7990         Add comments, cleanups.
7991         
7992         * gst/gstelement.c: (gst_element_save_thyself):
7993         cleanups
7994         
7995         * gst/gstvalue.c: (gst_value_collect_int_range),
7996         (gst_string_unwrap), (gst_value_union_int_int_range),
7997         (gst_value_union_int_range_int_range),
7998         (gst_value_intersect_int_int_range),
7999         (gst_value_intersect_int_range_int_range),
8000         (gst_value_intersect_double_double_range),
8001         (gst_value_intersect_double_range_double_range),
8002         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
8003         (gst_value_subtract_int_range_int),
8004         (gst_value_subtract_double_range_double),
8005         (gst_value_subtract_double_range_double_range),
8006         (gst_value_subtract_from_list), (gst_value_subtract_list),
8007         (gst_value_can_compare), (gst_value_compare_fraction):
8008         Cleanups, add comments, remove unneeded asserts.
8009
8010 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8011
8012         * tools/gst-launch.c: (event_loop):
8013           don't convert NULL structures to strings
8014
8015 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
8016
8017         * docs/gst/gstreamer-sections.txt:
8018           made some defines private
8019         * docs/gst/tmpl/gstconfig.sgml:
8020         * docs/gst/tmpl/gstqueue.sgml:
8021         * docs/gst/tmpl/gsttaglist.sgml:
8022         * docs/gst/tmpl/gsttypes.sgml:
8023         * docs/gst/tmpl/gstutils.sgml:
8024         * docs/pwg/appendix-porting.xml:
8025         * gst/base/gstbasesink.h:
8026         * gst/base/gstbasesrc.c:
8027         * gst/base/gstbasesrc.h:
8028         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
8029         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
8030         * gst/gstelement.c: (gst_element_class_init):
8031         * gst/gstpad.c: (gst_pad_class_init):
8032         * gst/gstqueue.c: (gst_queue_class_init):
8033         * gst/gstxml.c: (gst_xml_class_init):
8034           documented all undocumented signal inline
8035         * libs/gst/controller/gst-controller.h:
8036           added padding
8037
8038 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8039
8040         * docs/pwg/appendix-porting.xml:
8041           Document _set_link_function -> _set_setcaps_function.
8042
8043 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8044
8045         * check/Makefile.am:
8046           add a .check target for running the check
8047         * check/gst-libs/controller.c: (GST_START_TEST):
8048           cosmetic fixups
8049         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8050           complete checks for gstbuffer; would be nice if I could get the
8051           gcov stuff to work so I can see if I actually completed gstbuffer.c
8052         * check/gstcheck.h:
8053           add ASSERT_BUFFER_REFCOUNT
8054
8055 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
8056
8057         * docs/gst/gstreamer-sections.txt:
8058         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
8059         * gst/gsttag.h:
8060           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
8061           spew out a warning if a tag that is already registered
8062           is re-registered, unless it is re-registered with a 
8063           different type (#308438).
8064
8065 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
8066
8067         * docs/pwg/appendix-porting.xml:
8068         * docs/pwg/building-state.xml:
8069           Add some paragraphs about state changes in 0.9 to the PWG
8070           and the porting guide, in particular about the new meaning
8071           of GST_STATE_PAUSED and how to write state change functions
8072           with concurrent access by multiple threads in mind.
8073
8074 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
8075
8076         * docs/gst/gstreamer-docs.sgml:
8077         * docs/libs/gstreamer-libs-docs.sgml:
8078           added deprecation and since indexes
8079         * libs/gst/controller/gst-controller.c:
8080         * libs/gst/controller/gst-helper.c:
8081           added since tags
8082
8083
8084 2005-08-11  Wim Taymans  <wim@fluendo.com>
8085
8086         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
8087         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
8088         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
8089         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
8090         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
8091         (gst_ghost_pad_set_target):
8092         Actually implement (re)setting the target on a ghostpad
8093         as described in the docs.
8094
8095 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8096
8097         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
8098           Check whether GST_DEBUG_NO_COLOR environment variable is
8099           set and disable coloured debug output if that is the case.
8100
8101 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8102
8103         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8104         (gst_type_find_helper):
8105           The memory returned by gst_type_find_peek() needs to
8106           stay valid until the end of a typefind function, and
8107           typefind functions may keep results from different 
8108           offsets around, so we can't just unref the buffer from
8109           the previous _peek(), but have to save all buffers 
8110           returned by _peek() until typefinding is done and only
8111           free them then.
8112
8113 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
8114
8115         * docs/gst/gstreamer-sections.txt:
8116         * gst/gstutils.h:
8117           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
8118
8119 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8120
8121         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8122           Fix a pretty good memleak.
8123
8124 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8125
8126         * gst/gstiterator.h:
8127           Fix wrong include and 'make distcheck'.
8128
8129 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8130
8131         * gst/gstbin.c: (bin_bus_handler):
8132           Use gst_element_post_message() instead.
8133
8134 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8135
8136         * gst/base/gstadapter.h:
8137         * gst/base/gstbasesink.h:
8138         * gst/base/gstbasesrc.h:
8139         * gst/base/gstbasetransform.h:
8140         * gst/base/gstcollectpads.h:
8141         * gst/base/gstpushsrc.h:
8142         * gst/gstiterator.h:
8143           Add padding to our base elements' class and instance structs and
8144           to GstIterator (you will need to rebuild all plugins and apps!)
8145
8146 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8147
8148         * gst/gstbin.c: (bin_bus_handler):
8149           Make default message forwarding from child->bus to bin->bus
8150           threadsafe and make it not emit warnings if the parent has no bus.
8151
8152 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8153
8154         * gst/gstelement.c: (activate_pads):
8155           On paused->ready, set pad->caps to NULL, as is the documented
8156           behaviour in this state change. Fixes playback of series of
8157           media files when visualization is enabled in Totem.
8158
8159 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8160
8161         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8162           Allow NULL as filter-caps (which means "any").
8163
8164 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8165
8166         * docs/libs/gstreamer-libs-sections.txt:
8167         * libs/gst/controller/gst-controller.c:
8168         * libs/gst/controller/gst-controller.h:
8169         * libs/gst/controller/gst-helper.c:
8170           adding more entries to the docs and fix small doc-bugs
8171
8172 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8173
8174         * docs/gst/gstreamer-docs.sgml:
8175         * docs/gst/gstreamer-sections.txt:
8176         * docs/gst/gstreamer.types:
8177         * docs/gst/tmpl/gstbasesink.sgml:
8178         * docs/gst/tmpl/gstbasesrc.sgml:
8179         * docs/gst/tmpl/gstbasetransform.sgml:
8180         * docs/gst/tmpl/gstfakesrc.sgml:
8181         * gst/base/gstcollectpads.c:
8182         * gst/base/gstcollectpads.h:
8183         * libs/gst/controller/gst-controller.c:
8184         * libs/gst/controller/gst-controller.h:
8185         * libs/gst/controller/gst-helper.c:
8186         * libs/gst/controller/gst-interpolation.c:
8187         * libs/gst/controller/lib.c:
8188           added long/short desc for controller docs
8189           added collectpads base class docs
8190           added correct includes to base-class docs
8191
8192 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8193
8194         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8195         (gst_test_mono_source_set_property),
8196         (gst_test_mono_source_class_init), (GST_START_TEST),
8197         (gst_controller_suite):
8198         * docs/gst/gstreamer-docs.sgml:
8199         * docs/gst/gstreamer-sections.txt:
8200         * docs/gst/gstreamer.types:
8201         * docs/libs/gstreamer-libs-docs.sgml:
8202         * docs/libs/gstreamer-libs-sections.txt:
8203         * gst/base/gstadapter.c:
8204         * libs/gst/controller/gst-controller.c:
8205         (gst_controlled_property_new), (gst_controlled_property_free),
8206         (gst_controller_new_valist),
8207         (gst_controller_remove_properties_valist),
8208         (gst_controller_sink_values), (_gst_controller_finalize):
8209         * libs/gst/controller/gst-controller.h:
8210         * libs/gst/controller/gst-helper.c:
8211         (gst_object_control_properties), (gst_object_uncontrol_properties),
8212         (gst_object_get_controller), (gst_object_set_controller),
8213         (gst_object_sink_values), (gst_object_get_value_arrays),
8214         (gst_object_get_value_array):
8215           more tests (and fixes) for the controller
8216           more docs for the controller
8217           integrated companies docs for the adapter 
8218
8219 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8220
8221         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8222         (GST_START_TEST), (fakesrc_suite):
8223           add tests for sizetype
8224
8225 2005-08-04  Andy Wingo  <wingo@pobox.com>
8226
8227         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8228         fixes buffer_alloc proxying among other things.
8229
8230         * gst/base/gstbasetransform.c:
8231         * gst/base/gstbasetransform.h:
8232         Revert patch to gstbasetransform from 7-28 removing
8233         delay_configure.
8234
8235         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8236         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8237         Semantics changed, should return not the size of the output buffer
8238         but the byte size of a buffer with a given caps.
8239
8240         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8241         debug object.
8242         (gst_base_transform_configure_caps): Don't set out_size here: (in,
8243         out) are not the pad caps until setcaps finishes.
8244         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8245         not-in-place case as well. Deal with changing from in-place to
8246         not-in-place within calling pad_alloc_buffer. Still a bit
8247         concerned about the overhead here...
8248
8249 2005-08-03  Andy Wingo  <wingo@pobox.com>
8250
8251         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8252         fixating is an error.
8253
8254 2005-08-04  Edward Hervey  <edward@fluendo.com>
8255
8256         * gst/base/gstadapter.h: 
8257         Added gst_adapter_get_type() to the header
8258
8259 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8260
8261         * check/Makefile.am:
8262         * check/gst-libs/controller.c:
8263         * libs/gst/controller/gst-controller.c:
8264         (gst_controller_new_valist):
8265           added check test suite for the controller
8266         * gst/base/gstpushsrc.c:
8267           fixed a doc typo
8268
8269 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8270
8271         * docs/gst/Makefile.am:
8272         * docs/gst/gstreamer-docs.sgml:
8273         * docs/gst/gstreamer-sections.txt:
8274         * docs/gst/gstreamer.types:
8275         * docs/gst/tmpl/gstfakesrc.sgml:
8276         * gst/base/README:
8277         * gst/base/gstbasesink.c:
8278         * gst/base/gstbasesink.h:
8279         * gst/base/gstbasesrc.c:
8280         * gst/base/gstbasesrc.h:
8281         * gst/base/gstbasetransform.c:
8282         * gst/base/gstpushsrc.c:
8283         * gst/base/gstpushsrc.h:
8284           add short/long description docs to base classes
8285           add pushsrc to the docs
8286           remove consolidated doc fragments
8287
8288 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8289
8290         * configure.ac:
8291         * docs/libs/Makefile.am:
8292         * docs/libs/gstreamer-libs-docs.sgml:
8293         * docs/libs/gstreamer-libs-sections.txt:
8294         * docs/libs/gstreamer-libs.types:
8295         * examples/Makefile.am:
8296         * examples/controller/.cvsignore:
8297         * examples/controller/Makefile.am:
8298         * examples/controller/audio-example.c: (main):
8299         * libs/gst/Makefile.am:
8300         * libs/gst/controller/.cvsignore:
8301         * libs/gst/controller/Makefile.am:
8302         * libs/gst/controller/gst-controller.c:
8303         (on_object_controlled_property_changed), (gst_timed_value_compare),
8304         (gst_timed_value_find),
8305         (gst_controlled_property_set_interpolation_mode),
8306         (gst_controlled_property_new), (gst_controlled_property_free),
8307         (gst_controller_find_controlled_property),
8308         (gst_controller_new_valist), (gst_controller_new),
8309         (gst_controller_remove_properties_valist),
8310         (gst_controller_remove_properties), (gst_controller_set),
8311         (gst_controller_set_from_list), (gst_controller_unset),
8312         (gst_controller_get), (gst_controller_get_all),
8313         (gst_controller_sink_values), (gst_controller_get_value_arrays),
8314         (gst_controller_get_value_array),
8315         (gst_controller_set_interpolation_mode),
8316         (_gst_controller_finalize), (_gst_controller_init),
8317         (_gst_controller_class_init), (gst_controller_get_type):
8318         * libs/gst/controller/gst-controller.h:
8319         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8320         (g_object_uncontrol_properties), (g_object_get_controller),
8321         (g_object_set_controller), (g_object_sink_values),
8322         (g_object_get_value_arrays), (g_object_get_value_array):
8323         * libs/gst/controller/gst-interpolation.c:
8324         (gst_controlled_property_find_timed_value_node),
8325         (interpolate_none_get), (interpolate_trigger_get),
8326         (interpolate_trigger_get_value_array):
8327         * libs/gst/controller/lib.c: (gst_controller_init):
8328         * pkgconfig/Makefile.am:
8329         * pkgconfig/gstreamer-control-uninstalled.pc.in:
8330         * pkgconfig/gstreamer-control.pc.in:
8331         * testsuite/Makefile.am:
8332         * testsuite/controller/.cvsignore:
8333         * testsuite/controller/Makefile.am:
8334         * testsuite/controller/interpolator.c: (main):
8335           added controller code
8336           removed dparam pc files
8337
8338 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8339         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8340         (gst_collectpads_stop):
8341           Broadcast the condition when shutting down, to make sure we wake all
8342           threads up. Shut down pads on finalize, for safety.
8343
8344 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8345         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8346         (gst_base_transform_handle_buffer),
8347         (gst_base_transform_change_state):
8348           Handle PAUSED->READY->PAUSED transition after negotiation
8349           occurred already.
8350         * gst/gstmessage.c: (gst_message_init):
8351           Extra piece of debug for new messages.
8352
8353 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
8354
8355         * configure.ac:
8356         * docs/gst/tmpl/gstbasesrc.sgml:
8357         * docs/gst/tmpl/gstelement.sgml:
8358         * docs/gst/tmpl/gstevent.sgml:
8359         * docs/gst/tmpl/gstfakesrc.sgml:
8360         * docs/gst/tmpl/gstformat.sgml:
8361         * docs/gst/tmpl/gstghostpad.sgml:
8362         * docs/gst/tmpl/gstpad.sgml:
8363         * docs/gst/tmpl/gstquery.sgml:
8364         * docs/gst/tmpl/gststructure.sgml:
8365         * docs/gst/tmpl/gsttaglist.sgml:
8366         * docs/gst/tmpl/gstvalue.sgml:
8367         * docs/libs/gstreamer-libs-docs.sgml:
8368         * docs/libs/gstreamer-libs-sections.txt:
8369         * docs/libs/gstreamer-libs.types:
8370         * libs/gst/Makefile.am:
8371         * libs/gst/control/.cvsignore:
8372         * libs/gst/control/Makefile.am:
8373         * libs/gst/control/control.c:
8374         * libs/gst/control/control.h:
8375         * libs/gst/control/dparam.c:
8376         * libs/gst/control/dparam.h:
8377         * libs/gst/control/dparam_smooth.c:
8378         * libs/gst/control/dparam_smooth.h:
8379         * libs/gst/control/dparamcommon.h:
8380         * libs/gst/control/dparammanager.c:
8381         * libs/gst/control/dparammanager.h:
8382         * libs/gst/control/dplinearinterp.c:
8383         * libs/gst/control/dplinearinterp.h:
8384         * libs/gst/control/unitconvert.c:
8385         * libs/gst/control/unitconvert.h:
8386         * testsuite/Makefile.am:
8387         * testsuite/dynparams/.cvsignore:
8388         * testsuite/dynparams/Makefile.am:
8389         * testsuite/dynparams/dparamstest.c:
8390         * tools/Makefile.am:
8391         * tools/gst-inspect.c: (print_element_info), (main):
8392         * tools/gst-xmlinspect.c: (print_element_info), (main):
8393           deactivate and remove dparams (libgstcontrol)
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), (gst_type_find_element_init),
8399         (stop_typefinding), (gst_type_find_element_handle_event),
8400         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8401         * gst/elements/gsttypefindelement.h:
8402           Set caps on all outgoing buffers, not just the first one.
8403
8404 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8405
8406         * gst/elements/gsttypefindelement.c:
8407         (gst_type_find_element_have_type),
8408         (gst_type_find_element_check_set_buffer_caps),
8409         (gst_type_find_element_init), (stop_typefinding),
8410         (gst_type_find_element_handle_event),
8411         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8412         * gst/elements/gsttypefindelement.h:
8413           Set caps on first outgoing buffer when we've found the type.
8414
8415 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8416
8417         * docs/gst/gstreamer-docs.sgml:
8418         * docs/gst/gstreamer-sections.txt:
8419         * docs/gst/tmpl/gstscheduler.sgml:
8420         * docs/gst/tmpl/gstschedulerfactory.sgml:
8421           Remove some old cruft from docs.
8422
8423 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
8424
8425         * gst/gstpad.h:
8426           Fix inline docs for GstPadLinkReturn.
8427           
8428         * gst/gststructure.c: (gst_structure_has_name):
8429         * gst/gststructure.h:
8430         * docs/gst/gstreamer-sections.txt:
8431           New API: gst_structure_has_name().
8432
8433 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
8434
8435         * configure.ac:
8436           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
8437           and _LARGEFILE_SOURCE in config.h as required. Do not 
8438           export those flags in our .pc files any longer (#142209).
8439
8440           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
8441
8442         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
8443         (gst_file_sink_do_seek), (gst_file_sink_event),
8444         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8445           Redo seek/tell calls with large file support in mind; add some
8446           debugging messages; add log message that tells us when large
8447           file support is unavailable or not enabled for some reason.
8448
8449         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
8450           Add log message that tells us when large file support 
8451           is unavailable or not enabled for some reason.
8452
8453 2005-07-29  Wim Taymans  <wim@fluendo.com>
8454
8455         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8456         Added test for removing an element with ghostpad from a bin.
8457         Fixed test as current implementation does the right thing.
8458
8459         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
8460         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
8461         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
8462         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
8463         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
8464         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8465         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8466         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8467         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
8468         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
8469         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
8470         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
8471         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8472         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
8473         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
8474         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8475         * gst/gstghostpad.h:
8476         Clean up ghostpads, remove properties for internal stuff.
8477         Make threadsafe.
8478         Fix refcounting.
8479         Prepare for switching targets, not all use cases work yet.
8480
8481 2005-07-29  Wim Taymans  <wim@fluendo.com>
8482
8483         * docs/design/part-gstghostpad.txt:
8484         Small update.
8485
8486         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8487         (gst_bin_remove_func):
8488         Unlinking pads while holding the bin LOCK is not a good
8489         idea.
8490
8491         * gst/gstpad.c: (gst_pad_class_init),
8492         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
8493         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
8494         No prob setting template after creating the pad.
8495
8496 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
8497
8498         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
8499         (gst_bus_peek), (gst_bus_source_dispatch),
8500         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
8501         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
8502           gst_bus_poll may be called from other threads. Handle
8503           this nicely by not making poll_data disappear off the
8504           stack once gst_bus_poll returns.
8505           gst_bus_peek now increments the refcount on the returned
8506           message.
8507
8508 2005-07-29  Wim Taymans  <wim@fluendo.com>
8509
8510         * docs/design/part-gstghostpad.txt:
8511         Overview of current GhostPad datastructures and use
8512         cases for changing the target.
8513
8514 2005-07-28  Wim Taymans  <wim@fluendo.com>
8515
8516         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8517         Added checks for hierarchy consistency whan adding linked
8518         elements to bins.
8519
8520         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8521         Added check to test element scheduling without bin/pipeline.
8522
8523         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8524         First add elements to bin, then link.
8525         
8526         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8527         (gst_bin_remove_func):
8528         Unlink pads from elements added/removed from bin to maintain
8529         hierarchy consistency.
8530
8531 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8532
8533         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8534         (gst_base_transform_handle_buffer):
8535         * gst/base/gstbasetransform.h:
8536           Remove broken delay_configure (fixes renegotiation of software
8537           scaling pipelines); remove some leftover printf()s.
8538
8539 2005-07-28  Wim Taymans  <wim@fluendo.com>
8540
8541         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8542         Added some more tests for wrong hierarchy
8543
8544         * docs/design/part-overview.txt:
8545         Some updates.
8546
8547         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
8548         Cleanups.
8549
8550         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
8551         (gst_element_dispose):
8552         Some more cleanups.
8553
8554         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8555         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
8556         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8557         (gst_pad_set_caps), (gst_pad_send_event):
8558         Check for correct hierarchy when linking pads. Moving to
8559         strict requirement for ghostpads when linking elements in
8560         different bins.
8561
8562         * gst/gstpad.h:
8563         Clean ups. Added WRONG_HIERARCHY return value.
8564
8565 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8566
8567         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8568           Better debug if no transform is possible.
8569
8570 2005-07-27  Wim Taymans  <wim@fluendo.com>
8571
8572         * docs/random/wtay/network-transp:
8573         Some old doc I had.
8574
8575 2005-07-27  Wim Taymans  <wim@fluendo.com>
8576
8577         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8578         (gst_dp_event_from_packet):
8579         Fix serialization of seek events.
8580
8581 2005-07-27  Wim Taymans  <wim@fluendo.com>
8582
8583         * check/gst-libs/gdp.c: (GST_START_TEST):
8584         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8585         Fix compilation and fix event serialization.
8586
8587 2005-07-27  Wim Taymans  <wim@fluendo.com>
8588
8589         * CHANGES-0.9:
8590         * docs/design/part-TODO.txt:
8591         * docs/design/part-events.txt:
8592         Some docs updates
8593
8594         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8595         (gst_base_sink_event), (gst_base_sink_do_sync),
8596         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8597         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8598         (gst_base_src_do_seek), (gst_base_src_event_handler),
8599         (gst_base_src_loop):
8600         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8601         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8602         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8603         (gst_base_transform_event), (gst_base_transform_handle_buffer),
8604         (gst_base_transform_set_passthrough),
8605         (gst_base_transform_is_passthrough):
8606         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8607         * gst/elements/gstfilesink.c: (gst_file_sink_event):
8608         Event updates.
8609
8610         * gst/gstbuffer.h:
8611         Use faster casts.
8612
8613         * gst/gstelement.c: (gst_element_seek):
8614         * gst/gstelement.h:
8615         Update gst_element_seek.
8616
8617         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
8618         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
8619         (gst_event_new_flush_start), (gst_event_new_flush_stop),
8620         (gst_event_new_eos), (gst_event_new_newsegment),
8621         (gst_event_parse_newsegment), (gst_event_new_tag),
8622         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
8623         (gst_event_parse_qos), (gst_event_new_seek),
8624         (gst_event_parse_seek), (gst_event_new_navigation):
8625         * gst/gstevent.h:
8626         Make GstEvent use GstStructure. Add parsing code, make sure the
8627         API is sufficiently generic.
8628         Mark possible directions of events and serialization.
8629
8630         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
8631         (_gst_message_copy), (gst_message_new_segment_start),
8632         (gst_message_new_segment_done), (gst_message_new_custom),
8633         (gst_message_parse_segment_start),
8634         (gst_message_parse_segment_done):
8635         Small cleanups.
8636
8637         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8638         (gst_pad_set_caps), (gst_pad_send_event):
8639         Update for new events. 
8640         Catch events sent in wrong directions.
8641
8642         * gst/gstqueue.c: (gst_queue_link_src),
8643         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
8644         (gst_queue_handle_src_query):
8645         Event updates.
8646
8647         * gst/gsttag.c:
8648         * gst/gsttag.h:
8649         Remove event code from this file.
8650
8651         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8652         (gst_dp_event_from_packet):
8653         Event updates.
8654
8655 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8656
8657         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
8658         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8659         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
8660           Make debugging actually useful.
8661
8662 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8663
8664         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
8665         (gst_pad_fixate_caps):
8666           Implement default fixation once again, so that gst_pad_fixate()
8667           actually does anything at all. This probably needs to be some
8668           sort of a last resort, and use profile-based fixation first, but
8669           since that doesn't exist yet, this is the best we have. Fixes
8670           visualization in Totem.
8671
8672 2005-07-22  Wim Taymans  <wim@fluendo.com>
8673
8674         * docs/design/part-events.txt:
8675         Small update.
8676
8677         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8678         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
8679         (gst_base_sink_activate_pull):
8680         Some more comments.
8681
8682         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
8683         (gst_fake_src_create):
8684         Fix handoff marshall.
8685
8686         * gst/elements/gstidentity.c: (gst_identity_class_init),
8687         (gst_identity_transform_ip):
8688         We're a real inplace element.
8689
8690         * gst/gstbus.c: (gst_bus_post):
8691         Added some comments.
8692
8693         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
8694         * tests/muxing/case1.c: (main):
8695         * tests/sched/dynamic-pipeline.c: (main):
8696         * tests/sched/interrupt1.c: (main):
8697         * tests/sched/interrupt2.c: (main):
8698         * tests/sched/interrupt3.c: (main):
8699         * tests/sched/runxml.c: (main):
8700         * tests/sched/sched-stress.c: (main):
8701         * tests/seeking/seeking1.c: (event_received), (main):
8702         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
8703         (main):
8704         * tests/threadstate/threadstate3.c: (main):
8705         * tests/threadstate/threadstate4.c: (main):
8706         * tests/threadstate/threadstate5.c: (main):
8707         Fix the tests.
8708
8709 2005-07-21  Wim Taymans  <wim@fluendo.com>
8710
8711         * docs/design/part-seeking.txt:
8712         Some small additions.
8713
8714         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8715         (gst_base_sink_get_times), (gst_base_sink_do_sync),
8716         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8717         * gst/base/gstbasesink.h:
8718         discont values are gint64, handle the math correctly.
8719
8720         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8721         Make the basesrc report error if the source pad is not linked.
8722
8723         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8724         (gst_queue_loop), (gst_queue_handle_src_query),
8725         (gst_queue_src_activate_push):
8726         Make queue collect data even if the srcpad is not linked.
8727         Start pushing out data as soon as it is linked.
8728
8729         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
8730         * gst/gstutils.h:
8731         Added gst_flow_get_name() to ease error reporting.
8732
8733 2005-07-20  Wim Taymans  <wim@fluendo.com>
8734
8735         * gst/gstmessage.c: (gst_message_new_segment_start),
8736         (gst_message_new_segment_done), (gst_message_parse_segment_start),
8737         (gst_message_parse_segment_done):
8738         * gst/gstmessage.h:
8739         Added a bunch of messages for advanced seeking.
8740
8741         * gst/parse/grammar.y:
8742         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
8743         (gst_dpman_state_changed):
8744         Fix some new-pad -> pad-added signals
8745
8746 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8747
8748         * docs/manual/appendix-porting.xml:
8749         * docs/pwg/appendix-porting.xml:
8750           Document new-pad/state-change signal renames and the FixedList
8751           type rename.
8752
8753 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8754
8755         * docs/manual/advanced-autoplugging.xml:
8756         * docs/manual/basics-helloworld.xml:
8757         * docs/manual/basics-pads.xml:
8758         * docs/random/ds/0.9-suggested-changes:
8759         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
8760         * gst/gstelement.h:
8761         * gst/gstevent.h:
8762         * gst/gstformat.h:
8763         * gst/gstquery.h:
8764         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8765         (gst_structure_parse_array), (gst_structure_parse_value):
8766         * gst/gstvalue.c: (gst_type_is_fixed),
8767         (gst_value_list_prepend_value), (gst_value_list_append_value),
8768         (gst_value_list_get_size), (gst_value_list_get_value),
8769         (gst_value_transform_array_string), (gst_value_serialize_array),
8770         (gst_value_deserialize_array), (gst_value_intersect_array),
8771         (gst_value_is_fixed), (_gst_value_initialize):
8772         * gst/gstvalue.h:
8773           GstElement::new-pad -> pad-added, GstElement::state-change ->
8774           state-changed, GstValueFixedList -> GstValueArray, add format and
8775           flags as their own arguments in gst_element_seek() (should improve
8776           "bindeability"), remove function generators since they don't work
8777           under a whole bunch of compilers (they were deprecated already
8778           anyway).
8779
8780 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8781
8782         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
8783         (_gst_debug_register_funcptr):
8784         * gst/gstinfo.h:
8785           Fix illegal cast on some platforms (#309253).
8786
8787 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8788
8789         * gst/gstmessage.c: (gst_message_new_custom):
8790         * gst/gstmessage.h:
8791           Add _new_custom, make _new_application a macro to _new_custom.
8792
8793 2005-07-20  Wim Taymans  <wim@fluendo.com>
8794
8795         * gst/base/gstbasesrc.c: (gst_base_src_init),
8796         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8797         * gst/base/gstbasesrc.h:
8798         Add a gboolean to decide when to push out a discont.
8799
8800         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8801         (gst_queue_loop), (gst_queue_handle_src_query),
8802         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
8803         (gst_queue_set_property), (gst_queue_get_property):
8804         Some cleanups.
8805
8806         * tests/threadstate/threadstate1.c: (main):
8807         Make a thread test compile and run... very silly..
8808
8809
8810 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8811
8812         * docs/manual/appendix-porting.xml:
8813           Mention removal of libgstgconf-0.9.la and existence of gconf
8814           elements.
8815
8816 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8817
8818         * docs/pwg/advanced-clock.xml:
8819         * docs/pwg/appendix-porting.xml:
8820         * docs/pwg/intro-preface.xml:
8821         * docs/pwg/other-base.xml:
8822         * docs/pwg/other-manager.xml:
8823         * docs/pwg/other-nton.xml:
8824         * docs/pwg/other-ntoone.xml:
8825         * docs/pwg/other-oneton.xml:
8826         * docs/pwg/pwg.xml:
8827           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
8828           demuxer), remove n-to-n (was never written), fix some code examples
8829           and links and update the porting section to include all this.
8830
8831 2005-07-19  Wim Taymans  <wim@fluendo.com>
8832
8833         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
8834         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
8835         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
8836         (gst_queue_src_activate_push), (gst_queue_change_state),
8837         (gst_queue_get_property):
8838         * gst/gstqueue.h:
8839         Propagate GstFlowReturn more intelligently upstream and output
8840         an ERROR/EOS when streaming stopped due to fatal error.
8841
8842 2005-07-19  Wim Taymans  <wim@fluendo.com>
8843
8844         * tools/gst-launch.c: (check_intr), (event_loop), (main):
8845         Don't block forever for the state change to complete, the
8846         pipeline already did with a sensible timeout.
8847
8848 2005-07-19  Wim Taymans  <wim@fluendo.com>
8849
8850         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8851         Make sure we never call the create function is we
8852         got deactivated.
8853
8854 2005-07-19  Andy Wingo  <wingo@pobox.com>
8855
8856         * gst/parse/parse.l: Attempt to solve bug #172815.
8857
8858 2005-07-19  Wim Taymans  <wim@fluendo.com>
8859
8860         * docs/design/part-clocks.txt:
8861         * docs/design/part-events.txt:
8862         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
8863         Small docs updates.
8864         Only update the seeking values when we are not
8865         busy streaming.
8866
8867 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8868
8869         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8870           Oops, ignore the result of gst_pad_push_event here.
8871
8872 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8873
8874         * gst/base/gstbasesrc.c: (gst_base_src_loop),
8875         (gst_base_src_activate_push):
8876           Send discont event from the loop function, as pads
8877           aren't activated yet in the activate_push handler.
8878
8879         * gst/gstbin.c: (bin_bus_handler):
8880           Don't leak element name.
8881
8882 2005-07-18  Andy Wingo  <wingo@pobox.com>
8883
8884         * configure.ac: Use AS_LIBTOOL_TAGS.
8885
8886 2005-07-18  Wim Taymans  <wim@fluendo.com>
8887
8888         * docs/gst/gstreamer.types:
8889         Remove deleted types.
8890
8891 2005-07-18  Wim Taymans  <wim@fluendo.com>
8892
8893         * check/elements/gstfakesrc.c: (GST_START_TEST):
8894         * configure.ac:
8895         * gst/Makefile.am:
8896         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
8897         (init_popt_callback):
8898         * gst/gst.h:
8899         * gst/gst_private.h:
8900         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
8901         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
8902         * gst/gstbin.h:
8903         * gst/gstbus.h:
8904         * gst/gstconfig.h.in:
8905         * gst/gstelement.c: (gst_element_class_init),
8906         (gst_element_set_base_time), (gst_element_get_base_time),
8907         (iterator_fold_with_resync), (gst_element_change_state),
8908         (gst_element_dispose), (gst_element_get_bus):
8909         * gst/gstelement.h:
8910         * gst/gstelementfactory.h:
8911         * gst/gsterror.c: (_gst_core_errors_init):
8912         * gst/gsterror.h:
8913         * gst/gstevent.h:
8914         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
8915         * gst/gstindex.c:
8916         * gst/gstinfo.c: (_gst_debug_init):
8917         * gst/gstmessage.c: (_gst_message_copy):
8918         * gst/gstmessage.h:
8919         * gst/gstminiobject.h:
8920         * gst/gstobject.c:
8921         * gst/gstobject.h:
8922         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8923         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
8924         * gst/gstpad.h:
8925         * gst/gstparse.h:
8926         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
8927         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
8928         (gst_pipeline_get_last_stream_time):
8929         * gst/gstpipeline.h:
8930         * gst/gstpluginfeature.h:
8931         * gst/gstquery.h:
8932         * gst/gstscheduler.c:
8933         * gst/gstscheduler.h:
8934         * gst/gststructure.h:
8935         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
8936         (gst_task_finalize), (gst_task_func), (gst_task_create),
8937         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
8938         (gst_task_stop), (gst_task_pause):
8939         * gst/gsttask.h:
8940         * gst/gsttypefind.h:
8941         * gst/gsttypes.h:
8942         * gst/registries/gstlibxmlregistry.c: (load_feature),
8943         (gst_xml_registry_load), (gst_xml_registry_save_feature):
8944         * gst/registries/gstxmlregistry.c:
8945         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
8946         * gst/schedulers/threadscheduler.c:
8947         * libs/gst/control/dparammanager.h:
8948         * tools/gst-inspect.c: (print_element_list),
8949         (print_plugin_features), (print_element_features):
8950         * tools/gst-xmlinspect.c: (print_element_list),
8951         (print_plugin_info), (main):
8952         Removed plugable schedulers.
8953         Removed Scheduler/Manager from elements.
8954         Removed gsttypes.h, rearranged includes.
8955         Removed dependency pad<->element, element<>pipeline, and
8956         various others,  fix includes.
8957         implement gst_pad_get_parent() with gst_object_get_parent()
8958         Make GstTask sefcontained.
8959         Fix _get_state() on GstBin, it did not return ASYNC with a 0
8960         timeout.
8961         Fix endless loop in iterator_fold_with_resync.
8962
8963
8964 2005-07-18  Wim Taymans  <wim@fluendo.com>
8965
8966         * gst/Makefile.am:
8967         * gst/gstarch.h:
8968         Remove old file.
8969
8970 2005-07-18  Wim Taymans  <wim@fluendo.com>
8971
8972         * gst/Makefile.am:
8973         No more cothreads.h
8974
8975 2005-07-18  Wim Taymans  <wim@fluendo.com>
8976
8977         * gst/cothreads.c:
8978         * gst/cothreads.h:
8979         Let's remove these.
8980
8981 2005-07-18  Wim Taymans  <wim@fluendo.com>
8982
8983         * docs/design/part-dynamic.txt:
8984         * docs/design/part-events.txt:
8985         * docs/design/part-seeking.txt:
8986         Some more docs in the works.
8987
8988         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8989         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
8990         (gst_base_transform_setcaps), (gst_base_transform_get_size),
8991         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8992         (gst_base_transform_handle_buffer),
8993         (gst_base_transform_sink_activate_push),
8994         (gst_base_transform_src_activate_pull),
8995         (gst_base_transform_set_passthrough),
8996         (gst_base_transform_is_passthrough):
8997         Refcounting fixes.
8998
8999         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
9000         Cleanups.
9001
9002         * gst/gstevent.c: (gst_event_finalize):
9003         Set SRC to NULL.
9004
9005         * gst/gstutils.c: (gst_element_unlink),
9006         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
9007         (gst_pad_proxy_setcaps):
9008         * gst/gstutils.h:
9009         Add _get_parent_element() to get a pads parent as an element.
9010
9011 2005-07-18  Wim Taymans  <wim@fluendo.com>
9012
9013         * check/gst/gstbin.c: (GST_START_TEST):
9014         Remove bogus test.
9015
9016 2005-07-18  Wim Taymans  <wim@fluendo.com>
9017
9018         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9019         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9020         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9021         (gst_base_sink_event), (gst_base_sink_do_sync),
9022         (gst_base_sink_chain), (gst_base_sink_loop),
9023         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
9024         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
9025         Refcounting fixes.
9026         Fix logic for returning ASYNC when not prerolled.
9027
9028 2005-07-18  Wim Taymans  <wim@fluendo.com>
9029
9030         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9031         Fix nasty refcount bug.
9032
9033 2005-07-16 Philippe Khalaf <burger@speedy.org>
9034
9035         * gst/elements/gstfdsrc.c:
9036         * gst/elements/gstfdsrc.h:
9037         * gst/elements/gstelements.c:
9038         * gst/elements/Makefile.am:
9039         Ported fdsrc to 0.9.
9040
9041 2005-07-16  Wim Taymans  <wim@fluendo.com>
9042
9043         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9044         (gst_base_sink_do_sync):
9045         Fix compile error.
9046
9047 2005-07-16  Wim Taymans  <wim@fluendo.com>
9048
9049         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9050         (gst_base_sink_event), (gst_base_sink_get_times),
9051         (gst_base_sink_do_sync), (gst_base_sink_change_state):
9052         * gst/base/gstbasesink.h:
9053         Store and use discont values when syncing buffers as described
9054         in design docs.
9055         
9056         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9057         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
9058         (gst_base_src_activate_push):
9059         Push discont event when starting.
9060
9061         * gst/elements/gstidentity.c: (gst_identity_transform):
9062         Small cleanups.
9063
9064         * gst/gstbin.c: (gst_bin_change_state):
9065         Small cleanups in base_time  distribution.
9066
9067         * gst/gstelement.c: (gst_element_set_base_time),
9068         (gst_element_get_base_time), (gst_element_change_state):
9069         * gst/gstelement.h:
9070         Added methods for the base_time of the element.
9071         Some MT fixes.
9072
9073         * gst/gstpipeline.c: (gst_pipeline_send_event),
9074         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9075         (gst_pipeline_get_last_stream_time):
9076         * gst/gstpipeline.h:
9077         MT fixes.
9078         Handle seeking as described in design doc, remove stream_time
9079         hack.
9080         Cleanups clock and stream_time selection code. Added accessors
9081         for the stream_time.
9082         
9083
9084 2005-07-16  Andy Wingo  <wingo@pobox.com>
9085
9086         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
9087         (#305291).
9088
9089 2005-07-16  Wim Taymans  <wim@fluendo.com>
9090
9091         * check/gst/gstbin.c: (GST_START_TEST):
9092         Make elements silent as the deep_notify refs the
9093         parent, which might make the test fail.
9094
9095         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9096         Don't hold the lock for too long.
9097
9098 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
9099
9100         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9101           Don't unref the caps we passed to gst_caps_make_writable() after
9102           passing them. gst_caps_make_writable() will do that for us.
9103
9104 2005-07-15  Andy Wingo  <wingo@pobox.com>
9105
9106         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
9107         (#157311).
9108
9109         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
9110         own marshalling function for the handoff signal. Properly type the
9111         buffer as a buffer. Fixes some warnings. Should do a more general
9112         solution.
9113         (gst_identity_class_init): Plug into the right marshaller.
9114
9115 2005-07-15  Wim Taymans  <wim@fluendo.com>
9116
9117         * docs/design/part-TODO.txt:
9118         * docs/design/part-clocks.txt:
9119         * docs/design/part-element-sink.txt:
9120         * docs/design/part-events.txt:
9121         * docs/design/part-gstpipeline.txt:
9122         Updated docs, mostly DISCONT related.
9123
9124 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
9125
9126         * docs/pwg/building-pads.xml:
9127           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
9128
9129 2005-07-15  Andy Wingo  <wingo@pobox.com>
9130
9131         * tools/gst-typefind.c: Update, add copyright block.
9132
9133         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
9134         Normalize and truncate caps before fixation.
9135
9136         * gst/gstcaps.h:
9137         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
9138         discards all but the first structure from its argument.
9139
9140 2005-07-15  Wim Taymans  <wim@fluendo.com>
9141
9142         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9143         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
9144         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9145         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9146         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
9147         (gst_base_transform_chain), (gst_base_transform_change_state),
9148         (gst_base_transform_set_passthrough),
9149         (gst_base_transform_is_passthrough):
9150         * gst/base/gstbasetransform.h:
9151         Make passthrough work using the bufferpools.
9152         Changed API a bit, subclasses have to write into a buffer
9153         provided by the base class.
9154         More debug info in nego functions.
9155         
9156         * gst/elements/gstidentity.c: (gst_identity_init),
9157         (gst_identity_transform):
9158         Port to new base class.
9159
9160 2005-07-15  Wim Taymans  <wim@fluendo.com>
9161
9162         * gst/gstmessage.c: (gst_message_new_state_changed):
9163         * tools/gst-launch.c: (event_loop), (main):
9164         Totally dump messages in -launch with the -m option.
9165         Fix message name for State messages,
9166
9167 2005-07-14  Wim Taymans  <wim@fluendo.com>
9168
9169         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9170         Post error messages on errors.
9171
9172 2005-07-14  Wim Taymans  <wim@fluendo.com>
9173
9174         * gst/gstcaps.c: (gst_caps_do_simplify):
9175         Remove debug info.
9176
9177         * gst/gsterror.h:
9178         Define error for stream stopped.
9179
9180         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9181         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
9182         Do proper return values.
9183
9184         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9185         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
9186         (gst_pad_get_range):
9187         Better return values.
9188
9189         * gst/gstpad.h:
9190         Reorganise return values, add macro to check for fatal errors.
9191
9192         * gst/gstqueue.c: (gst_queue_chain):
9193         Return proper GstFlowReturn values,
9194
9195 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9196
9197         * docs/gst/gstreamer-sections.txt:
9198         * docs/gst/gstreamer.types:
9199         * docs/gst/tmpl/gst.sgml:
9200         * docs/gst/tmpl/gstbasesink.sgml:
9201         * docs/gst/tmpl/gstbasesrc.sgml:
9202         * docs/gst/tmpl/gstbasetransform.sgml:
9203         * docs/gst/tmpl/gstbin.sgml:
9204         * docs/gst/tmpl/gstbuffer.sgml:
9205         * docs/gst/tmpl/gstcaps.sgml:
9206         * docs/gst/tmpl/gstclock.sgml:
9207         * docs/gst/tmpl/gstcompat.sgml:
9208         * docs/gst/tmpl/gstconfig.sgml:
9209         * docs/gst/tmpl/gstelement.sgml:
9210         * docs/gst/tmpl/gstelementdetails.sgml:
9211         * docs/gst/tmpl/gstelementfactory.sgml:
9212         * docs/gst/tmpl/gstenumtypes.sgml:
9213         * docs/gst/tmpl/gsterror.sgml:
9214         * docs/gst/tmpl/gstevent.sgml:
9215         * docs/gst/tmpl/gstfakesink.sgml:
9216         * docs/gst/tmpl/gstfakesrc.sgml:
9217         * docs/gst/tmpl/gstfilesink.sgml:
9218         * docs/gst/tmpl/gstfilesrc.sgml:
9219         * docs/gst/tmpl/gstfilter.sgml:
9220         * docs/gst/tmpl/gstformat.sgml:
9221         * docs/gst/tmpl/gstghostpad.sgml:
9222         * docs/gst/tmpl/gstimplementsinterface.sgml:
9223         * docs/gst/tmpl/gstindex.sgml:
9224         * docs/gst/tmpl/gstindexfactory.sgml:
9225         * docs/gst/tmpl/gstinfo.sgml:
9226         * docs/gst/tmpl/gstiterator.sgml:
9227         * docs/gst/tmpl/gstmacros.sgml:
9228         * docs/gst/tmpl/gstmemchunk.sgml:
9229         * docs/gst/tmpl/gstminiobject.sgml:
9230         * docs/gst/tmpl/gstobject.sgml:
9231         * docs/gst/tmpl/gstpad.sgml:
9232         * docs/gst/tmpl/gstpadtemplate.sgml:
9233         * docs/gst/tmpl/gstparse.sgml:
9234         * docs/gst/tmpl/gstpipeline.sgml:
9235         * docs/gst/tmpl/gstplugin.sgml:
9236         * docs/gst/tmpl/gstpluginfeature.sgml:
9237         * docs/gst/tmpl/gstquery.sgml:
9238         * docs/gst/tmpl/gstqueue.sgml:
9239         * docs/gst/tmpl/gstregistry.sgml:
9240         * docs/gst/tmpl/gstregistrypool.sgml:
9241         * docs/gst/tmpl/gstscheduler.sgml:
9242         * docs/gst/tmpl/gstschedulerfactory.sgml:
9243         * docs/gst/tmpl/gststructure.sgml:
9244         * docs/gst/tmpl/gstsystemclock.sgml:
9245         * docs/gst/tmpl/gsttaglist.sgml:
9246         * docs/gst/tmpl/gsttagsetter.sgml:
9247         * docs/gst/tmpl/gsttrace.sgml:
9248         * docs/gst/tmpl/gsttrashstack.sgml:
9249         * docs/gst/tmpl/gsttypefind.sgml:
9250         * docs/gst/tmpl/gsttypefindfactory.sgml:
9251         * docs/gst/tmpl/gsttypes.sgml:
9252         * docs/gst/tmpl/gsturihandler.sgml:
9253         * docs/gst/tmpl/gsturitype.sgml:
9254         * docs/gst/tmpl/gstutils.sgml:
9255         * docs/gst/tmpl/gstvalue.sgml:
9256         * docs/gst/tmpl/gstversion.sgml:
9257         * docs/gst/tmpl/gstxml.sgml:
9258         * docs/libs/tmpl/gstcontrol.sgml:
9259         * docs/libs/tmpl/gstdataprotocol.sgml:
9260         * docs/libs/tmpl/gstdparam.sgml:
9261         * docs/libs/tmpl/gstdplinint.sgml:
9262         * docs/libs/tmpl/gstdpman.sgml:
9263         * docs/libs/tmpl/gstdpsmooth.sgml:
9264         * docs/libs/tmpl/gstgetbits.sgml:
9265         * docs/libs/tmpl/gstunitconvert.sgml:
9266         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9267         (gst_push_src_base_init), (gst_push_src_class_init),
9268         (gst_push_src_init), (gst_push_src_create):
9269         * gst/base/gstpushsrc.h:
9270         * gst/elements/gstelements.c:
9271         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9272         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9273         (gst_fake_sink_init), (gst_fake_sink_set_property),
9274         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9275         (gst_fake_sink_event), (gst_fake_sink_preroll),
9276         (gst_fake_sink_render), (gst_fake_sink_change_state):
9277         * gst/elements/gstfakesink.h:
9278         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9279         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9280         (gst_fake_src_base_init), (gst_fake_src_class_init),
9281         (gst_fake_src_init), (gst_fake_src_event_handler),
9282         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9283         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9284         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9285         (gst_fake_src_create_buffer), (gst_fake_src_create),
9286         (gst_fake_src_start), (gst_fake_src_stop):
9287         * gst/elements/gstfakesrc.h:
9288         * gst/elements/gstfilesink.c: (_do_init),
9289         (gst_file_sink_base_init), (gst_file_sink_class_init),
9290         (gst_file_sink_init), (gst_file_sink_dispose),
9291         (gst_file_sink_set_location), (gst_file_sink_set_property),
9292         (gst_file_sink_get_property), (gst_file_sink_open_file),
9293         (gst_file_sink_close_file), (gst_file_sink_query),
9294         (gst_file_sink_event), (gst_file_sink_render),
9295         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9296         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9297         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9298         * gst/elements/gstfilesink.h:
9299         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9300         (gst_file_src_class_init), (gst_file_src_init),
9301         (gst_file_src_finalize), (gst_file_src_set_location),
9302         (gst_file_src_set_property), (gst_file_src_get_property),
9303         (gst_file_src_map_region), (gst_file_src_map_small_region),
9304         (gst_file_src_create_mmap), (gst_file_src_create_read),
9305         (gst_file_src_create), (gst_file_src_is_seekable),
9306         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9307         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9308         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9309         (gst_file_src_uri_handler_init):
9310         * gst/elements/gstfilesrc.h:
9311           more autistic cleanliness in functions/names/defines
9312
9313 2005-07-13  Andy Wingo  <wingo@pobox.com>
9314
9315         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9316         source couldn't negotiate.
9317
9318         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9319         connections again.
9320
9321         * gst/gstutils.h:
9322         * gst/gstutils.c (gst_element_link_pads_filtered): New old
9323         function. I am channeling Hades. Put your boots on suckers!!!
9324
9325 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9326
9327         * testsuite/caps/Makefile.am:
9328         * testsuite/caps/value_compare.c:
9329         * testsuite/caps/value_intersect.c:
9330         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9331           move two testsuite apps over to the check dir
9332
9333 2005-07-12  Wim Taymans  <wim@fluendo.com>
9334
9335         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9336         Added more debug info in the negotiate process.
9337
9338         * gst/gstmessage.h:
9339         Prepare for segment playback.
9340
9341         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9342         Better debugging.
9343
9344         * gst/gstutils.c:
9345         Some more docs.
9346
9347         * tools/gst-launch.c: (main):
9348         NULL pipeline on errors.
9349
9350 2005-07-12  Andy Wingo  <wingo@pobox.com>
9351
9352         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9353         not it comes from a malloc region. Make sure our copy gets freed.
9354
9355 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9356
9357         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9358         * check/gst/gstmessage.c: (GST_START_TEST):
9359         * check/gst/gststructure.c: (GST_START_TEST),
9360         (gst_structure_suite), (main):
9361           more testing
9362         * gst/gstelement.c: (gst_element_message_full):
9363           clean up GError and debug string now that they get copied
9364         * gst/gstmessage.c: (gst_message_new_error),
9365         (gst_message_new_warning), (gst_message_parse_error),
9366         (gst_message_parse_warning):
9367           use GST_TYPE_G_ERROR for structure_new, and take copies of
9368           arguments, so that we don't mess up refcounting
9369
9370 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9371
9372         * check/Makefile.am:
9373           add per-test valgrind targets
9374         * check/gst-libs/gdp.c: (GST_START_TEST),
9375         (gst_data_protocol_suite), (main):
9376           clean up
9377
9378 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9379
9380         * check/Makefile.am:
9381           instate more valgrindable tests
9382         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9383         (GST_START_TEST), (fakesrc_suite):
9384         * check/gst/gstpad.c: (GST_START_TEST):
9385         * check/gst/gststructure.c: (GST_START_TEST):
9386           fix test leaks
9387         * docs/gst/tmpl/gstminiobject.sgml:
9388         * gst/gstpad.c: (gst_pad_finalize):
9389           fix the static mutex leak
9390
9391 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9392
9393         * check/Makefile.am:
9394           add two more tests for valgrinding
9395         * check/gst/gstvalue.c: (GST_START_TEST):
9396           test refcount of deserialized buffer, found a leak
9397         * docs/gst/gstreamer-docs.sgml:
9398         * docs/gst/gstreamer-sections.txt:
9399         * docs/gst/gstreamer.types:
9400         * docs/gst/tmpl/gstminiobject.sgml:
9401           add miniobject to docs
9402         * gst/gstminiobject.c:
9403           add some docs
9404         * gst/gstvalue.c: (gst_value_deserialize_buffer),
9405         (gst_string_unwrap):
9406           fix a hard-to-find invalid write for one of the tests
9407           fix a leak for deserialized buffers
9408
9409 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9410
9411         * docs/pwg/advanced-events.xml:
9412         * docs/pwg/advanced-request.xml:
9413         * docs/pwg/advanced-scheduling.xml:
9414         * docs/pwg/appendix-porting.xml:
9415         * docs/pwg/building-boiler.xml:
9416         * docs/pwg/intro-preface.xml:
9417         * docs/pwg/other-ntoone.xml:
9418           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
9419           of example code and explanation for pad activation, loop() and
9420           getrange() functions and a bit more. Remove old comments pointing
9421           to loop-functions.
9422         * examples/pwg/Makefile.am:
9423           Add loop/getrange examples.
9424
9425 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9426
9427         * configure.ac:
9428           check for valgrind binary + some fixes
9429         * check/gst.supp:
9430           valgrind suppressions for the tests
9431         * check/Makefile.am:
9432           add a valgrind: target that valgrinds the unit tests
9433         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
9434         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9435         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9436         * check/gst/gstghostpad.c:
9437           added some cleanup
9438         * check/gst/gstdata.c:
9439           removed
9440         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
9441         (thread_unref), (gst_mini_object_suite), (main):
9442           added
9443         * gst/gst.c: (gst_deinit):
9444         * gst/gst.h:
9445           add a method to clean up.
9446         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9447         (gst_system_clock_obtain):
9448           allow for disposing the system clock.
9449         * tools/gst-launch.c: (main):
9450           deinit
9451
9452 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9453
9454         * docs/gst/tmpl/gstbasesrc.sgml:
9455         * docs/gst/tmpl/gstfakesrc.sgml:
9456         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9457         (gst_base_src_init), (gst_base_src_set_property),
9458         (gst_base_src_get_property), (gst_base_src_get_range),
9459         (gst_base_src_start):
9460         * gst/base/gstbasesrc.h:
9461           add num-buffers property
9462         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9463         (gst_fakesrc_init), (gst_fakesrc_set_property),
9464         (gst_fakesrc_get_property), (gst_fakesrc_create),
9465         (gst_fakesrc_start):
9466           remove num-buffers property
9467
9468 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9469
9470         * docs/gst/gstreamer-sections.txt:
9471         * docs/gst/tmpl/gstbasesink.sgml:
9472         * docs/gst/tmpl/gstbasesrc.sgml:
9473         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9474         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9475         (gst_base_sink_finalize), (gst_base_sink_set_clock),
9476         (gst_base_sink_set_property), (gst_base_sink_get_property),
9477         (gst_base_sink_handle_object), (gst_base_sink_event),
9478         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9479         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
9480         (gst_base_sink_loop), (gst_base_sink_deactivate),
9481         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
9482         (gst_base_sink_change_state):
9483         * gst/base/gstbasesink.h:
9484         * gst/base/gstbasesrc.h:
9485         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
9486         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9487         (gst_filesink_init):
9488           more macro splitting
9489
9490 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9491
9492         * gst/gstelement.c: (gst_element_get_bus):
9493           add debug
9494         * tools/gst-launch.c: (check_intr), (event_loop):
9495           fix bus leaks
9496
9497 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9498
9499         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9500           fix a caps leak
9501
9502 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9503
9504         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9505         (gst_base_src_finalize):
9506           add finalize method and clean up properly
9507         * gst/gstpipeline.c: (gst_pipeline_dispose):
9508           add debug
9509
9510 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9511
9512         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
9513         (gst_bin_suite):
9514           add more things to check
9515         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9516         * gst/gstelement.c:
9517           more debug
9518
9519 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9520
9521         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9522         (GST_START_TEST), (fakesrc_suite):
9523         * check/gst-libs/gdp.c: (GST_START_TEST):
9524         * check/gst/gst.c: (GST_START_TEST):
9525         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9526         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9527         * check/gst/gstbus.c: (GST_START_TEST):
9528         * check/gst/gstcaps.c: (GST_START_TEST):
9529         * check/gst/gstdata.c: (GST_START_TEST):
9530         * check/gst/gstelement.c: (GST_START_TEST):
9531         * check/gst/gstghostpad.c: (GST_START_TEST):
9532         * check/gst/gstiterator.c: (GST_START_TEST):
9533         * check/gst/gstmessage.c: (GST_START_TEST):
9534         * check/gst/gstobject.c: (GST_START_TEST):
9535         * check/gst/gstpad.c: (GST_START_TEST):
9536         * check/gst/gststructure.c: (GST_START_TEST):
9537         * check/gst/gstsystemclock.c: (GST_START_TEST),
9538         (gst_systemclock_suite):
9539         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9540         * check/gst/gstvalue.c: (GST_START_TEST):
9541         * check/pipelines/cleanup.c: (GST_START_TEST):
9542         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9543         * check/states/sinks.c: (GST_START_TEST):
9544         * check/gstcheck.c: (gst_check_init):
9545         * check/gstcheck.h:
9546           add debugging category
9547           use GST_START_TEST now, so we add a debug line
9548
9549 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9550
9551         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
9552           add test for state change message on a bin
9553         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
9554           add another test
9555         * gst/gstbin.c: (gst_bin_init):
9556         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
9557         * gst/gstelement.c: (gst_element_post_message),
9558         (gst_element_set_state):
9559         * gst/gstelementfactory.c: (gst_element_factory_create):
9560         * gst/gstmessage.c: (gst_message_new):
9561         * gst/gstscheduler.c:
9562           various debugging additions and cleanups
9563
9564 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9565
9566         * check/Makefile.am:
9567         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
9568         (main):
9569           adding tests for elements
9570         * gst/gstelement.c: (gst_element_dispose):
9571
9572 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9573
9574         * gst/registries/gstlibxmlregistry.c: (load_feature):
9575           plug more leaks.  A simple gst_init() now is leakfree, yay.
9576
9577 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9578
9579         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
9580         (gst_xml_registry_load):
9581           plug another memleak
9582
9583 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9584
9585         * configure.ac:
9586           use GST_SET_ERROR_CFLAGS
9587         * docs/faq/cvs.xml:
9588           change to ERROR_CFLAGS
9589
9590 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9591
9592         * configure.ac:
9593           make GST_ERROR_CFLAGS overridable and re-enable Werror
9594         * docs/faq/cvs.xml:
9595           add a note about error CFLAGS
9596         * docs/gst/tmpl/gstfakesrc.sgml:
9597         * gst/elements/gstfakesrc.c:
9598           comment out some unused code
9599         * gst/gst.c: (split_and_iterate):
9600         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
9601         (load_feature):
9602           plug some memleaks
9603
9604 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9605
9606         * common/Makefile.am:
9607         * common/gtk-doc.mak:
9608         * docs/gst/Makefile.am:
9609           factor out gtk-doc.mak
9610
9611 2005-07-07  Wim Taymans  <wim@fluendo.com>
9612
9613         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
9614         (gst_thread_scheduler_dispose):
9615         Unlock the STREAM_LOCK completely.
9616
9617 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9618
9619         * check/Makefile.am:
9620         * check/elements/.cvsignore:
9621         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9622         (START_TEST), (fakesrc_suite), (main):
9623         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9624         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
9625         (gst_fakesrc_create), (gst_fakesrc_start):
9626         * gst/elements/gstfakesrc.h:
9627           adding a first element test
9628
9629 2005-07-07  Andy Wingo  <wingo@pobox.com>
9630
9631         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
9632         debug message.
9633
9634 2005-07-07  Wim Taymans  <wim@fluendo.com>
9635
9636         * gst/gstquery.c:
9637         * gst/gstquery.h:
9638         Remove old types
9639
9640 2005-07-07  Wim Taymans  <wim@fluendo.com>
9641
9642         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
9643         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
9644         Allow subclasses to implement their own negotiation.
9645
9646 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9647
9648         * docs/design/part-gstbin.txt:
9649         * docs/design/part-gstpipeline.txt:
9650           Update design notes to reflect the movement of
9651           responsibility for bus handling from GstPipeline to
9652           GstBin
9653
9654 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9655
9656         * configure.ac:
9657           Remove unnecessary queue2/3/4 examples.
9658
9659 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9660
9661         * examples/Makefile.am:
9662         * examples/helloworld/helloworld.c: (event_loop), (main):
9663         * examples/queue/queue.c: (event_loop), (main):
9664         * examples/queue2/queue2.c: (main):
9665           Update a couple of the examples to work again.
9666
9667         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9668         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
9669          Spelling corrections and extra debug.
9670         
9671         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
9672         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
9673         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
9674         * gst/gstbin.h:
9675         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9676         (gst_pipeline_change_state):
9677         * gst/gstpipeline.h:
9678           Move the bus handler for children to the GstBin, and create a
9679           separate bus for receiving messages from children to the one the
9680           bus sends 'upwards' on.
9681
9682 2005-07-06  Wim Taymans  <wim@fluendo.com>
9683
9684         * gst/base/README:
9685         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9686         (gst_base_sink_handle_object), (gst_base_sink_loop),
9687         (gst_base_sink_change_state):
9688         * gst/base/gstbasesink.h:
9689         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9690         (gst_base_src_init), (gst_base_src_setcaps),
9691         (gst_base_src_getcaps), (gst_base_src_loop),
9692         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
9693         (gst_base_src_start), (gst_base_src_change_state):
9694         * gst/base/gstbasesrc.h:
9695         Make basesrc negotiate.
9696         Handle the case where preroll fails in basesink.
9697         Update README.
9698
9699 2005-07-06  Wim Taymans  <wim@fluendo.com>
9700
9701         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
9702         Implement the fixate function.
9703         Clean up acceptcaps.
9704
9705 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9706
9707         * docs/pwg/building-filterfactory.xml:
9708         * docs/pwg/pwg.xml:
9709           Remove never-written filter-factory chapter; I'll add the various
9710           base classes to part 4 ("other element types") later on.
9711
9712 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9713
9714         * docs/pwg/advanced-negotiation.xml:
9715         * docs/pwg/building-boiler.xml:
9716         * docs/pwg/building-pads.xml:
9717         * docs/pwg/pwg.xml:
9718         * examples/pwg/Makefile.am:
9719           Add a chapter on caps negotiation, simplify the original code
9720           samples a bit w.r.t. caps negotiation, add link to the advanced
9721           section. Add a bunch of examples showing different use cases of
9722           different types of caps negotiation. Upstream renegotiation isn't
9723           fully documented yet since nobody knows how that works.
9724
9725 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9726
9727         * check/gst/gstpad.c:
9728         * check/gstcheck.c:
9729         * gst/gstpad.c: (gst_pad_get_internal_links_default):
9730           if pad has no parent, return NULL as list of internal links
9731
9732 2005-07-05  Andy Wingo  <wingo@pobox.com>
9733
9734         * gst/elements/gstfilesrc.c:
9735         * gst/elements/gstfakesrc.c: 
9736         * gst/base/gstpushsrc.c:
9737         * gst/base/gstbasesrc.h: 
9738         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
9739         
9740 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
9741
9742         * Makefile.am:
9743           better report generation target (lcov needs a patch)
9744
9745 2005-07-05  Andy Wingo  <wingo@pobox.com>
9746
9747         * gst/elements, testsuite: Null if we got it...
9748
9749 2005-07-05  Wim Taymans  <wim@fluendo.com>
9750
9751         * configure.ac:
9752         * libs/gst/dataprotocol/Makefile.am:
9753         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
9754         * libs/gst/dataprotocol/dataprotocol.h:
9755         * pkgconfig/Makefile.am:
9756         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
9757         * pkgconfig/gstreamer-dataprotocol.pc.in:
9758         Ported dataprotol to 0.9. 
9759         Added pkgconfig files.
9760
9761 2005-07-05  Andy Wingo  <wingo@pobox.com>
9762
9763         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
9764         Default to returning TRUE for the case when tranform_caps returns
9765         a fixed caps, like for identity or volume.
9766
9767         * check/gst/gstbus.c (pound_bus_with_messages): 
9768         * check/gst/gstmessage.c (START_TEST): 
9769         * check/pipelines/simple_launch_lines.c (got_handoff): Application
9770         message API change.
9771
9772         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
9773         logic weaks here: always run transform_caps, trying passthrough
9774         operation only if the original caps intersects with the transform.
9775
9776         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
9777         source and sink caps.
9778
9779         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
9780         Intersect the peer caps with the pad template before going into
9781         transform_caps.
9782         (gst_base_transform_transform_caps): More debugging.
9783
9784         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
9785         src argument.
9786
9787 2005-07-04  Edward Hervey  <edward@fluendo.com>
9788
9789         * gst/gstutils.c:
9790         * gst/gstutils.h:
9791         (gst_pad_add_*_probe): now returns the signal id for better wrapping
9792         in bindings.
9793
9794 2005-07-04  Andy Wingo  <wingo@pobox.com>
9795
9796         * check/gst/gstpad.c: Only set explicit caps on pads.
9797
9798 2005-07-01  Andy Wingo  <wingo@pobox.com>
9799
9800         * tests/network-clock.scm: Commentary update.
9801
9802         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
9803         Didn't really make sense, not implementable with basetransform,
9804         etc.
9805         (gst_identity_transform): Unref inbuf via make_writable. Feeble
9806         attempt at implementing the sync property, needs an unlock method.
9807
9808         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
9809         New func, by default returns the same caps (the identity
9810         transformation).
9811         (gst_base_transform_getcaps): Uses transform_caps to return
9812         something sensible.
9813         (gst_base_transform_setcaps): Complicated logic to get caps on
9814         both pads, even if they are different, and to call set_caps once
9815         for every time both pads get their caps set.
9816         (gst_base_transform_handle_buffer): Give the ref to the transform
9817         function. Allows in-place modification of the buffer.
9818
9819         * gst/base/gstbasetransform.h (transform_caps): New class method.
9820         Given caps on one side, what can I do on the other.
9821         (set_caps): Take two caps, one for each side of the element.
9822
9823         * gst/gstpad.h:
9824         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
9825         caps in place. This is safe because we can check the mutability of
9826         the caps, and a good idea because fixate functions are just called
9827         as a matter of last resort. (Not actually implemented.)
9828         (gst_pad_set_caps): If the caps we're setting is actually the same
9829         as the existing pad caps, just update the pointer without calling
9830         setcaps. Assert that caps is either NULL or fixed, as per the
9831         docs.
9832
9833         * gst/gstghostpad.c: Update for fixate changes.
9834
9835 2005-07-02  Andy Wingo  <wingo@pobox.com>
9836
9837         * gst/gstcaps.c:
9838         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
9839         two refcounts makes it immutable, which is enough. Doc more.
9840
9841 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
9842
9843         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
9844           Put the mini_object into GValue as a mini_object,
9845           not a gpointer, since that's how we declared
9846           the signal.
9847
9848 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9849
9850         * examples/pwg/Makefile.am:
9851           Fix buildbot again.
9852
9853 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9854
9855         * docs/pwg/building-testapp.xml:
9856           Add extra check.
9857         * examples/pwg/Makefile.am:
9858           Fix buildbot.
9859
9860 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9861
9862         * configure.ac:
9863         * examples/Makefile.am:
9864         * examples/pwg/Makefile.am:
9865         * examples/pwg/extract.pl:
9866           Enable building the PWG examples.
9867         * docs/pwg/advanced-interfaces.xml:
9868           Add URI interface stub.
9869         * docs/pwg/advanced-types.xml:
9870         * docs/pwg/other-autoplugger.xml:
9871         * docs/pwg/appendix-porting.xml:
9872         * docs/pwg/pwg.xml:
9873           Add porting guide (mostly stubs), remove autoplugging (see ADM).
9874         * docs/pwg/building-boiler.xml:
9875         * docs/pwg/building-chainfn.xml:
9876         * docs/pwg/building-pads.xml:
9877         * docs/pwg/building-props.xml:
9878         * docs/pwg/building-state.xml:
9879         * docs/pwg/building-testapp.xml:
9880           Update the building-*.xml parts for 0.9 changes. All examples
9881           code blocks compile in examples/pwg/*.
9882
9883 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9884
9885         * docs/manual/advanced-autoplugging.xml:
9886         * docs/manual/appendix-checklist.xml:
9887         * docs/manual/appendix-integration.xml:
9888         * docs/manual/highlevel-components.xml:
9889           Fix playbin/decodebin examples, update docs a bit, mention bus
9890           instead of signals in various places, mention kmplayer and
9891           kaffeine since they have a working GStreamer backend in the KDE
9892           section.
9893
9894 2005-06-30  Wim Taymans  <wim@fluendo.com>
9895
9896         * CHANGES-0.9:
9897         * docs/design/draft-ghostpads.txt:
9898         * docs/design/draft-push-pull.txt:
9899         * docs/design/draft-query.txt:
9900         * docs/design/part-TODO.txt:
9901         * docs/design/part-query.txt:
9902         Added CHANGES-0.9 doc, updated status of other docs.
9903         
9904         * gst/gstquery.h:
9905         Remove "hmm" macro
9906
9907 2005-06-30  Wim Taymans  <wim@fluendo.com>
9908
9909         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9910         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9911         (gst_base_sink_change_state):
9912         * gst/base/gstbasesink.h:
9913         Some tweaks, only EOS and a buffer complete a preroll.
9914
9915 2005-06-30  Andy Wingo  <wingo@pobox.com>
9916
9917         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
9918         activate_push down to the internal pad as well.
9919
9920 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
9921
9922         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9923
9924         * gst/gsttaginterface.c:
9925           Some documentation fixes (#307394 and #307397).
9926
9927 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
9928
9929         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9930
9931         * gst/gstvalue.c: (gst_value_intersect_list):
9932           Fix memleak (#309125).
9933
9934 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9935
9936         * docs/manual/advanced-dataaccess.xml:
9937           Fix fakesrc example to compile; doesn't work, bug somewhere...?
9938         * docs/manual/basics-pads.xml:
9939           Add reference for filtered caps to above chapter.
9940
9941 2005-06-30  Wim Taymans  <wim@fluendo.com>
9942
9943         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
9944         (gst_bin_change_state):
9945         Probes are gone.
9946         Lame attempt at making the state change function a bit
9947         more readable.
9948
9949 2005-06-30  Wim Taymans  <wim@fluendo.com>
9950
9951         * docs/design/part-clocks.txt:
9952         * docs/design/part-element-sink.txt:
9953         * docs/design/part-events.txt:
9954         * docs/design/part-preroll.txt:
9955         * docs/design/part-states.txt:
9956         Some more tweeks and additions to the docs.
9957
9958 2005-06-30  Wim Taymans  <wim@fluendo.com>
9959
9960         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9961         (default_have_data), (gst_pad_class_init), (gst_pad_init),
9962         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9963         (gst_pad_check_pull_range), (gst_pad_get_range),
9964         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
9965         * gst/gstpad.h:
9966         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
9967         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9968         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9969         (gst_pad_remove_buffer_probe):
9970         Removed atomic operations, use existing LOCK.
9971         Move exception handling out of main code path.
9972
9973 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9974
9975         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
9976         (silly_return_true_function), (gst_pad_class_init),
9977         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
9978         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
9979         (gst_pad_send_event):
9980           Fix accumulator, add default value by using _emitv() instead
9981           of _emit() for signal emission.
9982
9983 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9984
9985         * docs/manual/advanced-dataaccess.xml:
9986         * examples/manual/Makefile.am:
9987           Add probe example.
9988         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
9989           Make work (??).
9990
9991 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
9992
9993         * gst/elements/gstfilesink.c: (gst_filesink_render):
9994           Simplify code so that we don't have to handle short
9995           writes and return GST_FLOW_ERROR if an error occured.
9996
9997 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9998
9999         * docs/gst/gstreamer-docs.sgml:
10000           Remove probes more.
10001
10002 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10003
10004         * docs/gst/gstreamer-sections.txt:
10005         * docs/gst/tmpl/gstpad.sgml:
10006         * docs/gst/tmpl/gstprobe.sgml:
10007         * gst/Makefile.am:
10008         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10009         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
10010         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10011         (gst_pad_push_event), (gst_pad_send_event):
10012         * gst/gstpad.h:
10013         * gst/gstutils.c: (gst_pad_add_data_probe),
10014         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10015         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10016         (gst_pad_remove_buffer_probe):
10017         * gst/gstutils.h:
10018           Remove old probes, add new g-signal-based probes and some utility
10019           functions.
10020
10021 2005-06-29  Edward Hervey  <edward@fluendo.com>
10022
10023         * gst/gstelementfactory.c:
10024         * gst/gstutils.h:
10025         * gst/gstutils.c:
10026         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
10027         the definition to the header file.
10028
10029 2005-06-29  Andy Wingo  <wingo@pobox.com>
10030
10031         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
10032         plugins from the source directory.
10033
10034 2005-06-29  Wim Taymans  <wim@fluendo.com>
10035
10036         * docs/gst/tmpl/gstbuffer.sgml:
10037         * docs/gst/tmpl/gstclock.sgml:
10038         Some fixings for blantently wrong text.
10039
10040 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10041
10042         * check/Makefile.am:
10043         * gst/gst.c: (add_path_func), (init_pre):
10044         * gst/gstregistry.c: (gst_registry_add_path):
10045           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
10046           only scan the GST_PLUGIN_PATH locations, and not add
10047           system locations
10048
10049 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10050
10051         * docs/gst/gstreamer-sections.txt:
10052         * docs/gst/tmpl/gstbasesrc.sgml:
10053         * gst/gstelement.c:
10054         * gst/gstelement.h:
10055         * gst/gstevent.c:
10056         * gst/gstutils.c:
10057           doc fixes
10058
10059 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10060
10061         * docs/manual/advanced-autoplugging.xml:
10062           Fix autoplugging example.
10063
10064 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10065
10066         * docs/manual/advanced-autoplugging.xml:
10067         * docs/manual/mime-world.fig:
10068           Try to get autoplugging working, fix type detection. Fix text
10069           in hello-world image.
10070
10071 2005-06-29  Wim Taymans  <wim@fluendo.com>
10072
10073         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10074         (gst_base_sink_change_state):
10075         Small debug line.
10076
10077         * gst/gstclock.h:
10078         map SIGNAL and BROADCAST to the right function.
10079
10080         * gst/gstobject.h:
10081         Remove redundant braces.
10082
10083         * gst/gstpad.c: (gst_pad_set_caps):
10084         Don't call setcaps function when reseting caps to NULL.
10085
10086         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10087         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
10088         (gst_system_clock_id_unschedule):
10089         Use BROADCAST as this is what we do.
10090
10091 2005-06-29  Wim Taymans  <wim@fluendo.com>
10092
10093         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10094         We are actually prerolling before commiting the state
10095         change. 
10096
10097 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10098
10099         * docs/manual/advanced-clocks.xml:
10100         * docs/manual/advanced-interfaces.xml:
10101         * docs/manual/advanced-metadata.xml:
10102         * docs/manual/advanced-position.xml:
10103         * docs/manual/advanced-schedulers.xml:
10104         * docs/manual/advanced-threads.xml:
10105         * docs/manual/appendix-porting.xml:
10106         * docs/manual/basics-bins.xml:
10107         * docs/manual/basics-bus.xml:
10108         * docs/manual/basics-elements.xml:
10109         * docs/manual/basics-helloworld.xml:
10110         * docs/manual/basics-pads.xml:
10111         * docs/manual/highlevel-components.xml:
10112         * docs/manual/manual.xml:
10113         * docs/manual/thread.fig:
10114           Update (until threads/scheduling) Application Development Manual;
10115           remove GstThread, add GstBus, add simple porting checklist, add
10116           documentation for tag writing, clocks, make all examples until this
10117           part compile and run.
10118         * examples/manual/Makefile.am:
10119           Update from changes to Application Development Manual; add bus
10120           example, remove thread example.
10121
10122 2005-06-28  Wim Taymans  <wim@fluendo.com>
10123
10124         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
10125         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
10126         (gst_bus_source_dispatch):
10127         Add debugging messages.
10128         Make internal methods static.
10129         Handle the case where the bus is flushed in the handler.
10130         
10131         * gst/gstelement.c: (gst_element_get_bus):
10132         Fix refcount in _get_bus();
10133
10134         * gst/gstpipeline.c: (gst_pipeline_change_state),
10135         (gst_pipeline_get_clock_func):
10136         Clock refcounting fixes.
10137         Handle the case where preroll timed out more gracefully.
10138         
10139         * gst/gstsystemclock.c: (gst_system_clock_dispose):
10140         Clean up the internal thread in dispose. This is needed
10141         for subclasses that actually get disposed.
10142         
10143         * gst/schedulers/threadscheduler.c:
10144         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10145         (gst_thread_scheduler_dispose):
10146         Free thread pool in dispose.
10147
10148 2005-06-28  Andy Wingo  <wingo@pobox.com>
10149
10150         * tests/network-clock-utils.scm (debug, print-event): New utils.
10151
10152         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
10153         (*packet-loss*): Unified loss probability.
10154         (network-time): Report out-of-band events.
10155
10156         * tests/plot-data: Add support for out-of-band events. Hack it
10157         into this script instead of passing it down the pipe; should fix
10158         this later.
10159
10160 2005-06-28  Wim Taymans  <wim@fluendo.com>
10161
10162         * docs/gst/gstreamer.types:
10163         * docs/gst/tmpl/gstbasesrc.sgml:
10164         * docs/gst/tmpl/gstpad.sgml:
10165         Docs fixes.
10166
10167 2005-06-28  Wim Taymans  <wim@fluendo.com>
10168
10169         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10170         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
10171         (gst_proxy_pad_do_fixatecaps):
10172         Correctly proxy the check_pull_range function.
10173
10174 2005-06-28  Andy Wingo  <wingo@pobox.com>
10175
10176         * tests/network-clock.scm: Removed need for slib.
10177         
10178 2005-06-28  Wim Taymans  <wim@fluendo.com>
10179
10180         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
10181         (gst_basesink_preroll_queue_flush):
10182         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
10183         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
10184         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10185         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10186         (gst_proxy_pad_set_property):
10187         * gst/gstpad.c:
10188         * gst/gstpad.h:
10189         * gst/gstqueue.c: (gst_queue_init):
10190         The deprecated pad loop function is removed now.
10191
10192 2005-06-28  Andy Wingo  <wingo@pobox.com>
10193
10194         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
10195         New parameters, simulate network packet loss.
10196
10197         * tests/network-clock-utils.scm: Initialize the RNG.
10198
10199 2005-06-28  Wim Taymans  <wim@fluendo.com>
10200
10201         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
10202         (gst_basesink_event), (gst_basesink_deactivate):
10203         Flushing the preroll queue always needs to unlock the waiters.
10204
10205 2005-06-28  Edward Hervey  <edward@fluendo.com>
10206
10207         * gst/gstpipeline.c: (gst_pipeline_send_event): 
10208         Wheen a seek was successful on a pipeline, set the stream_time to the
10209         seek offset in order to have a synchronized stream_time.
10210
10211 2005-06-28  Wim Taymans  <wim@fluendo.com>
10212
10213         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10214         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10215         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
10216         (gst_proxy_pad_do_fixatecaps):
10217         Call wrapper function instead of just calling the function
10218         pointers. This takes care of any locking and whatmore.
10219
10220 2005-06-28  Wim Taymans  <wim@fluendo.com>
10221
10222         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10223         (gst_pad_pull_range):
10224         * gst/gstpad.h:
10225         CONNECTED -> LINKED.
10226
10227 2005-06-28  Andy Wingo  <wingo@pobox.com>
10228
10229         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10230         source-munging commit!!!
10231
10232         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
10233         (gst_object_sink): Take gpointer arguments, not GstObject --
10234         avoids casts. Like GLib.
10235
10236         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10237         activate.
10238
10239 2005-06-27  Andy Wingo  <wingo@pobox.com>
10240
10241         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10242         remaining buffer.
10243
10244         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10245         returns a sorted copy of the trace list.
10246         (gst_alloc_trace_print_live): New API, only prints traces with
10247         live objects. Sort the list.
10248         (gst_alloc_trace_print_all): Sort the list.
10249         (gst_alloc_trace_print): Align columns.
10250
10251         * gst/elements/gstttypefindelement.c:
10252         * gst/elements/gsttee.c:
10253         * gst/base/gstbasesrc.c:
10254         * gst/base/gstbasesink.c:
10255         * gst/base/gstbasetransform.c:
10256         * gst/gstqueue.c: Adapt for pad activation changes.
10257
10258         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10259         sched.
10260         (gst_pipeline_dispose): Drop ref on sched.
10261
10262         * gst/gstpad.c (gst_pad_init): Set the default activate func.
10263         (gst_pad_activate_default): Push mode by default.
10264         (pre_activate_switch, post_activate_switch): New stubs, things to
10265         do before and after switching activation modes on pads.
10266         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10267         the pad's activate function to choose which mode to activate.
10268         Shortcut on deactivation and call the right function directly.
10269         (gst_pad_activate_pull): New API, (de)activates a pad in pull
10270         mode.
10271         (gst_pad_activate_push): New API, same for push mode.
10272         (gst_pad_set_activate_function) 
10273         (gst_pad_set_activatepull_function) 
10274         (gst_pad_set_activatepush_function): Setters for new API.
10275
10276         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10277         Trace all miniobjects.
10278         (gst_mini_object_make_writable): Unref the arg if we copy, like
10279         gst_caps_make_writable.
10280
10281         * gst/gstmessage.c (_gst_message_initialize): No trace init.
10282
10283         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
10284         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10285         Adapt for new pad API.
10286
10287         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10288
10289         * gst/gstelement.h:
10290         * gst/gstelement.c (gst_element_iterate_src_pads) 
10291         (gst_element_iterate_sink_pads): New API functions.
10292         
10293         * gst/gstelement.c (iterator_fold_with_resync): New utility,
10294         should fold into gstiterator.c in some form.
10295         (gst_element_pads_activate): Simplified via use of fold and
10296         delegation of decisions to gstpad->activate.
10297
10298         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10299         help in debugging.
10300
10301         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10302         class once in init, like gstmessage. Didn't run into this issue
10303         but it seems correct. Don't initialize a trace, gstminiobject does
10304         that.
10305
10306         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10307         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10308         to the bus.
10309         (assert_live_count): New util function, uses alloc traces to check
10310         cleanup.
10311
10312         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10313         To be modified when unlink drops the internal pad.
10314
10315 2005-06-27  Wim Taymans  <wim@fluendo.com>
10316
10317         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10318         (gst_bin_change_state):
10319         Cleanup the get_state() function a little, make sure it
10320         iterates the same set of elements.
10321         Added stub iterate_state_order().
10322
10323 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10324
10325         * docs/gst/gstreamer-docs.sgml:
10326         * docs/gst/gstreamer-sections.txt:
10327         * docs/gst/gstreamer.types:
10328         * docs/gst/tmpl/gstbasesink.sgml:
10329         * docs/gst/tmpl/gstbasesrc.sgml:
10330         * docs/gst/tmpl/gstbasetransform.sgml:
10331         * docs/gst/tmpl/gstelement.sgml:
10332         * docs/gst/tmpl/gstiterator.sgml:
10333         * gst/base/gstbasesrc.c:
10334         * gst/base/gstbasesrc.h:
10335         * gst/base/gstbasetransform.h:
10336         * gst/gstelement.c:
10337         * gst/gstiterator.h:
10338           adding basetransform and iterator docs
10339
10340 2005-06-27  Andy Wingo  <wingo@pobox.com>
10341
10342         * docs/design/part-activation.txt: Notes on how activation should
10343         work -- not quite implemented yet.
10344
10345 2005-06-25  Wim Taymans  <wim@fluendo.com>
10346
10347         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10348         At least get the chain function correct, needs more
10349         fixing.
10350
10351 2005-06-25  Wim Taymans  <wim@fluendo.com>
10352
10353         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10354         (gst_basesink_handle_object), (gst_basesink_event),
10355         (gst_basesink_do_sync), (gst_basesink_handle_event),
10356         (gst_basesink_change_state):
10357         * gst/gsttask.h:
10358         Right, two problems here: ghostpads don't take locks and
10359         glib _rec_mutex_lock_full() with depth==0 still locks.
10360         Catch illegal locking and g_warn them.
10361
10362 2005-06-25  Wim Taymans  <wim@fluendo.com>
10363
10364         * check/states/sinks.c: (START_TEST), (gst_object_suite):
10365         Have to check for completion now...
10366
10367 2005-06-25  Wim Taymans  <wim@fluendo.com>
10368
10369         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10370         (gst_basesink_handle_object), (gst_basesink_event),
10371         (gst_basesink_do_sync), (gst_basesink_handle_event),
10372         (gst_basesink_change_state):
10373         * gst/gstpad.h:
10374         Unlock STREAM_LOCK whatever the recursion was.
10375
10376 2005-06-25  Wim Taymans  <wim@fluendo.com>
10377
10378         * gst/base/gstbasesink.c: (gst_basesink_set_property),
10379         (gst_basesink_preroll_queue_empty),
10380         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10381         (gst_basesink_event), (gst_basesink_do_sync),
10382         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10383         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10384         (gst_basesink_change_state):
10385         Reworked the base sink, handle event and buffer serialisation
10386         correctly and removed possible deadlock.
10387         Handle EOS correctly.
10388
10389 2005-06-25  Wim Taymans  <wim@fluendo.com>
10390
10391         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10392         (gst_pipeline_change_state):
10393         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10394         Allow elements to post EOS in the state change function.
10395         Fix up -launch, make it exit the poll loop when the
10396         pipeline actually changed state.
10397         Fix up warning parsing in -launch.
10398
10399 2005-06-25  Wim Taymans  <wim@fluendo.com>
10400
10401         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10402         (gst_tee_sink_activate):
10403         Core takes STREAM_LOCK for us now.
10404
10405 2005-06-25  Wim Taymans  <wim@fluendo.com>
10406
10407         * gst/gstelement.c: (gst_element_get_state_func),
10408         (gst_element_set_state):
10409         * gst/gstelement.h:
10410         * gst/gstmessage.c: (gst_message_parse_error),
10411         (gst_message_parse_warning):
10412         Keep track of current target state while performing a state
10413         change so that subclasses can do something interesting.
10414         Fix parsing of warning/error messages when GError is NULL.
10415
10416 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10417
10418         * docs/gst/Makefile.am:
10419         * docs/gst/gstreamer-docs.sgml:
10420         * docs/gst/gstreamer-sections.txt:
10421         * docs/gst/gstreamer.types:
10422         * docs/gst/tmpl/gstbasesink.sgml:
10423         * docs/gst/tmpl/gstbasesrc.sgml:
10424         * docs/gst/tmpl/gstbin.sgml:
10425         * docs/gst/tmpl/gstcompat.sgml:
10426         * docs/gst/tmpl/gstfakesink.sgml:
10427         * docs/gst/tmpl/gstfakesrc.sgml:
10428         * docs/gst/tmpl/gstfilesink.sgml:
10429         * docs/gst/tmpl/gstfilesrc.sgml:
10430         * docs/gst/tmpl/gstindex.sgml:
10431         * docs/manual/appendix-quotes.xml:
10432         * gst/base/gstbasesrc.h:
10433         * gst/elements/gstfakesrc.h:
10434         * gst/gstmessage.h:
10435           start pulling in base classes and elements in our docs
10436
10437 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
10438
10439         * docs/gst/Makefile.am:
10440         * docs/libs/Makefile.am:
10441           fixed make distcheck with gtk-doc 1.3
10442
10443 2005-06-23  Wim Taymans  <wim@fluendo.com>
10444
10445         * gst/gstelement.c: (gst_element_get_state_func),
10446         (gst_element_set_state), (gst_element_change_state):
10447         When the state did not change, also report NO_PREROLL
10448         when it matters.
10449
10450 2005-06-23  Wim Taymans  <wim@fluendo.com>
10451
10452         * gst/gstpad.c: (gst_pad_event_default):
10453         * gst/gstqueue.c: (gst_queue_loop):
10454         No unsafe task pausing please.
10455
10456 2005-06-23  Wim Taymans  <wim@fluendo.com>
10457
10458         * gst/schedulers/threadscheduler.c:
10459         (gst_thread_scheduler_task_start),
10460         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
10461         Ref the task before pushing it on the threadpool. This
10462         makes sure that we have a ref when the threadfunction is
10463         actually called.
10464
10465 2005-06-23  Andy Wingo  <wingo@pobox.com>
10466
10467         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
10468         offset is greater than the file's size.
10469
10470         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
10471         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
10472         * gst/gstobject.c (gst_object_class_init): Make the class lock
10473         recursive. Wim won't let me drop deep_notify. Decodebin works
10474         again, whoopdy doo.
10475
10476         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
10477         internal pad, and hacks accordingly. Doesn't do it on the target
10478         pad because we change its caps. Probably catches all cases of
10479         interest tho.
10480         (gst_ghost_pad_set_property): Connect to notify::caps as
10481         appropritate.
10482
10483         * tests/network-clock.scm (plot-simulation): Pipe data to the
10484         elite python skript.
10485
10486         * tests/network-clock-utils.scm (define-parameter): New macro,
10487         defines a parameter that can be set via the command line.
10488         (set-parameter!, parse-parameter-arguments): Command line args
10489         parser.
10490
10491         * tests/plot-data: Simple matplotlib-based plotter, takes input on
10492         stdin.
10493
10494 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
10495
10496         * gst/elements/gsttypefindelement.c:
10497         (gst_type_find_element_handle_event):
10498           Don't restart typefinding on a discont.
10499         * gst/gstelement.c: (gst_element_set_state):
10500           Debug spelling fix.
10501         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
10502           Allow changing mode of an active pad.
10503           Debug output fixes.
10504         * gst/registries/gstlibxmlregistry.c: (load_feature):
10505           Don't cast a static pad template to a normal pad template.
10506
10507 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10508
10509         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10510         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10511           remove gst_strtoll completely, since it didn't actually do
10512           anything more than what g_ascii_strtoull already does.
10513           check for range errors when deserializing
10514           do a cast for the unsigned cases; but further fixing needs
10515           a decision on what the interpretation of "(int)" and
10516           deserialization should be for values that fall outside the
10517           type's boundaries (ie, refuse, or interpret as casting)
10518
10519 2005-06-23  Wim Taymans  <wim@fluendo.com>
10520
10521         * check/Makefile.am:
10522         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
10523         * docs/design/part-live-source.txt:
10524         * docs/design/part-states.txt:
10525         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10526         (gst_basesrc_set_live), (gst_basesrc_is_live),
10527         (gst_basesrc_get_range), (gst_basesrc_activate),
10528         (gst_basesrc_change_state):
10529         * gst/base/gstbasesrc.h:
10530         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10531         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10532         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
10533         * gst/gstelement.c: (gst_element_get_state_func),
10534         (gst_element_set_state):
10535         * gst/gstelement.h:
10536         * gst/gsttypes.h:
10537         * tools/gst-launch.c: (event_loop), (main):
10538         Added support for live sources and other elements that
10539         cannot do preroll.
10540         Updated design docs, added live-source design doc.
10541         Implemented live source functionality in basesrc
10542         Fix error condition in _bin_get_state()
10543         Implement live source handling in -launch.
10544         Added check for live sources.
10545         Fixed case in GstBin where elements were changed state
10546         multiple times.
10547
10548
10549 2005-06-23  Andy Wingo  <wingo@pobox.com>
10550
10551         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
10552         borken refcounting.
10553
10554         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
10555         gst_caps_replace takes care of this for us.
10556
10557         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
10558         gst_pad_set_caps on the target, not just its setcaps() function.
10559
10560         * tests/network-clock.scm: 
10561         * tests/network-clock-utils.scm: A network clock simulator.
10562         Something of an algorithmic testbed before doing something in C.
10563
10564 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10565
10566         * check/Makefile.am:
10567         * check/gst/capslist.h:
10568           copy over from 0.8, and add two with bitmasks specified with
10569           (int) 0xFF...
10570         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10571           add test to parse everything from capslist.h
10572         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
10573         (main):
10574           add test for structure deserialization
10575         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10576           add tests for deserialization of strings to int types
10577         * gst/gststructure.c: (gst_structure_nth_field_name):
10578         * gst/gststructure.h:
10579           add a way to get the name of a field referenced by index
10580         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10581           instead of checking if the resulting long long lies between
10582           min and max, we check if the long long would fit into
10583           a number of bytes for the final type.
10584           This fixes cases where a string represents 2^32 - 1, which
10585           when cast to int would be the (valid) -1, but is bigger than
10586           G_MAXINT
10587
10588 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10589
10590         * gst/parse/grammar.y:
10591           add a log line for type deserialization
10592
10593 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10594
10595         * check/gst/gstvalue.c: (START_TEST):
10596         * gst/gstvalue.c: (gst_value_deserialize):
10597           return long long, not int, so gint64 deserialization actually
10598           works.  Is there any flag that makes the compiler check this ?
10599           Fixes #308559
10600
10601 2005-06-22  Wim Taymans  <wim@fluendo.com>
10602
10603         * gst/gstbuffer.h:
10604         Added convenience macros for setting buffers in GValue.
10605
10606 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10607
10608         * check/gst/.cvsignore:
10609         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10610           add a test deserializing int64, and comment part out because
10611           it fails, yay !
10612
10613 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10614
10615         * check/Makefile.am:
10616         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
10617         * testsuite/Makefile.am:
10618         * testsuite/caps/Makefile.am:
10619         * testsuite/caps/value_serialize.c:
10620         * testsuite/test_gst_init.c:
10621           move a value_serialize test over
10622
10623 2005-06-20  Wim Taymans  <wim@fluendo.com>
10624
10625         * gst/gstpad.c:
10626         Small doc updates.
10627         
10628         * gst/gstvalue.c: (gst_value_compare_buffer),
10629         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
10630         (gst_value_compare_flags), (gst_value_serialize_flags),
10631         (gst_value_deserialize_flags), (_gst_value_initialize):
10632         Fix serialisation of buffers, they are not boxed types anymore
10633
10634 2005-06-20  Wim Taymans  <wim@fluendo.com>
10635
10636         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10637         Testcase to show error in buffer-on-caps serialisation.
10638
10639 2005-06-20  Andy Wingo  <wingo@pobox.com>
10640
10641         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
10642         will be adding to later.
10643
10644         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
10645         if its socks fill with rocks.
10646         (gst_system_clock_obtain): Set the name on object construction.
10647         Avoid double-checked locking.
10648
10649 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
10650
10651         * gst/gsturi.c: (gst_element_make_from_uri):
10652           Fix potential endless loop.
10653
10654 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10655
10656         * check/Makefile.am:
10657           add gsttag
10658         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
10659         (main):
10660           move over from testsuite dir and clean up
10661         * configure.ac:
10662         * gst/gsttag.c:
10663         * testsuite/Makefile.am:
10664         * testsuite/tags/.cvsignore:
10665         * testsuite/tags/Makefile.am:
10666         * testsuite/tags/merge.c:
10667           remove testsuite/tags
10668
10669 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10670
10671         * docs/gst/gstreamer-sections.txt:
10672         * docs/gst/tmpl/gstenumtypes.sgml:
10673         * win32/gstenumtypes.c:
10674           clean up documentation build a little
10675
10676 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10677
10678         * check/gstcheck.h:
10679           add macros for checking refcounts on objects and caps
10680         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
10681           add some more unit tests
10682         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
10683         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
10684           fix leaked refcounts (I hope :)) so unittest works
10685         * gst/gstpad.h:
10686           whitespace removal
10687
10688 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10689
10690         * configure.ac: back to HEAD
10691
10692 === release 0.9.1 ===
10693
10694 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10695
10696         * NEWS:
10697         * RELEASE:
10698           updated
10699
10700 2005-06-17  Andy Wingo  <wingo@pobox.com>
10701
10702         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
10703         assert; it's always possible that the pad gets deactivated in
10704         between the checks in gstpad.c and the implementation. Rely on
10705         finish_preroll() to return a FLUSHING or similar instead of on the
10706         assert.
10707         
10708         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
10709         clock and post an EOS message if we come out of finish_preroll in
10710         the playing state.
10711
10712 2005-06-16  David Schleef  <ds@schleef.org>
10713
10714         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
10715         (gst_capsfilter_set_property): Allow NULL as possible value
10716         for filter_caps property, indicating GST_CAPS_ANY.
10717
10718 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10719
10720         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
10721           fix debug output
10722         * gst/schedulers/Makefile.am:
10723           use libgst prefix
10724         * gstreamer.spec.in:
10725           fix spec for it
10726
10727 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10728
10729         * gstreamer.spec.in:
10730           clean up
10731
10732 2005-06-08  Andy Wingo  <wingo@pobox.com>
10733
10734         * gst/gstutils.c: RPAD fixes all around.
10735         (gst_element_link_pads): Refcounting fixes.
10736
10737         * tools/gst-inspect.c:
10738         * tools/gst-xmlinspect.c:
10739         * parse/grammar.y:
10740         * gst/base/gsttypefindhelper.c:
10741         * gst/base/gstbasesink.c:
10742         * gst/gstqueue.c: RPAD fixes.
10743
10744         * gst/gstghostpad.h:
10745         * gst/gstghostpad.c: New ghost pad implementation as full proxy
10746         pads. The tricky thing is they provide both source and sink
10747         interfaces, since they proxy the internal pad for the external
10748         pad, and vice versa. Implement with lower-level ProxyPad objects,
10749         with the interior proxy pad as a child of the exterior ghost pad.
10750         Should write a doc on this.
10751         
10752         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
10753         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
10754         gst_object API.
10755         
10756         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
10757         pads are real pads. No ghost pads in this file. Not documenting
10758         the myriad s/RPAD/PAD/ and REALIZE fixes.
10759         (gst_pad_class_init): Add properties for "direction" and
10760         "template". Both are construct-only, so they can't change during
10761         the life of the pad. Fixes properly deriving from GstPad.
10762         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
10763         derived objects, just set properties when creating the objects via
10764         g_object_new.
10765         (gst_pad_get_parent): Implement as a function, return NULL if the
10766         parent is not an element.
10767         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
10768         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
10769         
10770         * gst/gstobject.c (gst_object_class_init): Make name a construct
10771         property. Don't set it in the object init.
10772
10773         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
10774         with UNKNOWN direction.
10775         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
10776         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
10777         (gst_element_remove_pad): Remove ghost-pad special cases.
10778         (gst_element_pads_activate): Remove rpad cruft.
10779
10780         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
10781         catch the pad's-parent-not-an-element case.
10782
10783         * gst/gst.h: Include gstghostpad.h.
10784
10785         * gst/gst.c (init_post): No more real, ghost pads.
10786
10787         * gst/Makefile.am: Add gstghostpad.[ch].
10788
10789         * check/Makefile.am:
10790         * check/gst/gstbin.c:
10791         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
10792         into a bin creates ghost pads, and that the refcounts are right.
10793         Partly moved from gstbin.c.
10794
10795 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10796
10797         * check/gst-libs/.cvsignore:
10798         * check/gst/.cvsignore:
10799         * check/pipelines/.cvsignore:
10800           ignore more
10801         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
10802         (START_TEST), (cleanup_suite), (main):
10803           add some tests related to cleanup after running pipelines
10804
10805 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10806
10807         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
10808           add a testsuite for GstBuffer
10809
10810 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10811
10812         * gst/gstminiobject.h:
10813           add defines for accessing the refcount
10814
10815 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
10816
10817         * Makefile.am: added support for html unit test coverage reports
10818
10819 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
10820
10821         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
10822           Free existing caps if the capsfilter changes. Add a FIXME about
10823           setting those caps on the pads.
10824
10825         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
10826           Before adding a ghost pad to a parent bin, check that there isn't
10827           already one for the element on the bin. Prevents infinite recursion
10828           when using decodebin in parse pipelines. Andy says he'll rewrite the
10829           way this works anyway, so ignore the hack.
10830
10831 2005-06-02  Andy Wingo  <wingo@pobox.com>
10832
10833         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
10834         file size, pass it on to the type find helper.
10835
10836         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
10837         segment_start and segment_end properly according to the seek
10838         method. Segment_end is still a bit flaky because offset can be
10839         negative for CUR and END cases, but it takes -1 as an "unset"
10840         value.
10841
10842 2005-06-02  Wim Taymans  <wim@fluendo.com>
10843
10844         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
10845         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
10846         (gst_basesink_activate):
10847         * gst/base/gstbasesink.h:
10848         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10849         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10850         (gst_pad_query), (gst_pad_start_task):
10851         * gst/gstpad.h:
10852         * gst/gstqueue.c: (gst_queue_bufferalloc),
10853         (gst_queue_handle_sink_event), (gst_queue_chain):
10854         Bufferalloc: return GstFlowReturn to more accuratly report
10855         why allocation failed.
10856
10857 2005-06-02  Wim Taymans  <wim@fluendo.com>
10858
10859         * gst/gstpipeline.c: (gst_pipeline_send_event):
10860         Take snapshot of state without blocking.
10861
10862 2005-06-02  Wim Taymans  <wim@fluendo.com>
10863
10864         * docs/design/part-TODO.txt:
10865         * docs/design/part-caps.txt:
10866         * docs/design/part-clocks.txt:
10867         * docs/design/part-negotiation.txt:
10868         * docs/design/part-preroll.txt:
10869         Small doc updates 
10870
10871 2005-05-30  Wim Taymans  <wim@fluendo.com>
10872
10873         * gst/elements/gstidentity.c: (gst_identity_event),
10874         (gst_identity_transform), (gst_identity_get_property):
10875         Protect last_message property as it is accessed from
10876         multiple threads.
10877
10878 2005-05-30  Wim Taymans  <wim@fluendo.com>
10879
10880         * gst/gstelement.c: (gst_element_init),
10881         (gst_element_pads_activate), (gst_element_change_state):
10882         Slicker pad activation code.
10883
10884 2005-05-30  Wim Taymans  <wim@fluendo.com>
10885
10886         * gst/Makefile.am:
10887         * gst/gstelement.h:
10888         * gst/gstelementfactory.h:
10889         * gst/gsttypes.h:
10890         Move elementfactory methods to separate .h file.
10891
10892 2005-05-30  Wim Taymans  <wim@fluendo.com>
10893
10894         * docs/design/part-overview.txt:
10895         * gst/gstsystemclock.h:
10896         Small typo fixes, doc updates.
10897
10898 2005-05-30  Wim Taymans  <wim@fluendo.com>
10899
10900         * gst/gst.c: (gst_init_get_popt_table), (init_post),
10901         (init_popt_callback):
10902         Remove cpu-opt flag.
10903
10904 2005-05-30  Wim Taymans  <wim@fluendo.com>
10905
10906         * gst/gstbuffer.c: (gst_subbuffer_finalize),
10907         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
10908         * gst/gstbuffer.h:
10909         Avoid typechecking in places where not needed.
10910         Added accessor for malloc_data.
10911
10912 2005-05-30  Wim Taymans  <wim@fluendo.com>
10913
10914         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
10915         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
10916         (gst_pad_configure_sink), (gst_pad_configure_src),
10917         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
10918         (gst_pad_start_task):
10919         Propagate errors from _set_caps() in configure_src/sink
10920         functions instead of returning TRUE.
10921         FLUSH events can travel up and downstream
10922
10923
10924 2005-05-30  Wim Taymans  <wim@fluendo.com>
10925
10926         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
10927         (gst_basesink_activate):
10928         Handle EOS in preroll.
10929
10930 2005-05-30  Wim Taymans  <wim@fluendo.com>
10931
10932         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10933         (gst_queue_loop), (gst_queue_handle_src_event):
10934         Remove old pieces of code
10935         Flushing the queue in an upstream event is a very bad idea.
10936
10937 2005-05-26  Andy Wingo  <wingo@pobox.com>
10938
10939         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
10940         gst_value_set_mini_object so as to add a ref on the object (which
10941         will be removed when the value is unset).
10942
10943         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
10944         arg type in ::handoff.
10945
10946         * gst/gstelement.c (gst_element_change_state): Also deactivate
10947         pads in READY->NULL, just in case the element didn't make it to
10948         PAUSED. Wingo tested, Wim approved.
10949
10950 2005-05-26  Wim Taymans  <wim@fluendo.com>
10951
10952         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10953         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10954         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
10955         A flushing pad cannot be used to alloc_buffer from.
10956
10957 2005-05-26  Wim Taymans  <wim@fluendo.com>
10958
10959         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
10960         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
10961         (gst_bus_source_dispatch), (gst_bus_source_finalize),
10962         (gst_bus_create_watch), (gst_bus_add_watch_full):
10963         * gst/gstbus.h:
10964         Implement a real GSource and use g_main_context_wakeup() to
10965         signal new messages instead of the socketpair.
10966
10967 2005-05-25  Wim Taymans  <wim@fluendo.com>
10968
10969         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
10970         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
10971         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10972         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
10973         (gst_pad_send_event), (gst_pad_start_task):
10974         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
10975         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
10976         (gst_queue_sink_activate), (gst_queue_src_activate),
10977         (gst_queue_change_state):
10978         * gst/gstqueue.h:
10979         Fix state changes for non sinks. We now change sinks, then elements
10980         with unconnected srcpads, then the rest.
10981         More efficient queue unlocking in flush and state changes.
10982         Set the pad activate mode even if it does not have an activate
10983         function.
10984
10985 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10986
10987         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
10988           Don't go in pull mode for non-seekable sources.
10989         * gst/elements/gsttypefindelement.h:
10990         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
10991         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
10992         (free_entry), (stop_typefinding),
10993         (gst_type_find_element_handle_event), (find_peek),
10994         (gst_type_find_element_chain), (do_pull_typefind),
10995         (gst_type_find_element_change_state):
10996           Allow typefinding (w/o seeking) in push-mode, simplified version
10997           of what was in 0.8.
10998         * gst/gstutils.c: (gst_buffer_join):
10999         * gst/gstutils.h:
11000           gst_buffer_join() from 0.8.
11001
11002 2005-05-25  Wim Taymans  <wim@fluendo.com>
11003
11004         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11005         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11006         (gst_pad_send_event), (gst_pad_start_task):
11007         Disable attempt at mode switching until it is figured out.
11008
11009 2005-05-25  Wim Taymans  <wim@fluendo.com>
11010
11011         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
11012         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11013         (gst_basesink_finish_preroll), (gst_basesink_chain),
11014         (gst_basesink_loop), (gst_basesink_activate),
11015         (gst_basesink_change_state):
11016         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
11017         (gst_basesrc_get_range), (gst_basesrc_loop),
11018         (gst_basesrc_activate):
11019         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11020         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
11021         (gst_real_pad_init), (gst_real_pad_set_property),
11022         (gst_real_pad_get_property), (gst_pad_set_active),
11023         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
11024         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
11025         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
11026         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
11027         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11028         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
11029         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
11030         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11031         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
11032         (gst_pad_stop_task):
11033         * gst/gstpad.h:
11034         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11035         (gst_queue_loop), (gst_queue_src_activate):
11036         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
11037         (gst_task_get_state):
11038         * gst/gsttask.h:
11039         * gst/schedulers/threadscheduler.c:
11040         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
11041         Implement gst_pad_pause/start/stop_task(), take STREAM lock
11042         in task function.
11043         Remove ACTIVE pad flag, use FLUSHING everywhere
11044         Added _pad_chain(), _pad_get_range() to call chain/getrange 
11045         functions.
11046         Add locks around IS_FLUSHING when reading.
11047         Take STREAM lock in chain(), get_range() functions so plugins
11048         don't need to take it anymore.
11049         
11050
11051
11052 2005-05-25  Wim Taymans  <wim@fluendo.com>
11053
11054         * tools/gst-launch.c: (event_loop):
11055         Unref message after using its contents instead of
11056         before.
11057
11058 2005-05-24  Wim Taymans  <wim@fluendo.com>
11059
11060         * docs/design/draft-ghostpads.txt:
11061         * docs/design/draft-push-pull.txt:
11062         * docs/design/draft-query.txt:
11063         * docs/design/part-overview.txt:
11064         Docs updates, added general overview doc.
11065
11066 2005-05-21  David Schleef  <ds@schleef.org>
11067
11068         * docs/gst/tmpl/old/GstBin.sgml:
11069         * docs/gst/tmpl/old/GstBuffer.sgml:
11070         * docs/gst/tmpl/old/GstCaps.sgml:
11071         * docs/gst/tmpl/old/GstClock.sgml:
11072         * docs/gst/tmpl/old/GstCompat.sgml:
11073         * docs/gst/tmpl/old/GstData.sgml:
11074         * docs/gst/tmpl/old/GstElement.sgml:
11075         * docs/gst/tmpl/old/GstEvent.sgml:
11076         * docs/gst/tmpl/old/GstIndex.sgml:
11077         * docs/gst/tmpl/old/GstStructure.sgml:
11078         * docs/gst/tmpl/old/GstTag.sgml:
11079         * docs/gst/tmpl/old/cothreads.sgml:
11080         * docs/gst/tmpl/old/cothreads_compat.sgml:
11081         * docs/gst/tmpl/old/gettext.sgml:
11082         * docs/gst/tmpl/old/gobject2gtk.sgml:
11083         * docs/gst/tmpl/old/grammar.tab.sgml:
11084         * docs/gst/tmpl/old/gst-i18n-app.sgml:
11085         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
11086         * docs/gst/tmpl/old/gst_private.sgml:
11087         * docs/gst/tmpl/old/gstaggregator.sgml:
11088         * docs/gst/tmpl/old/gstarch.sgml:
11089         * docs/gst/tmpl/old/gstatomic_impl.sgml:
11090         * docs/gst/tmpl/old/gstbufferstore.sgml:
11091         * docs/gst/tmpl/old/gstdata_private.sgml:
11092         * docs/gst/tmpl/old/gstdisksink.sgml:
11093         * docs/gst/tmpl/old/gstdisksrc.sgml:
11094         * docs/gst/tmpl/old/gstelementfactory.sgml:
11095         * docs/gst/tmpl/old/gstextratypes.sgml:
11096         * docs/gst/tmpl/old/gstfakesink.sgml:
11097         * docs/gst/tmpl/old/gstfakesrc.sgml:
11098         * docs/gst/tmpl/old/gstfdsink.sgml:
11099         * docs/gst/tmpl/old/gstfdsrc.sgml:
11100         * docs/gst/tmpl/old/gstfilesink.sgml:
11101         * docs/gst/tmpl/old/gstfilesrc.sgml:
11102         * docs/gst/tmpl/old/gsthttpsrc.sgml:
11103         * docs/gst/tmpl/old/gstidentity.sgml:
11104         * docs/gst/tmpl/old/gstindexfactory.sgml:
11105         * docs/gst/tmpl/old/gstmarshal.sgml:
11106         * docs/gst/tmpl/old/gstmd5sink.sgml:
11107         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
11108         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
11109         * docs/gst/tmpl/old/gstpadtemplate.sgml:
11110         * docs/gst/tmpl/old/gstpipefilter.sgml:
11111         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
11112         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
11113         * docs/gst/tmpl/old/gstshaper.sgml:
11114         * docs/gst/tmpl/old/gstspider.sgml:
11115         * docs/gst/tmpl/old/gstspideridentity.sgml:
11116         * docs/gst/tmpl/old/gststatistics.sgml:
11117         * docs/gst/tmpl/old/gsttee.sgml:
11118         * docs/gst/tmpl/old/gsttimecache.sgml:
11119         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
11120         * docs/gst/tmpl/old/gstxmlregistry.sgml:
11121         * docs/gst/tmpl/old/gthread-cothreads.sgml:
11122         * docs/gst/tmpl/old/types.sgml:
11123           I didn't intend to add these or check them in.
11124
11125 2005-05-19  David Schleef  <ds@schleef.org>
11126
11127         * configure.ac: Use -no-common everywhere.  In a sane world, it
11128           would be the default in libtool, because without it, you can't
11129           build DLLs on Windows.
11130         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
11131         * docs/gst/gstreamer-sections.txt:
11132         * docs/gst/tmpl/gstcpu.sgml:
11133         * docs/gst/tmpl/gstdata.sgml:
11134         * docs/gst/tmpl/gstthread.sgml:
11135
11136 2005-05-19  David Schleef  <ds@schleef.org>
11137
11138         * gst/gstminiobject.c: (gst_value_set_mini_object),
11139         (gst_value_take_mini_object), (gst_value_get_mini_object):
11140         * gst/gstminiobject.h: Add GValue set/get functions.
11141
11142 2005-05-19  Wim Taymans  <wim@fluendo.com>
11143
11144         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
11145         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
11146         (gst_subbuffer_init), (gst_buffer_is_span_fast):
11147         * gst/gstbuffer.h:
11148         * gst/gstbus.c: (gst_bus_post):
11149         * gst/gstelement.c: (gst_element_get_random_pad):
11150         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
11151         Make subbufer unref the parent in finalize.
11152         some more debugging info.
11153
11154
11155 2005-05-19  Wim Taymans  <wim@fluendo.com>
11156
11157         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11158         (gst_basesink_init), (gst_basesink_finalize),
11159         (gst_basesink_activate), (gst_basesink_change_state):
11160         Don't free preroll queue too early.
11161
11162 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11163
11164         * gst/Makefile.am:
11165         * gst/ROADMAP:
11166           Hi, I'm outdated. Please shoot me.
11167
11168 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11169
11170         * gst/gstpipeline.c: (gst_pipeline_send_event):
11171           Do not access variables after they have been deleted.
11172
11173 2005-05-19  Wim Taymans  <wim@fluendo.com>
11174
11175         * tools/gst-inspect.c: (print_plugin_features):
11176         A plugin feature does unfortunatly not use the
11177         object name yet...
11178
11179 2005-05-18  Wim Taymans  <wim@fluendo.com>
11180
11181         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
11182         Port _span() functions to new subbuffers.
11183
11184 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11185
11186         * gst/gstbin.c: (gst_bin_add_func):
11187           Fix clock settery in bins when adding kids after the clock has
11188           been selected.
11189
11190 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11191
11192         * gst/elements/gstidentity.c: (gst_identity_class_init):
11193           Workaround until signals support GstMiniObject.
11194
11195 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
11196
11197         * gst/gstbuffer.c:
11198         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11199
11200 2005-05-18  Wim Taymans  <wim@fluendo.com>
11201
11202         * gst/base/Makefile.am:
11203         * gst/base/gstadapter.c: (gst_adapter_base_init),
11204         (gst_adapter_class_init), (gst_adapter_init),
11205         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
11206         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
11207         (gst_adapter_flush), (gst_adapter_available),
11208         (gst_adapter_available_fast):
11209         * gst/base/gstadapter.h:
11210         Ported and added adapter to the base classes.
11211
11212 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11213
11214         * gst/gst.c:
11215         * gst/gstmessage.c:
11216           Make sure the class is reffed/unreffed once before threads can be
11217           used.  Fixes #304551.
11218
11219 2005-05-17  Wim Taymans  <wim@fluendo.com>
11220
11221         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11222         (gst_basesink_chain_unlocked), (gst_basesink_activate):
11223         * gst/gstminiobject.c: (gst_mini_object_get_type),
11224         (gst_mini_object_free):
11225         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11226         (gst_pad_push), (gst_pad_push_event):
11227         * gst/gstqueue.c: (gst_queue_change_state):
11228         Don't queue buffers in basesink when we are flushing.
11229         Unref buffer when flushing in basesink.
11230         Flush queue when going to READY
11231         Unref buffer when _push() returns an error.
11232         Don't free MiniObject instance when refcount is incremented
11233         in _finalize() so that we can recover objects.
11234
11235 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11236
11237         * docs/manual/advanced-schedulers.xml:
11238         * docs/manual/appendix-checklist.xml:
11239         * docs/pwg/advanced-clock.xml:
11240         * docs/pwg/advanced-interfaces.xml:
11241         * docs/pwg/advanced-request.xml:
11242         * docs/pwg/advanced-types.xml:
11243         * docs/pwg/intro-preface.xml:
11244         * examples/plugins/example.c: (gst_example_get_type),
11245         (gst_example_class_init), (gst_example_chain),
11246         (gst_example_set_property), (gst_example_get_property),
11247         (gst_example_change_state), (plugin_init):
11248         * examples/plugins/example.h:
11249           small doc fixes
11250
11251 2005-05-17  Wim Taymans  <wim@fluendo.com>
11252
11253         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11254         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11255         * gst/gstqueue.c: (gst_queue_change_state):
11256         Clear queue when going to READY.
11257         Remove IN_SETCAPS flag too.
11258
11259 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
11260
11261         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11262           Remove implicit cast from gboolean to GstElementStateReturn;
11263           make sure we still return failure in paused => ready case if
11264           the parent class fails to change state and our own stop 
11265           vfunc succeeds.
11266
11267 2005-05-17  Wim Taymans  <wim@fluendo.com>
11268
11269         * tools/gst-launch.c: (event_loop):
11270         Message was unreffed too soon.
11271
11272 2005-05-16  Andy Wingo  <wingo@pobox.com>
11273
11274         * gst/gstbin.c (sink_iterator_filter): Err... um...
11275
11276         * check/gst/gstbin.c (test_ghost_pads): New test for the
11277         ghosting-if-elements-not-in-same-bin behavior.
11278
11279 2005-05-16  David Schleef  <ds@schleef.org>
11280
11281         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11282         accessing refcount directly.
11283
11284 2005-05-15  David Schleef  <ds@schleef.org>
11285
11286         * check/Makefile.am: remove GstData checks
11287         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11288         * gst/Makefile.am: add miniobject, remove data
11289         * gst/gst.h: add miniobject, remove data
11290         * gst/gstdata.c: remove
11291         * gst/gstdata.h: remove
11292         * gst/gstdata_private.h: remove
11293         * gst/gsttypes.h: remove GstEvent and GstMessage
11294         * gst/gstelement.c: (gst_element_post_message): fix for API changes
11295         * gst/gstmarshal.list: change BOXED -> OBJECT
11296
11297         Implement GstMiniObject.
11298         * gst/gstminiobject.c:
11299         * gst/gstminiobject.h:
11300
11301         Modify to be subclasses of GstMiniObject.
11302         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11303         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11304         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11305         (gst_subbuffer_get_type), (gst_subbuffer_init),
11306         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11307         (gst_buffer_span):
11308         * gst/gstbuffer.h:
11309         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11310         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11311         (_gst_event_copy), (gst_event_new):
11312         * gst/gstevent.h:
11313         * gst/gstmessage.c: (_gst_message_initialize),
11314         (gst_message_get_type), (gst_message_class_init),
11315         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11316         (gst_message_new), (gst_message_new_error),
11317         (gst_message_new_warning), (gst_message_new_tag),
11318         (gst_message_new_state_changed), (gst_message_new_application):
11319         * gst/gstmessage.h:
11320         * gst/gstprobe.c: (gst_probe_perform),
11321         (gst_probe_dispatcher_dispatch):
11322         * gst/gstprobe.h:
11323         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11324         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11325         (_gst_query_copy), (gst_query_new):
11326
11327         Update elements for GstData -> GstMiniObject changes
11328         * gst/gstquery.h:
11329         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11330         (gst_queue_chain), (gst_queue_loop):
11331         * gst/elements/gstbufferstore.c:
11332         (gst_buffer_store_add_buffer_func),
11333         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11334         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11335         (gst_fakesink_render):
11336         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11337         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11338         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11339         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11340         (gst_filesrc_create_read):
11341         * gst/elements/gstidentity.c: (gst_identity_class_init):
11342         * gst/elements/gsttypefindelement.c:
11343         (gst_type_find_element_src_event), (free_entry_buffers),
11344         (gst_type_find_element_handle_event):
11345         * libs/gst/dataprotocol/dataprotocol.c:
11346         (gst_dp_header_from_buffer):
11347         * libs/gst/dataprotocol/dataprotocol.h:
11348         * libs/gst/dataprotocol/dp-private.h:
11349
11350 2005-05-15  David Schleef  <ds@schleef.org>
11351
11352         * gst/elements/gstelements.c: Don't include headers that were
11353         just removed.
11354
11355 2005-05-15  David Schleef  <ds@schleef.org>
11356
11357         * gst/elements/Makefile.am: Remove some elements that don't
11358         need to be in the core (or even exist at all).
11359         * gst/elements/gstaggregator.c:
11360         * gst/elements/gstaggregator.h:
11361         * gst/elements/gstmd5sink.c:
11362         * gst/elements/gstmd5sink.h:
11363         * gst/elements/gstmultifilesrc.c:
11364         * gst/elements/gstmultifilesrc.h:
11365         * gst/elements/gstpipefilter.c:
11366         * gst/elements/gstpipefilter.h:
11367         * gst/elements/gstshaper.c:
11368         * gst/elements/gstshaper.h:
11369         * gst/elements/gststatistics.c:
11370         * gst/elements/gststatistics.h:
11371         * po/POTFILES.in: Remove above files.
11372
11373 2005-05-14  Andy Wingo  <wingo@pobox.com>
11374
11375         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11376         so as to get the refs right.
11377         (sink_iterator_filter): New function, wraps bin_element_is_sink,
11378         unreffing objects that don't pass the filter.
11379
11380         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11381         gst_element_set_bus.
11382         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11383         normal cases, this will destroy the bus.
11384
11385         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11386         object.
11387
11388         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11389         has no sinks.
11390
11391 2005-05-13  Andy Wingo  <wingo@pobox.com>
11392
11393         * gst/gstutils.c (gst_element_link_pads): Instead of calling
11394         gst_pad_link, call pad_link_maybe_ghosting,
11395         (pad_link_maybe_ghosting): Links pads, making sure that the
11396         elements being linked are in the same bin.
11397         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11398         Helpers for pad_link_maybe_ghosting.
11399
11400 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11401
11402         * configure.ac:
11403           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11404
11405 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11406
11407         * docs/design/part-element-source.txt:
11408           Mention GstPushSrc
11409
11410 2005-05-12  Wim Taymans  <wim@fluendo.com>
11411
11412         * gst/base/gstbasesink.c: (gst_basesink_init),
11413         (gst_basesink_activate):
11414         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11415         (gst_basesrc_is_seekable):
11416         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11417         (bin_element_is_sink), (gst_bin_change_state):
11418         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11419         * gst/gstelement.h:
11420         Identify sinks by their flag to avoid overly complicated
11421         checks (fow now).
11422         Do state changes even for elements not reachable from the
11423         sinks.
11424         BaseSink is a sink now :)
11425         Some more debugging info in the basesrc.
11426
11427
11428 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11429
11430         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
11431           Implement _query on a bin, similar to _send_event.
11432
11433 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
11434
11435         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
11436           Discont event offset format should be GST_FORMAT_BYTES,
11437           not GST_FORMAT_TIME.
11438
11439 2005-05-12  Wim Taymans  <wim@fluendo.com>
11440
11441         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
11442         Same fix as Ronald's but without the signal. 
11443
11444 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11445
11446         * gst/gstutils.c: (gst_element_query_position):
11447           No, an element is not a pad.
11448
11449 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11450
11451         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
11452         (gst_bin_get_state):
11453           If a child is removed from a bin while we remove the child from
11454           the bin and while we're retrieving its state, signal this to the
11455           get_state function so we abort the wait (instead of waiting for
11456           a timeout) and can immediately re-iterate over all other elements.
11457
11458 2005-05-12  Wim Taymans  <wim@fluendo.com>
11459
11460         * gst/base/Makefile.am:
11461         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
11462         (gst_basesrc_start):
11463         * gst/base/gstbasesrc.h:
11464         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
11465         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
11466         (gst_pushsrc_init), (gst_pushsrc_create):
11467         * gst/base/gstpushsrc.h:
11468         Added is_seekable to BaseSrc
11469         Added simple PushSrc.
11470
11471 2005-05-11  Wim Taymans  <wim@fluendo.com>
11472
11473         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11474         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11475         (gst_element_link_pads), (gst_element_query_position),
11476         (gst_element_query_convert), (intersect_caps_func),
11477         (gst_pad_query_position), (gst_pad_query_convert):
11478         Fix refcounting in utils function.
11479         No point in trying to activate a pad when it's added, it could
11480         be added from the state change function and then we deadlock, the
11481         element has to decide what to do.
11482
11483 2005-05-10  Andy Wingo  <wingo@pobox.com>
11484
11485         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
11486         *all* the arguments.
11487
11488         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
11489         stream lock if it's a FLUSH_DONE; normal flushes don't get the
11490         lock (according to the docs -- if this is wrong change the docs).
11491
11492         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
11493         flush messages in the NULL state.
11494
11495         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
11496         message immediately and return.
11497         (gst_bus_set_flushing): New function. If a bus is flushing, it
11498         flushes out any queued messages and immediately unrefs new
11499         messages. This is so when an element goes to NULL, all of the
11500         unhandled messages coming from it can be freed, and their
11501         references to the element dropped. In other words: message source
11502         ref considered harmful :P
11503
11504         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
11505         we're finished with it.
11506
11507         * gst/gstmessage.c (gst_message_new_state_changed): 
11508
11509 2005-05-10  Wim Taymans  <wim@fluendo.com>
11510
11511         * gst/gstvalue.c: (gst_value_compare_flags),
11512         (gst_value_serialize_flags), (gst_value_deserialize_flags),
11513         (_gst_value_initialize):
11514         Added flags serialize/deserialize/compare code.
11515
11516 2005-05-09  Andy Wingo  <wingo@pobox.com>
11517
11518         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
11519         Intersect the peer's caps with our caps.
11520
11521 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11522
11523         * gst/base/gsttypefindhelper.c: (helper_find_peek):
11524         * gst/elements/gsttypefindelement.c: (find_peek):
11525           Handle negative offsets better. Fixes decodebin.
11526
11527 2005-05-09  Wim Taymans  <wim@fluendo.com>
11528
11529         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
11530         (gst_base_transform_event):
11531         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
11532         Implement accept_caps.
11533         Fix silly lock/unlock mismatch in base class.
11534
11535 2005-05-09  Wim Taymans  <wim@fluendo.com>
11536
11537         * docs/design/draft-push-pull.txt:
11538         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
11539         * gst/elements/gstfilesink.c: (gst_filesink_init),
11540         (gst_filesink_query):
11541         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11542         (gst_type_find_handle_src_query), (find_element_get_length):
11543         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
11544         * gst/gstelement.h:
11545         * gst/gstmessage.c:
11546         * gst/gstmessage.h:
11547         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
11548         (gst_real_pad_get_caps_unlocked),
11549         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
11550         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11551         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
11552         (gst_real_pad_dispose), (gst_real_pad_finalize),
11553         (gst_pad_load_and_link), (gst_pad_save_thyself),
11554         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
11555         (gst_pad_check_pull_range), (gst_pad_pull_range),
11556         (gst_pad_template_get_type), (gst_pad_template_class_init),
11557         (gst_pad_template_init), (gst_pad_template_dispose),
11558         (name_is_valid), (gst_static_pad_template_get),
11559         (gst_pad_template_new), (gst_static_pad_template_get_caps),
11560         (gst_pad_template_get_caps), (gst_pad_set_element_private),
11561         (gst_pad_get_element_private), (gst_pad_start_task),
11562         (gst_pad_pause_task), (gst_pad_stop_task),
11563         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
11564         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
11565         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
11566         (gst_ghost_pad_new):
11567         * gst/gstpad.h:
11568         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
11569         (gst_query_new_position), (gst_query_set_position),
11570         (gst_query_parse_position), (gst_query_new_convert),
11571         (gst_query_set_convert), (gst_query_parse_convert):
11572         * gst/gstquery.h:
11573         * gst/gstqueryutils.c:
11574         * gst/gstqueryutils.h:
11575         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11576         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11577         (gst_queue_handle_src_query):
11578         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11579         (gst_element_query_position), (gst_element_query_convert),
11580         (intersect_caps_func), (gst_pad_query_position),
11581         (gst_pad_query_convert):
11582         * gst/gstutils.h:
11583         * tools/gst-inspect.c: (print_pad_info):
11584         * tools/gst-xmlinspect.c: (print_element_info):
11585         Remove old query functions. Ported old code.
11586         Added position/convert helper functions to gstutils.
11587         Reordered gstpad.c code, grouping relevant things.
11588         Remove gst_message_new(), always need to speficy a specific
11589         message.
11590
11591
11592 2005-05-09  Andy Wingo  <wingo@pobox.com>
11593
11594         * gst/gstiterator.h: Add some includes.
11595
11596         * gst/gstqueryutils.h: Include more headers.
11597
11598         * gst/gstpad.h:
11599         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
11600         some uses of gst_pad_query.
11601
11602         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
11603         NULL out parameters.
11604         (gst_query_new_position): New proc, allocates a new position
11605         query.
11606
11607         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
11608         gstqueryutils.c to the build.
11609
11610         * gst/gststructure.c (gst_structure_set_valist): Implement with
11611         the generic G_VALUE_COLLECT.
11612         
11613 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
11614
11615         * gst/Makefile.am: (gst_headers):
11616         Added gstqueryutils.h to the list of headers to install, that was
11617         a 'nachty' move wingo :)
11618
11619 2005-05-06  Andy Wingo  <wingo@pobox.com>
11620
11621         * gst/gstquery.h
11622         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
11623         GstData, init a memchunk.
11624         (standard_definitions): Add a few query types, deprecate a few.
11625         (gst_query_get_type): New proc.
11626         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
11627         implementation.
11628         (gst_query_new_application, gst_query_get_structure): New public
11629         procs.
11630
11631         * docs/design/draft-query.txt: Removed LINKS from the query types,
11632         because all the rest can be dispatched to other pads -- seemed
11633         ugly to have a query that couldn't be dispatched. internal_links
11634         is fine as a pad method.
11635
11636         * gst/gstpad.h: Add query2 as a pad method, add the new functions
11637         in gstpad.c, but maintain binary compatibility for the moment.
11638         Will fix before 0.9 is out.
11639
11640         * gst/gstqueryutils.c: 
11641         * gst/gstqueryutils.h: New files, implement 3 methods for each
11642         query type: parse_query, parse_response, and set. Probably need an
11643         allocator as well.
11644
11645         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
11646
11647         * gst/elements/gstfilesink.c (gst_filesink_query2):
11648         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
11649         query_types, and formats methods.
11650
11651         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
11652         (gst_pad_set_query2_function): New functions.
11653         (gst_real_pad_init): Set query2_default as the default query2
11654         function. Basically just dispatches to internally linked pads.
11655
11656         Needs review!
11657         
11658         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
11659         without using the atomic operations. Only one thread can possibly
11660         be accessing the data at this point. Changed so as to avoid
11661         gst_atomic operations.
11662
11663 2005-05-06  Wim Taymans  <wim@fluendo.com>
11664
11665         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
11666         Also set caps if we use the fallback buffer alloc.
11667
11668 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
11669
11670         * docs/gst/Makefile.am:
11671         * docs/gst/gstreamer-docs.sgml:
11672         * docs/gst/gstreamer-sections.txt:
11673         * docs/gst/tmpl/gstatomic.sgml:
11674         * docs/gst/tmpl/gstmemchunk.sgml:
11675         * testsuite/elements/struct_i386.h:
11676         * win32/GStreamer.vcproj:
11677         * win32/Makefile:
11678           Purge GstAtomic stuff from docs and win32 makefiles as well
11679
11680 2005-05-06  Wim Taymans  <wim@fluendo.com>
11681
11682         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
11683         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
11684         * gst/gstpad.c: (gst_pad_peer_get_caps):
11685         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11686         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11687         (gst_queue_src_activate), (gst_queue_change_state):
11688         * gst/gstqueue.h:
11689         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11690         (intersect_caps_func):
11691         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
11692         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
11693         Some fixes for the peer_get_caps() change.
11694
11695 2005-05-06  Wim Taymans  <wim@fluendo.com>
11696
11697         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11698         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
11699         (gst_basesink_activate):
11700         Actually do something with error codes returned from the push
11701         functions.
11702
11703 2005-05-06  Wim Taymans  <wim@fluendo.com>
11704
11705         * docs/design/part-element-sink.txt:
11706         * docs/design/part-element-source.txt:
11707         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11708         (gst_basesink_event), (gst_basesink_activate):
11709         * gst/base/gstbasesink.h:
11710         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
11711         (gst_basesrc_activate):
11712         * gst/base/gstbasesrc.h:
11713         * gst/gstelement.c: (gst_element_pads_activate):
11714         Some more documentation.
11715         Fixed scheduling decision in _pads_activate().
11716
11717 2005-05-05  Andy Wingo  <wingo@pobox.com>
11718
11719         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
11720         the test suite.
11721
11722 2005-05-05  Wim Taymans  <wim@fluendo.com>
11723
11724         * gst/base/Makefile.am:
11725         * gst/base/gstbasesink.h:
11726         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11727         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
11728         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
11729         (gst_collectpads_class_init), (gst_collectpads_init),
11730         (gst_collectpads_finalize), (gst_collectpads_new),
11731         (gst_collectpads_set_function), (gst_collectpads_add_pad),
11732         (find_pad), (gst_collectpads_remove_pad),
11733         (gst_collectpads_is_active), (gst_collectpads_collect),
11734         (gst_collectpads_collect_range), (gst_collectpads_start),
11735         (gst_collectpads_stop), (gst_collectpads_peek),
11736         (gst_collectpads_pop), (gst_collectpads_available),
11737         (gst_collectpads_read), (gst_collectpads_flush),
11738         (gst_collectpads_chain):
11739         * gst/base/gstcollectpads.h:
11740         * gst/elements/Makefile.am:
11741         * gst/elements/gstelements.c:
11742         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11743         (gst_fakesink_get_times), (gst_fakesink_event),
11744         (gst_fakesink_preroll), (gst_fakesink_render):
11745         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
11746         (gst_filesink_init), (gst_filesink_set_location),
11747         (gst_filesink_open_file), (gst_filesink_close_file),
11748         (gst_filesink_pad_query), (gst_filesink_event),
11749         (gst_filesink_render), (gst_filesink_change_state):
11750         * gst/elements/gstfilesink.h:
11751         Added object to help in making collect pad based elements.
11752         Ported filesink.
11753         Make event function in sink baseclass return gboolean.
11754
11755 2005-05-05  Wim Taymans  <wim@fluendo.com>
11756
11757         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
11758         (gst_bin_get_by_name):
11759         * gst/gstbuffer.h:
11760         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
11761         (gst_clock_finalize):
11762         * gst/gstdata.c: (gst_data_replace):
11763         * gst/gstdata.h:
11764         * gst/gstelement.c: (gst_element_request_pad),
11765         (gst_element_pads_activate):
11766         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
11767         (gst_object_unref):
11768         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11769         (gst_pad_set_checkgetrange_function),
11770         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
11771         (gst_pad_check_pull_range), (gst_pad_pull_range),
11772         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11773         (gst_pad_pause_task), (gst_pad_stop_task):
11774         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11775         (gst_element_request_pad), (gst_pad_proxy_getcaps):
11776         Fix name lookup in GstBin.
11777         Added _data_replace() function and _buffer_replace()
11778         Use finalize method to clean up clock.
11779         Fix refcounting on request pads.
11780         Fix pad schedule mode error.
11781         Some more object refcounting debug info,
11782
11783
11784 2005-05-04  Andy Wingo <wingo@pobox.com>
11785
11786         * check/Makefile.am:
11787         * docs/gst/tmpl/gstatomic.sgml:
11788         * docs/gst/tmpl/gstplugin.sgml:
11789         * gst/base/gstbasesink.c: (gst_basesink_activate):
11790         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
11791         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
11792         (gst_basesrc_query), (gst_basesrc_set_property),
11793         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
11794         (gst_basesrc_activate):
11795         * gst/base/gstbasesrc.h:
11796         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
11797         (gst_base_transform_src_activate):
11798         * gst/elements/gstelements.c:
11799         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11800         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11801         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11802         * gst/elements/gsttypefindelement.c: (find_element_get_length),
11803         (gst_type_find_element_checkgetrange),
11804         (gst_type_find_element_activate):
11805         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
11806         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
11807         (gst_caps_load_thyself):
11808         * gst/gstelement.c: (gst_element_pads_activate),
11809         (gst_element_save_thyself), (gst_element_restore_thyself):
11810         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
11811         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
11812         * gst/gstpad.h:
11813         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
11814         (gst_xml_parse_file), (gst_xml_parse_memory),
11815         (gst_xml_get_element), (gst_xml_make_element):
11816         * gst/indexers/gstfileindex.c: (gst_file_index_load),
11817         (_file_index_id_save_xml), (gst_file_index_commit):
11818         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
11819         (read_enum), (load_pad_template), (load_feature), (load_plugin),
11820         (load_paths):
11821         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
11822         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
11823         * tools/gst-complete.c: (main):
11824         * tools/gst-compprep.c: (main):
11825         * tools/gst-inspect.c: (print_element_properties_info):
11826         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
11827         * tools/gst-xmlinspect.c: (print_element_properties):
11828         GCC 4 fixen.
11829         
11830 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11831
11832         * gst/gstplugin.c: (gst_plugin_check_module),
11833         (gst_plugin_check_file), (gst_plugin_load_file):
11834             apply patch from #172526 to make register work on MacOSX
11835
11836 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11837
11838         * docs/gst/tmpl/gstconfig.sgml:
11839         * gst/gstconfig.h.in:
11840           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
11841         * testsuite/debug/printf_extension.c: (main):
11842           Do not use GST_PTR_FORMAT on pointers to types with
11843           sizeof < sizeof(gpointer).  Fixes test on 64-bit
11844         * testsuite/elements/property.h:
11845           use correct printf format
11846
11847 2005-05-02  Wim Taymans  <wim@fluendo.com>
11848
11849         * docs/design/draft-push-pull.txt:
11850         * docs/design/draft-query.txt:
11851         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
11852         (gst_basesrc_start):
11853         Added draft for new query API.
11854         Added draft for better selecting scheduling methods.
11855         Make basesrc ignore length if the subclass does not support
11856         it.
11857
11858 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11859
11860         * gst/Makefile.am:
11861           possible fixes for automake-1.5 - _LIBADD is reserved
11862
11863 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11864
11865         * docs/faq/Makefile.am:
11866         * docs/manual/Makefile.am:
11867         * docs/manuals.mak:
11868         * docs/pwg/Makefile.am:
11869         * gst/Makefile.am:
11870           possible fixes for automake-1.5
11871
11872 2005-04-28  Wim Taymans  <wim@fluendo.com>
11873
11874         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11875         (gst_basesink_pad_getcaps), (gst_basesink_init),
11876         (gst_basesink_do_sync):
11877         * gst/gstclock.c: (gst_clock_entry_new):
11878         * gst/gstevent.c: (gst_event_discont_get_value):
11879         * gst/gstpipeline.c: (pipeline_bus_handler),
11880         (gst_pipeline_change_state):
11881         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
11882         Better debugging of clocking info.
11883         Allow NULL values when getting discont values.
11884
11885 2005-04-27  Wim Taymans  <wim@fluendo.com>
11886
11887         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11888         * check/gst/gstpad.c: (gst_pad_suite):
11889         Increase timeout for checks.
11890
11891 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11892
11893         * check/Makefile.am:
11894           fix the broken rule for cleanup.  Apparently this rule is
11895           only needed on FC2, so maybe this warrants further autotool
11896           inspection.
11897
11898 2005-04-26  Wim Taymans  <wim@fluendo.com>
11899
11900         * gst/gsttrashstack.h:
11901         Ooohh. a nasty one! After having a failed pop() from the stack,
11902         it's possible that the stack is empty. In that case, don't
11903         follow the NULL pointer.
11904
11905 2005-04-25  Wim Taymans  <wim@fluendo.com>
11906
11907         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11908         (gst_pad_set_checkgetrange_function),
11909         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
11910         (gst_pad_check_pull_range), (gst_pad_pull_range),
11911         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11912         (gst_pad_pause_task), (gst_pad_stop_task):
11913         * gst/gstplugin.c: (gst_plugin_load):
11914         * gst/gstplugin.h:
11915         Remove gst_library_load as it does more harm than good with
11916         the new g_module flags.
11917         Revert bogus caps template check in pad linking, pad caps
11918         are important when linking not the template, which is more
11919         general than the current caps.
11920
11921 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11922
11923         * gst/autoplug/.cvsignore:
11924         * gst/autoplug/Makefile.am:
11925         * gst/autoplug/gstsearchfuncs.c:
11926         * gst/autoplug/gstsearchfuncs.h:
11927         * gst/autoplug/gstspider.c:
11928         * gst/autoplug/gstspider.h:
11929         * gst/autoplug/gstspideridentity.c:
11930         * gst/autoplug/gstspideridentity.h:
11931         * gst/autoplug/spidertest.c:
11932           Die, spider, die.
11933
11934 2005-04-25  Wim Taymans  <wim@fluendo.com>
11935
11936         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11937         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
11938         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
11939         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
11940         * gst/gstpad.h:
11941         Added stubs for unimplemented functions. 
11942
11943 2005-04-24  David Schleef  <ds@schleef.org>
11944
11945         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
11946         please fix.
11947
11948 2005-04-24  David Schleef  <ds@schleef.org>
11949
11950         Convert everything from GstAtomicInt to g_atomic_int_*, and
11951         remove gstatomic.
11952         * gst/Makefile.am:
11953         * gst/gstatomic.c:
11954         * gst/gstatomic.h:
11955         * gst/gstatomic_impl.h:
11956         * gst/gstbuffer.c:
11957         * gst/gstcaps.c:
11958         * gst/gstcaps.h:
11959         * gst/gstclock.c:
11960         * gst/gstclock.h:
11961         * gst/gstdata.c:
11962         * gst/gstdata.h:
11963         * gst/gstdata_private.h:
11964         * gst/gstevent.c:
11965         * gst/gstinfo.c:
11966         * gst/gstinfo.h:
11967         * gst/gstmessage.c:
11968         * gst/gstobject.c:
11969         * gst/gstobject.h:
11970         * gst/gststructure.c:
11971         * gst/gststructure.h:
11972         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
11973         * gst/gstutils.h:
11974
11975 2005-04-24  David Schleef  <ds@schleef.org>
11976
11977         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
11978         make the regressions tests work.  Remove some code that is no
11979         longer true.
11980         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
11981         Disable warning for pads without templates.
11982
11983 2005-04-24  David Schleef  <ds@schleef.org>
11984
11985         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
11986         functions that handle filtered links.
11987         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
11988         removed functions.
11989         * gst/gstutils.c: Fix/remove utility functions that handle
11990         filtered caps.
11991         * gst/gstutils.h:
11992         * gst/gstvalue.c: Add serialization/deserialization of caps
11993         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
11994         requires fixing so that the filter caps notation creates
11995         a capsfilter element and sets the filter_caps property.  I
11996         think everyone probably wants to keep the shorthand notation.
11997         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
11998         * docs/gst/tmpl/gstpad.sgml:
11999
12000         * gst/elements/gstelements.c: Register capsfilter element.
12001         * gst/Makefile.am: fix spacing
12002         * docs/random/ds/0.9-suggested-changes: random
12003
12004 2005-04-23  David Schleef  <ds@schleef.org>
12005
12006         * gst/elements/Makefile.am:
12007         * gst/elements/gstcapsfilter.c: New element that acts like an
12008         identity, but filters caps.  Will eventually replace filtered
12009         caps in pad linking.
12010         * gst/gstutils.c: (gst_element_create_all_pads): New function
12011         to create all the ALWAYS pads that are registered with an
12012         element class.  This functionality should eventually be
12013         merged in with GstElement initialization.
12014         * gst/gstutils.h:
12015         * testsuite/trigger/README: part of trigger test code that should
12016         have been checked in a long time ago.
12017
12018 2005-04-23  David Schleef  <ds@schleef.org>
12019
12020         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
12021         needed with new versions of libtool (nobody will confirm this),
12022         and hard to carry around.
12023         * gst/autoplug/Makefile.am:
12024         * gst/base/Makefile.am:
12025         * gst/elements/Makefile.am:
12026         * gst/indexers/Makefile.am:
12027         * gst/schedulers/Makefile.am:
12028         * libs/gst/bytestream/Makefile.am:
12029         * libs/gst/control/Makefile.am:
12030         * libs/gst/dataprotocol/Makefile.am:
12031         * libs/gst/getbits/Makefile.am:
12032
12033 2005-04-21  Wim Taymans  <wim@fluendo.com>
12034
12035         * docs/design/draft-push-pull.txt:
12036         * docs/design/part-MT-refcounting.txt:
12037         * docs/design/part-TODO.txt:
12038         * docs/design/part-caps.txt:
12039         * docs/design/part-events.txt:
12040         * docs/design/part-gstbus.txt:
12041         * docs/design/part-gstpipeline.txt:
12042         * docs/design/part-messages.txt:
12043         * docs/design/part-push-pull.txt:
12044         * docs/design/part-query.txt:
12045         Some more docs.
12046
12047 2005-04-21  Wim Taymans  <wim@fluendo.com>
12048
12049         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
12050         (gst_message_new), (gst_message_new_error),
12051         (gst_message_new_warning), (gst_message_new_tag),
12052         (gst_message_new_state_changed), (gst_message_new_application),
12053         (gst_message_get_structure):
12054         * gst/gstmessage.h:
12055         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12056         (gst_structure_copy_conditional):
12057         Use parent refcount in GstMessage to ensure GstStructure
12058         consistency.
12059         Cleaned up headers a bit.
12060         
12061
12062 2005-04-20  Wim Taymans  <wim@fluendo.com>
12063
12064         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12065         (gst_basesink_pad_getcaps), (gst_basesink_init),
12066         (gst_basesink_chain_unlocked):
12067         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
12068         (gst_type_find_helper):
12069         * gst/elements/gsttypefindelement.c:
12070         (gst_type_find_element_have_type), (gst_type_find_element_init),
12071         (stop_typefinding), (gst_type_find_element_handle_event),
12072         (find_suggest), (gst_type_find_element_chain),
12073         (gst_type_find_element_checkgetrange),
12074         (gst_type_find_element_getrange), (do_typefind),
12075         (gst_type_find_element_activate):
12076         * gst/gstbuffer.c: (_gst_buffer_sub_free),
12077         (gst_buffer_default_free), (gst_buffer_default_copy),
12078         (gst_buffer_set_caps):
12079         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
12080         (gst_caps_replace):
12081         * gst/gstmessage.c: (gst_message_new),
12082         (gst_message_new_state_changed):
12083         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12084         (gst_pad_set_checkgetrange_function),
12085         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
12086         (gst_pad_set_caps), (gst_pad_check_pull_range),
12087         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
12088         * gst/gstpad.h:
12089         * gst/gsttypefind.c: (gst_type_find_register):
12090         Make gst_caps_replace() work like other _replace() functions.
12091         Use _caps_replace() where possible.
12092         Make sure _message_new() initialises its field.
12093         Add gst_static_pad_template_get_caps()
12094
12095
12096 2005-04-18  Andy Wingo  <wingo@pobox.com>
12097
12098         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
12099         on the peer, not the pad. I think that was a typo. Pass an extra
12100         arg to see if random access is possible. Activate the pads as
12101         PULL_RANGE if possible.
12102
12103         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
12104
12105         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
12106         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
12107         to PROP_....
12108
12109 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12110
12111         * docs/faq/using.xml:
12112           Add note on gstreamer-properties (#154996).
12113
12114 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12115
12116         * docs/random/bbb/optional-properties:
12117           Some analysis on optional properties.
12118
12119 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12120
12121         * docs/gst/tmpl/gstelementfactory.sgml:
12122         * gst/gstelement.h:
12123         * gst/gstelementfactory.c: (gst_element_factory_init),
12124         (gst_element_factory_cleanup), (gst_element_register),
12125         (__gst_element_factory_add_static_pad_template),
12126         (gst_element_factory_get_static_pad_templates),
12127         (gst_element_factory_can_src_caps),
12128         (gst_element_factory_can_sink_caps):
12129         * gst/registries/Makefile.am:
12130         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
12131         (gst_xml_registry_class_init), (gst_xml_registry_init),
12132         (gst_xml_registry_new), (gst_xml_registry_set_property),
12133         (gst_xml_registry_get_property), (get_time), (make_dir),
12134         (gst_xml_registry_get_perms_func),
12135         (plugin_times_older_than_recurse), (plugin_times_older_than),
12136         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
12137         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
12138         (add_to_char_array), (read_string), (read_uint), (read_enum),
12139         (load_pad_template), (load_feature), (load_plugin), (load_paths),
12140         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
12141         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
12142         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
12143         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
12144         (gst_xml_registry_rebuild):
12145         * gst/registries/gstlibxmlregistry.h:
12146         * tools/gst-compprep.c: (main):
12147         * tools/gst-inspect.c: (print_pad_templates_info):
12148         * tools/gst-xmlinspect.c: (print_element_info):
12149           Use libxml2 for registry parsing, use staticpadtemplates in
12150           elementfactories. Makes gst_init() +/- 10x faster.
12151
12152 2005-04-12  Wim Taymans  <wim@fluendo.com>
12153
12154         * gst/base/Makefile.am:
12155         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12156         (gst_basesink_pad_getcaps), (gst_basesink_init),
12157         (gst_basesink_event), (gst_basesink_change_state):
12158         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12159         (gst_basesrc_init), (gst_basesrc_query),
12160         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12161         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12162         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12163         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12164         (gst_basesrc_stop), (gst_basesrc_activate),
12165         (gst_basesrc_change_state):
12166         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12167         (helper_find_suggest), (gst_type_find_helper):
12168         * gst/base/gsttypefindhelper.h:
12169         * gst/elements/Makefile.am:
12170         * gst/elements/gstelements.c:
12171         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12172         (gst_fakesink_get_times), (gst_fakesink_event),
12173         (gst_fakesink_preroll), (gst_fakesink_render):
12174         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12175         (gst_fakesrc_init), (gst_fakesrc_event_handler),
12176         (gst_fakesrc_get_property), (gst_fakesrc_create),
12177         (gst_fakesrc_start), (gst_fakesrc_stop):
12178         * gst/elements/gstfakesrc.h:
12179         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
12180         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12181         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12182         (gst_filesrc_create_read), (gst_filesrc_create),
12183         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
12184         (gst_filesrc_start):
12185         * gst/elements/gsttypefindelement.c:
12186         (gst_type_find_element_have_type), (gst_type_find_element_init),
12187         (start_typefinding), (stop_typefinding), (push_buffer_store),
12188         (gst_type_find_element_handle_event),
12189         (gst_type_find_element_chain),
12190         (gst_type_find_element_checkgetrange),
12191         (gst_type_find_element_getrange), (do_typefind),
12192         (gst_type_find_element_activate),
12193         (gst_type_find_element_change_state):
12194         * gst/elements/gsttypefindelement.h:
12195         * gst/gstpipeline.c: (pipeline_bus_handler):
12196         Added typefind helper.
12197         Small preroll fix in the base sink.
12198         Disable typefind code in basesrc.
12199         Crude port of typefindelement.
12200         Fakesrc cleanups.
12201
12202
12203 2005-04-11  Wim Taymans  <wim@fluendo.com>
12204
12205         * check/gst/gstbus.c: (gstbus_suite):
12206         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
12207         * check/gstcheck.h:
12208           Fix up the timeout so that the test does not fail.
12209
12210 2005-04-06  Wim Taymans  <wim@fluendo.com>
12211
12212         * gst/base/README:
12213         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12214         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
12215         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12216         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12217         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12218         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12219         (gst_basesrc_stop), (gst_basesrc_activate),
12220         (gst_basesrc_change_state), (basesrc_find_peek),
12221         (basesrc_find_suggest), (gst_basesrc_type_find):
12222         * gst/base/gstbasesrc.h:
12223         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12224         (gst_filesrc_class_init), (gst_filesrc_init),
12225         (gst_filesrc_finalize), (gst_filesrc_set_location),
12226         (gst_filesrc_set_property), (gst_filesrc_get_property),
12227         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12228         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12229         (gst_filesrc_create_read), (gst_filesrc_create),
12230         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12231         * gst/elements/gstfilesrc.h:
12232         * gst/gstelement.c: (gst_element_get_state_func),
12233         (gst_element_lost_state), (gst_element_pads_activate):
12234         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12235         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12236         (gst_pad_pull_range):
12237         * gst/gstpad.h:
12238         More work on the generic source base class, implement seeking,
12239         query.
12240         Make filesrc extend the base source class.
12241         Added gst_pad_set_checkgetrange_function to GstPad.
12242
12243 2005-04-06  Andy Wingo  <wingo@pobox.com>
12244
12245         * pkgconfig/gstreamer-base.pc.in:
12246         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12247
12248         * pkgconfig/Makefile.am:
12249         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12250
12251 2005-04-04  Wim Taymans  <wim@fluendo.com>
12252
12253         * gst/base/Makefile.am:
12254         * gst/base/README:
12255         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12256         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12257         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12258         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12259         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12260         (gst_basesrc_base_init), (gst_basesrc_class_init),
12261         (gst_basesrc_init), (gst_basesrc_get_formats),
12262         (gst_basesrc_get_query_types), (gst_basesrc_query),
12263         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12264         (gst_basesrc_set_property), (gst_basesrc_get_property),
12265         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12266         (gst_basesrc_loop), (gst_basesrc_activate),
12267         (gst_basesrc_change_state):
12268         * gst/base/gstbasesrc.h:
12269         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12270         (gst_fakesrc_class_init), (gst_fakesrc_init),
12271         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12272         (gst_fakesrc_get_property), (gst_fakesrc_create):
12273         * gst/elements/gstfakesrc.h:
12274         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12275         (gst_filesrc_open_file), (gst_filesrc_loop),
12276         (gst_filesrc_activate), (filesrc_find_peek),
12277         (gst_filesrc_type_find):
12278         Made base source class, make fakesrc extend it.
12279         Add comments to basesink class.
12280         Some filesrc cleanup.
12281
12282 2005-03-31  David Schleef  <ds@schleef.org>
12283
12284         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12285         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12286         expected to link against libgstreamer.
12287         * gst/base/Makefile.am: link against libgstreamer
12288         * gst/elements/Makefile.am: same
12289
12290 2005-03-31  Andy Wingo  <wingo@pobox.com>
12291
12292         * tests/instantiate/Makefile.am:
12293         * tests/instantiate/caps.c: Add test to test speed of caps copy
12294         and free.
12295
12296         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12297         GMemChunk to be fair.
12298
12299         * gst/gsttrashstack.h: Remove warning about using the fallback
12300         trash stack implementation, it's still faster than malloc.
12301
12302 2005-03-30  Andy Wingo  <wingo@pobox.com>
12303
12304         * tests/complexity.c: Add a copyright.
12305
12306 2005-03-31  Wim Taymans  <wim@fluendo.com>
12307
12308         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12309         (gst_base_transform_class_init), (gst_base_transform_init),
12310         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12311         (gst_base_transform_get_property),
12312         (gst_base_transform_sink_activate),
12313         (gst_base_transform_src_activate),
12314         (gst_base_transform_change_state):
12315         * gst/base/gstbasetransform.h:
12316         * gst/elements/gstidentity.c: (gst_identity_class_init),
12317         (gst_identity_event), (gst_identity_check_perfect),
12318         (gst_identity_transform), (gst_identity_start),
12319         (gst_identity_stop):
12320         Added start/stop methods to transform base class so subclasses 
12321         don't need to deal with state changes even.
12322
12323 2005-03-31  Wim Taymans  <wim@fluendo.com>
12324
12325         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12326         (gst_event_new_discontinuous), (gst_event_discont_get_value):
12327         * gst/gstevent.h:
12328         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12329         (gst_pad_pull_range):
12330         Added rate to the discont event to prepare for variable speed
12331         and reverse playback.
12332
12333 2005-03-29  David Schleef  <ds@schleef.org>
12334
12335         * configure.ac:
12336         * testsuite/trigger/Makefile.am:
12337         * testsuite/trigger/trigger.c: A little example program to show
12338         how trigger-based elements can work.
12339
12340 2005-03-29  Wim Taymans  <wim@fluendo.com>
12341
12342         * gst/base/Makefile.am:
12343         * gst/base/README:
12344         * gst/base/gstbasesink.c: (gst_basesink_get_type),
12345         (gst_basesink_base_init), (gst_basesink_class_init),
12346         (gst_basesink_pad_getcaps), (gst_basesink_init),
12347         (gst_basesink_activate), (gst_basesink_change_state):
12348         * gst/base/gstbasesink.h:
12349         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12350         (gst_base_transform_base_init), (gst_base_transform_finalize),
12351         (gst_base_transform_class_init), (gst_base_transform_init),
12352         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12353         (gst_base_transform_event), (gst_base_transform_getrange),
12354         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12355         (gst_base_transform_set_property),
12356         (gst_base_transform_get_property),
12357         (gst_base_transform_sink_activate),
12358         (gst_base_transform_src_activate),
12359         (gst_base_transform_change_state):
12360         * gst/base/gstbasetransform.h:
12361         * gst/elements/gstidentity.c: (gst_identity_finalize),
12362         (gst_identity_class_init), (gst_identity_init),
12363         (gst_identity_event), (gst_identity_check_perfect),
12364         (gst_identity_transform), (gst_identity_set_property),
12365         (gst_identity_get_property), (gst_identity_change_state):
12366         * gst/elements/gstidentity.h:
12367         * gst/gstelement.c: (gst_element_get_state_func),
12368         (gst_element_lost_state), (gst_element_pads_activate):
12369         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12370         (gst_pad_check_pull_range), (gst_pad_pull_range):
12371         * gst/gstpad.h:
12372         Simplify pad activation.
12373         Added function to check if pull_range can be performed.
12374         Error out when pulling inactive or flushing pads.
12375         Removed const from refcounted types as it does not make sense.
12376         Simplify pad templates in basesink
12377         Added base class for simple 1-to-1 transforms.
12378         Make identity subclass the base transform.
12379
12380 2005-03-29  Andy Wingo  <wingo@pobox.com>
12381
12382         * docs/libs/gstreamer-libs-overrides.txt: 
12383         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12384         really don't understand what's going on, but like whatever. I want
12385         green buildbot!
12386
12387         * docs/gst/Makefile.am:
12388         * docs/libs/Makefile.am: Dist the overrides files.
12389
12390         * check/Makefile.am (clean-local): Remove .libs directories.
12391
12392         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12393         elements to EXTRA_DIST, so po/ files are happy.
12394
12395         * po/POTFILES.in: Er, remove it here.
12396
12397         * po/POTFILES: Remove gstspider.c.
12398
12399         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12400
12401         * docs/libs/gstreamer-libs-docs.sgml: 
12402         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12403         bytestream.
12404
12405         * tests/complexity.c (main): Set the length of the preroll queue
12406         on the sinks to prevent a lockup.
12407
12408         * libs/gst/dataprotocol/Makefile.am: 
12409         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12410         the same as the one in check/gst-libs/gdp.c.
12411
12412         * po/, docs/gst/: Commit automatic changes to docs and po files.
12413
12414         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12415         the versioned libgstbase.
12416
12417         * check/Makefile.am: Depend on an unversioned gst-register, seems
12418         to make autoconf happier.
12419
12420         * gst/base/Makefile.am: Make libgstbase a versioned lib.
12421
12422 2005-03-28  Wim Taymans  <wim@fluendo.com>
12423
12424         * configure.ac:
12425         * docs/design/part-gstelement.txt:
12426         * docs/design/part-negotiation.txt:
12427         * docs/design/part-preroll.txt:
12428         * docs/design/part-scheduling.txt:
12429         * docs/design/part-states.txt:
12430         * gst/Makefile.am:
12431         * gst/base/Makefile.am:
12432         * gst/base/README:
12433         * gst/base/gstbasesink.c: (gst_basesink_get_template),
12434         (gst_basesink_base_init), (gst_basesink_class_init),
12435         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12436         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12437         (gst_basesink_set_pad_functions),
12438         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
12439         (gst_basesink_set_property), (gst_basesink_get_property),
12440         (gst_base_sink_get_template), (gst_base_sink_get_caps),
12441         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
12442         (gst_basesink_preroll_queue_push),
12443         (gst_basesink_preroll_queue_empty),
12444         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
12445         (gst_basesink_event), (gst_basesink_get_times),
12446         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
12447         (gst_basesink_chain_unlocked), (gst_basesink_chain),
12448         (gst_basesink_loop), (gst_basesink_activate),
12449         (gst_basesink_change_state):
12450         * gst/base/gstbasesink.h:
12451         * gst/elements/Makefile.am:
12452         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
12453         (gst_fakesink_class_init), (gst_fakesink_init),
12454         (gst_fakesink_set_property), (gst_fakesink_get_property),
12455         (gst_fakesink_get_times), (gst_fakesink_event),
12456         (gst_fakesink_preroll), (gst_fakesink_render),
12457         (gst_fakesink_change_state):
12458         * gst/elements/gstfakesink.h:
12459         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12460         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
12461         * gst/gstelement.c: (gst_element_add_pad),
12462         (gst_element_get_state_func), (gst_element_abort_state),
12463         (gst_element_commit_state), (gst_element_lost_state),
12464         (gst_element_set_state), (gst_element_pads_activate):
12465         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
12466         * gst/gstpipeline.c: (gst_pipeline_send_event),
12467         (gst_pipeline_change_state):
12468         Added state change code.
12469         Added/updated docs.
12470         Added sink base class, make fakesink extend the base class.
12471         Small cleanups in GstPipeline.
12472
12473 2005-03-26  David Schleef  <ds@schleef.org>
12474
12475         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
12476         is broken and should be implemented in a different library.
12477         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
12478         * gst/gst.h: remove gstcpu.h
12479         * gst/gstcpu.c: remove
12480         * gst/gstcpu.h: remove
12481         * gst/Makefile.am.future: Remove this file.  It's ancient.
12482
12483 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12484
12485         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12486         (gst_bin_send_event):
12487           Add default event/set_manager handlers. The set_manager handler
12488           takes care that the manager is distributed over kids that were
12489           already in the bin before the manager was set. The event handler
12490           is a utility virtual function that sends the event over all sinks,
12491           so that gst_element_send_event (bin, event); has the expected
12492           behaviour.
12493         * gst/gstpad.c: (gst_pad_event_default):
12494           Re-install default event handling for discontinuities, so that
12495           seeking works without requiring hacks in applications or extra
12496           code in sinks.
12497         * gst/gstpipeline.c: (gst_pipeline_class_init),
12498         (gst_pipeline_send_event):
12499           Half hack, half utility: set a pipeline to PAUSED for seek events,
12500           since that is the only way we can guarantee a/v sync. Means that
12501           you can do gst_element_seek (pipeline, method, pos); on a pipeline
12502           and it "just works".
12503
12504 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12505
12506         * gst/gstpipeline.c: (gst_pipeline_use_clock):
12507           Lock/unlock mismatch.
12508
12509 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12510
12511         * docs/faq/gst-uninstalled:
12512           add gst-plugins-base
12513         * docs/gst/Makefile.am:
12514           don't error out until docs are fixed
12515         * docs/gst/gstreamer.types:
12516           remove thread
12517
12518 2005-03-22  Wim Taymans  <wim@fluendo.com>
12519
12520         * check/Makefile.am:
12521         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
12522         * gst/gststructure.c: (gst_structure_set_valist),
12523         (gst_structure_copy_conditional):
12524         Activated more tests.
12525         Added message test.
12526         Added G_TYPE_POINTER to GstStructure.
12527         
12528
12529 2005-03-22  Wim Taymans  <wim@fluendo.com>
12530
12531         * docs/design/part-TODO.txt:
12532         * docs/design/part-events.txt:
12533         * docs/design/part-gstbin.txt:
12534         * docs/design/part-gstbus.txt:
12535         * docs/design/part-gstpipeline.txt:
12536         * docs/design/part-messages.txt:
12537         * gst/gstbus.c:
12538         * gst/gstmessage.c:
12539         Docs updates
12540
12541 2005-03-21  Wim Taymans  <wim@fluendo.com>
12542
12543         * gst/gstbus.c: (gst_bus_post):
12544         Fix copy-and-paste error.
12545
12546 2005-03-21  Wim Taymans  <wim@fluendo.com>
12547
12548         * check/Makefile.am:
12549         * gst/Makefile.am:
12550         * gst/elements/Makefile.am:
12551         * gst/elements/gstelements.c:
12552         * gst/elements/gstfakesink.c: (gst_fakesink_init),
12553         (gst_fakesink_event), (gst_fakesink_chain):
12554         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12555         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
12556         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
12557         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
12558         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
12559         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
12560         (gst_fakesrc_loop), (gst_fakesrc_activate),
12561         (gst_fakesrc_change_state):
12562         * gst/elements/gstfakesrc.h:
12563         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12564         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
12565         (gst_filesrc_open_file), (gst_filesrc_loop),
12566         (gst_filesrc_activate), (gst_filesrc_change_state),
12567         (filesrc_find_peek), (filesrc_find_suggest),
12568         (gst_filesrc_type_find):
12569         * gst/elements/gstidentity.c: (gst_identity_finalize),
12570         (gst_identity_class_init), (gst_identity_init),
12571         (gst_identity_proxy_getcaps), (identity_queue_push),
12572         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
12573         (gst_identity_getrange), (gst_identity_chain),
12574         (gst_identity_sink_loop), (gst_identity_src_loop),
12575         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
12576         (gst_identity_set_property), (gst_identity_get_property),
12577         (gst_identity_change_state):
12578         * gst/elements/gstidentity.h:
12579         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
12580         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
12581         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
12582         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
12583         (gst_tee_sink_activate):
12584         * gst/elements/gsttee.h:
12585         * gst/gst.c: (gst_register_core_elements), (init_post):
12586         * gst/gst.h:
12587         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
12588         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
12589         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
12590         (gst_bin_change_state):
12591         * gst/gstbin.h:
12592         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
12593         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
12594         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
12595         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
12596         (gst_bus_set_sync_handler), (gst_bus_create_watch),
12597         (bus_watch_callback), (bus_watch_destroy),
12598         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
12599         (poll_timeout), (gst_bus_poll):
12600         * gst/gstbus.h:
12601         * gst/gstcaps.h:
12602         * gst/gstdata.h:
12603         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12604         (gst_element_post_message), (gst_element_message_full),
12605         (gst_element_get_state_func), (gst_element_get_state),
12606         (gst_element_abort_state), (gst_element_commit_state),
12607         (gst_element_lost_state), (gst_element_set_state),
12608         (gst_element_pads_activate), (gst_element_change_state),
12609         (gst_element_dispose), (gst_element_set_manager_func),
12610         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
12611         (gst_element_set_manager), (gst_element_get_manager),
12612         (gst_element_set_bus), (gst_element_get_bus),
12613         (gst_element_set_scheduler), (gst_element_get_scheduler):
12614         * gst/gstelement.h:
12615         * gst/gstevent.c: (gst_event_new_segment_seek),
12616         (gst_event_new_flush):
12617         * gst/gstevent.h:
12618         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
12619         (_gst_message_free), (gst_message_get_type), (gst_message_new),
12620         (gst_message_new_eos), (gst_message_new_error),
12621         (gst_message_new_warning), (gst_message_new_tag),
12622         (gst_message_new_state_changed), (gst_message_new_application),
12623         (gst_message_get_structure), (gst_message_parse_tag),
12624         (gst_message_parse_state_changed), (gst_message_parse_error),
12625         (gst_message_parse_warning):
12626         * gst/gstmessage.h:
12627         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
12628         (gst_real_pad_set_property), (gst_pad_set_active),
12629         (gst_pad_is_active), (gst_pad_set_blocked_async),
12630         (gst_pad_set_blocked), (gst_pad_is_blocked),
12631         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
12632         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
12633         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
12634         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
12635         (gst_pad_link_filtered), (gst_pad_relink_filtered),
12636         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
12637         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
12638         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
12639         (gst_pad_set_caps), (gst_pad_configure_sink),
12640         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
12641         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
12642         (gst_real_pad_dispose), (gst_real_pad_finalize),
12643         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
12644         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12645         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
12646         * gst/gstpad.h:
12647         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
12648         (pipeline_bus_handler), (gst_pipeline_change_state),
12649         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
12650         * gst/gstpipeline.h:
12651         * gst/gstprobe.h:
12652         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
12653         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
12654         (gst_queue_link_src), (gst_queue_bufferalloc),
12655         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
12656         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
12657         (gst_queue_loop), (gst_queue_handle_src_event),
12658         (gst_queue_handle_src_query), (gst_queue_src_activate),
12659         (gst_queue_change_state):
12660         * gst/gstqueue.h:
12661         * gst/gstscheduler.c: (gst_scheduler_init),
12662         (gst_scheduler_dispose), (gst_scheduler_create_task),
12663         (gst_scheduler_factory_create):
12664         * gst/gstscheduler.h:
12665         * gst/gststructure.c: (gst_structure_get_type),
12666         (gst_structure_copy_conditional):
12667         * gst/gststructure.h:
12668         * gst/gsttaginterface.h:
12669         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
12670         (gst_task_init), (gst_task_dispose), (gst_task_create),
12671         (gst_task_get_state), (gst_task_start), (gst_task_stop),
12672         (gst_task_pause):
12673         * gst/gsttask.h:
12674         * gst/gstthread.c:
12675         * gst/gstthread.h:
12676         * gst/gsttypes.h:
12677         * gst/schedulers/Makefile.am:
12678         * gst/schedulers/cothreads_compat.h:
12679         * gst/schedulers/entryscheduler.c:
12680         * gst/schedulers/faircothreads.c:
12681         * gst/schedulers/faircothreads.h:
12682         * gst/schedulers/fairscheduler.c:
12683         * gst/schedulers/gstbasicscheduler.c:
12684         * gst/schedulers/gstoptimalscheduler.c:
12685         * gst/schedulers/gthread-cothreads.h:
12686         * gst/schedulers/threadscheduler.c:
12687         (gst_thread_scheduler_task_get_type),
12688         (gst_thread_scheduler_task_class_init),
12689         (gst_thread_scheduler_task_init),
12690         (gst_thread_scheduler_task_start),
12691         (gst_thread_scheduler_task_stop),
12692         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
12693         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
12694         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
12695         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
12696         (plugin_init):
12697         * libs/gst/Makefile.am:
12698         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
12699         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
12700         (gst_file_pad_parent_set):
12701         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12702         (gst_dp_event_from_packet):
12703         * tests/complexity.c: (main):
12704         * tests/mass_elements.c: (main):
12705         * testsuite/states/locked.c: (message_received), (main):
12706         * testsuite/states/parent.c: (main):
12707         * tools/gst-inspect.c: (print_element_flag_info),
12708         (print_implementation_info), (print_pad_info):
12709         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
12710         (main):
12711         * tools/gst-md5sum.c: (event_loop), (main):
12712         * tools/gst-typefind.c: (main):
12713         * tools/gst-xmlinspect.c: (print_element_info):
12714         Next big merge.
12715         Added GstBus for mainloop integration.
12716         Added GstMessage for sending notifications on the bus.
12717         Added GstTask as an abstraction for pipeline entry points.
12718         Removed GstThread.
12719         Removed Schedulers.
12720         Simplified GstQueue for multithreaded core.
12721         Made _link threadsafe, removed old capsnego.
12722         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
12723         Added pad blocking functions.
12724         Reworked scheduling functions in GstPad to prepare for
12725         scheduling updates soon.
12726         Moved events out of data stream.
12727         Simplified GstEvent types.
12728         Added return values to push/pull.
12729         Removed clocking from GstElement.
12730         Added prototypes for state change function for next merge.
12731         Removed iterate from bins and state change management.
12732         Fixed some elements, disabled others for now.
12733         Fixed -inspect and -launch.
12734         Added check for GstBus.
12735
12736 2005-03-10  Wim Taymans  <wim@fluendo.com>
12737
12738         * docs/design/part-MT-refcounting.txt:
12739         * docs/design/part-clocks.txt:
12740         * docs/design/part-gstelement.txt:
12741         * docs/design/part-gstobject.txt:
12742         * docs/design/part-standards.txt:
12743         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12744         (gst_bin_remove_func), (gst_bin_remove):
12745         * gst/gstbin.h:
12746         * gst/gstbuffer.c:
12747         * gst/gstcaps.h:
12748         * testsuite/clock/clock1.c: (main):
12749         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
12750         (main):
12751         * testsuite/dlopen/loadgst.c: (do_test):
12752         * testsuite/refcounting/bin.c: (add_remove_test1),
12753         (add_remove_test2), (main):
12754         * testsuite/refcounting/element.c: (main):
12755         * testsuite/refcounting/element_pad.c: (main):
12756         * testsuite/refcounting/pad.c: (main):
12757         * tools/gst-launch.c: (sigint_handler_sighandler):
12758         * tools/gst-typefind.c: (main):
12759         Doc updates.
12760         Added doc about clock.
12761         removed gst_bin_iterate_recurse_up(), marked methods
12762         for removal.
12763         Fix more testsuites.
12764
12765 2005-03-09  Wim Taymans  <wim@fluendo.com>
12766
12767         * gst/gstpad.c: (gst_pad_get_direction),
12768         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
12769         (gst_pad_collect_valist):
12770         * testsuite/bins/interface.c: (main):
12771         * testsuite/caps/audioscale.c: (test_caps):
12772         * testsuite/caps/caps.c: (test1), (test2), (test3):
12773         * testsuite/caps/deserialize.c: (main):
12774         * testsuite/caps/enumcaps.c: (main):
12775         * testsuite/caps/filtercaps.c: (main):
12776         * testsuite/caps/intersect2.c: (main):
12777         * testsuite/caps/random.c: (main):
12778         * testsuite/caps/renegotiate.c: (my_fixate), (main):
12779         * testsuite/caps/sets.c: (check_caps):
12780         * testsuite/caps/simplify.c: (check_caps), (main):
12781         * testsuite/caps/subtract.c: (check_caps):
12782         Fix _pad_get_direction wrt ghostpads.
12783         Fix caps testsuite.
12784
12785 2005-03-09  Wim Taymans  <wim@fluendo.com>
12786
12787         * check/Makefile.am:
12788         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
12789         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
12790         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
12791         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
12792         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
12793         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
12794         (gst_bin_remove), (gst_bin_iterate_recurse_up),
12795         (bin_element_is_sink), (gst_bin_iterate_sinks),
12796         (gst_bin_iterate_all_by_interface):
12797         * gst/gstbin.h:
12798         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
12799         (gst_element_change_state), (gst_element_dispose),
12800         (gst_element_finalize), (gst_element_set_loop_function):
12801         * gst/gstelement.h:
12802         * gst/gstiterator.c: (find_custom_fold_func):
12803         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12804         (gst_pad_collectv), (gst_pad_collect_valist),
12805         (gst_pad_template_new):
12806         * gst/gstpipeline.c: (gst_pipeline_class_init),
12807         (gst_pipeline_dispose), (gst_pipeline_set_property),
12808         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
12809         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
12810         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
12811         * gst/gstutils.h:
12812         * gst/schedulers/entryscheduler.c:
12813         * gst/schedulers/gstbasicscheduler.c:
12814         (gst_basic_scheduler_cothreaded_chain),
12815         (gst_basic_scheduler_chain_add_element):
12816         * testsuite/bins/interface.c: (main):
12817         Added GstBin test.
12818         Added GstSystemClock test.
12819         Implemented clock distribution code in GstBin.
12820         Implemented iterate sinks method for future use.
12821         Rearranged gstelement.h
12822         Fix GstIterator comparison bug.
12823         Moved some code to GstPipeline, mostly clocking related.
12824
12825 2005-03-09  Wim Taymans  <wim@fluendo.com>
12826
12827         * configure.ac:
12828         * gst/gst_private.h:
12829         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12830         (gst_bin_remove_func), (gst_bin_remove),
12831         (gst_bin_get_by_name_recurse_up):
12832         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
12833         (gst_clock_id_compare_func), (gst_clock_id_wait),
12834         (gst_clock_id_wait_async), (gst_clock_init),
12835         (gst_clock_adjust_unlocked), (gst_clock_get_time):
12836         * gst/gstelement.h:
12837         * gst/gstinfo.c: (_gst_debug_init):
12838         * gst/gstobject.h:
12839         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12840         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
12841         * gst/gstpad.h:
12842         Bump version number, we're now 0.9.0
12843         Add future debugging category.
12844         Fix NULL _unref() in _get_by_name_recurse_up
12845         Rearrange gstpad.h.
12846         Update some docs.
12847
12848 2005-03-08  Wim Taymans  <wim@fluendo.com>
12849
12850         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
12851         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
12852         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
12853         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
12854         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
12855         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
12856         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
12857         * gst/elements/gstidentity.c: (gst_identity_class_init):
12858         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
12859         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12860         * gst/elements/gstshaper.c: (gst_shaper_class_init):
12861         * gst/elements/gststatistics.c: (gst_statistics_class_init):
12862         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
12863         (gst_tee_link):
12864         * gst/gstelement.c: (gst_element_class_init),
12865         (gst_element_base_class_init), (gst_element_init),
12866         (gst_element_get_random_pad), (gst_element_wait_state_change),
12867         (gst_element_change_state), (gst_element_dispose),
12868         (gst_element_finalize), (gst_element_set_loop_function):
12869         * gst/gstelement.h:
12870         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
12871         * gst/gstthread.c: (gst_thread_class_init),
12872         (gst_thread_release_children_locks), (gst_thread_change_state):
12873         * gst/schedulers/gstbasicscheduler.c:
12874         (gst_basic_scheduler_loopfunc_wrapper),
12875         (gst_basic_scheduler_chain_wrapper),
12876         (gst_basic_scheduler_src_wrapper),
12877         (gst_basic_scheduler_remove_element):
12878         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
12879         Remove threadsafe properties. Fix elements because GObject
12880         complains when installing a property before declaring a
12881         set/get_property handler.
12882         Rearrange gstelement.h file, use STATE macros for state locks.
12883         Free mutexes in the finalize method instead of dispose.
12884
12885 2005-03-08  Wim Taymans  <wim@fluendo.com>
12886
12887         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12888         * gst/gstthread.c: (gst_thread_release_children_locks):
12889         Added parentage check.
12890         Fix build og GstThread again.
12891
12892 2005-03-08  Wim Taymans  <wim@fluendo.com>
12893
12894         * docs/design/part-MT-refcounting.txt:
12895         * docs/design/part-conventions.txt:
12896         * docs/design/part-gstobject.txt:
12897         * docs/design/part-relations.txt:
12898         * docs/design/part-standards.txt:
12899         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12900         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
12901         (gst_bin_get_by_name), (gst_bin_get_by_interface),
12902         (gst_bin_iterate_all_by_interface):
12903         * gst/gstbuffer.h:
12904         * gst/gstclock.h:
12905         * gst/gstelement.c: (gst_element_class_init),
12906         (gst_element_change_state), (gst_element_set_loop_function):
12907         * gst/gstelement.h:
12908         * gst/gstiterator.c:
12909         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
12910         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
12911         (gst_object_dispatch_properties_changed), (gst_object_set_name),
12912         (gst_object_set_parent), (gst_object_unparent),
12913         (gst_object_check_uniqueness):
12914         * gst/gstobject.h:
12915         Docs updates, clean up some headers.
12916
12917 2005-03-07  Wim Taymans  <wim@fluendo.com>
12918
12919         * check/.cvsignore:
12920         * check/Makefile.am:
12921         * check/gst-libs/.cvsignore:
12922         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
12923         * check/gst/.cvsignore:
12924         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
12925         (START_TEST), (gstbus_suite), (main):
12926         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
12927         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
12928         (gst_data_suite), (main):
12929         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
12930         (add_fold_func), (gstiterator_suite), (main):
12931         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
12932         (thread_name_object), (thread_name_object_default),
12933         (gst_object_name_compare), (gst_object_suite), (main):
12934         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
12935         (gst_pad_suite), (main):
12936         * check/gstcheck.c: (gst_check_log_message_func),
12937         (gst_check_log_critical_func), (gst_check_init):
12938         * check/gstcheck.h:
12939         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
12940         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
12941         Added checks.
12942
12943 2005-03-07  Wim Taymans  <wim@fluendo.com>
12944
12945         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
12946         (gst_list_iterator_next), (gst_list_iterator_resync),
12947         (gst_list_iterator_free), (gst_iterator_new_list),
12948         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
12949         (gst_iterator_free), (gst_iterator_push), (filter_next),
12950         (filter_resync), (filter_uninit), (filter_free),
12951         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
12952         (gst_iterator_foreach), (find_custom_fold_func),
12953         (gst_iterator_find_custom):
12954         * gst/gstiterator.h:
12955         Added missing files.
12956
12957 2005-03-07  Wim Taymans  <wim@fluendo.com>
12958
12959         * Makefile.am:
12960         * configure.ac:
12961         * docs/design/part-MT-refcounting.txt:
12962         * docs/design/part-conventions.txt:
12963         * docs/design/part-gstobject.txt:
12964         * docs/design/part-relations.txt:
12965         * examples/mixer/mixer.c: (main):
12966         * examples/thread/thread.c: (eos), (main):
12967         * gst/Makefile.am:
12968         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
12969         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
12970         (gst_spider_plug_from_srcpad):
12971         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
12972         (gst_spider_identity_change_state),
12973         (gst_spider_identity_sink_loop_type_finding):
12974         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
12975         * gst/elements/gstidentity.c: (gst_identity_init):
12976         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
12977         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
12978         * gst/elements/gsttypefindelement.c: (free_entry):
12979         * gst/gst.c:
12980         * gst/gst.h:
12981         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
12982         (gst_bin_set_clock_func), (gst_bin_auto_clock),
12983         (gst_bin_set_index), (gst_bin_set_element_sched),
12984         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
12985         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
12986         (gst_bin_iterate_elements), (iterate_child_recurse),
12987         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
12988         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
12989         (compare_interface), (gst_bin_get_by_interface),
12990         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
12991         * gst/gstbin.h:
12992         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
12993         (gst_buffer_default_free), (gst_buffer_default_copy),
12994         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
12995         (gst_buffer_create_sub):
12996         * gst/gstbuffer.h:
12997         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
12998         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
12999         (gst_caps_unref), (gst_static_caps_get),
13000         (gst_caps_remove_and_get_structure), (gst_caps_append),
13001         (gst_caps_append_structure), (gst_caps_remove_structure),
13002         (gst_caps_copy_nth), (gst_caps_set_simple),
13003         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
13004         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
13005         (gst_caps_structure_intersect_field), (gst_caps_intersect),
13006         (gst_caps_structure_subtract_field), (gst_caps_subtract),
13007         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
13008         (gst_caps_structure_figure_out_union),
13009         (gst_caps_switch_structures), (gst_caps_do_simplify),
13010         (gst_caps_replace), (gst_caps_from_string),
13011         (gst_caps_copy_conditional):
13012         * gst/gstcaps.h:
13013         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
13014         (_gst_clock_id_free), (gst_clock_id_unref),
13015         (gst_clock_id_compare_func), (gst_clock_id_wait),
13016         (gst_clock_id_wait_async), (gst_clock_class_init),
13017         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
13018         (gst_clock_get_time), (gst_clock_set_time_adjust),
13019         (gst_clock_set_property), (gst_clock_get_property):
13020         * gst/gstclock.h:
13021         * gst/gstcompat.h:
13022         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
13023         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
13024         * gst/gstdata.h:
13025         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13026         (gst_element_requires_clock), (gst_element_provides_clock),
13027         (gst_element_set_clock), (gst_element_clock_wait),
13028         (gst_element_wait), (gst_element_set_time_delay),
13029         (gst_element_is_indexable), (gst_element_add_pad),
13030         (gst_element_add_ghost_pad), (gst_element_remove_pad),
13031         (pad_compare_name), (gst_element_get_static_pad),
13032         (gst_element_request_pad), (gst_element_get_request_pad),
13033         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
13034         (gst_element_class_get_pad_template_list),
13035         (gst_element_class_get_pad_template), (gst_element_error_func),
13036         (gst_element_get_random_pad), (gst_element_get_event_masks),
13037         (gst_element_send_event), (gst_element_seek),
13038         (gst_element_get_query_types), (gst_element_query),
13039         (gst_element_get_formats), (gst_element_convert),
13040         (gst_element_is_locked_state), (gst_element_set_locked_state),
13041         (gst_element_sync_state_with_parent), (gst_element_change_state),
13042         (gst_element_finalize), (gst_element_yield),
13043         (gst_element_interrupt), (gst_element_set_scheduler),
13044         (gst_element_get_scheduler), (gst_element_set_loop_function):
13045         * gst/gstelement.h:
13046         * gst/gstevent.h:
13047         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
13048         (gst_format_get_by_nick), (gst_format_get_details),
13049         (gst_format_iterate_definitions):
13050         * gst/gstformat.h:
13051         * gst/gstindex.c: (gst_index_gtype_resolver):
13052         * gst/gstinfo.c:
13053         * gst/gstinfo.h:
13054         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
13055         (gst_mem_chunk_free):
13056         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
13057         (gst_object_ref), (gst_object_unref), (gst_object_sink),
13058         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
13059         (gst_object_dispatch_properties_changed),
13060         (gst_object_set_name_default), (gst_object_set_name),
13061         (gst_object_get_name), (gst_object_set_name_prefix),
13062         (gst_object_get_name_prefix), (gst_object_set_parent),
13063         (gst_object_get_parent), (gst_object_unparent),
13064         (gst_object_check_uniqueness), (gst_object_save_thyself),
13065         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
13066         (gst_object_set_property), (gst_object_get_property),
13067         (gst_object_get_path_string):
13068         * gst/gstobject.h:
13069         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13070         (gst_real_pad_init), (gst_real_pad_get_property),
13071         (gst_pad_custom_new), (gst_pad_get_direction),
13072         (gst_pad_set_active), (gst_pad_is_active),
13073         (gst_pad_set_event_function), (gst_pad_is_linked),
13074         (gst_pad_link_free), (gst_pad_link_intersect),
13075         (gst_pad_link_fixate), (gst_pad_set_caps),
13076         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
13077         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
13078         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
13079         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
13080         (gst_pad_get_caps), (gst_pad_peer_get_caps),
13081         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
13082         (gst_pad_realize), (gst_pad_get_allowed_caps),
13083         (gst_real_pad_dispose), (gst_real_pad_finalize),
13084         (gst_pad_collectv), (gst_pad_collect_valist),
13085         (gst_pad_template_dispose), (gst_pad_template_new),
13086         (gst_pad_get_internal_links):
13087         * gst/gstpad.h:
13088         * gst/gstpipeline.c: (gst_pipeline_dispose),
13089         (gst_pipeline_change_state):
13090         * gst/gstpipeline.h:
13091         * gst/gstplugin.c:
13092         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
13093         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
13094         * gst/gstpluginfeature.h:
13095         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
13096         * gst/gstquery.c: (_gst_query_type_initialize),
13097         (gst_query_type_register), (gst_query_type_get_by_nick),
13098         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
13099         * gst/gstquery.h:
13100         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
13101         * gst/gstscheduler.c: (gst_scheduler_add_element),
13102         (gst_scheduler_factory_create):
13103         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13104         (gst_structure_free), (gst_structure_set_name),
13105         (gst_structure_id_set_value), (gst_structure_set_value),
13106         (gst_structure_set_valist), (gst_structure_remove_field),
13107         (gst_structure_remove_fields),
13108         (gst_structure_remove_fields_valist),
13109         (gst_structure_remove_all_fields), (gst_structure_foreach),
13110         (gst_structure_map_in_place),
13111         (gst_caps_structure_fixate_field_nearest_int),
13112         (gst_caps_structure_fixate_field_nearest_double):
13113         * gst/gststructure.h:
13114         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13115         (gst_system_clock_init), (gst_system_clock_dispose),
13116         (gst_system_clock_async_thread),
13117         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
13118         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
13119         * gst/gstsystemclock.h:
13120         * gst/gsttag.c: (gst_tag_list_add_value_internal),
13121         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
13122         * gst/gsttaginterface.c:
13123         * gst/gstthread.c: (gst_thread_dispose),
13124         (gst_thread_release_children_locks), (gst_thread_change_state),
13125         (gst_thread_main_loop):
13126         * gst/gsttrashstack.h:
13127         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
13128         * gst/gsttypes.h:
13129         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13130         (gst_element_request_pad), (gst_element_get_pad_from_template),
13131         (gst_element_request_compatible_pad),
13132         (gst_element_get_compatible_pad_filtered),
13133         (gst_element_get_compatible_pad), (gst_element_state_get_name),
13134         (gst_element_link_pads_filtered), (gst_element_link_filtered),
13135         (gst_element_link_many), (gst_element_link),
13136         (gst_element_link_pads), (gst_element_unlink_pads),
13137         (gst_element_unlink_many), (gst_element_unlink),
13138         (gst_pad_can_link_filtered), (gst_pad_can_link),
13139         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
13140         (gst_object_default_error), (gst_bin_add_many),
13141         (gst_bin_remove_many), (gst_element_populate_std_props),
13142         (gst_element_class_install_std_props), (gst_buffer_merge),
13143         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
13144         (link_fold_func), (gst_pad_proxy_setcaps):
13145         * gst/gstutils.h:
13146         * gst/gstvalue.c: (gst_value_deserialize_string):
13147         * gst/parse/grammar.y:
13148         * gst/schedulers/gstbasicscheduler.c:
13149         (gst_basic_scheduler_cothreaded_chain),
13150         (gst_basic_scheduler_chain_recursive_add),
13151         (gst_basic_scheduler_pad_link):
13152         * gst/schedulers/gstoptimalscheduler.c:
13153         (get_group_schedule_function),
13154         (gst_opt_scheduler_state_transition),
13155         (gst_opt_scheduler_add_element), (element_get_reachables_func):
13156         * libs/gst/bytestream/bytestream.c:
13157         * libs/gst/dataprotocol/dataprotocol.c:
13158         (gst_dp_header_from_buffer):
13159         * po/nb.po:
13160         * po/ru.po:
13161         * tests/threadstate/threadstate2.c: (eos):
13162         * tools/gst-compprep.c: (main):
13163         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
13164         (print_pad_info), (print_children_info):
13165         * tools/gst-launch.c: (idle_func), (main):
13166         * tools/gst-md5sum.c: (idle_func), (main):
13167         * tools/gst-xmlinspect.c: (print_element_info):
13168         First THREADED backport attempt, focusing on adding locks and
13169         making sure the API is threadsafe. Needs more work. More docs
13170         follow this week.
13171
13172 2005-02-24  Andy Wingo  <wingo@pobox.com>
13173
13174         * tests/bench-complexity.scm:
13175         * tests/complexity.gnuplot: New files, good for running complexity
13176         benchmarks.
13177
13178         * tests/Makefile.am:
13179         * tests/complexity.c: New test, sets up N elements, at each level
13180         teeing into M streams per element. Eeeenteresting.
13181
13182         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
13183         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
13184         running bench-mass_elements.scm.
13185
13186         * tests/bench-mass_elements.scm: New script, runs mass_elements
13187         for various numbers of identities, outputting the results to a
13188         file. Requires guile 1.6. Just for testing.
13189
13190 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13191
13192         * gst/schedulers/fairscheduler.c:
13193           compile with debug disabled
13194
13195 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13196
13197         * configure.ac:
13198           hunting season on 0.9 is now OPEN