gst/gstbuffer.c: Small docs update.
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-12-07  Wim Taymans  <wim@fluendo.com>
2
3         * gst/gstbuffer.c:
4         Small docs update.
5
6         * gst/gstcaps.c: (gst_caps_is_equal):
7         Don't assert on NULL <--> X. Fixes #323260
8
9         * gst/gstminiobject.c: (gst_mini_object_replace):
10         If we're doing atomic operations, we might just as well use
11         the proper way to get an atomic pointer.
12
13         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
14         Clean up debugging.
15
16 2005-12-07  Michael Smith  <msmith@fluendo.com>
17
18         * gst/parse/grammar.y:
19           Remove handling of { } for threads.
20
21 2005-12-06  David Schleef  <ds@schleef.org>
22
23         * libs/gst/base/gstbasetransform.c: speling fix.
24
25 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
26
27         * docs/libs/tmpl/gstdataprotocol.sgml:
28         * docs/random/omega/testing/gstobject.c:
29         * gst/gst.c:
30         * gst/gstclock.c:
31         * gst/gstelement.c:
32         * gst/gstelementfactory.c:
33         * gst/gsterror.c:
34         * gst/gstevent.c:
35         * gst/gstghostpad.c:
36         * gst/gstinfo.c:
37         * gst/gstpadtemplate.c:
38         * gst/gstregistryxml.c:
39         * gst/gsttaglist.c:
40         * gst/gsttagsetter.c:
41         * gst/gsttypefind.c:
42         * gst/gstvalue.c:
43         * libs/gst/base/gstbasesrc.c:
44         * libs/gst/net/gstnetclientclock.c:
45         * libs/gst/net/gstnettimeprovider.c:
46         * plugins/elements/gstfakesrc.c:
47         * plugins/elements/gstfdsrc.c:
48         * plugins/elements/gstfilesrc.c:
49         * plugins/elements/gstidentity.c:
50         * plugins/elements/gstqueue.c:
51         * plugins/elements/gsttypefindelement.c:
52         * plugins/indexers/gstfileindex.c:
53         * plugins/indexers/gstmemindex.c:
54         * tests/check/gst/gsttag.c:
55         * tests/old/examples/cutter/cutter.c:
56         * tests/old/examples/mixer/mixer.c:
57         * tests/old/examples/xml/runxml.c: (main):
58         * tests/old/testsuite/caps/normalisation.c:
59         * tests/old/testsuite/debug/global.c:
60         * tests/old/testsuite/parse/parse1.c:
61         * tools/gst-xmlinspect.c:
62         * win32/common/dirent.c:
63           expand tabs
64
65 === release 0.10.0 ===
66
67 2005-12-05   <thomas (at) apestaart (dot) org>
68
69         * configure.ac:
70           releasing 0.10.0, "Maroilles"
71
72 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
73
74         submitted by: Funda Wang <fundawang@linux.net.cn>
75
76         * po/LINGUAS:
77         * po/zh_CN.po:
78           added Chinese (Traditional) translation
79
80 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
81
82         * docs/gst/gstreamer-sections.txt:
83         * docs/libs/tmpl/gstdataprotocol.sgml:
84         * docs/random/thomasvs/TODO:
85         * gst/gstutils.c:
86         * gst/gstutils.h:
87           fix docs
88
89 2005-12-05  Andy Wingo  <wingo@pobox.com>
90
91         patch by: Wim Taymans <wim@fluendo.com>
92
93         * libs/gst/base/gstbasetransform.c
94         (gst_base_transform_prepare_output_buf)
95         (gst_base_transform_buffer_alloc):
96         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
97         alloc_buffer_and_set_caps.
98
99         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
100         set_caps on the source pad.
101         (gst_pad_alloc_buffer_and_set_caps): New function, does what
102         alloc_buffer used to do. Fixes #322874.
103
104         * docs/gst/gstreamer-sections.txt: 
105         * docs/design/part-negotiation.txt: 
106         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
107         changes.
108
109 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
110
111         patch by: Sebastien Moutte
112
113         * win32/MANIFEST:
114         * win32/common/config.h.in:
115         * win32/vs6/libgstcontroller.dsp:
116           win32 build fixes
117
118 2005-12-05  Wim Taymans  <wim@fluendo.com>
119
120         * gst/gstcaps.c: (gst_caps_is_equal):
121         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
122         (gst_fake_src_create):
123         Back out previous code changes, leave doc updates, file bugs 
124         instead. 
125
126 2005-12-05  Wim Taymans  <wim@fluendo.com>
127
128         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
129         (gst_fake_src_get_times), (gst_fake_src_create):
130         * plugins/elements/gstfakesrc.h:
131         Fix broken sync code.
132
133 2005-12-05  Wim Taymans  <wim@fluendo.com>
134
135         * gst/gstcaps.c: (gst_caps_is_equal):
136         Comparing NULL against !NULL yields different caps, not a
137         failure.
138
139 2005-12-05  Wim Taymans  <wim@fluendo.com>
140
141         * gst/gstpipeline.c:
142         Fix small typo in docs.
143
144 2005-12-05  Andy Wingo  <wingo@pobox.com>
145
146         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
147
148         * gst/gst.c (init_post): remove hard-coded 0.9 location for
149         registries/plugins with a MAJORMINOR one.
150         (plugin_desc): Rename library from gstcoreleements to
151         staticelements. Fixes #323222.
152
153 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
154
155         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
156           Change debug category to 'collectpads' from 'collect_pads'
157           (fixes #323250).
158
159 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
160
161         patch by: Sebastien Moutte
162
163         * libs/gst/controller/gstinterpolation.c:
164           use convert function for uint64/double
165         * win32/vs6/libgstcontroller.dsp:
166           link to GLib
167
168 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
169
170         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
171         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
172         * gst/gstutils.h:
173         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
174           add tests that seem to show that the guint64/gdouble conversions
175           are correct.
176
177 2005-12-02  Wim Taymans  <wim@fluendo.com>
178
179         * gst/gstregistry.c: (gst_registry_add_path):
180         * gst/gstregistry.h:
181         * gst/gstregistryxml.c:
182         Fix docs again.
183
184 2005-12-02  Wim Taymans  <wim@fluendo.com>
185
186         * gst/gstutils.c: (gst_util_uint64_scale_int64),
187         (gst_util_uint64_scale_int):
188         Small cleanup.
189
190         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
191         Add debug log line.
192
193         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
194         Add FIXME.
195
196 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
197
198         * win32/MANIFEST:
199         * win32/common/config.h:
200         * win32/vs6/gstreamer.dsw:
201         * win32/vs6/libgstcoreelements.dsp:
202         * win32/vs6/libgstelements.dsp:
203           renamed core elements plugin
204
205 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
206
207         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
208         (get_candidates):
209           do piece-wise major/minor comparison so 0.9 < 0.10
210           also allow .exe extensions for tools
211
212 2005-12-02  Michael Smith  <msmith@fluendo.com>
213
214         * gst/gst.c:
215           Escape a % to make gtkdoc happier; bug 322958.
216
217 === release 0.9.7 ===
218
219 2005-12-01   <thomas (at) apestaart (dot) org>
220
221         * configure.ac:
222           releasing 0.9.7, "My Dog Has No Nose"
223
224 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
225
226         * common/gst-xmlinspect.py:
227         * configure.ac:
228         * docs/libs/tmpl/gstdataprotocol.sgml:
229         * docs/random/release:
230         * po/af.po:
231         * po/az.po:
232         * po/bg.po:
233         * po/ca.po:
234         * po/cs.po:
235         * po/de.po:
236         * po/en_GB.po:
237         * po/fr.po:
238         * po/it.po:
239         * po/nb.po:
240         * po/nl.po:
241         * po/ru.po:
242         * po/sq.po:
243         * po/sr.po:
244         * po/sv.po:
245         * po/tr.po:
246         * po/uk.po:
247         * po/vi.po:
248         * win32/common/config.h:
249         * win32/common/config.h.in:
250         * win32/vs6/gst_inspect.dsp:
251         * win32/vs6/gst_launch.dsp:
252         * win32/vs6/libgstbase.dsp:
253         * win32/vs6/libgstelements.dsp:
254         * win32/vs6/libgstreamer.dsp:
255         * win32/vs7/GStreamer.vcproj:
256         * win32/vs7/gst-inspect.vcproj:
257         * win32/vs7/gst-launch.vcproj:
258         * win32/vs7/libgstbase.vcproj:
259           bump GST_MAJORMINOR to 0.10
260           reset libtool version
261
262 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
263
264         * po/LINGUAS:
265         * po/bg.po:
266           Added Bulgarian translation by (Alexander Shopov)
267
268 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
269
270         * tests/check/gst/gstplugin.c:
271           fix test
272
273 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
274
275         * common/gst-xmlinspect.py:
276         * common/gtk-doc-plugins.mak:
277         * configure.ac:
278         * docs/Makefile.am:
279         * docs/gst/Makefile.am:
280         * docs/gst/gstreamer-docs.sgml:
281         * docs/gst/gstreamer-sections.txt:
282         * docs/gst/gstreamer.types:
283         * docs/gst/gstreamer.types.in:
284         * docs/plugins/Makefile.am:
285         * docs/plugins/gstreamer-plugins-docs.sgml:
286         * docs/plugins/gstreamer-plugins-sections.txt:
287         * docs/plugins/gstreamer-plugins.types:
288         * docs/plugins/inspect.stamp:
289         * docs/plugins/inspect/plugin-coreelements.xml:
290         * docs/plugins/inspect/plugin-coreindexers.xml:
291         * docs/plugins/scanobj-build.stamp:
292         * gstreamer.spec.in:
293         * plugins/elements/Makefile.am:
294         * plugins/elements/gstelements.c:
295         * plugins/elements/gstfakesink.c:
296         * plugins/elements/gstfakesrc.c:
297         * plugins/elements/gstfilesink.c:
298         * plugins/elements/gstfilesrc.c:
299         * plugins/elements/gstqueue.c:
300         * plugins/indexers/Makefile.am:
301         * plugins/indexers/gstindexers.c:
302           document core plugins in a separate document just like all the
303           others
304           rename these plugins to something starting with core
305
306 2005-12-01  Andy Wingo  <wingo@pobox.com>
307
308         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
309         padding here before, but it missed the commit.
310
311 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
312
313         * libs/gst/controller/gstinterpolation.c:
314           whitespace prices have crashed, we should feel free to use some now
315           use gst_guint64_to_gdouble
316
317 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
318
319         * libs/gst/controller/gstcontroller.c:
320         * libs/gst/controller/gsthelper.c:
321         * libs/gst/controller/gstinterpolation.c:
322         * libs/gst/controller/lib.c:
323           wrap config.h include
324
325 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
326
327         * docs/gst/gstreamer-sections.txt:
328           update docs
329
330 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
331
332         * plugins/elements/gstelements.c:
333         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
334         (gst_fd_sink__class_init), (gst_fd_sink__init),
335         (gst_fd_sink__chain), (gst_fd_sink__set_property),
336         (gst_fd_sink__get_property):
337         * plugins/elements/gstfdsink.h:
338         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
339         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
340         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
341         (gst_fd_src_unlock), (gst_fd_src_set_property),
342         (gst_fd_src_get_property), (gst_fd_src_create),
343         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
344         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
345         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
346         (gst_fd_src_uri_handler_init):
347         * plugins/elements/gstfdsrc.h:
348         * plugins/elements/gstqueue.c: (gst_queue_get_type):
349           more anal cleanup
350
351 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
352
353         * docs/gst/Makefile.am:
354         * docs/gst/gstreamer.types.in:
355         * gst/Makefile.am:
356           fix the docs build
357
358 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
359
360         * configure.ac:
361         * gst/Makefile.am:
362         * gst/gst.c:
363         * gst/gstplugin.h:
364         * gst/gstregistry.h:
365         * tests/benchmarks/complexity.c:
366         * tests/benchmarks/mass-elements.c:
367         * tests/check/Makefile.am:
368         * tools/Makefile.am:
369         * tools/gst-inspect.c:
370         * tools/gst-xmlinspect.c:
371           various fixes to make
372           --disable-nls --disable-registry --disable-loadsave
373           --disable-parse --disable-gst-debug
374           work and get the core .so down to 360444 bytes after stripping
375
376 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
377
378         * Makefile.am:
379         * configure.ac:
380           descend into tests
381         * docs/random/thomasvs/TODO:
382         * tests/Makefile.am:
383         * tests/README:
384           add a README
385
386 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
387
388         * win32/GStreamer.vcproj:
389         * win32/MANIFEST:
390         * win32/Makefile:
391         * win32/Makefile.inspect:
392         * win32/Makefile.launch:
393         * win32/Makefile.register:
394         * win32/README.txt:
395         * win32/gst-inspect.vcproj:
396         * win32/gst-launch.vcproj:
397         * win32/gst-register.vcproj:
398         * win32/gstelements.vcproj:
399         * win32/gstgetbits.def:
400         * win32/gstgetbits.vcproj:
401         * win32/gstreamer-dbg.def:
402         * win32/gstreamer.def:
403         * win32/libgstbase.def:
404         * win32/libgstbase.vcproj:
405         * win32/link_oldruntime.c:
406         * win32/mman.c:
407         * win32/mman.h:
408         * win32/mman.inl:
409         * win32/msvc71.sln:
410           move even more stuff, win32/ is nice and clean now
411
412 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
413
414         * libs/gst/control/.cvsignore:
415         * win32/MANIFEST:
416         * win32/config.h:
417         * win32/dirent.c:
418         * win32/dirent.h:
419         * win32/gstbytestream.def:
420         * win32/gstbytestream.vcproj:
421         * win32/gstconfig.h:
422         * win32/gstenumtypes.c:
423         * win32/gstenumtypes.h:
424         * win32/gstoptimalscheduler.vcproj:
425         * win32/gstversion.h:
426         * win32/gtchar.h:
427         * win32/testsuite/bins.vcproj:
428         * win32/testsuite/bytestream.vcproj:
429         * win32/testsuite/caps.vcproj:
430         * win32/testsuite/cleanup.vcproj:
431         * win32/testsuite/clock.vcproj:
432         * win32/testsuite/debug.vcproj:
433         * win32/testsuite/dlopen.vcproj:
434         * win32/testsuite/dynparams.vcproj:
435         * win32/testsuite/elements.vcproj:
436         * win32/testsuite/ghostpads.vcproj:
437         * win32/testsuite/indexers.vcproj:
438         * win32/testsuite/negotiation.vcproj:
439         * win32/testsuite/parse.vcproj:
440         * win32/testsuite/plugin.vcproj:
441         * win32/testsuite/refcounting.vcproj:
442         * win32/testsuite/schedulers.vcproj:
443         * win32/testsuite/states.vcproj:
444         * win32/testsuite/tags.vcproj:
445         * win32/testsuite/threads.vcproj:
446           remove old win32 stuff that isn't maintained and should be
447           reorganized
448
449 2005-11-30  Andy Wingo  <wingo@pobox.com>
450
451         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
452         loading the gst.interfaces python module bork.
453
454         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
455         available since GLib 2.2. Fixes #318031.
456
457 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
458
459         * Makefile.am:
460         * check/.cvsignore:
461         * check/Makefile.am:
462         * check/elements/.cvsignore:
463         * check/elements/fakesrc.c:
464         * check/elements/fdsrc.c:
465         * check/elements/identity.c:
466         * check/generic/.cvsignore:
467         * check/generic/states.c:
468         * check/gst-libs/.cvsignore:
469         * check/gst-libs/controller.c:
470         * check/gst-libs/gdp.c:
471         * check/gst/.cvsignore:
472         * check/gst/capslist.h:
473         * check/gst/gst.c:
474         * check/gst/gstbin.c:
475         * check/gst/gstbuffer.c:
476         * check/gst/gstbus.c:
477         * check/gst/gstcaps.c:
478         * check/gst/gstelement.c:
479         * check/gst/gstevent.c:
480         * check/gst/gstghostpad.c:
481         * check/gst/gstiterator.c:
482         * check/gst/gstmessage.c:
483         * check/gst/gstminiobject.c:
484         * check/gst/gstobject.c:
485         * check/gst/gstpad.c:
486         * check/gst/gstpipeline.c:
487         * check/gst/gstplugin.c:
488         * check/gst/gstsegment.c:
489         * check/gst/gststructure.c:
490         * check/gst/gstsystemclock.c:
491         * check/gst/gsttag.c:
492         * check/gst/gstutils.c:
493         * check/gst/gstvalue.c:
494         * check/net/.cvsignore:
495         * check/net/gstnetclientclock.c:
496         * check/net/gstnettimeprovider.c:
497         * check/pipelines/.cvsignore:
498         * check/pipelines/cleanup.c:
499         * check/pipelines/simple_launch_lines.c:
500         * check/pipelines/stress.c:
501         * check/states/.cvsignore:
502         * check/states/sinks.c:
503         * configure.ac:
504         * examples/Makefile.am:
505         * examples/appreader/.cvsignore:
506         * examples/appreader/Makefile.am:
507         * examples/appreader/appreader.c:
508         * examples/controller/.cvsignore:
509         * examples/controller/Makefile.am:
510         * examples/controller/audio-example.c:
511         * examples/cutter/.cvsignore:
512         * examples/cutter/Makefile.am:
513         * examples/cutter/cutter.c:
514         * examples/cutter/cutter.h:
515         * examples/events/Makefile.am:
516         * examples/events/seek.c:
517         * examples/helloworld/.cvsignore:
518         * examples/helloworld/Makefile.am:
519         * examples/helloworld/helloworld.c:
520         * examples/helloworld2/.cvsignore:
521         * examples/helloworld2/Makefile.am:
522         * examples/helloworld2/helloworld2.c:
523         * examples/launch/.cvsignore:
524         * examples/launch/Makefile.am:
525         * examples/launch/mp3parselaunch.c:
526         * examples/launch/mp3play:
527         * examples/manual/.cvsignore:
528         * examples/manual/Makefile.am:
529         * examples/manual/extract.pl:
530         * examples/metadata/Makefile.am:
531         * examples/metadata/read-metadata.c:
532         * examples/mixer/.cvsignore:
533         * examples/mixer/Makefile.am:
534         * examples/mixer/mixer.c:
535         * examples/mixer/mixer.h:
536         * examples/pingpong/.cvsignore:
537         * examples/pingpong/Makefile.am:
538         * examples/pingpong/pingpong.c:
539         * examples/plugins/.cvsignore:
540         * examples/plugins/Makefile.am:
541         * examples/plugins/example.c:
542         * examples/plugins/example.h:
543         * examples/pwg/.cvsignore:
544         * examples/pwg/Makefile.am:
545         * examples/pwg/extract.pl:
546         * examples/queue/.cvsignore:
547         * examples/queue/Makefile.am:
548         * examples/queue/queue.c:
549         * examples/queue2/.cvsignore:
550         * examples/queue2/Makefile.am:
551         * examples/queue2/queue2.c:
552         * examples/queue3/.cvsignore:
553         * examples/queue3/Makefile.am:
554         * examples/queue3/queue3.c:
555         * examples/queue4/.cvsignore:
556         * examples/queue4/Makefile.am:
557         * examples/queue4/queue4.c:
558         * examples/retag/.cvsignore:
559         * examples/retag/Makefile.am:
560         * examples/retag/retag.c:
561         * examples/retag/transcode.c:
562         * examples/thread/.cvsignore:
563         * examples/thread/Makefile.am:
564         * examples/thread/thread.c:
565         * examples/typefind/.cvsignore:
566         * examples/typefind/Makefile.am:
567         * examples/typefind/typefind.c:
568         * examples/xml/.cvsignore:
569         * examples/xml/Makefile.am:
570         * examples/xml/createxml.c:
571         * examples/xml/runxml.c:
572         * tests/Makefile.am:
573         * tests/check/Makefile.am:
574         * testsuite/.cvsignore:
575         * testsuite/Makefile.am:
576         * testsuite/Rules:
577         * testsuite/caps/.cvsignore:
578         * testsuite/caps/Makefile.am:
579         * testsuite/caps/app_fixate.c:
580         * testsuite/caps/audioscale.c:
581         * testsuite/caps/caps.c:
582         * testsuite/caps/caps.h:
583         * testsuite/caps/caps_strings:
584         * testsuite/caps/compatibility.c:
585         * testsuite/caps/deserialize.c:
586         * testsuite/caps/enumcaps.c:
587         * testsuite/caps/eratosthenes.c:
588         * testsuite/caps/filtercaps.c:
589         * testsuite/caps/fixed.c:
590         * testsuite/caps/fraction-convert.c:
591         * testsuite/caps/fraction-multiply-and-zero.c:
592         * testsuite/caps/intersect2.c:
593         * testsuite/caps/intersection.c:
594         * testsuite/caps/normalisation.c:
595         * testsuite/caps/random.c:
596         * testsuite/caps/renegotiate.c:
597         * testsuite/caps/sets.c:
598         * testsuite/caps/simplify.c:
599         * testsuite/caps/string-conversions.c:
600         * testsuite/caps/structure.c:
601         * testsuite/caps/subtract.c:
602         * testsuite/caps/union.c:
603         * testsuite/debug/.cvsignore:
604         * testsuite/debug/Makefile.am:
605         * testsuite/debug/category.c:
606         * testsuite/debug/commandline.c:
607         * testsuite/debug/global.c:
608         * testsuite/debug/output.c:
609         * testsuite/debug/printf_extension.c:
610         * testsuite/dlopen/.cvsignore:
611         * testsuite/dlopen/Makefile.am:
612         * testsuite/dlopen/dlopen_gst.c:
613         * testsuite/dlopen/loadgst.c:
614         * testsuite/elements/.cvsignore:
615         * testsuite/elements/Makefile.am:
616         * testsuite/elements/gst-inspect-check.in:
617         * testsuite/elements/struct_i386.h:
618         * testsuite/elements/struct_size.c:
619         * testsuite/indexers/.cvsignore:
620         * testsuite/indexers/Makefile.am:
621         * testsuite/indexers/cache1.c:
622         * testsuite/indexers/indexdump.c:
623         * testsuite/parse/.cvsignore:
624         * testsuite/parse/Makefile.am:
625         * testsuite/parse/parse1.c:
626         * testsuite/parse/parse2.c:
627         * testsuite/plugin/.cvsignore:
628         * testsuite/plugin/Makefile.am:
629         * testsuite/plugin/README:
630         * testsuite/plugin/dynamic.c:
631         * testsuite/plugin/linked.c:
632         * testsuite/plugin/loading.c:
633         * testsuite/plugin/registry.c:
634         * testsuite/plugin/static.c:
635         * testsuite/plugin/static2.c:
636         * testsuite/plugin/testplugin.c:
637         * testsuite/plugin/testplugin2.c:
638         * testsuite/plugin/testplugin2_s.c:
639         * testsuite/plugin/testplugin_s.c:
640         * testsuite/refcounting/.cvsignore:
641         * testsuite/refcounting/Makefile.am:
642         * testsuite/refcounting/bin.c:
643         * testsuite/refcounting/element.c:
644         * testsuite/refcounting/element_pad.c:
645         * testsuite/refcounting/mainloop.c:
646         * testsuite/refcounting/mem.c:
647         * testsuite/refcounting/mem.h:
648         * testsuite/refcounting/object.c:
649         * testsuite/refcounting/pad.c:
650         * testsuite/refcounting/sched.c:
651         * testsuite/refcounting/thread.c:
652         * testsuite/states/.cvsignore:
653         * testsuite/states/Makefile.am:
654         * testsuite/states/bin.c:
655         * testsuite/states/locked.c:
656         * testsuite/states/parent.c:
657         * testsuite/threads/.cvsignore:
658         * testsuite/threads/159566.c:
659         * testsuite/threads/159852.c:
660         * testsuite/threads/Makefile.am:
661         * testsuite/threads/queue.c:
662         * testsuite/threads/signals.c:
663         * testsuite/threads/staticrec.c:
664         * testsuite/threads/thread.c:
665         * testsuite/threads/threadb.c:
666         * testsuite/threads/threadc.c:
667         * testsuite/threads/threadd.c:
668         * testsuite/threads/threade.c:
669         * testsuite/threads/threadf.c:
670         * testsuite/threads/threadg.c:
671         * testsuite/threads/threadh.c:
672         * testsuite/threads/threadi.c:
673           move all of these under tests
674
675 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
676
677         * configure.ac:
678         * tests/Makefile.am:
679           fix distcheck
680
681 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
682
683         * docs/gst/gstreamer-sections.txt:
684         * tests/sched/.cvsignore:
685         * tests/sched/Makefile.am:
686         * tests/sched/cases/(fs-fs).xml:
687         * tests/sched/cases/(fs-i-fs).xml:
688         * tests/sched/cases/(fs-i-i-fs).xml:
689         * tests/sched/cases/(fs-i-q[i-fs]).xml:
690         * tests/sched/dynamic-pipeline.c:
691         * tests/sched/interrupt1.c:
692         * tests/sched/interrupt2.c:
693         * tests/sched/interrupt3.c:
694         * tests/sched/runtestcases:
695         * tests/sched/runxml.c:
696         * tests/sched/sched-stress.c:
697         * tests/sched/sort.c:
698         * tests/sched/testcases:
699         * tests/sched/testcases1.tc:
700         * tests/seeking/.cvsignore:
701         * tests/seeking/Makefile.am:
702         * tests/seeking/seeking1.c:
703         * tests/threadstate/.cvsignore:
704         * tests/threadstate/Makefile.am:
705         * tests/threadstate/test1.c:
706         * tests/threadstate/test2.c:
707         * tests/threadstate/threadstate1.c:
708         * tests/threadstate/threadstate2.c:
709         * tests/threadstate/threadstate3.c:
710         * tests/threadstate/threadstate4.c:
711         * tests/threadstate/threadstate5.c:
712           remove obsolete tests
713         * configure.ac:
714         * tests/bench-complexity.scm:
715         * tests/bench-mass_elements.scm:
716         * tests/complexity.c:
717         * tests/complexity.gnuplot:
718         * tests/instantiate/.cvsignore:
719         * tests/instantiate/Makefile.am:
720         * tests/instantiate/caps.c:
721         * tests/mass_elements.c:
722         * tests/network-clock-utils.scm:
723         * tests/network-clock.scm:
724         * tests/plot-data:
725         First pass at cleaning up tests/ dir before moving the rest
726         Combined with CVS surgery
727
728 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
729
730         * po/POTFILES.in:
731           queue has moved, update
732
733 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
734
735         * docs/gst/gstreamer-sections.txt:
736           remove double entries from the docs
737         * gst/gst_private.h:
738         * gst/gstinfo.c: (_gst_debug_init):
739           remove the THREAD debug category
740         * gst/Makefile.am:
741         * gst/gstqueue.c:
742         * gst/gstqueue.h:
743         * docs/gst/gstreamer.types:
744         * plugins/elements/gstqueue.c: (gst_queue_get_type),
745         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
746           completely move queue and fix up debugging categories
747
748 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
749
750         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
751           make initialization portable, using LL is not
752
753 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
754
755         * win32/common/gstconfig.h:
756           add large padding
757
758 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
759
760         * win32/common/libgstreamer.def:
761           rename symbols; sort base section
762
763 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
764
765         * gst/gstclock.c: (do_linear_regression):
766           remove crack non-portable handrolled DEBUG macro
767
768 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
769
770         * docs/random/release:
771           update notes
772         * win32/common/gstenumtypes.c: (register_gst_object_flags),
773         (gst_object_flags_get_type), (register_gst_bin_flags),
774         (gst_bin_flags_get_type), (register_gst_buffer_flag),
775         (gst_buffer_flag_get_type), (register_gst_bus_flags),
776         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
777         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
778         (gst_caps_flags_get_type), (register_gst_clock_return),
779         (gst_clock_return_get_type), (register_gst_clock_entry_type),
780         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
781         (gst_clock_flags_get_type), (register_gst_state),
782         (gst_state_get_type), (register_gst_state_change_return),
783         (gst_state_change_return_get_type), (register_gst_state_change),
784         (gst_state_change_get_type), (register_gst_element_flags),
785         (gst_element_flags_get_type), (register_gst_core_error),
786         (gst_core_error_get_type), (register_gst_library_error),
787         (gst_library_error_get_type), (register_gst_resource_error),
788         (gst_resource_error_get_type), (register_gst_stream_error),
789         (gst_stream_error_get_type), (register_gst_event_type_flags),
790         (gst_event_type_flags_get_type), (register_gst_event_type),
791         (gst_event_type_get_type), (register_gst_seek_type),
792         (gst_seek_type_get_type), (register_gst_seek_flags),
793         (gst_seek_flags_get_type), (register_gst_format),
794         (gst_format_get_type), (register_gst_index_certainty),
795         (gst_index_certainty_get_type), (register_gst_index_entry_type),
796         (gst_index_entry_type_get_type),
797         (register_gst_index_lookup_method),
798         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
799         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
800         (gst_index_resolver_method_get_type), (register_gst_index_flags),
801         (gst_index_flags_get_type), (register_gst_debug_level),
802         (gst_debug_level_get_type), (register_gst_debug_color_flags),
803         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
804         (gst_iterator_result_get_type), (register_gst_iterator_item),
805         (gst_iterator_item_get_type), (register_gst_message_type),
806         (gst_message_type_get_type), (register_gst_mini_object_flags),
807         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
808         (gst_pad_link_return_get_type), (register_gst_flow_return),
809         (gst_flow_return_get_type), (register_gst_activate_mode),
810         (gst_activate_mode_get_type), (register_gst_pad_direction),
811         (gst_pad_direction_get_type), (register_gst_pad_flags),
812         (gst_pad_flags_get_type), (register_gst_pad_presence),
813         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
814         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
815         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
816         (gst_plugin_error_get_type), (register_gst_plugin_flags),
817         (gst_plugin_flags_get_type), (register_gst_rank),
818         (gst_rank_get_type), (register_gst_query_type),
819         (gst_query_type_get_type), (register_gst_tag_merge_mode),
820         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
821         (gst_tag_flag_get_type), (register_gst_task_state),
822         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
823         (gst_alloc_trace_flags_get_type),
824         (register_gst_type_find_probability),
825         (gst_type_find_probability_get_type), (register_gst_uri_type),
826         (gst_uri_type_get_type), (register_gst_parse_error),
827         (gst_parse_error_get_type):
828         * win32/common/gstenumtypes.h:
829         * win32/common/gstversion.h:
830           update visual studio generated files
831
832 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
833
834         * win32/vs6/libgstbase.dsp:
835         * win32/vs6/libgstelements.dsp:
836           update project files for new locations
837
838 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
839
840         * Makefile.am:
841           remove some files
842         * README:
843           reinstate and update
844         * DEVEL:
845         * REQUIREMENTS:
846           removed
847         * LICENSE:
848         * docs/random/LICENSE:
849           moved to random
850
851 2005-11-30  Edward Hervey  <edward@fluendo.com>
852
853         * gst/gsttypefind.c: (gst_type_find_register):
854         * gst/gsttypefind.h:
855         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
856         (gst_type_find_factory_dispose):
857         * gst/gsttypefindfactory.h:
858         Fix memory leak in GstTypeFindFactory.
859
860 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
861
862         * gst/gst.c:
863         * plugins/elements/Makefile.am:
864         * plugins/elements/gstelements.c:
865         * plugins/elements/gstqueue.c:
866           move queue from core to the elements plugin
867
868 2005-11-29  Andy Wingo  <wingo@pobox.com>
869
870         * libs/gst/base/gstbasetransform.h: 
871         * libs/gst/base/gstbasesrc.h: 
872         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
873
874         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
875         of pointers by which to pad very extensible base classes (like the
876         ones in libs/gst/base).
877
878 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
879
880         * docs/gst/gstreamer-docs.sgml:
881         * docs/gst/gstreamer-sections.txt:
882         * docs/libs/gstreamer-libs-docs.sgml:
883         * docs/libs/gstreamer-libs-sections.txt:
884           moving documentation from core to lib
885
886 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
887
888         * check/Makefile.am:
889         * configure.ac:
890         * docs/gst/Makefile.am:
891         * gst/Makefile.am:
892         * gst/base/.cvsignore:
893         * gst/base/Makefile.am:
894         * gst/base/README:
895         * gst/base/gstadapter.c:
896         * gst/base/gstadapter.h:
897         * gst/base/gstbasesink.c:
898         * gst/base/gstbasesink.h:
899         * gst/base/gstbasesrc.c:
900         * gst/base/gstbasesrc.h:
901         * gst/base/gstbasetransform.c:
902         * gst/base/gstbasetransform.h:
903         * gst/base/gstcollectpads.c:
904         * gst/base/gstcollectpads.h:
905         * gst/base/gstpushsrc.c:
906         * gst/base/gstpushsrc.h:
907         * gst/base/gsttypefindhelper.c:
908         * gst/base/gsttypefindhelper.h:
909         * gst/check/Makefile.am:
910         * gst/check/gstcheck.c:
911         * gst/check/gstcheck.h:
912         * gst/net/Makefile.am:
913         * gst/net/gstnet.h:
914         * gst/net/gstnetclientclock.c:
915         * gst/net/gstnetclientclock.h:
916         * gst/net/gstnettimepacket.c:
917         * gst/net/gstnettimepacket.h:
918         * gst/net/gstnettimeprovider.c:
919         * gst/net/gstnettimeprovider.h:
920         * libs/gst/Makefile.am:
921         * libs/gst/base/Makefile.am:
922         * libs/gst/base/gstbasetransform.c:
923         * libs/gst/check/Makefile.am:
924         * plugins/elements/Makefile.am:
925         * po/POTFILES.in:
926           CVS surgery + support to move base, check, and net out of gst
927           and into libs/gst
928
929 2005-11-29  Andy Wingo  <wingo@pobox.com>
930
931         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
932
933         * gst/gststructure.h (struct _GstStructure): Only one pointer of
934         padding.
935
936         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
937
938         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
939
940         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
941
942         * gst/gstobject.h: (struct _GstObject): Only one pointer of
943         padding; reduces object size by about 30%. We don't expect
944         anything else to go into gstobject.
945
946         * gst/gstminiobject.h (struct _GstMiniObject)
947         (struct _GstMiniObjectClass): Only one pointer of padding; the
948         payload is only a pointer and two ints anyway. For the class there
949         are only two methods as well.
950         
951         * gst/gstelement.h (struct _GstElementClass): Removed
952         the state_changed signal callback, it is not used.
953
954 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
955
956         * docs/gst/gstreamer.types:
957           fix includes, though they are a little dinky
958
959 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
960
961         * check/Makefile.am:
962           look in the right place for elements, a lot more chance of
963           success
964         * gst/Makefile.am:
965           remove indexers and elements subdirs
966         * plugins/Makefile.am:
967           make indexers conditional
968
969 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
970
971         * Makefile.am:
972         * configure.ac:
973         * plugins/elements/Makefile.am:
974         * plugins/elements/gstcapsfilter.c:
975         * plugins/elements/gstfilesink.c:
976         * plugins/elements/gstfilesrc.c:
977         * plugins/elements/gstidentity.c:
978         * plugins/indexers/Makefile.am:
979           do CVS surgery and related build fixery to move elements
980           and indexers in a new gstreamer/plugins directory, out of the
981           gst/ directory
982
983 2005-11-29  Andy Wingo  <wingo@pobox.com>
984
985         * check/Makefile.am:
986         * pkgconfig/gstreamer-net-uninstalled.pc.in:
987         * pkgconfig/gstreamer-net.pc.in:
988         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
989         #322257.
990
991 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
992
993         * tools/Makefile.am:
994         * tools/gst-complete.1.in:
995         * tools/gst-complete.c:
996         * tools/gst-compprep.1.in:
997         * tools/gst-compprep.c:
998           removing -compprep and -complete
999
1000 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1001
1002         * gst/gstevent.c: (gst_event_new_new_segment),
1003         (gst_event_parse_new_segment):
1004         * gst/gstevent.h:
1005           fix #320529 - clean up new_segment API and structure.
1006           Let's hope everyone was using the methods, and not the structure.
1007
1008 2005-11-29  Edward Hervey  <edward@fluendo.com>
1009
1010         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1011         (gst_base_sink_event), (gst_base_sink_do_sync),
1012         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1013         Properly handle non GST_FORMAT_TIME segment
1014         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1015         Properly handle non GST_FORMAT_TIME segment
1016         * gst/gstsegment.c:
1017         This function is valid if the accumulator is 0 and the format
1018         is different from the requested format.
1019         
1020 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1021
1022         * docs/gst/gstreamer-sections.txt:
1023         Add gst_query_new_seeking and gst_query_parse_seeking to the
1024         docs.
1025
1026 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1027
1028         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
1029           Treat a pad alloc with new caps the same as if we were not
1030           negotiated, in order to allow a changing upstream output
1031           to produce a new format of data.
1032
1033 2005-11-29  Edward Hervey  <edward@fluendo.com>
1034
1035         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
1036         (gst_base_transform_event), (gst_base_transform_eventfunc):
1037         The event virtual method is now properly implemented, with a default
1038         handler
1039         Sub classes should call the parent_class event method. They should
1040         return FALSE if they had a problem handling the given event, or don't
1041         want GstBaseTransform to send that even downstream
1042         * gst/elements/gstidentity.c: (gst_identity_class_init),
1043         (gst_identity_init), (gst_identity_event),
1044         (gst_identity_transform_ip), (gst_identity_set_property),
1045         (gst_identity_get_property):
1046         * gst/elements/gstidentity.h:
1047         Added the single-segment boolean property.
1048         If set to TRUE, it will output a single segment of data, starting from
1049         0, will eat up all incoming newsegment, and modify the timestamp of the
1050         buffers accordingly
1051
1052 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
1053
1054         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
1055           Don't ref NULL target pad (#322751). Improve docs.
1056
1057 2005-11-29  Michael Smith  <msmith@fluendo.com>
1058
1059         * gst/gstregistryxml.c: (load_plugin):
1060           Don't crash if we failed to load a feature from a plugin. 
1061
1062 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1063
1064         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
1065         (GST_START_TEST):
1066           use more check API and less GLib API
1067
1068 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1069
1070         * Makefile.am:
1071           don't run checks if we don't have check
1072         * common/check.mak:
1073           remove the registry when running make torture
1074         * docs/gst/gstreamer-sections.txt:
1075           remove second multiply
1076         * gst/gstqueue.c: (gst_queue_loop):
1077           fix a compile warning when disabling debug
1078
1079 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1080
1081         * gst/gstinfo.h:
1082         Hey! Let's print the pad name if the pointer != NULL instead
1083         of when it == NULL :-)
1084
1085 2005-11-28  Wim Taymans  <wim@fluendo.com>
1086
1087         * check/gst/gstutils.c: (GST_START_TEST):
1088         Updated check, add some scaling accuracy checking code.
1089
1090         * gst/gstutils.c: (gst_util_div128_64),
1091         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
1092         (gst_util_uint64_scale_int):
1093         Fix 6 times faster division code. Optimize for common 
1094         1/1 and less common X/1 cases.
1095
1096 2005-11-28  Wim Taymans  <wim@fluendo.com>
1097
1098         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1099         More checks.
1100
1101         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
1102         (do_linear_regression), (gst_clock_add_observation):
1103         Cleanups.
1104         Release lock when the clock cannot be slaved.
1105         Catch the case where the regression returned an invalid denominator.
1106
1107         * gst/gstutils.c: (gst_util_div128_64_iterate),
1108         (gst_util_div128_64), (gst_util_uint64_scale_int64),
1109         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1110         Add protentially more performant non-iterative 128/64 divide function
1111         that unfortunatly does not work yet.
1112         Shortcut the trivial 0/X = 0 case.
1113         Remove the warnings on overflow.
1114
1115 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1116
1117         * gst/gstplugin.c: (gst_plugin_register_func):
1118           everything causing a plugin not to load should be at least a WARNING
1119
1120 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
1121
1122         * docs/random/ensonic/dparams.txt:
1123           some TODOs for the next dev cycle
1124         * libs/gst/controller/gstcontroller.c:
1125         (gst_controlled_property_set_interpolation_mode),
1126         (gst_controlled_property_new):
1127         * libs/gst/controller/gstcontroller.h:
1128           use base type to assign acccessor functions
1129
1130 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1131
1132         * check/Makefile.am:
1133         Oops, that should have been top_srcdir
1134
1135 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1136
1137         * check/Makefile.am:
1138         * check/elements/fdsrc.c: (GST_START_TEST):
1139         Use a cmdline define to specify the location of a file to use for
1140         testing, to avoid breaking distcheck.
1141
1142 2005-11-28  Andy Wingo  <wingo@pobox.com>
1143
1144         * gst/gstpad.c (fixate_value): Use array functions for arrays.
1145
1146 2005-11-28  Edward Hervey  <edward@fluendo.com>
1147
1148         * tools/gst-launch.c: (main):
1149         Clarify the output strings, makes it easier to translate.
1150         Fixes #322626
1151
1152 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1153
1154         * gst/Makefile.am:
1155           don't try and build net if we don't even have <sys/socket.h>
1156
1157 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
1158
1159         * check/Makefile.am:
1160         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
1161         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
1162           Add tests for fdsrc seekability
1163
1164         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
1165         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
1166         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
1167         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
1168         * gst/elements/gstfdsrc.h:
1169           fdsrc should not be a 'live' source.
1170           Implement seeking on seekable fd's.
1171
1172         * gst/gstquery.c: (gst_query_new_seeking),
1173         (gst_query_parse_seeking):
1174         * gst/gstquery.h:
1175           Implement SEEKING query functions: 
1176             *_new_seeking and *_parse_seeking
1177
1178 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
1179
1180         * gst/gstelement.c: (gst_element_dispose):
1181           don't loop forever
1182
1183         * gst/gstiterator.c:
1184         * gst/gststructure.c:
1185           doc fixes
1186
1187         * libs/gst/controller/gstcontroller.c:
1188         (gst_controlled_property_set_interpolation_mode):
1189         * libs/gst/controller/gstcontroller.h:
1190         * libs/gst/controller/gstinterpolation.c:
1191         (interpolate_none_get_enum_value_array):
1192           support controlling enums
1193
1194 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1195
1196         * gst/gstvalue.c:
1197           Improve documentation for gst_value_union().
1198
1199         * gst/gstvalue.h:
1200           Change return value for union, intersect and subtract functions
1201           from gint to gboolean.
1202
1203 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1204
1205         * gst/gstvalue.c: (gst_value_serialize_any_list),
1206         (gst_value_transform_any_list_string),
1207         (gst_value_deserialize_list), (gst_value_deserialize_array),
1208         (gst_value_set_int_range), (gst_value_deserialize_int_range),
1209         (gst_value_set_double_range), (gst_value_deserialize_double_range),
1210         (gst_value_set_fraction_range_full),
1211         (gst_value_deserialize_fraction_range),
1212         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
1213         (gst_value_deserialize_boolean),
1214         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
1215         (gst_value_serialize_float), (gst_value_deserialize_float),
1216         (gst_string_wrap), (gst_value_deserialize_string),
1217         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
1218         (gst_value_union_int_range_int_range),
1219         (gst_value_intersect_int_range_int_range),
1220         (gst_value_intersect_double_range_double_range),
1221         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
1222         (gst_value_subtract_int_range_int_range),
1223         (gst_value_subtract_double_double_range),
1224         (gst_value_subtract_double_range_double_range),
1225         (gst_value_deserialize_fraction):
1226         * gst/gstvalue.h:
1227           Use gint, gdouble and gchar in our API instead of int, double and
1228           char (and make usage in gstvalue.c more consistent).
1229
1230 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1231
1232         * check/Makefile.am:
1233         * libs/gst/controller/Makefile.am:
1234         * libs/gst/dataprotocol/Makefile.am:
1235           fix up Makefile.am and remove GST_ENABLE_NEW
1236
1237 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1238
1239         * configure.ac:
1240         * gst/Makefile.am:
1241         * gst/base/Makefile.am:
1242         * gst/check/Makefile.am:
1243         * gst/elements/Makefile.am:
1244         * gst/net/Makefile.am:
1245           update LDFLAGS use some more
1246
1247 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1248
1249         * common/m4/gst-doc.m4:
1250           Fixes #312589
1251
1252 2005-11-26  Edward Hervey  <edward@fluendo.com>
1253
1254         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1255         This shouldn't issue a g_warning since it returns NULL if it
1256         couldn't find the plugin, and all functions using this behave
1257         properly on a NULL return. Switching to a GST_WARNING.
1258
1259 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
1260
1261         * gst/gstbin.c: (gst_bin_handle_message_func):
1262         Don't leak clock messages.
1263
1264 2005-11-25  Wim Taymans  <wim@fluendo.com>
1265
1266         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1267         (gst_util_uint64_scale_int):
1268         Optimisations, remove unneeded vars.
1269
1270 2005-11-25  Wim Taymans  <wim@fluendo.com>
1271
1272         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1273         Added more checks for the high precision uint64 cases.
1274
1275         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1276         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1277         Implement high precision (guint64 * guint64) / guint64.
1278
1279 2005-11-24  Wim Taymans  <wim@fluendo.com>
1280
1281         * gst/base/gstbasesrc.c: (gst_base_src_query):
1282         Fix wrong percentage query.
1283
1284         * gst/gstutils.c: (gst_util_uint64_scale),
1285         (gst_util_uint64_scale_int):
1286         Add some more common cases that can be handled 
1287         efficiently to _scale.
1288
1289 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1290
1291         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
1292         (gst_mini_object_suite):
1293           don't use check calls from threads; check probably isn't
1294           threadsafe and using a lock to make it threadsafe would
1295           defeat the purpose of this check
1296         * gst/check/gstcheck.c:
1297         * gst/check/gstcheck.h:
1298           use GST_DEBUG some more
1299
1300 2005-11-24  Wim Taymans  <wim@fluendo.com>
1301
1302         * gst/gstutils.c: (gst_util_uint64_scale),
1303         (gst_util_uint64_scale_int):
1304         Chain trivial case to _scale_int.
1305
1306 2005-11-24  Wim Taymans  <wim@fluendo.com>
1307
1308         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1309         Added test for scaling.
1310
1311         * gst/gstclock.h:
1312         Small doc fix.
1313
1314         * gst/gstutils.c: (gst_util_uint64_scale_int):
1315         Implemented high precision scaling code.
1316
1317 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
1318
1319         * gst/gstinfo.h:
1320           do not crash on pad==NULL
1321
1322 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1323
1324         Patch by: Stefan Kost
1325
1326         * common/gtk-doc.mak:
1327         * docs/gst/Makefile.am:
1328         * docs/libs/Makefile.am:
1329           Fix distcheck issues for the libraries docs build
1330           Closes #319599.
1331
1332 2005-11-24  Michael Smith <msmith@fluendo.com>
1333
1334         * docs/manual/basics-helloworld.xml:
1335           Fix bug #315027: memory leak in example code in docs.
1336
1337 2005-11-24  Michael Smith <msmith@fluendo.com>
1338
1339         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1340           Unlock the PREROLL_LOCK in a failure case.
1341
1342 2005-11-24  Wim Taymans  <wim@fluendo.com>
1343
1344         * docs/gst/gstreamer-sections.txt:
1345         * gst/base/gstadapter.h:
1346         * gst/base/gstbasesink.h:
1347         * gst/base/gstbasesrc.h:
1348         * gst/base/gstbasetransform.h:
1349         * gst/base/gstpushsrc.h:
1350         * gst/elements/gstfakesink.h:
1351         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1352         * gst/elements/gstfakesrc.h:
1353         * gst/elements/gstfilesink.h:
1354         * gst/elements/gstfilesrc.h:
1355         * gst/gst.c:
1356         * gst/gstbin.c:
1357         * gst/gstbuffer.c: (_gst_buffer_copy):
1358         * gst/gstbus.h:
1359         * gst/gstcaps.c:
1360         * gst/gstchildproxy.c:
1361         * gst/gstclock.c:
1362         * gst/gstelement.c:
1363         * gst/gstelementfactory.c:
1364         * gst/gstelementfactory.h:
1365         * gst/gstevent.c:
1366         * gst/gstghostpad.h:
1367         * gst/gstindex.h:
1368         * gst/gstinterface.h:
1369         * gst/gstminiobject.c:
1370         * gst/gstminiobject.h:
1371         * gst/gstpad.c:
1372         * gst/gstpad.h:
1373         * gst/gstpadtemplate.h:
1374         * gst/gstpipeline.h:
1375         * gst/gstpluginfeature.h:
1376         * gst/gstquery.h:
1377         * gst/gstqueue.h:
1378         * gst/gsttaglist.c:
1379         * gst/gsttaglist.h:
1380         * gst/gsttagsetter.c:
1381         * gst/gsttagsetter.h:
1382         * gst/gsttrace.c:
1383         * gst/gsttrace.h:
1384         * gst/gsttypefind.h:
1385         * gst/gsturi.h:
1386         * gst/gstvalue.c:
1387         * gst/net/gstnetclientclock.c:
1388         * gst/net/gstnetclientclock.h:
1389         * gst/net/gstnettimepacket.c:
1390         * gst/net/gstnettimeprovider.c:
1391         * gst/net/gstnettimeprovider.h:
1392         Doc fixes.
1393
1394 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1395
1396         * configure.ac: back to HEAD
1397
1398 === release 0.9.6 ===
1399
1400 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
1401
1402         * configure.ac:
1403           releasing 0.9.6, "Always On Time"
1404
1405 2005-11-23  Wim Taymans  <wim@fluendo.com>
1406
1407         * docs/gst/gstreamer-sections.txt:
1408         * gst/glib-compat.c:
1409         * gst/gsttagsetter.c:
1410         * gst/gstvalue.c:
1411         * gst/net/gstnetclientclock.c:
1412         * gst/net/gstnettimepacket.h:
1413         Doc updates.
1414
1415 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1416
1417         * docs/faq/using.xml:
1418         * docs/libs/tmpl/gstcontrol.sgml:
1419         * docs/manual/advanced-dparams.xml:
1420         * docs/manual/appendix-checklist.xml:
1421         * docs/manual/basics-elements.xml:
1422         * docs/pwg/other-source.xml:
1423         * docs/random/moving-plugins:
1424         * gst/gstpad.c:
1425         * tools/gst-launch.1.in:
1426           remove mentions of sinesrc
1427
1428 2005-11-23  Michael Smith <msmith@fluendo.com>
1429
1430         * docs/gst/gstreamer-sections.txt:
1431           Update for new API and API changes.
1432         * gst/gstobject.h:
1433           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1434         * gst/gstvalue.c:
1435           Documentation typo fix.
1436         * gst/net/gstnettimepacket.c:
1437           Documentation fixes for arguments.
1438
1439 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
1440
1441         * gst/gststructure.c: (gst_structure_get_fraction),
1442         (gst_structure_parse_value),
1443         (gst_structure_fixate_field_nearest_fraction):
1444         * gst/gststructure.h:
1445         * gst/gstutils.c: (gst_util_uint64_scale_int):
1446         * gst/gstutils.h:
1447         * scripts/update-funcnames:
1448         API Changes. 
1449         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1450         Make gst_structure_fixate_field_nearest_fraction take a numerator
1451         and denominator argument instead of a GValue
1452         add gst_structure_get_fraction helper function.
1453
1454 2005-11-23  Wim Taymans  <wim@fluendo.com>
1455
1456         * docs/design/part-TODO.txt:
1457         Update TODO.
1458
1459         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1460         * gst/net/gstnetclientclock.h:
1461         Use parent fields for timeout and window_size.
1462
1463 2005-11-23  Andy Wingo  <wingo@pobox.com>
1464
1465         * check/net/gstnetclientclock.c (test_functioning): Adjust to
1466         rate_num/rate_denom change.
1467
1468         * gst/net/gstnetclientclock.c
1469         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1470         OBJECT_LOCK. Don't call add_observation with the lock.
1471
1472         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1473         fraction.
1474         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1475         rate fraction.
1476         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1477         deal with rate as a fraction whose numerator and denominator are
1478         GstClockTime values.
1479         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1480         master; the other fields are protected by the SLAVE_LOCK.
1481         (do_linear_regression): Note that this must be called with the
1482         SLAVE_LOCK.
1483         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1484         OBJECT_LOCK. Call set_calibration instead of touching the
1485         variables directly.
1486         (gst_clock_set_property, gst_clock_get_property): Protect
1487         master/slave parameters with the SLAVE_LOCK.
1488
1489         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1490         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1491         note that all of the instance variables that add_observation and
1492         the set_master functions use are protected by that lock and not
1493         the OBJECT_LOCK.
1494         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1495
1496         * gst/gstclock.c (gst_clock_add_observation): No longer requires
1497         the caller to take the object lock.
1498
1499 2005-11-23  Wim Taymans  <wim@fluendo.com>
1500
1501         * gst/gsterror.c: (_gst_core_errors_init):
1502         * gst/gsterror.h:
1503         Add error for clock stuff.
1504
1505         * gst/gstpipeline.c: (gst_pipeline_change_state),
1506         (gst_pipeline_set_clock):
1507         Post clock error when clock cannot be used in a pipeline.
1508
1509 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
1510
1511         * docs/gst/gstreamer-sections.txt:
1512           make two symbols from gstinfo private for the docs
1513         * gst/base/gstcollectpads.h:
1514         * gst/gstutils.c:
1515           fix doc typos, update docs
1516
1517 2005-11-22  Wim Taymans  <wim@fluendo.com>
1518
1519         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1520         (gst_base_sink_wait), (gst_base_sink_do_sync),
1521         (gst_base_sink_handle_event):
1522         * gst/base/gstbasesink.h:
1523         No need to store the clock, the parent element class already
1524         has it.
1525
1526         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
1527         Updates for clock_set returning a gboolean
1528
1529         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
1530         (gst_clock_id_wait_async), (gst_clock_class_init),
1531         (gst_clock_init), (gst_clock_finalize),
1532         (gst_clock_get_internal_time), (gst_clock_get_time),
1533         (gst_clock_slave_callback), (gst_clock_set_master),
1534         (gst_clock_get_master), (do_linear_regression),
1535         (gst_clock_add_observation), (gst_clock_set_property),
1536         (gst_clock_get_property):
1537         * gst/gstclock.h:
1538         Implement master/slave. When setting a clock as a slave, a
1539         periodic timeout is scheduled to sample master and slave times.
1540         Then the slave clock is recalibrated to match offset and rate
1541         of the master clock.
1542         Update logging a bit.
1543         Add flag so that a clock can state that is cannot be slaved to
1544         another clock.
1545
1546         * gst/gstelement.c: (gst_element_set_clock):
1547         * gst/gstelement.h:
1548         The set clock returns a gboolean for when an element cannot
1549         deal with the selected clock in the pipeline. 
1550
1551         * gst/gstpipeline.c: (gst_pipeline_change_state),
1552         (gst_pipeline_set_clock):
1553         * gst/gstpipeline.h:
1554         Handle the case where the selected clock cannot be set on
1555         the pipeline.
1556
1557         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
1558         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1559         (gst_net_client_clock_set_property),
1560         (gst_net_client_clock_get_property),
1561         (gst_net_client_clock_observe_times):
1562         * gst/net/gstnetclientclock.h:
1563         Use regression code in GstClock parent, remove duplicated
1564         functionality.
1565
1566 2005-11-22  Michael Smith <msmith@fluendo.com>
1567
1568         * gst/gstutils.c: (gst_util_clock_time_scale):
1569         * gst/gstutils.h:
1570         * docs/gst/gstreamer-sections.txt:
1571           Rename method to have extra underscore.
1572
1573 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1574
1575         * gst/elements/Makefile.am:
1576         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
1577         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1578         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1579         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
1580         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
1581         * gst/elements/gstfakesrc.h:
1582         * gst/gstqueue.c: (queue_leaky_get_type):
1583           correctly fix GEnumValues so that nick is the short lowercase
1584           dashed tag
1585         * tools/gst-inspect.c: (print_element_properties_info):
1586           also show the nick, since it's useful to use from parse_launch
1587           syntax
1588           Fixes #322139
1589
1590 2005-11-22  Michael Smith <msmith@fluendo.com>
1591
1592         * gst/gstutils.c: (gst_util_clocktime_scale):
1593         * gst/gstutils.h:
1594         * docs/gst/gstreamer-sections.txt:
1595           Add util method for scaling a clocktime by a fraction. Useful 
1596           implementation is left as an exercise for the reader.
1597
1598 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1599
1600         * gst/gstvalue.c: (gst_value_collect_fraction_range):
1601         If needed, allocate storage in the destination value during
1602         collection.
1603
1604 2005-11-22  Edward Hervey  <edward@fluendo.com>
1605
1606         * docs/gst/gstreamer-sections.txt:
1607         * gst/Makefile.am:
1608         * gst/gst.h:
1609         * gst/gsturitype.c:
1610         * gst/gsturitype.h:
1611         * gst/gstutils.c: (gst_util_set_object_arg):
1612         * tools/gst-compprep.c: (main):
1613         * tools/gst-inspect.c: (print_element_properties_info):
1614         Removed GstURI, closes bug #321061
1615
1616 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1617
1618         * check/gst/gststructure.c: (GST_START_TEST):
1619         * gst/gststructure.c: (gst_structure_parse_value):
1620           Oops, broke automatic string type parsing.
1621           Add a test to catch it in future.
1622
1623 2005-11-22  Andy Wingo  <wingo@pobox.com>
1624
1625         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
1626         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
1627         Actually rename the function implementations. Grr.
1628
1629 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1630
1631         * check/gst/capslist.h:
1632           Comment test cases
1633         * check/gst/gststructure.c: (GST_START_TEST),
1634         (gst_structure_suite):
1635           Test automatic value type detection in gst_structure_from_string.
1636         * gst/gststructure.c: (gst_structure_parse_value):
1637           Add fraction as a type we try and guess automatically in
1638           caps/structure strings.
1639
1640 2005-11-22  Andy Wingo  <wingo@pobox.com>
1641
1642         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
1643
1644         * gst/gsttagsetter.h:
1645         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
1646         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
1647         (gst_tag_setter_add_tag_valist)
1648         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
1649         _add_values, _add_valist, and _add_valist_values. Since this is an
1650         interface the function suffixes should be more explicit so
1651         language binding don't end up with element.add_valist ->
1652         gst_tag_setter_add_valist, for example. Fixes #322069.
1653
1654 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1655
1656         * check/gst/gstcaps.c: (GST_START_TEST):
1657           Extend caps string tests to check that a caps to string
1658           conversion is reversible and produces the same caps.
1659
1660         * gst/gststructure.c: (gst_structure_value_get_generic_type):
1661           Output "fraction" as the generic type fraction range, so caps
1662           serialisation and deserialisation works.
1663         * check/gst/capslist.h:
1664         * gst/gstvalue.c: (gst_value_deserialize_fraction):
1665           Support 'MIN' and 'MAX' for deserialising fractions.
1666
1667 2005-11-22  Andy Wingo  <wingo@pobox.com>
1668
1669         * gst/gstevent.h (gst_event_new_new_segment)
1670         (gst_event_parse_new_segment, gst_event_new_buffer_size)
1671         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
1672         Renamed from *_newsegment, *_buffersize, *_notarget.
1673
1674         * scripts/update-funcnames: New script, performs the changes
1675         listed above.
1676
1677 2005-11-22  Wim Taymans  <wim@fluendo.com>
1678
1679         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1680         Make sure the GstFlowReturn is returned.
1681
1682         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
1683         (gst_bus_add_signal_watch):
1684         * gst/gstbus.h:
1685         add gst_bus_add_signal_watch_full.
1686
1687         * gst/gstplugin.c: (gst_plugin_load_file):
1688         Small style cleanup.
1689
1690 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1691
1692         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
1693           Block the fakesrc srcpad when we send an event, to avoid
1694           contention on the stream_lock causing random test failures.
1695
1696 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1697
1698         * check/gst/gstvalue.c: (GST_START_TEST):
1699         * gst/gstvalue.c: (gst_value_fraction_subtract):
1700           Fix subtraction.
1701
1702 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
1703
1704         * gst/gst.h:
1705           include "gstchildproxy.h"
1706         * gst/gstchildproxy.h:
1707         * libs/gst/controller/gstcontroller.h:
1708           use G_GNUC_NULL_TERMINATED
1709
1710 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1711
1712         * check/gst/capslist.h:
1713         * check/gst/gstcaps.c: (GST_START_TEST):
1714         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1715         * gst/gststructure.c: (gst_structure_parse_range),
1716         (gst_structure_fixate_field_nearest_fraction):
1717         * gst/gststructure.h:
1718         * gst/gstvalue.c: (gst_value_init_fraction_range),
1719         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
1720         (gst_value_collect_fraction_range),
1721         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
1722         (gst_value_set_fraction_range_full),
1723         (gst_value_get_fraction_range_min),
1724         (gst_value_get_fraction_range_max),
1725         (gst_value_serialize_fraction_range),
1726         (gst_value_transform_fraction_range_string),
1727         (gst_value_compare_fraction_range),
1728         (gst_value_deserialize_fraction_range),
1729         (gst_value_intersect_fraction_fraction_range),
1730         (gst_value_intersect_fraction_range_fraction_range),
1731         (gst_value_subtract_fraction_fraction_range),
1732         (gst_value_subtract_fraction_range_fraction),
1733         (gst_value_subtract_fraction_range_fraction_range),
1734         (gst_value_collect_fraction), (gst_value_fraction_multiply),
1735         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
1736         (gst_value_transform_string_fraction), (_gst_value_initialize):
1737         * gst/gstvalue.h:
1738           Implement fraction ranges and extend GstFraction to support
1739           arithmetic subtraction, as well as deserialization from integer
1740           strings such as "100"
1741           Add a testsuite as for int and double range set operations
1742
1743 2005-11-21  Andy Wingo  <wingo@pobox.com>
1744
1745         * gst/gsttaglist.h: 
1746         * gst/gstcaps.h: 
1747         * gst/gststructure.h: Add glib-compat.h.
1748
1749 2005-11-21  Wim Taymans  <wim@fluendo.com>
1750
1751         * gst/gstbin.c: (gst_bin_change_state_func):
1752         Fix for #321595
1753
1754 2005-11-21  Wim Taymans  <wim@fluendo.com>
1755
1756         * gst/gstsegment.h:
1757         And add a nice define too.
1758
1759 2005-11-21  Wim Taymans  <wim@fluendo.com>
1760
1761         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
1762         (gst_segment_new), (gst_segment_free), (gst_segment_init),
1763         (gst_segment_set_duration), (gst_segment_set_last_stop),
1764         (gst_segment_set_seek), (gst_segment_set_newsegment),
1765         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1766         (gst_segment_clip):
1767         * gst/gstsegment.h:
1768         Make binding friendly.
1769
1770 2005-11-21  Andy Wingo  <wingo@pobox.com>
1771
1772         * gst/gsttagsetter.h: 
1773         * gst/gsttaglist.h: 
1774         * gst/gststructure.h: 
1775         * gst/gstcaps.h: 
1776         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
1777         #319940.
1778
1779         * gst/gsterror.c (_gst_core_errors_init):
1780         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
1781         category.
1782
1783         * gst/Makefile.am (gst_headers): Add glib-compat.h.
1784         (noinst_HEADERS): noinst the -private.
1785
1786 2005-11-21  Michael Smith <msmith@fluendo.com>
1787
1788         * gst/gstplugin.h:
1789         * gst/gstregistry.h:
1790           Remove unimplemented declarations for which we can see no sensible
1791           use.
1792
1793 2005-11-21  Andy Wingo  <wingo@pobox.com>
1794
1795         * gst/gst.h: Include glib-compat.h.
1796
1797         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
1798
1799         * gst/glib-compat.c: Include the public and the private header.
1800
1801         * gst/glib-compat-private.h: Copied here from glib-compat.h.
1802
1803         * gst/gstvalue.c: 
1804         * gst/gstpad.c: 
1805         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
1806
1807         * check/gst/gstevent.c (create_custom_events): Check that
1808         FLUSH_STOP is serialized.
1809
1810         * check/elements/identity.c (event_func): 
1811         * check/elements/fakesrc.c (event_func): No stream lock, the core
1812         takes it.
1813
1814         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
1815         stream lock taking, yay.
1816
1817         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
1818         ensure that core takes the stream lock.
1819
1820         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
1821         lock name change.
1822
1823         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
1824         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
1825         it already. For the flush start we do take it though so we get the
1826         right preroll state change messages.
1827
1828         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
1829         the stream lock here, the core does it for us.
1830
1831         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
1832         GST_STREAM_GET_LOCK.
1833         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
1834         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
1835         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
1836         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
1837         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
1838         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
1839
1840         * gst/gstpad.c: Update for stream lock name change.
1841
1842         * gst/base/gstbasesink.c: Update for preroll lock name change.
1843
1844 2005-11-21  Wim Taymans  <wim@fluendo.com>
1845
1846         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
1847         (gst_clock_get_master):
1848         * gst/gstclock.h:
1849         * gst/gstsystemclock.c: (gst_system_clock_init):
1850         Convert Clock flags to object flags.
1851         Added methods to manage master/slave clocks.
1852
1853 2005-11-21  Wim Taymans  <wim@fluendo.com>
1854
1855         * check/gst/gstsegment.c: (GST_START_TEST):
1856         * docs/design/part-TODO.txt:
1857         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1858         (gst_base_sink_event), (gst_base_sink_do_sync),
1859         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
1860         (gst_base_sink_query), (gst_base_sink_change_state):
1861         * gst/base/gstbasesink.h:
1862         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
1863         (gst_base_src_default_newsegment),
1864         (gst_base_src_configure_segment), (gst_base_src_do_seek),
1865         (gst_base_src_get_range), (gst_base_src_loop),
1866         (gst_base_src_change_state):
1867         * gst/base/gstbasesrc.h:
1868         * gst/base/gstbasetransform.c:
1869         (gst_base_transform_prepare_output_buf),
1870         (gst_base_transform_event), (gst_base_transform_change_state):
1871         * gst/base/gstbasetransform.h:
1872         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1873         (gst_collect_pads_event):
1874         * gst/base/gstcollectpads.h:
1875         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
1876         (gst_fake_src_create):
1877         * gst/elements/gstfakesrc.h:
1878         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1879         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1880         (gst_segment_set_last_stop), (gst_segment_set_seek),
1881         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
1882         (gst_segment_to_running_time), (gst_segment_clip):
1883         * gst/gstsegment.h:
1884         More segment updates, replace code in plugins with segment
1885         helper functions.
1886
1887 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1888
1889         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
1890         Don't ignore sscanf results
1891
1892 2005-11-21  Andy Wingo  <wingo@pobox.com>
1893
1894         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
1895
1896         * *.h:
1897         * *.c: Ran scripts/update-macros. Oh yes.
1898
1899         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
1900         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
1901         GST_GET_LOCK, etc.
1902
1903         * scripts/update-macros: New script. Run it on your files to
1904         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
1905         well.
1906
1907 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1908
1909         * docs/gst/Makefile.am:
1910         * docs/gst/gstreamer-docs.sgml:
1911         * docs/gst/gstreamer-sections.txt:
1912         * docs/gst/gstreamer.types:
1913         * gst/gstinfo.h:
1914           more docs fixes, add new api to the docs
1915
1916 2005-11-21  Andy Wingo  <wingo@pobox.com>
1917
1918         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
1919         state_broadcast call.
1920
1921         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
1922
1923 2005-11-21  Julien MOUTTE  <julien@moutte.net>
1924
1925         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
1926         function calls for arrays.
1927
1928 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1929
1930         * docs/random/ensonic/media-device-daemon.txt:
1931           wild idea, can this be done?
1932         * docs/gst/gstreamer-sections.txt:
1933         * gst/gsterror.h:
1934         * gst/gstfilter.c:
1935         * gst/gstfilter.h:
1936         * gst/gstplugin.h:
1937         * gst/gstpluginfeature.c:
1938         * gst/gsttrace.c:
1939         * gst/gstvalue.c:
1940         * gst/gstvalue.h:
1941           doc fixes and additions
1942
1943 2005-11-21  Andy Wingo  <wingo@pobox.com>
1944
1945         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
1946         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
1947         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
1948         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
1949         private to the basesrc implementation.
1950
1951         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
1952         behalf of event function if necessary. It should no longer be
1953         necessary to take the stream lock in pad's event functions. Fixes
1954         #320299.
1955
1956 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1957         * docs/gst/gstreamer-sections.txt:
1958         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
1959         (gst_structure_fixate_field_nearest_double),
1960         (gst_structure_fixate_field_boolean):
1961         * gst/gststructure.h:
1962         * win32/common/libgstreamer.def:
1963         * win32/gstreamer.def:
1964
1965         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
1966         (#322027)
1967
1968 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1969
1970         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
1971         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
1972         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
1973         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
1974         (gst_fdsrc_uri_handler_init):
1975         * gst/elements/gstfdsrc.h:
1976           Port fd:// URI handler from 0.8 to fdsrc
1977
1978 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1979
1980         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
1981         (gst_value_serialize_fourcc):
1982         * gst/gstvalue.h:
1983           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
1984           consistent with our other format defines (#320324).
1985
1986 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
1987
1988         * gst/gstvalue.c: (gst_value_is_fixed):
1989           Revert previous commit. Value lists are by definition
1990           not fixed, as they are a list of possible values.
1991
1992 2005-11-21  Andy Wingo  <wingo@pobox.com>
1993
1994         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
1995         during the stable series if we need it. Fixes #319178.
1996
1997         * gst/gstevent.c (gst_event_new_filler): Removed.
1998
1999         * check/gst/gstevent.c: Update comment about filler events.
2000
2001 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2002
2003         * gst/gstvalue.c: (gst_value_is_fixed):
2004           Should handle both value arrays and value lists.
2005
2006 2005-11-21  Andy Wingo  <wingo@pobox.com>
2007
2008         patch by: Alessandro Dessina <alessandro nnva org>
2009
2010         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
2011         functions to access arrays. Fixes #321962.
2012
2013 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2014
2015         * docs/gst/gstreamer.types:
2016           gst_collectpads_get_type => gst_collect_pads_get_type.
2017           
2018         * gst/base/gstbasetransform.c:
2019           Remove unused SIGNAL_HANDOFF enum.
2020
2021 2005-11-21  Andy Wingo  <wingo@pobox.com>
2022
2023         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
2024         the event type (upstream, downstream, serialized). Renamed
2025         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
2026         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
2027         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
2028
2029         * gst/gstevent.c: Update for new CUSTOM event names.
2030
2031         * check/gst/gstevent.c: Update check for new CUSTOM event names.
2032
2033         * gst/gstevent.h:
2034         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
2035         bug #319392.
2036
2037 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2038
2039         * docs/gst/gstreamer-sections.txt:
2040         * win32/common/libgstbase.def:
2041         * win32/libgstbase.def:
2042         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2043         (gst_collect_pads_class_init), (gst_collect_pads_init),
2044         (gst_collect_pads_finalize), (gst_collect_pads_new),
2045         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
2046         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
2047         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
2048         (gst_collect_pads_start), (gst_collect_pads_stop),
2049         (gst_collect_pads_peek), (gst_collect_pads_pop),
2050         (gst_collect_pads_available), (gst_collect_pads_read),
2051         (gst_collect_pads_flush), (gst_collect_pads_event),
2052         (gst_collect_pads_chain):
2053         * gst/base/gstcollectpads.h:
2054           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
2055           unimplemented functions as unimplemented. Add padding to
2056           GstCollectData. (#320766, #320423)
2057
2058 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2059
2060         * gst/gstmessage.c:
2061           Improve docs for DURATION message (usage of duration parameter)
2062           (#320113)
2063
2064 2005-11-20  Wim Taymans  <wim@fluendo.com>
2065
2066         * check/Makefile.am:
2067         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
2068         (main):
2069         * gst/Makefile.am:
2070         * gst/gst.h:
2071         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2072         (gst_segment_set_seek), (gst_segment_set_newsegment),
2073         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2074         (gst_segment_clip):
2075         * gst/gstsegment.h:
2076         Added segment helper structure and methods. Not fully implemented
2077         yet.
2078         Added segment check.
2079
2080 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
2081
2082         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2083           Add a deserialisation test for fractions
2084         * examples/metadata/read-metadata.c: (message_loop),
2085         (make_pipeline), (main):
2086           Fix up metadata reading sample.
2087         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2088           Debug format fix
2089         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2090           Don't try and fixate empty caps
2091         * gst/gst_private.h:
2092           Wrap in G_BEGIN_DECLS/G_END_DECLS
2093         * gst/gstvalue.c: (gst_value_collect_fraction),
2094         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
2095         (gst_value_transform_string_fraction),
2096         (gst_value_compare_fraction):
2097           Add some extra guards to ensure that we don't end up 
2098           with an invalid denominator of 0 in a gstfraction and
2099           that fractions always get reduced.
2100
2101 2005-11-20  Wim Taymans  <wim@fluendo.com>
2102
2103         * docs/gst/gstreamer-sections.txt:
2104         * gst/gstbuffer.h:
2105         * gst/gstelement.c:
2106         * gst/gstformat.c:
2107         * gst/gstformat.h:
2108         * gst/gstindex.h:
2109         * gst/gstquery.c:
2110         * gst/gstquery.h:
2111         * gst/gstvalue.c:
2112         Doc fixes.
2113
2114 2005-11-20  Wim Taymans  <wim@fluendo.com>
2115
2116         * docs/design/part-TODO.txt:
2117         * gst/gstcaps.h:
2118         Make a proper enum of the flag.
2119
2120 2005-11-19  Wim Taymans  <wim@fluendo.com>
2121
2122         * docs/design/part-TODO.txt:
2123         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
2124         (gst_format_to_quark), (gst_format_register):
2125         * gst/gstformat.h:
2126         * gst/gstquery.c: (_gst_query_initialize),
2127         (gst_query_type_get_name), (gst_query_type_to_quark),
2128         (gst_query_type_register):
2129         * gst/gstquery.h:
2130         Add type to quark and type to string conversions.
2131
2132 2005-11-19  Andy Wingo  <wingo@pobox.com>
2133
2134         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
2135         #320097.
2136
2137 2005-11-19  Wim Taymans  <wim@fluendo.com>
2138
2139         * docs/design/part-TODO.txt:
2140         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
2141         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
2142         (gst_bin_handle_message_func):
2143         * gst/gstbin.h:
2144         Make message handling overridable.
2145
2146 2005-11-19  Andy Wingo  <wingo@pobox.com>
2147
2148         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
2149
2150         * gst/gstclock.h:
2151         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
2152         be a GstClockTime.
2153         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
2154         is a GstClockTime. Fixes #321710.
2155
2156         * gst/gstclock.h (GstClock): Remove offset property. Add
2157         internal_calibration and external_calibration. Fix padding. Pad
2158         also by GstClockTime so we don't run into problems.
2159
2160         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
2161         (gst_clock_get_rate_offset): Remove.
2162         (gst_clock_set_time_adjust): Remove. Fixes #321712.
2163
2164         * gst/gstutils.h:
2165         * gst/gstutils.c (g_static_rec_cond_wait)
2166         (g_static_rec_cond_timed_wait): Removed, no longer needed.
2167
2168         * gst/gstbin.c: Remove terrible continue_state prototype.
2169
2170         * gst/gstelement.h (gst_element_continue_state): Make public.
2171
2172         * gst/gstelement.h:
2173         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
2174         by continue_state. Fixes #319389.
2175
2176         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
2177         Really fixes #168438. However I don't see anywhere where the
2178         filter function is called... stupid GStreamer...
2179         
2180         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
2181         don't have a dispose function, so it won't get called when the
2182         object is unreffed, but oh well!
2183
2184         * gst/gstindex.c (gst_index_set_filter_full): New API function,
2185         allows a destroy function to be set so user_data can be freed.
2186         Fixes #168438.
2187         (gst_index_set_filter): Call gst_index_set_filter_full.
2188
2189         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
2190
2191         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
2192         string should produce an error, given the lack of a way to
2193         represent NULL strings. Fixes #165650.
2194         
2195         * gst/gstvalue.h: 
2196         * gst/gstvalue.c (gst_value_array_append_value) 
2197         (gst_value_array_prepend_value, gst_value_array_get_size) 
2198         (gst_value_array_get_value): New API, copied from
2199         gst_value_list_*, only operates on arrays.
2200         (gst_value_list_append_value, gst_value_list_prepend_value) 
2201         (gst_value_list_concat, gst_value_list_get_size) 
2202         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
2203
2204         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
2205         init_list, because it works on both.
2206         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
2207         (gst_value_copy_list_or_array): Renamed from copy_list.
2208         (gst_value_free_list_or_array): Renamed from free_list.
2209         (gst_value_collect_list_or_array): Renamed from collect_list.
2210         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
2211         (gst_value_list_or_array_peek_pointer): Renamed from
2212         list_peek_pointer.
2213         (_gst_value_array_value_table, _gst_value_list_value_table):
2214         Update value table functions.
2215         (gst_value_compare_list_or_array): Renamed from compare_list.
2216
2217         * gsttaglist.h: Whoops, foreach function returns void. Also fix
2218         some constness.
2219
2220         * gst/gsttaglist.c:
2221         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
2222         GstTagList*. Fixes #143472.
2223
2224         * gst/gststructure.h: Clarify what the foreach/map functions can
2225         or can't do to their arguments.
2226
2227 2005-11-18  Wim Taymans  <wim@fluendo.com>
2228
2229         * gst/gstclock.c: (gst_clock_set_calibration),
2230         (gst_clock_get_calibration):
2231         Doc and API fixes.
2232         Calibration can be set with internal time equal to current
2233         internal time too.
2234
2235 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2236
2237         * gst/gsterror.c:
2238         * gst/gsterror.h:
2239           document
2240
2241 2005-11-18  Andy Wingo  <wingo@pobox.com>
2242
2243         * configure.ac: 
2244         * pkgconfig/gstreamer-net.pc.in:
2245         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2246         * pkgconfig/Makefile.am: Add net pkgconfig files.
2247
2248 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
2249
2250         * gst/gstcaps.c:
2251         * gst/gstghostpad.c:
2252         * gst/gsttrace.c:
2253         * gst/gstvalue.c:
2254         * gst/gstvalue.h:
2255           docs fixes
2256
2257 2005-11-18  Andy Wingo  <wingo@pobox.com>
2258
2259         * gst/net/gstnetclientclock.c: Turn off debugging.
2260
2261         * check/net/gstnetclientclock.c (test_functioning): Assert that the
2262         times connverge somewhat. Can't make a real test.
2263
2264         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
2265         integer arithmetic. Return the minimum of the domain, which can be
2266         set as "internal" for gst_clock_set_calibration.
2267         (gst_net_client_clock_observe_times): Call _set_calibration.
2268         (gst_net_client_clock_new): Call _set_calibration instead of
2269         rate_offset.
2270
2271         * check/net/gstnetclientclock.c (test_functioning): Use the right
2272         adjustment api.
2273
2274         * gst/gstclock.h:
2275         * gst/gstclock.c (gst_clock_get_calibration) 
2276         (gst_clock_set_calibration): New functions, obsolete the ones I
2277         added yesterday. Doh. Precision issues mean we have to extrapolate
2278         from a point in the more recent past than 1970.
2279         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
2280         obsolete.
2281         (gst_clock_adjust_unlocked): Use the right calibration data.
2282
2283 2005-11-18  Edward Hervey  <edward@fluendo.com>
2284
2285         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
2286         Also reset the ->current_* values in READY->PAUSED
2287
2288 2005-11-18  Andy Wingo  <wingo@pobox.com>
2289
2290         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
2291         Whoops, check the right fd. Also add some debugging.
2292         (gst_net_client_clock_observe_times): Adjust for int64 offset.
2293         (do_linear_regression): Add a crapload of debugging. Subtract off
2294         the minimum values from the input series to discard unneeded bits.
2295         Use only int arithmetic. There is still double arithmetic when
2296         calculating the intercept that needs fixing. Return boolean to
2297         indicate success; FALSE would mean the domain or range is too
2298         great. Still needs fixes.
2299
2300 2005-11-18  Wim Taymans  <wim@fluendo.com>
2301
2302         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2303         For the current position in stream time, we need to subtract
2304         accumulated time.
2305         
2306         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2307         Release lock before calling the callback function of async
2308         entries.
2309
2310 2005-11-18  Andy Wingo  <wingo@pobox.com>
2311
2312         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
2313         Port goes all the way to MAXUINT16.
2314
2315         * gst/net/gstnettimeprovider.c: Make the port range the same as
2316         for the kernel: 0 assigns, otherwise ports are less than
2317         MAXUINT16.
2318
2319         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
2320         port change.
2321
2322         * check/net/gstnetclientclock.c (test_functioning): Add the start
2323         of another test. 
2324
2325 2005-11-18  Wim Taymans  <wim@fluendo.com>
2326
2327         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2328         (gst_bin_remove_func), (bin_bus_handler):
2329         * gst/gstbin.h:
2330         Removing a clock provider from a bin, triggers a clock lost message
2331         so that a new clock will be selected.
2332         Adding a clock to a bin triggers a clock provider message.
2333         Make sure we reselect a clock when we received a clock lost message.
2334         Keep a reference to the element that provided the clock.
2335
2336 2005-11-18  Andy Wingo  <wingo@pobox.com>
2337
2338         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2339         the clock initially so it produces values around the base time.
2340         (gst_net_client_clock_class_init): Typo fix.
2341         (gst_net_client_clock_thread): Add note on when the socket gets
2342         closed.
2343
2344 2005-11-17  Wim Taymans  <wim@fluendo.com>
2345
2346         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2347         Free remote and local time arrays.
2348
2349 2005-11-17  Wim Taymans  <wim@fluendo.com>
2350
2351         * gst/net/gstnetclientclock.c: (do_linear_regression),
2352         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2353         Fix compilation, uninitialized vars and a forgotten continue.
2354
2355 2005-11-17  Andy Wingo  <wingo@pobox.com>
2356
2357         * check/Makefile.am (check_PROGRAMS): 
2358         * check/net/gstnetclientclock.c: Add a most minimal test for the
2359         net client clock. More to come later.
2360
2361         * gst/net/gstnet.h: 
2362         * gst/net/Makefile.am: Add netclientclock.
2363
2364         * gst/net/gstnetclientclock.h:
2365         * gst/net/gstnetclientclock.c: New files, implement an untested
2366         GstClock that takes its time from a network time provider.
2367         Implements the algorithm in network-clock.scm.
2368
2369         * tests/network-clock.scm (*window-size*): Rename from
2370         *queue-length*.
2371         * tests/network-clock.scm (network-time): 
2372         * tests/network-clock-utils.scm (q-push): Update callers.
2373
2374 2005-11-17  Wim Taymans  <wim@fluendo.com>
2375
2376         * gst/gstbin.c: (gst_bin_provide_clock_func),
2377         (gst_bin_sort_iterator_new):
2378         And unref the child too..
2379
2380 2005-11-17  Wim Taymans  <wim@fluendo.com>
2381
2382         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2383         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2384         Refactor the sort iterator so it can be used while holding the
2385         LOCK too.
2386         Make clock selection select a clock closest to the source.
2387
2388 2005-11-17  Michael Smith <msmith@fluendo.com>
2389
2390         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2391         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2392         * gst/gstclock.h:
2393           Anonymous structs are a gcc (and some other compilers) extension, so
2394           don't use them. Since this is only for ABI-compatibility, and our
2395           API/ABI freeze is over in a few days, this whole thing will only
2396           last a few days, so don't bother trying to think up a meaningful
2397           name for the struct.
2398
2399 2005-11-17  Andy Wingo  <wingo@pobox.com>
2400
2401         * gst/gstclock.h (GstClock): Add rate and offset properties,
2402         preserving ABI stability. Add rate/offset accessors. Will file bug
2403         for the freeze break.
2404
2405         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2406         and offset, trying to keep precision and avoiding
2407         underflow/overflow.
2408         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2409         functions. Make gst_clock_set_time_adjust obsolete.
2410         (gst_clock_set_time_adjust): Note that this function is obsolete.
2411         Will file bug soon.
2412
2413         * gst/base/gstbasetransform.h: Make the ABI-stability hack
2414         greppable by using GST_PADDING-1+1.
2415
2416 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
2417
2418         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2419
2420         * gst/gstmessage.c: (gst_message_parse_clock_lost):
2421           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2422
2423         * gst/gstpadtemplate.h:
2424         * gst/gstpluginfeature.h:
2425           Don't use c++ style comments in headers (#321638).
2426
2427 2005-11-16  Andy Wingo  <wingo@pobox.com>
2428
2429         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2430         buffer.
2431
2432         * check/net/gstnettimeprovider.c: Check to see that the time
2433         provider actually provides times. Works, yo!
2434
2435 2005-11-16  Wim Taymans  <wim@fluendo.com>
2436
2437         * check/Makefile.am:
2438         Enable more tests.
2439
2440         * check/elements/fakesrc.c: (GST_START_TEST):
2441         Set element to NULL before disposing it.
2442
2443 2005-11-16  Andy Wingo  <wingo@pobox.com>
2444
2445         * gst/net/Makefile.am:
2446         * gst/net/gstnet.h:
2447         * gst/net/gstnettimeprovider.c: 
2448         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2449         provider, include it from gstnet.h, and add it to the build.
2450
2451         * gst/net/gstnettimepacket.h: 
2452         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2453         sending and receiving.
2454
2455 2005-11-16  Wim Taymans  <wim@fluendo.com>
2456
2457         * check/Makefile.am:
2458         Enable valgrind check.
2459
2460         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2461         (gst_fake_src_alloc_buffer):
2462         Fix memleak.
2463
2464 2005-11-16  Wim Taymans  <wim@fluendo.com>
2465
2466         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2467         Call parent finalize too.
2468
2469 2005-11-16  Wim Taymans  <wim@fluendo.com>
2470
2471         * check/Makefile.am:
2472         Enable valgrind check that should work fine now.
2473
2474         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2475         * gst/gstqueue.c: (gst_queue_init):
2476         Fix memleaks in pad allocation.
2477
2478 2005-11-16  Andy Wingo  <wingo@pobox.com>
2479
2480         * gst/net/Makefile.am:
2481         * gst/net/gstnet.h: New part of core to hold network elements and
2482         objects. Put in core because it exposes API that applications want
2483         to use. The library is named libgstnet-tempname right now because
2484         of the existing libgstnet in gst-plugins-base. Solution is
2485         probably to rename the one in plugins-base; will file a bug for
2486         the freeze break.
2487
2488         * gst/net/gstnettimeprovider.c: 
2489         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2490         get_time call over the network.
2491
2492         * configure.ac: 
2493         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2494
2495         * check/Makefile.am:
2496         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2497         get additions shortly.
2498
2499 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2500
2501         * gst/gstpad.c: (gst_pad_new_from_static_template):
2502         * gst/gstpad.h:
2503           add gst_pad_new_from_static_template functions
2504         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2505         (gst_check_setup_sink_pad):
2506         * gst/elements/gsttee.c: (gst_tee_init):
2507           and use them
2508
2509 2005-11-16  Wim Taymans  <wim@fluendo.com>
2510
2511         * gst/gstpad.c: (gst_pad_pause_task):
2512         Removed warning, it's not really an error either.
2513
2514 2005-11-16  Wim Taymans  <wim@fluendo.com>
2515
2516         * gst/base/gstbasetransform.c:
2517         (gst_base_transform_prepare_output_buf),
2518         (gst_base_transform_event):
2519         Check if the caps are NULL, this can happen if the element
2520         is shutting down and the pad caps are set to NULL.
2521
2522 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2523
2524         * gst/elements/gsttee.c: (gst_tee_init):
2525           fix pad template leak in tee
2526
2527 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2528
2529         * gst/glib-compat.c: (g_value_dup_gst_object):
2530         * gst/glib-compat.h:
2531         * gst/gstpad.c: (gst_pad_set_property):
2532           use gst_object_ref when setting the pad template; this will
2533           trigger the pad template leaks on GLib 2.6 and the slaves
2534
2535 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2536
2537         * gst/glib-compat.c: (gst_flags_get_first_value):
2538         * gst/glib-compat.h:
2539         * gst/gstregistryxml.c:
2540           remove functions copied from GLib 2.6
2541
2542 2005-11-16  Michael Smith <msmith@fluendo.com>
2543
2544         * gst/Makefile.am:
2545           Don't link against VALGRIND_LIBS. That was always the wrong thing to
2546           do, but only breaks with newer valgrind versions. We're not a
2547           valgrind tool, we have no link-time dependencies on libcoregrind.
2548
2549 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2550
2551         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2552           some debug changes
2553         * gst/gstmessage.h:
2554           typo fixes
2555
2556 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2557
2558         * gst/base/gstbasesrc.c: (gst_base_src_init):
2559         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2560         * gst/gstqueue.c: (gst_queue_init):
2561         * gst/gstregistryxml.c: (load_feature):
2562           Revert all these unrefs, they don't even pass make check !
2563
2564 2005-11-15  Johan Dahlin  <johan@gnome.org>
2565
2566         * gst/base/gstbasesrc.c: (gst_base_src_init):
2567         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2568         * gst/gstqueue.c: (gst_queue_init): 
2569         Free pad templates, fixes a couple of leaks.
2570
2571 2005-11-15  Daniel Fischer  <dan at f3c dot com>
2572
2573         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2574
2575         * gst/gstpad.c: (gst_pad_get_property):
2576           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
2577           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
2578           (#321452)
2579
2580 2005-11-15  Wim Taymans  <wim@fluendo.com>
2581
2582         * gst/gstevent.c:
2583         Small doc update.
2584
2585 2005-11-15  Andy Wingo  <wingo@pobox.com>
2586
2587         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
2588
2589         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
2590         using GST_CLOCK_TIME_NONE to disable base time management.
2591         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
2592         time if it was NONE before.
2593         (gst_pipeline_change_state): Only munge the base time if
2594         stream_time != GST_CLOCK_TIME_NONE.
2595
2596         * check/gst/gstpipeline.c (test_base_time): Punt around the
2597         problem of the probe not being called, because that's not the
2598         issue I'm looking at. Add a check that setting stream_time to NONE
2599         disables base time management.
2600         
2601 2005-11-15  Wim Taymans  <wim@fluendo.com>
2602
2603         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2604         segment_stop == -1 at startup.
2605
2606         * gst/base/gstbasetransform.c: (gst_base_transform_event),
2607         (gst_base_transform_change_state):
2608         Init segment values at start.
2609
2610 2005-11-15  Wim Taymans  <wim@fluendo.com>
2611
2612         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2613         0 segment values are 0 in any format.
2614
2615         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2616         * gst/base/gstbasetransform.h:
2617         Parse newsegment correctly in basetransform
2618
2619         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2620         Sync to clock using updated segment values.
2621
2622 2005-11-15  Andy Wingo  <wingo@pobox.com>
2623
2624         * check/gst/gstpipeline.c (test_base_time): Add check that the
2625         base time and stream time are reset correctly.
2626
2627 2005-11-15  Wim Taymans  <wim@fluendo.com>
2628
2629         * docs/design/part-TODO.txt:
2630         Some more TODO items.
2631
2632 2005-11-15  Andy Wingo  <wingo@pobox.com>
2633
2634         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
2635         error if the user selected "no clock" as the clocking method.
2636
2637         * check/gst/gstpipeline.c (test_base_time): New test for buffer
2638         timestamps with live capture.
2639
2640         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
2641         is 0 but we are a live source, timestamp the buffers using the
2642         element's clock.
2643
2644 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
2645
2646         * docs/gst/gstreamer-sections.txt:
2647         * gst/gsterror.c:
2648         * gst/gstghostpad.c:
2649         * gst/gstobject.h:
2650         * gst/gstxml.c:
2651           more section docs
2652
2653 2005-11-14  Wim Taymans  <wim@fluendo.com>
2654
2655         * common/gst.supp:
2656           add suppressions from Wim's Debian machine
2657
2658 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2659
2660         * common/gst.supp:
2661           add suppressions from Andy's AMD64 Ubuntu machine
2662
2663 2005-11-14  Andy Wingo  <wingo@pobox.com>
2664
2665         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
2666         STATE_LOCK not necessary. Fixes #311489.
2667
2668         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
2669         #305291.
2670
2671         * gst/gstindex.c (gst_index_add_object): Note in the docs that
2672         this function is not implemented.
2673
2674 2005-11-14  Julien MOUTTE  <julien@moutte.net>
2675
2676         * gst/base/gstbasetransform.c:
2677         (gst_base_transform_prepare_output_buf):
2678         Ref the source pad caps while we need them.
2679         Fixes (#321386)
2680
2681 2005-11-11  Wim Taymans  <wim@fluendo.com>
2682
2683         * docs/gst/gstreamer-sections.txt:
2684         Added some docs for GstCollectData.
2685
2686         * gst/base/gstadapter.c:
2687         Some small code example fix.
2688
2689         * gst/base/gstcollectpads.c:
2690         * gst/base/gstcollectpads.h:
2691         Document some more.
2692
2693 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2694
2695         * configure.ac: back to HEAD
2696
2697 === release 0.9.5 ===
2698
2699 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
2700
2701         * configure.ac:
2702           releasing 0.9.5, "Bike Lunch Day"
2703
2704 2005-11-11  Wim Taymans  <wim@fluendo.com>
2705
2706         * gst/gstbuffer.c: (_gst_buffer_copy):
2707         Copy more flags.
2708
2709         * gst/gstcaps.c: (gst_caps_is_equal):
2710         Fix some docs.
2711         Make _is_equal fast in the trivial cases.
2712
2713         * gst/gstminiobject.c:
2714         * gst/gstminiobject.h:
2715         More docs. Spifify .h file.
2716
2717         * gst/gstutils.c:
2718         Small doc update.
2719
2720 2005-11-11  Wim Taymans  <wim@fluendo.com>
2721
2722         * gst/base/gstbasetransform.c:
2723         (gst_base_transform_prepare_output_buf),
2724         (gst_base_transform_handle_buffer):
2725         Small cleanups.
2726         If we're processing a buffer and need to allocate an output
2727         buffer, we cannot accept a format change. If we did get a 
2728         format change, we have to alloc a buffer ourselves of the 
2729         right size.
2730
2731 2005-11-11  Wim Taymans  <wim@fluendo.com>
2732
2733         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
2734         While checking the flag for reentrancy in the gstcaps function
2735         is nice to detect recursive invocations, it also makes it 
2736         impossible to call getcaps from multiple threads, which must be
2737         possible. So, checking for recursive calls has to go.
2738
2739 2005-11-11  Michael Smith <msmith@fluendo.com>
2740
2741         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2742           Don't sync on buffers that fall partially outside our current
2743           segment. Prevents an assertion failure/abort playing some files.
2744
2745 2005-11-10  Andy Wingo  <wingo@pobox.com>
2746
2747         * check/gst/gstbin.c (test_message_state_changed_children): Style
2748         fix..
2749
2750         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
2751         gst_bus_poll with the signal watch. Ensures that poll and a signal
2752         watch see the same messages.
2753
2754         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
2755         a poll and a watch at the same time get the same messages.
2756
2757 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2758
2759         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
2760         * gst/gstcaps.c: (gst_caps_intersect):
2761           Don't call gst_caps_do_simplify - it doesn't respect order of caps
2762           and it's not needed.
2763
2764 2005-11-10  Wim Taymans  <wim@fluendo.com>
2765
2766         * docs/design/part-TODO.txt:
2767         Updated todo.
2768
2769 2005-11-10  Wim Taymans  <wim@fluendo.com>
2770
2771         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2772         * gst/base/gstbasesrc.c: (gst_base_src_wait),
2773         (gst_base_src_do_sync), (gst_base_src_get_range):
2774         Implement clock sync in base class.
2775
2776 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2777
2778         patch by: Tim-Philipp Müller <tim at centricular dot net>
2779
2780         * gst/gststructure.c: (gst_structure_parse_field),
2781         (gst_structure_from_string):
2782           Forward-port a 0.8 patch to handle escaped spaces in structure string,
2783           so that gst_parse_launch() can deal with spaces in filtered link
2784           caps (fixes #164479)
2785         * check/gst/capslist.h:
2786         * check/gst/gststructure.c: (GST_START_TEST):
2787           add unit tests for this change
2788
2789 2005-11-10  Wim Taymans  <wim@fluendo.com>
2790
2791         * docs/gst/gstreamer-sections.txt:
2792         * gst/gstelement.c:
2793         * gst/gstelement.h:
2794         Fix docs, move some STATE macros to private.
2795
2796 2005-11-10  Wim Taymans  <wim@fluendo.com>
2797
2798         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
2799         Added check for bug #317341
2800
2801         * gst/gstbuffer.c:
2802         * gst/gstbuffer.h:
2803         Some more spiffifying.
2804
2805         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
2806         Call peer linkfunction if we are a source pad. Totally fixes
2807         #317341
2808
2809         * gst/gstpad.c:
2810         Update docs, source pads should call the peer linkfunction
2811         so they can atomically perform the pad link.
2812
2813 2005-11-09  Wim Taymans  <wim@fluendo.com>
2814
2815         * gst/gstbuffer.c:
2816         * gst/gstbuffer.h:
2817         Uber-spiffy-spiffify some more.
2818
2819 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
2820
2821         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
2822         * gst/elements/gstfilesink.c: (gst_file_sink_init):
2823         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2824         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
2825         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
2826         * gst/gstpad.c: (gst_pad_init):
2827           Use GST_DEBUG_FUNCPTR() more extensively.
2828
2829 2005-11-09  Wim Taymans  <wim@fluendo.com>
2830
2831         * gst/gstobject.c: (gst_object_class_init):
2832         * gst/gstobject.h:
2833         Documentation fixes.
2834
2835 2005-11-09  Edward Hervey  <edward@fluendo.com>
2836
2837         * gst/gsttypefindfactory.c:
2838         Fix docs.
2839         
2840 2005-11-09  Edward Hervey  <edward@fluendo.com>
2841
2842         * gst/base/gsttypefindhelper.c:
2843         * gst/gsttypefind.c:
2844         * gst/gsttypefind.h:
2845         Fix docs.
2846
2847 2005-11-09  Wim Taymans  <wim@fluendo.com>
2848
2849         * gst/gstiterator.c:
2850         Fix revision data.
2851
2852         * gst/gsttask.c:
2853         * gst/gsttask.h:
2854         Fix docs.
2855
2856 2005-11-09  Wim Taymans  <wim@fluendo.com>
2857
2858         * gst/gstevent.h:
2859         * gst/gsturi.h:
2860         Fix docs.
2861
2862 2005-11-09  Wim Taymans  <wim@fluendo.com>
2863
2864         * docs/gst/gstreamer-sections.txt:
2865         Moved the message async delivery private lock and cond
2866         to the private section.
2867
2868         * gst/gstmessage.c:
2869         * gst/gstmessage.h:
2870         Fixed docs.
2871
2872 2005-11-09  Edward Hervey  <edward@fluendo.com>
2873
2874         * docs/gst/gstreamer-sections.txt:
2875         * gst/gsturi.c:
2876         * gst/gsturi.h:
2877         Document GstURIHandler
2878
2879 2005-11-09  Wim Taymans  <wim@fluendo.com>
2880
2881         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
2882         (gst_iterator_find_custom):
2883         * gst/gstiterator.h:
2884         Fix iterator docs.
2885
2886 2005-11-09  Wim Taymans  <wim@fluendo.com>
2887
2888         * gst/gstbin.h:
2889         Document another field.
2890
2891         * gst/gststructure.c:
2892         * gst/gststructure.h:
2893         Document.
2894
2895 2005-11-09  Wim Taymans  <wim@fluendo.com>
2896
2897         * gst/gstbin.h:
2898         Documented structs.
2899
2900 2005-11-09  Wim Taymans  <wim@fluendo.com>
2901
2902         * docs/gst/gstreamer-sections.txt:
2903         Added some new macros.
2904
2905         * gst/gstclock.c:
2906         * gst/gstclock.h:
2907         * gst/gstobject.h:
2908         Docs updates.
2909
2910 2005-11-09  Wim Taymans  <wim@fluendo.com>
2911
2912         * docs/design/part-TODO.txt:
2913         Some more items for the TODO
2914
2915         * gst/gstcaps.c:
2916         * gst/gstcaps.h:
2917         Document GstCaps.
2918
2919 2005-11-09  Andy Wingo  <wingo@pobox.com>
2920
2921         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
2922         to work on something else now tho...
2923
2924         * gst/base/gstadapter.c: More adapter docs.
2925
2926         * gst/elements/gstfilesink.c (gst_file_sink_start) 
2927         (gst_file_sink_stop): New functions, replace the state change
2928         handler.
2929         (gst_file_sink_class_init): Hook up the start and stop functions.
2930         (gst_file_sink_base_init): Don't set the state change handler any
2931         more. It was a bit ugly too, being set from here...
2932         (gst_file_sink_get_property, gst_file_sink_set_property):
2933         Cleanups...
2934         (gst_file_sink_set_location): More robust check that doesn't call
2935         GST_STATE. Ugggggg.
2936
2937 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
2938
2939         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2940           Hold STREAM_LOCK while pushing newsegment or tag events as well.
2941
2942 2005-11-08  Wim Taymans  <wim@fluendo.com>
2943
2944         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2945         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
2946         (gst_base_sink_chain), (gst_base_sink_change_state):
2947         * gst/base/gstbasesink.h:
2948         * gst/base/gstbasesrc.h:
2949         * gst/gstelement.h:
2950         * gst/gstevent.h:
2951         Avoid excessive typechecking in macros.
2952
2953         * gst/gstminiobject.c: (gst_mini_object_get_type),
2954         (gst_mini_object_init), (gst_mini_object_new),
2955         (gst_mini_object_free):
2956         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
2957         (gst_object_finalize):
2958         Remove cruft code, optimize alloc_trace.
2959
2960 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2961
2962         * docs/faq/gst-uninstalled:
2963           fix up PS1 for systems that try to reset it
2964
2965 2005-11-07  Wim Taymans  <wim@fluendo.com>
2966
2967         * gst/base/gstbasesrc.c: (gst_base_src_init),
2968         (gst_base_src_get_range):
2969         Set the segment_end to -1 initially. Fixed typefind.
2970
2971 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2972
2973         * gst/base/gstadapter.c:
2974           Debug category should be 'adapter', not 'GstAdapter'.
2975           
2976         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
2977         (gst_collectpads_class_init), (gst_collectpads_init),
2978         (gst_collectpads_peek), (gst_collectpads_pop),
2979         (gst_collectpads_event), (gst_collectpads_chain):
2980           Add debug category and some debugging output. Use boilerplate
2981           macros. Remove some extraneous words from docs.
2982
2983 2005-11-05  Andy Wingo  <wingo@pobox.com>
2984
2985         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
2986         macro.
2987
2988 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
2989
2990         * docs/gst/gstreamer-sections.txt:
2991         * gst/gstcaps.h:
2992         * gst/gstinfo.c:
2993         * gst/gstminiobject.h:
2994         * gst/gstobject.h:
2995         * gst/gstutils.h:
2996           more docs added
2997
2998 2005-11-04  Wim Taymans  <wim@fluendo.com>
2999
3000         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3001         Small update to stop at the configured segment_end
3002         position.
3003
3004 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3005
3006         * gst/gstregistry.c:
3007         * gst/gstregistry.h:
3008           added missing docs
3009
3010 2005-11-04  Edward Hervey  <edward@fluendo.com>
3011
3012         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3013         Check if we are doing a segment seek and have arrived at the
3014         end of that segment.
3015
3016 2005-11-04  Wim Taymans  <wim@fluendo.com>
3017
3018         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
3019         Don't leak a mutex unlock in case of an error.
3020
3021         * gst/gstbus.h:
3022         Doc fixes.
3023
3024 2005-11-04  Wim Taymans  <wim@fluendo.com>
3025
3026         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
3027         (gst_bus_post):
3028         Get the context to wake up only once.
3029
3030 2005-11-03  Wim Taymans  <wim@fluendo.com>
3031
3032         * check/states/sinks.c: (GST_START_TEST):
3033         Uncomment fixed check.
3034
3035         * docs/design/part-TODO.txt:
3036         Updated TODO.
3037
3038         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3039         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3040         (gst_base_sink_get_position):
3041         If we are going to PLAYING, post the right pending state
3042         when we post the intermediate paused message.
3043
3044         * gst/gstelement.c: (gst_element_continue_state),
3045         (gst_element_set_state_func), (gst_element_change_state):
3046         Don't post state changes that were between the same state
3047         and were not ASYNC.
3048
3049 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3050
3051         * docs/gst/gstreamer-sections.txt:
3052         * gst/gstcaps.h:
3053         * gst/gstinfo.c:
3054         * gst/gstminiobject.h:
3055         * gst/gstobject.h:
3056         * gst/gstutils.h:
3057           more docs and doc style fixes
3058
3059 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3060
3061         * docs/gst/gstreamer-sections.txt:
3062         * gst/gstelement.c:
3063         * gst/gstminiobject.c:
3064         doc fixes
3065
3066 2005-11-03  Andy Wingo  <wingo@pobox.com>
3067
3068         * check/states/sinks.c (test_livesrc_sink): Add checks that the
3069         state-changed messages actually have the right order and the right
3070         values.
3071
3072 2005-11-03  Wim Taymans  <wim@fluendo.com>
3073
3074         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3075         Added some more checks. Specifically the case where NO_PREROLL
3076         elements are in the pipeline.
3077
3078         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3079         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3080         (gst_base_sink_get_position):
3081         Post READY->PAUSED state change messages too.
3082         Fix bug where VOID was posted as pending state...
3083
3084         * gst/gstbin.c: (gst_bin_recalc_state):
3085         use _element_continue_state() to continue the state change.
3086
3087         * gst/gstelement.c: (gst_element_continue_state),
3088         (gst_element_commit_state), (gst_element_set_state_func),
3089         (gst_element_change_state), (gst_element_change_state_func):
3090         Lots of state change cleanups, assign the STATE_RETURN in
3091         a new continue_state() function that also propagates the
3092         last return value from a state change to the app.
3093         Update some debug statements with proper category.
3094
3095 2005-11-03  Wim Taymans  <wim@fluendo.com>
3096
3097         * docs/design/part-events.txt:
3098         * docs/design/part-gstpipeline.txt:
3099         * docs/design/part-messages.txt:
3100         * docs/design/part-overview.txt:
3101         * docs/design/part-seeking.txt:
3102         * docs/design/part-states.txt:
3103         * docs/design/part-trickmodes.txt:
3104         * docs/manual/advanced-position.xml:
3105         Small docs updates.
3106
3107         * gst/gstobject.h:
3108         People think !! is ugly, this looks better.
3109
3110         * gst/gstpad.c: (gst_pad_set_blocked_async):
3111         Remove !! since it's fixed elsewhere now.
3112
3113 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3114
3115         * gst/gstminiobject.h:
3116         * gst/gstobject.h:
3117           Add !! to _FLAG_IS_SET macros to make the result boolean.
3118
3119 2005-11-03  Edward Hervey  <edward@fluendo.com>
3120
3121         * gst/gstpad.c: (gst_pad_set_blocked_async):
3122         comparing a flag and a gboolean rarely returns coherent results...
3123         Added two characters (!!) to make that work correctly.
3124         
3125 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3126
3127         * gst/gstbus.c: (gst_bus_class_init):
3128           Fix some typos.
3129           
3130         * gst/gstqueue.c: (gst_queue_loop):
3131           Don't assume a miniobject that isn't a buffer is an
3132           event (it could be that there is a refcounting
3133           problem somewhere and the pointer is stale and
3134           refers to an already destroyed miniobject).
3135
3136 2005-11-03  Julien MOUTTE  <julien@moutte.net>
3137
3138         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
3139
3140 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3141
3142         * docs/manual/advanced-position.xml:
3143           Update seek example and explanations to current 0.9 API.
3144
3145         * gst/elements/gsttypefindelement.c:
3146         (gst_type_find_element_activate):
3147           Remove FIXME comment now that the found caps
3148           are unreffed.
3149
3150 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3151
3152         * gst/gstregistryxml.c: (load_feature):
3153           Add another GST_STR_NULL instance
3154
3155 2005-11-02  Edward Hervey  <edward@fluendo.com>
3156
3157         * gst/gstpad.c: (handle_pad_block):
3158         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
3159         
3160 2005-11-02  Wim Taymans  <wim@fluendo.com>
3161
3162         * gst/gstbin.c:
3163         Fix typo in docs.
3164
3165         * gst/gstelement.c: (gst_element_commit_state):
3166         Remove unused value.
3167
3168         * gst/gstiterator.c:
3169         Mention that the returned element is reffed in the docs.
3170
3171 2005-11-02  Wim Taymans  <wim@fluendo.com>
3172
3173         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
3174         (gst_pad_push), (gst_pad_push_event):
3175         Unlock blocked pads when they are flushed.
3176
3177 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3178
3179         * docs/README:
3180         * docs/gst/gstreamer-sections.txt:
3181         * gst/gstbin.c:
3182           doc updates
3183         * gst/gstregistry.c: (gst_registry_scan_path_level):
3184           fix for a nasty little missed situation where an installed plug-in
3185           which was in the cache did not get overridden by an uninstalled one
3186           which was earlier in the plugin path because the newly created plugin
3187           for the uninstalled one (not in the registry) didn't get its
3188           ->registered set to TRUE
3189
3190 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3191
3192         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
3193         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
3194         (gst_collectpads_is_active), (gst_collectpads_collect),
3195         (gst_collectpads_collect_range), (gst_collectpads_start),
3196         (gst_collectpads_stop), (gst_collectpads_peek),
3197         (gst_collectpads_pop), (gst_collectpads_available),
3198         (gst_collectpads_read), (gst_collectpads_flush):
3199           Guard public API with assertions.
3200         
3201         * gst/gstpad.c:
3202           Fix docs for gst_pad_set_link_function().
3203
3204 2005-11-02  Johan Dahlin  <johan@gnome.org>
3205
3206         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
3207         Unref found_caps after we used it.
3208
3209 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3210
3211         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
3212           Don't try to ref NULL.
3213
3214 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3215
3216         * win32/common/config.h.in:
3217           provide a GST_FUNCTION that just gives a string for now
3218
3219 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3220
3221         * win32/common/gstenumtypes.c: (register_gst_object_flags),
3222         (gst_object_flags_get_type), (register_gst_bin_flags),
3223         (gst_bin_flags_get_type), (register_gst_buffer_flag),
3224         (gst_buffer_flag_get_type), (register_gst_bus_flags),
3225         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3226         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
3227         (gst_clock_return_get_type), (register_gst_clock_entry_type),
3228         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3229         (gst_clock_flags_get_type), (register_gst_state),
3230         (gst_state_get_type), (register_gst_state_change_return),
3231         (gst_state_change_return_get_type), (register_gst_state_change),
3232         (gst_state_change_get_type), (register_gst_element_flags),
3233         (gst_element_flags_get_type), (register_gst_core_error),
3234         (gst_core_error_get_type), (register_gst_library_error),
3235         (gst_library_error_get_type), (register_gst_resource_error),
3236         (gst_resource_error_get_type), (register_gst_stream_error),
3237         (gst_stream_error_get_type), (register_gst_event_type),
3238         (gst_event_type_get_type), (register_gst_seek_type),
3239         (gst_seek_type_get_type), (register_gst_seek_flags),
3240         (gst_seek_flags_get_type), (register_gst_format),
3241         (gst_format_get_type), (register_gst_index_certainty),
3242         (gst_index_certainty_get_type), (register_gst_index_entry_type),
3243         (gst_index_entry_type_get_type),
3244         (register_gst_index_lookup_method),
3245         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3246         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3247         (gst_index_resolver_method_get_type), (register_gst_index_flags),
3248         (gst_index_flags_get_type), (register_gst_debug_level),
3249         (gst_debug_level_get_type), (register_gst_debug_color_flags),
3250         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3251         (gst_iterator_result_get_type), (register_gst_iterator_item),
3252         (gst_iterator_item_get_type), (register_gst_message_type),
3253         (gst_message_type_get_type), (register_gst_mini_object_flags),
3254         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3255         (gst_pad_link_return_get_type), (register_gst_flow_return),
3256         (gst_flow_return_get_type), (register_gst_activate_mode),
3257         (gst_activate_mode_get_type), (register_gst_pad_direction),
3258         (gst_pad_direction_get_type), (register_gst_pad_flags),
3259         (gst_pad_flags_get_type), (register_gst_pad_presence),
3260         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3261         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3262         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3263         (gst_plugin_error_get_type), (register_gst_plugin_flags),
3264         (gst_plugin_flags_get_type), (register_gst_rank),
3265         (gst_rank_get_type), (register_gst_query_type),
3266         (gst_query_type_get_type), (register_gst_tag_merge_mode),
3267         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3268         (gst_tag_flag_get_type), (register_gst_task_state),
3269         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3270         (gst_alloc_trace_flags_get_type),
3271         (register_gst_type_find_probability),
3272         (gst_type_find_probability_get_type), (register_gst_uri_type),
3273         (gst_uri_type_get_type), (register_gst_parse_error),
3274         (gst_parse_error_get_type):
3275         * win32/common/gstversion.h:
3276           update win32 copies
3277
3278 2005-11-01  Luca Ognibene  <luogni@tin.it>
3279
3280         * gst/gst.c:
3281           fix docs. popt is dead, long live GOption.
3282
3283 2005-10-31  Wim Taymans  <wim@fluendo.com>
3284
3285         * gst/gstbuffer.h:
3286         Small doc fix.
3287
3288 2005-10-31  Andy Wingo  <wingo@pobox.com>
3289
3290         * Boo!
3291
3292         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
3293
3294         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
3295         need to serialize property notifications on GLib 2.8. GLib 2.6 has
3296         the possibility of deadlocks here if code calling notify() or
3297         set() has a lock that can be taken in another notify handler (ABBA
3298         with class lock and e.g. python GIL state lock).
3299
3300 2005-10-28  Julien MOUTTE  <julien@moutte.net>
3301
3302         * gst/gstbus.c: Doc updates.
3303
3304 2005-10-28  Wim Taymans  <wim@fluendo.com>
3305
3306         * docs/design/part-TODO.txt:
3307         * gst/gstiterator.c:
3308         * gst/gstsystemclock.c:
3309         * gst/gstsystemclock.h:
3310         Doc updates.
3311
3312 2005-10-28  Edward Hervey  <edward@fluendo.com>
3313
3314         * docs/gst/gstreamer-docs.sgml:
3315         * docs/gst/gstreamer-sections.txt:
3316         the GstURIType documentation page is private, it only defines GstURIType
3317         which should be defined in the GstURIHandler page
3318         
3319 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3320
3321         * gst/gstbin.c: (gst_bin_class_init):
3322         * gst/gstbin.h:
3323         * gst/gstutils.c:
3324         Documentation updates.
3325
3326 2005-10-28  Wim Taymans  <wim@fluendo.com>
3327
3328         * docs/gst/gstreamer-sections.txt:
3329         * gst/gstclock.c:
3330         * gst/gstclock.h:
3331         Documented the clocks.
3332
3333 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
3334
3335         * docs/gst/gstreamer-sections.txt:
3336           move some macros to private sections
3337         * gst/gstminiobject.c:
3338         * gst/gstminiobject.h:
3339           add descriptions provided by ds and some more
3340         * gst/gstpad.h:
3341           mark macro as to be removed
3342
3343 2005-10-28  Wim Taymans  <wim@fluendo.com>
3344
3345         * docs/design/part-TODO.txt:
3346         Add an item to TODO.
3347
3348         * gst/gstiterator.c: (gst_iterator_fold),
3349         (gst_iterator_find_custom):
3350         * gst/gstiterator.h:
3351         Add iterator docs.
3352
3353 2005-10-28  Wim Taymans  <wim@fluendo.com>
3354
3355         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3356         (gst_base_transform_init):
3357         Don't leak class.
3358
3359         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3360         An EOS event marks the queue as completely filled.
3361
3362 2005-10-27  Wim Taymans  <wim@fluendo.com>
3363
3364         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3365         (gst_base_sink_do_sync), (gst_base_sink_get_position):
3366         Some more debugging.
3367
3368         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3369         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3370         (gst_base_transform_event), (gst_base_transform_getrange),
3371         (gst_base_transform_chain):
3372         * gst/base/gstbasetransform.h:
3373         Fix debugging,
3374         Protect transform and concurrent buffer alloc with a new lock.
3375         Try not to break ABI/API.
3376
3377 2005-10-27  Wim Taymans  <wim@fluendo.com>
3378
3379         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3380         (gst_base_src_init), (gst_base_src_query),
3381         (gst_base_src_default_newsegment),
3382         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3383         (gst_base_src_send_event), (gst_base_src_event_handler),
3384         (gst_base_src_pad_get_range), (gst_base_src_loop),
3385         (gst_base_src_unlock), (gst_base_src_default_negotiate),
3386         (gst_base_src_start), (gst_base_src_deactivate),
3387         (gst_base_src_activate_push), (gst_base_src_change_state):
3388         Move some stuff around and cleanup things.
3389
3390 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
3391
3392         * gst/base/gstbasesrc.c: (gst_base_src_query):
3393           Add missing break statements.
3394
3395 2005-10-27  Wim Taymans  <wim@fluendo.com>
3396
3397         * check/gst/gstbin.c: (GST_START_TEST):
3398         An extra refcount is taken in basesrc.
3399
3400         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3401         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3402         (gst_base_src_loop):
3403         Small cleanups, check for flushing after being unlocked from the 
3404         LIVE_LOCK. take refcounts correctly (not yet everywhere).
3405         Don't send out EOS when going to READY.
3406
3407 2005-10-27  Wim Taymans  <wim@fluendo.com>
3408
3409         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3410         (gst_base_sink_get_position):
3411         Some more debug.
3412
3413         * gst/gstbin.c: (message_check), (bin_replace_message),
3414         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3415         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3416         (bin_query_duration_init), (bin_query_duration_fold),
3417         (bin_query_duration_done), (bin_query_generic_fold),
3418         (gst_bin_query):
3419         * tools/gst-launch.c: (main):
3420         Remove old option.
3421
3422 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
3423
3424         * examples/controller/audio-example.c: (main):
3425         * examples/queue/queue.c: (event_loop):
3426         * gst/base/gstbasetransform.h:
3427         * gst/gstelement.c: (gst_element_send_event):
3428         * gst/gstevent.h:
3429         * gst/gstpad.c: (gst_pad_send_event):
3430           fixing examples
3431           fixing docs typos
3432           changing log priority in error situations
3433
3434 2005-10-25  Wim Taymans  <wim@fluendo.com>
3435
3436         * gst/gstbin.c: (message_check), (bin_replace_message),
3437         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3438         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3439         (bin_query_duration_init), (bin_query_duration_fold),
3440         (bin_query_duration_done), (bin_query_generic_fold),
3441         (gst_bin_query):
3442         Some doc and debug updates.
3443         Cache previously requested query DURATION for speed. invalidate
3444         cached duration if element posts a DURATION message.
3445
3446 2005-10-25  Wim Taymans  <wim@fluendo.com>
3447
3448         * docs/design/part-TODO.txt:
3449         Update TODO.
3450
3451         * gst/gstbin.c: (message_check), (bin_replace_message),
3452         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3453         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3454         (bin_query_duration_init), (bin_query_duration_fold),
3455         (bin_query_duration_done), (bin_query_generic_fold),
3456         (gst_bin_query):
3457         Handle SEGMENT_START/DONE messages correctly.
3458         More evolved query algorithm that handles duration queries
3459         correctly.
3460
3461         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3462         (gst_element_get_state_func), (gst_element_abort_state),
3463         (gst_element_commit_state), (gst_element_lost_state):
3464         Some more debugging.
3465
3466         * gst/gstmessage.h:
3467         Added doc.
3468
3469 2005-10-25  Wim Taymans  <wim@fluendo.com>
3470
3471         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3472         Don't use invalid stream_time.
3473
3474         * gst/gstevent.c: (gst_event_new_newsegment):
3475         stream_time in newsegment cannot be undefined.
3476
3477 2005-10-24  Wim Taymans  <wim@fluendo.com>
3478
3479         * gst/gstbus.c:
3480         Doc fix.
3481
3482         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3483         (gst_queue_loop):
3484         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3485
3486 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
3487
3488         * docs/libs/tmpl/gstdparam.sgml:
3489         * docs/libs/tmpl/gstdplinint.sgml:
3490         * docs/libs/tmpl/gstdpman.sgml:
3491         * docs/libs/tmpl/gstdpsmooth.sgml:
3492         * docs/libs/tmpl/gstunitconvert.sgml:
3493           these are obsolete
3494
3495 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3496
3497         * configure.ac:
3498           back to HEAD
3499
3500 === release 0.9.4 ===
3501
3502 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3503
3504         * configure.ac:
3505           releasing 0.9.4, "Tyrannosaurus Rex"
3506
3507 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
3508
3509         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3510         (gst_file_sink_get_current_offset):
3511           Use fseeko() and ftello() if available. When falling back on
3512           lseek() to get the current offset, fflush() first to make sure
3513           everything is up-to-date and we get the right offset.
3514
3515 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3516
3517         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3518         * gst/base/gstbasesrc.c: (gst_base_src_loop):
3519         * gst/gsterror.c: (_gst_stream_errors_init):
3520         * gst/gsterror.h:
3521         * gst/gstqueue.c: (gst_queue_loop):
3522         * po/POTFILES.in:
3523           remove prematurely added error category and clean up the instances
3524
3525 2005-10-21  Wim Taymans  <wim@fluendo.com>
3526
3527         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3528         (gst_base_sink_get_position), (gst_base_sink_query),
3529         (gst_base_sink_change_state):
3530         Simply set the right flag when going to playing, that's all
3531         we need to do instead of calling a function inside the object
3532         lock (that could take the lock as well and deadlock)
3533
3534 2005-10-21  Wim Taymans  <wim@fluendo.com>
3535
3536         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
3537         (gst_base_src_loop):
3538         Don't warn, the peer element knows what to do best when
3539         the seek failed, it might try something else.
3540
3541 2005-10-21  Wim Taymans  <wim@fluendo.com>
3542
3543         * gst/base/gstbasesrc.c: (gst_base_src_init),
3544         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3545         Fix seeking.
3546
3547 2005-10-21  Wim Taymans  <wim@fluendo.com>
3548
3549         * docs/design/part-segments.txt:
3550         More docs.
3551
3552         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3553         Correctly set caps, even on the subbufer.
3554
3555 2005-10-21  Wim Taymans  <wim@fluendo.com>
3556
3557         * docs/gst/gstreamer-docs.sgml:
3558         * docs/gst/gstreamer-sections.txt:
3559         * gst/gstelement.h:
3560         * gst/gstevent.c:
3561         * gst/gstevent.h:
3562         * gst/gstmessage.h:
3563         * gst/gstpad.h:
3564         * gst/gstparse.h:
3565         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
3566         * gst/gsttask.h:
3567         * gst/gstutils.c:
3568         * gst/gstutils.h:
3569         And 2% more doc coverage.
3570
3571 2005-10-21  Andy Wingo  <wingo@pobox.com>
3572
3573         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
3574         position reporting.
3575
3576 2005-10-20  Wim Taymans  <wim@fluendo.com>
3577
3578         * gst/gsterror.c: (gst_error_get_message):
3579         * gst/gstparse.h:
3580         * gst/gstquery.h:
3581         * gst/gststructure.c:
3582         * gst/gsttrace.c:
3583         * gst/gstutils.c:
3584         More docs.
3585
3586 2005-10-20  Wim Taymans  <wim@fluendo.com>
3587
3588         * gst/gstbuffer.h:
3589         * gst/gstpad.c:
3590         * gst/gstparse.c:
3591         Another 1% more coverage.
3592
3593 2005-10-20  Wim Taymans  <wim@fluendo.com>
3594
3595         * docs/gst/gstreamer-sections.txt:
3596         * gst/gstelement.c: (gst_element_get_state_func),
3597         (gst_element_abort_state), (gst_element_commit_state),
3598         (gst_element_lost_state):
3599         * gst/gstevent.h:
3600         * gst/gstquery.c: (gst_query_set_position),
3601         (gst_query_parse_position), (gst_query_set_duration),
3602         (gst_query_parse_duration), (gst_query_new_convert):
3603         * gst/gstutils.c:
3604         Yay! 1% more docs coverage.
3605
3606 2005-10-20  Wim Taymans  <wim@fluendo.com>
3607
3608         * gst/gstpad.h:
3609         * gst/gstquery.c: (gst_query_set_position),
3610         (gst_query_parse_position), (gst_query_set_duration),
3611         (gst_query_parse_duration), (gst_query_new_convert):
3612         * gst/gstquery.h:
3613         * gst/gstutils.c: (gst_element_query_convert):
3614         * gst/gstutils.h:
3615         Docs and consistency fixes.
3616
3617 2005-10-20  Wim Taymans  <wim@fluendo.com>
3618
3619         * gst/gsttask.c:
3620         * gst/gsttask.h:
3621         More docs.
3622
3623 2005-10-20  Wim Taymans  <wim@fluendo.com>
3624
3625         * gst/gstbin.c: (message_check), (bin_replace_message),
3626         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3627         (update_degree), (gst_bin_sort_iterator_next),
3628         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
3629         Reworked the message handling a bit, cache the messages instead of
3630         only the senders. alows us to do more in the future.
3631
3632 2005-10-20  Wim Taymans  <wim@fluendo.com>
3633
3634         * docs/design/part-TODO.txt:
3635         Update TODO
3636
3637         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3638         (gst_base_sink_query):
3639         Don't use clock time to report position when in EOS.
3640
3641 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
3642
3643         * tools/gst-inspect.c: (print_interfaces),
3644         (print_element_properties_info), (print_element_info):
3645           Fix interface output with gst-inspect -a; don't print
3646           newlines after double/float properties.
3647
3648 2005-10-20  Wim Taymans  <wim@fluendo.com>
3649
3650         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3651         (gst_base_sink_query):
3652         Speed up current position calculation.
3653
3654         * gst/base/gstbasesrc.c: (gst_base_src_query),
3655         (gst_base_src_default_newsegment):
3656         Correctly set stream position in newsegment.
3657
3658         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
3659         (update_degree), (gst_bin_sort_iterator_next),
3660         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
3661         * gst/gstmessage.c: (gst_message_new_custom):
3662         Clean up debugging info
3663
3664         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
3665         (gst_queue_loop), (gst_queue_handle_src_query):
3666         Pause task faster.
3667
3668 2005-10-19  Wim Taymans  <wim@fluendo.com>
3669
3670         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3671         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3672         Fix query handling again.
3673
3674 2005-10-19  Wim Taymans  <wim@fluendo.com>
3675
3676         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3677         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3678         * gst/base/gstbasesrc.c: (gst_base_src_query):
3679         * gst/elements/gstfilesink.c: (gst_file_sink_query):
3680         * gst/elements/gsttypefindelement.c:
3681         (gst_type_find_handle_src_query), (find_element_get_length),
3682         (gst_type_find_element_activate):
3683         API change fix.
3684
3685         * gst/gstquery.c: (gst_query_new_position),
3686         (gst_query_set_position), (gst_query_parse_position),
3687         (gst_query_new_duration), (gst_query_set_duration),
3688         (gst_query_parse_duration), (gst_query_set_segment),
3689         (gst_query_parse_segment):
3690         * gst/gstquery.h:
3691         Bundling query position/duration is not a good idea since duration
3692         does not change much and we don't want to recalculate it for every
3693         position query, so they are separated again..
3694         Base value in segment query is not needed.
3695
3696         * gst/gstqueue.c: (gst_queue_handle_src_query):
3697         * gst/gstutils.c: (gst_element_query_position),
3698         (gst_element_query_duration), (gst_pad_query_position),
3699         (gst_pad_query_duration):
3700         * gst/gstutils.h:
3701         Updates for query API change.
3702         Added some docs here and there.
3703
3704 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3705
3706         * check/gst/gstbin.c: (GST_START_TEST):
3707         * check/gst/gstghostpad.c: (GST_START_TEST):
3708         * check/pipelines/cleanup.c: (GST_START_TEST):
3709           wait on thread to die so we can check refcount correctly
3710
3711 2005-10-18  Wim Taymans  <wim@fluendo.com>
3712
3713         * check/pipelines/stress.c: (GST_START_TEST):
3714         Make check a little more time consuming.
3715
3716 2005-10-18  Wim Taymans  <wim@fluendo.com>
3717
3718         * check/Makefile.am:
3719         * check/pipelines/stress.c: (GST_START_TEST),
3720         (simple_launch_lines_suite), (main):
3721         Small state change torture test.
3722
3723         * docs/design/part-states.txt:
3724         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3725         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
3726         (gst_base_sink_change_state):
3727         Never take state lock from streaming thread, clean up ugly
3728         hacks. Unfortunatly core does not yet support nice ways to
3729         async commit state.
3730         
3731         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
3732         (bin_bus_handler):
3733         Start state recalc if a STATE_DIRTY message is posted, but only
3734         on the toplevel bin.
3735
3736         * gst/gstelement.c: (gst_element_sync_state_with_parent),
3737         (gst_element_get_state_func), (gst_element_abort_state),
3738         (gst_element_commit_state), (gst_element_lost_state),
3739         (gst_element_set_state_func), (gst_element_change_state):
3740         * gst/gstelement.h:
3741         State variables are now protected with the LOCK, the state
3742         lock is only used to serialize _set_state().
3743
3744 2005-10-18  Wim Taymans  <wim@fluendo.com>
3745
3746         * check/gst/gstbin.c: (GST_START_TEST):
3747         * check/gst/gstmessage.c: (GST_START_TEST):
3748         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3749         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
3750         (bin_bus_handler):
3751         * gst/gstelement.c: (gst_element_abort_state),
3752         (gst_element_commit_state), (gst_element_lost_state):
3753         * gst/gstmessage.c: (gst_message_new_state_changed),
3754         (gst_message_new_state_dirty), (gst_message_new_segment_start),
3755         (gst_message_new_segment_done), (gst_message_new_duration),
3756         (gst_message_parse_state_changed),
3757         (gst_message_parse_segment_start),
3758         (gst_message_parse_segment_done), (gst_message_parse_duration):
3759         * gst/gstmessage.h:
3760         * tools/gst-launch.c: (event_loop):
3761         Seriously, this is better than a previous commit as we only need
3762         to notify the fact that an element changed state in a streaming
3763         thread, marking the state of the parents dirty, hence the 
3764         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
3765         message.
3766
3767 2005-10-18  Wim Taymans  <wim@fluendo.com>
3768
3769         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
3770         (gst_bin_recalc_func):
3771         * gst/gstelement.c: (gst_element_set_clock),
3772         (gst_element_abort_state), (gst_element_lost_state):
3773         Cleanups, prepare for state change fixes.
3774
3775 2005-10-18  Wim Taymans  <wim@fluendo.com>
3776
3777         * gst/gstbin.h:
3778         * gst/gstelement.c: (gst_element_class_init),
3779         (gst_element_set_state), (gst_element_set_state_func):
3780         * gst/gstelement.h:
3781         Pending ABI changes.
3782         GThreadPool in GstBinClass to monitor async state changes.
3783         state_cookie in GstElement to detect concurrent gst/set state.
3784         set_state is now virtual too in case a very complicated element
3785         has to be constructed.
3786
3787 2005-10-18  Wim Taymans  <wim@fluendo.com>
3788
3789         * check/gst/gstbin.c: (GST_START_TEST):
3790         * check/gst/gstmessage.c: (GST_START_TEST):
3791         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3792         * gst/gstbin.c: (bin_bus_handler):
3793         * gst/gstelement.c: (gst_element_commit_state),
3794         (gst_element_lost_state):
3795         * gst/gstmessage.c: (gst_message_new_state_changed),
3796         (gst_message_new_segment_start), (gst_message_new_segment_done),
3797         (gst_message_new_duration), (gst_message_parse_state_changed),
3798         (gst_message_parse_segment_start),
3799         (gst_message_parse_segment_done), (gst_message_parse_duration):
3800         * gst/gstmessage.h:
3801         * tools/gst-launch.c: (event_loop):
3802         Make messages future proof.
3803         state-change gets a flag if it was a message comming from the
3804         streaming thread.
3805         segment-start/stop can also be specified in other formats.
3806         A message to notify an app that a pipeline changed playback 
3807         duration.
3808         Also fix a GstMessage leak in -launch
3809
3810 2005-10-18  Andy Wingo  <wingo@pobox.com>
3811
3812         * gst/gstelement.c (gst_element_dispose): More helpful message.
3813
3814 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3815
3816         reviewed by: <delete if not using a buddy>
3817
3818         * common/gtk-doc.mak:
3819
3820 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3821
3822         * gst/gstregistry.c: (gst_registry_scan_path_level):
3823           unref a plug-in we get that was already initialized
3824
3825 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
3826
3827         * docs/gst/gstreamer-sections.txt:
3828         * docs/libs/gstreamer-libs-sections.txt:
3829         * gst/gstelement.h:
3830           add new api entries
3831           hide internal macro
3832
3833 2005-10-17  Andy Wingo  <wingo@pobox.com>
3834
3835         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
3836         cleanup.
3837
3838         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
3839
3840         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
3841
3842         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
3843         (gst_element_get_state_func): Better debug message.
3844         (gst_element_commit_state): s/INFO/DEBUG/.
3845         (gst_element_lost_state, gst_element_change_state): 
3846
3847         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
3848         (gst_message_new_custom): s/INFO/LOG/.
3849
3850 2005-10-17  Michael Smith <msmith@fluendo.com>
3851
3852         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3853           Check if end time is valid using end time, not start time.
3854
3855 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
3856
3857         * check/gst-libs/controller.c: (GST_START_TEST),
3858         (gst_controller_suite):
3859         * libs/gst/controller/gstcontroller.c:
3860         (gst_controlled_property_set_interpolation_mode):
3861         * libs/gst/controller/gstcontroller.h:
3862         * libs/gst/controller/gstinterpolation.c:
3863         * testsuite/controller/.cvsignore:
3864         * testsuite/controller/Makefile.am:
3865         * testsuite/controller/interpolator.c:
3866           merge controller testsuites
3867           fix broken tests
3868           remove mem-chunk from docs
3869
3870 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3871
3872         * gst/gstmemchunk.c:
3873         * gst/gstmemchunk.h:
3874         * gst/gsttrashstack.c:
3875         * gst/gsttrashstack.h:
3876           out.  get out.  you're fired.  to the Attic !
3877
3878 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3879
3880         * gst/gstcaps.c: (gst_caps_intersect):
3881           fix signedness issues in a (hopefully) correct way
3882         * gst/gstelement.c: (gst_element_pads_activate):
3883           some debugging
3884         * gst/gstobject.c: (gst_object_set_parent):
3885           some debugging
3886
3887 2005-10-17  Julien MOUTTE  <julien@moutte.net>
3888
3889         * gst/gstvalue.h: Fix prototypes.
3890
3891 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3892
3893         * docs/gst/gstreamer-sections.txt:
3894         * gst/gst.c: (gst_version_string):
3895         * gst/gst.h:
3896         * gst/gstversion.h.in:
3897         * win32/common/libgstreamer.def:
3898           add gst_version_string ()
3899
3900 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3901
3902         * configure.ac:
3903           clean up further
3904         * gst/gst.c: (init_post):
3905         * win32/common/config.h.in:
3906           it's PLUGINDIR now
3907         * gst/gstcaps.c: (gst_caps_intersect):
3908           use gint64, the range could be bigger than a guint
3909
3910 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3911
3912         * gst/gstclock.h:
3913           document potential problem in 2038
3914
3915 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3916
3917         * gst/gstcaps.c: (gst_caps_intersect):
3918           Fix guint j diving under 0
3919
3920 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3921
3922         * configure.ac:
3923         * win32/common/config.h:
3924         * win32/common/config.h.in:
3925           check for process.h, declares getpid() on Windows
3926         * gst/gstinfo.c:
3927           include process.h if we have it
3928         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
3929         * gst/gstmemchunk.h:
3930           fix signedness issues
3931         * win32/common/libgstreamer.def:
3932           fix get_type's
3933
3934 2005-10-16  Julien MOUTTE  <julien@moutte.net>
3935
3936         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
3937         fix. Because of unsigned ints, caps intersection was going nuts and
3938         trying to access structures with G_MAXUINT index. That fixes
3939         videotestsrc ! ffmpegcolorspace ! fakesink
3940         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
3941         consistency.
3942
3943 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3944
3945         * configure.ac:
3946           use the gettext macro
3947         * gst/elements/gstelements.c:
3948         * gst/gst.c:
3949         * gst/indexers/gstindexers.c:
3950           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
3951         * win32/common/config.h:
3952           updated config.h
3953         * win32/common/config.h.in:
3954           add the template to generate config.h
3955         * win32/common/gstenumtypes.c:
3956         * win32/common/gstversion.h:
3957           updated copies
3958
3959 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3960
3961         * gst/gst.c: (gst_version):
3962         * gst/gstversion.h.in:
3963           add the nano
3964
3965 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3966
3967         * gst/gstevent.h:
3968           Oops, add missing closing bracket.
3969
3970 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3971
3972         * configure.ac:
3973           use common m4's for argument checking
3974
3975 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
3976
3977         * docs/gst/gstreamer-sections.txt:
3978         * gst/gstevent.h:
3979           Add GST_EVENT_TYPE_NAME() macro.
3980
3981 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3982
3983         * gst/gstinfo.c:
3984         * gst/gstpluginfeature.c:
3985         * gst/gsttask.c:
3986           privatize more symbols
3987
3988 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3989
3990         * configure.ac:
3991           add srcdir, builddir includes to GST_ALL_CFLAGS, since
3992           everything that uses GStreamer API should have the includes
3993
3994 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3995
3996         * docs/gst/gstreamer-sections.txt:
3997         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
3998         * gst/gstvalue.h:
3999           give each value a _get_type, removes the DATA exports
4000
4001 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4002
4003         * gst/gst.c:
4004         * gst/gst.h:
4005           remove _gst_registry_auto_load, not used anymore
4006         * gst/gstbin.c: (gst_bin_get_type):
4007         * gst/gstbin.h:
4008         * gst/gstelement.c: (gst_element_get_type):
4009         * gst/gstelement.h:
4010         * gst/gstobject.c: (gst_object_get_type):
4011         * gst/gstobject.h:
4012         * gst/gstpad.c: (gst_pad_get_type):
4013         * gst/gstpad.h:
4014           make _get_type functions similar, fixes data export from library
4015
4016 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4017
4018         * configure.ac:
4019           correctly make conditionals
4020         * gst/elements/Makefile.am:
4021         * gst/elements/gstelements.c:
4022           fix typo causing fdsrc not to build
4023
4024 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4025
4026         * testsuite/Makefile.am:
4027         * testsuite/bytestream/.cvsignore:
4028         * testsuite/bytestream/Makefile.am:
4029         * testsuite/bytestream/filepadsink.c:
4030         * testsuite/bytestream/gstbstest.c:
4031         * testsuite/bytestream/test1.c:
4032         * testsuite/bytestream/testfile1:
4033         * testsuite/caps/normalisation.c:
4034         * testsuite/caps/random.c: (main):
4035         * testsuite/cleanup/.cvsignore:
4036         * testsuite/cleanup/Makefile.am:
4037         * testsuite/cleanup/cleanup1.c:
4038         * testsuite/cleanup/cleanup2.c:
4039         * testsuite/cleanup/cleanup3.c:
4040         * testsuite/cleanup/cleanup4.c:
4041         * testsuite/cleanup/cleanup5.c:
4042         * testsuite/controller/interpolator.c:
4043         * testsuite/debug/printf_extension.c: (main):
4044         * testsuite/elements/tee.c:
4045         * testsuite/negotiation/.cvsignore:
4046         * testsuite/negotiation/Makefile.am:
4047         * testsuite/negotiation/pad_link.c:
4048         * testsuite/pad/Makefile.am:
4049         * testsuite/pad/chainnopull.c:
4050         * testsuite/pad/getnopush.c:
4051         * testsuite/pad/link.c:
4052         * testsuite/refcounting/sched.c: (create_pipeline):
4053         * testsuite/registry/Makefile.am:
4054         * testsuite/registry/gst-print-formats.c:
4055         * testsuite/schedulers/.cvsignore:
4056         * testsuite/schedulers/142183-2.c:
4057         * testsuite/schedulers/142183.c:
4058         * testsuite/schedulers/143777-2.c:
4059         * testsuite/schedulers/143777.c:
4060         * testsuite/schedulers/147713.c:
4061         * testsuite/schedulers/147819.c:
4062         * testsuite/schedulers/147894-2.c:
4063         * testsuite/schedulers/147894.c:
4064         * testsuite/schedulers/Makefile.am:
4065         * testsuite/schedulers/group_link.c:
4066         * testsuite/schedulers/queue_link.c:
4067         * testsuite/schedulers/relink.c:
4068         * testsuite/schedulers/unlink.c:
4069         * testsuite/schedulers/unref.c:
4070         * testsuite/schedulers/useless_iteration.c:
4071         * testsuite/states/bin.c:
4072           clean out/remove some stuff from the testsuite directories
4073
4074 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4075
4076         * configure.ac:
4077           check for some headers
4078         * gst/elements/Makefile.am:
4079         * gst/elements/gstelements.c:
4080           don't compile fdsrc without sys/socket.h
4081         * gst/indexers/Makefile.am:
4082         * gst/indexers/gstindexers.c: (plugin_init):
4083           don't compile fileindex without mmap
4084
4085 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4086
4087         * configure.ac:
4088           reorganize
4089           clean up
4090           document more
4091           remove cruft
4092         * check/Makefile.am:
4093         * docs/gst/Makefile.am:
4094         * examples/helloworld/Makefile.am:
4095         * gst/Makefile.am:
4096         * gst/base/Makefile.am:
4097         * gst/check/Makefile.am:
4098         * gst/elements/Makefile.am:
4099         * gst/indexers/Makefile.am:
4100         * gst/parse/Makefile.am:
4101         * libs/gst/controller/Makefile.am:
4102         * libs/gst/dataprotocol/Makefile.am:
4103         * examples/helloworld/helloworld.c: (event_loop):
4104           compile fixes, though it's not being compiled currently
4105
4106 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4107
4108         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
4109           Add some simple tests for the new taglist date API.
4110
4111 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4112
4113         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
4114         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
4115           Beautify 'last-message' output: print 'none' for buffer timestamps
4116           and durations if none is set; improve alignment with next messages.
4117
4118 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4119
4120         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
4121         * gst/gstpluginfeature.h:
4122         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
4123         * gst/gstregistry.h:
4124         * docs/gst/gstreamer-sections.txt:
4125           Add new API to check plugin feature version requirements.
4126
4127         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
4128           Some basic tests for the above.         
4129
4130 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4131
4132         * gst/gststructure.c: (gst_structure_to_string):
4133           guard against NULL printf - happens when for example
4134           a message structure with GstClock gets serialized
4135
4136 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4137
4138         * gst/base/gstcollectpads.c: (gst_collectpads_event):
4139           Fix presumable copy'n'pasto.
4140
4141 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4142
4143         * gst/elements/gstfakesrc.h:
4144         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
4145         * gst/elements/gsttypefindelement.c:
4146           fix some signedness
4147         * gst/elements/gstfilesink.c: (gst_file_sink_render):
4148           I wonder if this could actually write +2GB files before
4149
4150 2005-10-13  Andy Wingo  <wingo@pobox.com>
4151
4152         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
4153         Fix Timmeke Waymans bug.
4154         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
4155         string of the proper length to gst_caps_from_string. There's a
4156         potential for, before this fix, that this could cause someone
4157         connecting over the network to cause a segfault if the payload is
4158         not NUL-terminated.
4159
4160 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4161
4162         * docs/design/draft-push-pull.txt:
4163         * docs/design/part-overview.txt:
4164         * docs/random/TODO-pre-0.9:
4165         * docs/random/old/ChangeLog.gstreamer:
4166         * gst/base/gstpushsrc.c:
4167         * gst/gstclock.c:
4168           fixed typos
4169
4170 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4171
4172         * gst/glib-compat.c: (gst_flags_get_first_value):
4173         * gst/glib-compat.h:
4174         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
4175         (gst_value_compare_double), (gst_value_serialize_flags):
4176           GLib 2.6 g_flags_get_first_value has a bug that triggers an
4177           infinite loop
4178
4179 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4180
4181         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4182         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4183           fix up debugging
4184         * tools/gst-launch.c: (event_loop):
4185           print out clock nicely
4186
4187 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4188
4189         * docs/gst/gstreamer-sections.txt:
4190         * gst/gsttaglist.h:
4191         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
4192         (gst_tag_list_get_date_index):
4193           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
4194           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
4195
4196 2005-10-13  Julien MOUTTE  <julien@moutte.net>
4197
4198         * gst/base/gstcollectpads.c: (gst_collectpads_event),
4199         (gst_collectpads_chain):
4200         * gst/base/gstcollectpads.h: Handle newsegment and store informations
4201         in CollectData.
4202
4203 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4204
4205         * docs/gst/gstreamer-sections.txt:
4206         * gst/gst.c:
4207         * gst/gsterror.h:
4208         * tools/gst-inspect.c: (main):
4209         * tools/gst-launch.c: (main):
4210         * tools/gst-run.c: (main):
4211         * tools/gst-xmlinspect.c: (main):
4212           fix GOption context leaks
4213           doc fixes
4214
4215 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4216
4217         * gst/gstbus.c:
4218           use HAVE_UNISTD_H
4219         * win32/common/config.h:
4220           update config
4221         * win32/vs6/grammar.dsp:
4222         * win32/vs6/libgstelements.dsp:
4223         * win32/vs6/libgstreamer.dsp:
4224           update vs6 files
4225
4226 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4227
4228         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4229         * gst/base/gstbasesrc.c: (gst_base_src_query):
4230           fix more guint64<->gdouble conversions
4231
4232 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4233
4234         * Makefile.am:
4235           add win32-update target
4236         * win32/common/gstconfig.h:
4237         * win32/common/gstenumtypes.c:
4238         * win32/common/gstenumtypes.h:
4239         * win32/common/gstversion.h:
4240           add files that visual studio can't generate
4241
4242 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4243
4244         * Makefile.am:
4245           add a win32-update target
4246         * configure.ac:
4247
4248 2005-10-12  Wim Taymans  <wim@fluendo.com>
4249
4250         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4251         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
4252         * gst/gstelement.c: (gst_element_commit_state),
4253         (gst_element_set_state):
4254         Protect flags with proper lock.
4255         unref provided cached clock in dispose.
4256
4257 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4258
4259         * gst/gst.c:
4260         * gst/gstminiobject.h:
4261         * gst/gstpad.h:
4262         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
4263           removed unused flags from miniobject
4264           doc fixes
4265
4266 2005-10-12  Wim Taymans  <wim@fluendo.com>
4267
4268         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4269         (gst_file_sink_event), (gst_file_sink_render):
4270         Flush before seeking.
4271
4272 2005-10-12  Andy Wingo  <wingo@pobox.com>
4273
4274         * gst/gst.c (gst_init_check): Ignore unknown options, as has
4275         always been the case.
4276
4277 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4278
4279         * check/gst/gstbin.c: (GST_START_TEST):
4280         * docs/gst/gstreamer-sections.txt:
4281         * gst/base/gstbasesink.c: (gst_base_sink_init):
4282         * gst/base/gstbasesrc.c: (gst_base_src_init),
4283         (gst_base_src_get_range), (gst_base_src_check_get_range),
4284         (gst_base_src_start), (gst_base_src_stop):
4285         * gst/base/gstbasesrc.h:
4286         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
4287         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4288         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
4289         (bin_bus_handler):
4290         * gst/gstbin.h:
4291         * gst/gstbuffer.h:
4292         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
4293         * gst/gstbus.h:
4294         * gst/gstelement.c: (gst_element_is_locked_state),
4295         (gst_element_set_locked_state), (gst_element_commit_state),
4296         (gst_element_set_state):
4297         * gst/gstelement.h:
4298         * gst/gstindex.c: (gst_index_init):
4299         * gst/gstindex.h:
4300         * gst/gstminiobject.h:
4301         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
4302         (gst_object_set_parent):
4303         * gst/gstobject.h:
4304         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4305         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4306         * gst/gstpad.h:
4307         * gst/gstpadtemplate.h:
4308         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4309         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4310         * gst/gstpipeline.h:
4311         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4312         (gst_file_index_commit):
4313         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4314         * testsuite/pad/link.c: (gst_test_src_init),
4315         (gst_test_filter_init), (gst_test_sink_init):
4316         * testsuite/states/locked.c: (main):
4317           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
4318           moved bitshift from macro to enum definition
4319
4320 2005-10-12  Wim Taymans  <wim@fluendo.com>
4321
4322         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
4323         * gst/elements/gstfilesink.c: (gst_file_sink_event),
4324         (gst_file_sink_render):
4325         Some more debugging info.
4326
4327 2005-10-12  Wim Taymans  <wim@fluendo.com>
4328
4329         * docs/design/part-states.txt:
4330         * tools/gst-launch.c: (main):
4331         Some doc updates.
4332         Revert non-intentional change.
4333
4334 2005-10-12  Wim Taymans  <wim@fluendo.com>
4335
4336         * check/gst/gstbin.c: (GST_START_TEST):
4337         * check/gst/gstelement.c: (GST_START_TEST):
4338         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4339         * check/gst/gstghostpad.c: (GST_START_TEST):
4340         * check/gst/gstpipeline.c: (GST_START_TEST):
4341         * check/pipelines/simple_launch_lines.c: (run_pipeline):
4342         * check/states/sinks.c: (GST_START_TEST):
4343         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4344         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4345         (gst_bin_remove_func), (gst_bin_get_state_func),
4346         (gst_bin_recalc_state), (gst_bin_change_state_func),
4347         (bin_bus_handler):
4348         * gst/gstelement.c: (gst_element_get_state_func),
4349         (gst_element_get_state), (gst_element_abort_state),
4350         (gst_element_commit_state), (gst_element_set_state),
4351         (gst_element_change_state), (gst_element_change_state_func):
4352         * gst/gstelement.h:
4353         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4354         (gst_pipeline_provide_clock_func):
4355         * gst/gstutils.c: (gst_element_link_pads_filtered):
4356         * tools/gst-launch.c: (main):
4357         * tools/gst-typefind.c: (main):
4358         Use GstClockTime in _get_state() instead of GTimeVal.
4359         Remove old code in gstutils.c
4360
4361 2005-10-12  Andy Wingo  <wingo@pobox.com>
4362
4363         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4364         removed.
4365
4366         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4367         there is no task. Shouldn't affect any code, as nothing in our
4368         plugins checks this return value.
4369         (gst_pad_stop_task): Also take the stream lock if the pad has no
4370         task. Docs updated.
4371
4372 2005-10-12  Wim Taymans  <wim@fluendo.com>
4373
4374         * gst/gstpad.c: (pre_activate), (post_activate),
4375         (gst_pad_activate_pull), (gst_pad_activate_push):
4376         Cleanup activation code. Reset old state if
4377         activation failed.
4378
4379 2005-10-12  Wim Taymans  <wim@fluendo.com>
4380
4381         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4382         (gst_base_sink_change_state):
4383         No need to prerol after receiving EOS.
4384
4385         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4386         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4387         * gst/elements/gstidentity.c: (gst_identity_event):
4388         Print events more verbosely.
4389
4390 2005-10-12  Wim Taymans  <wim@fluendo.com>
4391
4392         * check/Makefile.am:
4393         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4394         * check/states/sinks2.c:
4395         Moved sinks2 testcode in sinks check.
4396
4397         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4398         (gst_bin_remove_func), (gst_bin_recalc_state),
4399         (gst_bin_change_state_func), (bin_bus_handler):
4400         Fix potential race condition when _get_state() iterated over an
4401         ASYNC element right before it posted a state completion.
4402
4403         * gst/gstclock.h:
4404         Do proper cast here.
4405
4406         * gst/gstevent.c: (gst_event_new_newsegment),
4407         (gst_event_parse_newsegment):
4408         A playback rate of 0.0 is not allowed.
4409
4410 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4411
4412         * win32/common/config.h:
4413         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4414         (_trewinddir), (_ttelldir), (_tseekdir):
4415         * win32/common/dirent.h:
4416         * win32/common/gtchar.h:
4417         * win32/common/libgstbase.def:
4418         * win32/common/libgstreamer.def:
4419         * win32/vs6/grammar.dsp:
4420         * win32/vs6/gst_inspect.dsp:
4421         * win32/vs6/gst_launch.dsp:
4422         * win32/vs6/gstreamer.dsw:
4423         * win32/vs6/libgstbase.dsp:
4424         * win32/vs6/libgstelements.dsp:
4425         * win32/vs6/libgstreamer.dsp:
4426           Visual Studio 6 project files, and a new common directory.
4427           Phear.
4428
4429 2005-10-11  Wim Taymans  <wim@fluendo.com>
4430
4431         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4432         (gst_base_sink_do_sync), (gst_base_sink_query),
4433         (gst_base_sink_change_state):
4434         * gst/base/gstbasesink.h:
4435         Correctly parse newsegment info.
4436
4437 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4438
4439         * gst/gst.c: (init_post):
4440           split plugin paths correctly
4441
4442 2005-10-11  Wim Taymans  <wim@fluendo.com>
4443
4444         * check/gst/gstevent.c: (GST_START_TEST):
4445         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4446         (gst_base_sink_change_state):
4447         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4448         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4449         * gst/elements/gstfilesink.c: (gst_file_sink_event):
4450         * gst/gstevent.c: (gst_event_new_newsegment),
4451         (gst_event_parse_newsegment):
4452         * gst/gstevent.h:
4453         Added extra flag to newsegment for future API freeze.
4454         Updated check and base elements.
4455
4456 2005-10-11  Julien MOUTTE  <julien@moutte.net>
4457
4458         * gst/base/gstcollectpads.c: (gst_collectpads_init),
4459         (gst_collectpads_add_pad), (gst_collectpads_pop),
4460         (gst_collectpads_event), (gst_collectpads_chain):
4461         * gst/base/gstcollectpads.h: Handle EOS correctly.
4462
4463 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4464
4465         * tools/gst-launch.c: (main):
4466           more null protecting
4467
4468 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4469
4470         * gst/gst-i18n-lib.h:
4471           check for ENABLE_NLS, not GETTEXT_PACKAGE
4472         * gst/gstregistry.c: (gst_registry_add_plugin),
4473         (gst_registry_scan_path_level),
4474         (_gst_registry_remove_cache_plugins):
4475           protect possibly NULL strings
4476         * gst/parse/types.h:
4477           config.h already included before
4478         * tools/gst-inspect.c: (main):
4479           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4480           check for ENABLE_NLS, not GETTEXT_PACKAGE
4481         * tools/gst-launch.c: (main):
4482           check for ENABLE_NLS, not GETTEXT_PACKAGE
4483
4484 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4485
4486         * configure.ac:
4487           if we don't have glib, fail before testing 2.8
4488         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4489           fix a leak, should fix plugins-base testsuite
4490
4491 2005-10-11  Andy Wingo  <wingo@pobox.com>
4492
4493         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4494         take the mode we're going to as an arg. Go head and set the mode
4495         and flushing flags now, so that if the activate function starts a
4496         thread all the flags will be in the right state.
4497         (post_activate): Renamed also. Just handle making sure streaming
4498         finishes for the deactivation case, and setting the deactivated
4499         mode.
4500         (gst_pad_set_active): Complain loudly if deactivation fails.
4501         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4502         (gst_pad_activate_push): Adapt to pre/post_activate changes,
4503         remove the terrible hack.
4504
4505 2005-10-11  Wim Taymans  <wim@fluendo.com>
4506
4507         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4508         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4509         (gst_bin_recalc_state), (gst_bin_change_state_func),
4510         (gst_bin_dispose), (bin_bus_handler):
4511         * gst/gstbin.h:
4512         Prepare to make current EOS message queue more generic.
4513         Fix some typos.
4514
4515         * gst/gstevent.c: (gst_event_new_newsegment),
4516         (gst_event_parse_newsegment):
4517         * gst/gstevent.h:
4518         Rename base to stream_time.
4519
4520         * gst/gstmessage.h:
4521         Fix typo in docs.
4522
4523 2005-10-11  Wim Taymans  <wim@fluendo.com>
4524
4525         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4526         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
4527         (gst_bin_change_state_func), (bin_bus_handler):
4528         * gst/gstbin.h:
4529         Work on proper clock selection.
4530
4531 2005-10-11  Edward Hervey  <edward@fluendo.com>
4532
4533         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
4534         * libs/gst/controller/gstcontroller.h:
4535         Added GList* version of _remove_properties() in order to be able to wrap
4536         it in bindings.
4537
4538 2005-10-11  Wim Taymans  <wim@fluendo.com>
4539
4540         * docs/design/part-states.txt:
4541         Some more docs.
4542
4543         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
4544         (gst_bin_change_state_func), (bin_bus_handler):
4545         Doc updates. Don't distribute the same clock over and over again.
4546
4547         * gst/gstclock.c:
4548         * gst/gstclock.h:
4549         Doc updates.
4550
4551         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
4552         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
4553         (gst_pad_send_event):
4554         * gst/gstpad.h:
4555         Make probe emission threadsafe again.
4556         Register quarks and move _get_name() from utils.
4557         Doc updates.
4558
4559         * gst/gstpipeline.c: (gst_pipeline_class_init),
4560         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4561         Only redistribute the clock of it changed.
4562
4563         * gst/gstsystemclock.h:
4564         Doc updates. 
4565
4566         * gst/gstutils.c:
4567         * gst/gstutils.h:
4568         Moved the _flow_get_name() to GstPad.
4569
4570 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4571
4572         * check/gst-libs/gdp.c: (GST_START_TEST):
4573         * check/gst/gstcaps.c: (GST_START_TEST):
4574         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
4575         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
4576         (gst_dp_packet_from_caps):
4577           fix more valgrind warnings before turning up the heat
4578
4579 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4580
4581         * gst/parse/grammar.y:
4582           some cleanup before the hacking
4583
4584 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4585
4586         * gst/base/gstbasesrc.c: (gst_base_src_query):
4587           use conversions
4588         * gst/gstutils.c: (gst_guint64_to_gdouble),
4589         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
4590         * gst/gstutils.h:
4591           externalize, basesrc uses it
4592           obviously the implementation needs testing
4593
4594 2005-10-10  Wim Taymans  <wim@fluendo.com>
4595
4596         * tests/sched/Makefile.am:
4597         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
4598         (make_pipeline3), (make_pipeline4), (print_elem), (main):
4599
4600 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4601
4602         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
4603           apparently converting from guint64 to double is not implemented
4604           on MSVC
4605
4606 2005-10-10  Wim Taymans  <wim@fluendo.com>
4607
4608         * check/Makefile.am:
4609         * check/generic/states.c: (GST_START_TEST):
4610         * check/gst/gstbin.c: (GST_START_TEST):
4611         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4612         * check/states/sinks.c: (GST_START_TEST):
4613         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
4614         (main):
4615         Check fixes, use API as stated in design docs, remove hacks.
4616
4617         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4618         (gst_base_sink_change_state):
4619         Catch stopping our task while we're shutting down.
4620
4621         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
4622         (gst_bin_remove_func), (gst_bin_get_state_func),
4623         (gst_bin_recalc_state), (gst_bin_change_state_func),
4624         (bin_bus_handler):
4625         * gst/gstbin.h:
4626         * gst/gstelement.c: (gst_element_init),
4627         (gst_element_get_state_func), (gst_element_abort_state),
4628         (gst_element_commit_state), (gst_element_lost_state),
4629         (gst_element_set_state), (gst_element_change_state),
4630         (gst_element_change_state_func):
4631         * gst/gstelement.h:
4632         New state change algorithm (see #318116)
4633
4634         * gst/gstpipeline.c: (gst_pipeline_class_init),
4635         (gst_pipeline_init), (gst_pipeline_set_property),
4636         (gst_pipeline_get_property), (do_pipeline_seek),
4637         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4638         * gst/gstpipeline.h:
4639         Remove crude state change hacks.
4640
4641         * gst/gstutils.h:
4642         Remove crude hacks.
4643
4644         * tools/gst-launch.c: (main):
4645         Fixes for state change. Needs some more work to fully use the
4646         new stuff.
4647
4648 2005-10-10  Andy Wingo  <wingo@pobox.com>
4649
4650         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
4651
4652         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
4653         this flag, but it's not even in GLib 2.6. Odd. Hack around the
4654         issue.
4655
4656 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4657
4658         * gst/gstiterator.c: (gst_iterator_new):
4659           Fix my previous commit: GTypes passed to gst_iterator_new()
4660           can be fundamental types.
4661
4662 2005-10-10  Wim Taymans  <wim@fluendo.com>
4663
4664         * gst/gstelement.c: (gst_element_iterate_pad_list),
4665         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
4666         (gst_element_iterate_sink_pads):
4667         Use src/sink pads lists for the respective iterators instead
4668         of filtering.
4669
4670 2005-10-10  Andy Wingo  <wingo@pobox.com>
4671
4672         Merged in popt removal + GOption addition patch from Ronald, bug
4673         #169772.
4674
4675         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
4676         GstElement macros around, remove popt-related symbols, add goption
4677         stuff.
4678
4679         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
4680         
4681         * docs/gst/Makefile.am:
4682         * docs/libs/Makefile.am: No POPT_CFLAGS.
4683         
4684         * examples/manual/Makefile.am:
4685         * docs/manual/basics-init.xml: Doc updates with an example.
4686         
4687         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4688         (gst_init), (parse_one_option), (parse_goption_arg):
4689         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
4690         bit of hand merging and debugging to get the GOption stuff working
4691         tho.
4692         
4693         * tests/Makefile.am:
4694         * tools/Makefile.am:
4695         * tools/gst-inspect.c: (main):
4696         * tools/gst-launch.c: (main):
4697         * tools/gst-run.c: (main):
4698         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
4699
4700 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4701
4702         * gst/gstiterator.c: (gst_iterator_new):
4703           Add assertions to make sure passed GType is likely to really
4704           be a GType (as the compiler won't catch it if the size and
4705           GType arguments get mixed up, see #318447).
4706
4707 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
4708
4709         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4710
4711         * gst/gstbin.c: (gst_bin_iterate_sorted):
4712           Pass GType and size arguments to gst_iterator_new() in the right
4713           order (maybe we should make _new() take the GType as first argument
4714           just like _new_list()?) (#318447).
4715           
4716
4717 2005-10-10  Wim Taymans  <wim@fluendo.com>
4718
4719         * gst/gstelement.c: (gst_element_finalize):
4720         And free the GStaticRecMutex too
4721
4722 2005-10-10  Andy Wingo  <wingo@pobox.com>
4723
4724         * gst/gstelement.c (gst_element_init, gst_element_finalize):
4725         Allocate and free the mutex properly.
4726
4727         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
4728         New macros.
4729         (GstElement): The state_lock is now recursive. Rebuild your
4730         plugins, suckers. Old macros adapted.
4731
4732         * docs/gst/gstreamer-sections.txt: Doc updates.
4733
4734         * gst/gstutils.h:
4735         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
4736         (g_static_rec_cond_wait): Ported from state changes patch, while
4737         we wait on bug #317802 to be solved in a well-distributed GLib.
4738
4739         * gst/gstelement.c (gst_element_change_state_func): Renamed from
4740         gst_element_change_state, variable name changes.
4741         (gst_element_change_state): Split out of gst_element_set_state in
4742         preparation for the state change merge. Doesn't pay attention to
4743         the 'transition' argument.
4744         (gst_element_set_state): Updates, hopefully purely cosmetic.
4745         (gst_element_sync_state_with_parent): MT-safety. Ported from the
4746         state change patch.
4747         (gst_element_get_state_func): Renamed from get_state, cosmetic
4748         changes.
4749
4750 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4751
4752         * gst/elements/gstelements.c:
4753         * win32/GStreamer.vcproj:
4754         * win32/config.h:
4755         * win32/dirent.c: (_tseekdir):
4756         * win32/gst-inspect.vcproj:
4757         * win32/gst-launch.vcproj:
4758         * win32/gstconfig.h:
4759         * win32/gstelements.vcproj:
4760         * win32/gstenumtypes.c: (gst_object_flags_get_type):
4761         * win32/gstreamer.def:
4762         * win32/msvc71.sln:
4763           updates for the win32 build (patch from Sebastien Moutte)
4764
4765 2005-10-10  Andy Wingo  <wingo@pobox.com>
4766
4767         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
4768         gst_bin_get_state, cleaned up (but no logic changes).
4769         (bin_element_is_sink): Comment updates.
4770         (sink_iterator_filter): Remove needless cast.
4771         (gst_bin_iterate_sinks): Doc update.
4772         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
4773         cleaned up (but no logic changes).
4774
4775         * check/states/sinks.c (test_src_sink): Cleanups from the state
4776         change patch.
4777         (test_livesrc_sink): Sync on the state.
4778
4779         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
4780         the state change patch.
4781
4782         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
4783         change patch.
4784
4785         * check/gst/gstbin.c: Merge in some style fixes and additional
4786         checks from Wim's state change patch.
4787
4788 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4789
4790         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4791         (gst_type_find_helper):
4792           Check whether we have the requested data already in our list of
4793           cached buffers before pulling a new buffer; also make the buffer
4794           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
4795
4796 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4797
4798         * gst/gstcaps.c:
4799         * gst/gstevent.c:
4800           doc updates
4801         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
4802           don't use long long, it's not portable.  Replacing with
4803           gint64 seems to work; let's hope no skeletons fall out of the closet.
4804
4805 2005-10-10  Andy Wingo  <wingo@pobox.com>
4806
4807         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
4808
4809 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
4810
4811         * docs/gst/gstreamer-sections.txt:
4812         * gst/gstevent.c:
4813         * gst/gstevent.h:
4814         * gst/gstinfo.c:
4815         * gst/gstinfo.h:
4816         * gst/gstmessage.c: (gst_message_parse_state_changed):
4817         * gst/gstpad.c:
4818         * gst/gstpad.h:
4819           more docs, fix compilation
4820
4821 2005-10-09  Philippe Khalaf <burger@speedy.org>
4822         * gst/gstmessage.c:
4823           Fixed a few forgotten variables on previous commit
4824
4825 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4826
4827         * gst/base/gsttypefindhelper.c: (helper_find_peek):
4828           Fix evil typefind crasher: getrange() might return a short
4829           buffer at the end of a file, but gst_type_find_peek() must
4830           either return the full data as requested or NULL, but
4831           never a short buffer.
4832
4833 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4834
4835         * gst/gstmessage.c: (gst_message_new_state_changed),
4836         (gst_message_parse_state_changed):
4837         * gst/gstmessage.h:
4838           don't use "new", it's a C++ keyword
4839
4840 2005-10-08  Wim Taymans  <wim@fluendo.com>
4841
4842         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
4843         * gst/gstelement.c: (gst_element_post_message):
4844         * gst/gstpipeline.c: (gst_pipeline_change_state):
4845         Small docs and debug updates.
4846
4847 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4848
4849         * docs/gst/gstreamer-sections.txt:
4850         * gst/gstelementfactory.c:
4851         * gst/gstevent.c:
4852         * gst/gsttaglist.c:
4853           more docs
4854
4855 2005-10-08  Wim Taymans  <wim@fluendo.com>
4856
4857         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
4858         (gst_bin_dispose), (bin_bus_handler):
4859         Fix typos, add comments.
4860         Clear EOS list when going to PAUSED from any direction and do it
4861         in a threadsafe way.
4862         Get base time in a threadsafe way too.
4863         Fix confusing debug in the change_state function.
4864         Various other small cleanups.
4865         
4866         * gst/gstelement.c: (gst_element_post_message):
4867         Fix very verbose bus posting code.
4868
4869         * gst/gstpipeline.c: (gst_pipeline_class_init),
4870         (gst_pipeline_set_property), (gst_pipeline_get_property),
4871         (gst_pipeline_change_state):
4872         Small ARG_ -> PROP_ cleanup
4873
4874 2005-10-08  Wim Taymans  <wim@fluendo.com>
4875
4876         * gst/gstbin.c: (is_eos), (bin_bus_handler):
4877         Do a less CPU demanding EOS check because we can.
4878
4879 2005-10-08  Wim Taymans  <wim@fluendo.com>
4880
4881         * libs/gst/dataprotocol/dataprotocol.c:
4882         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
4883         (gst_dp_packet_from_event):
4884         * libs/gst/dataprotocol/dataprotocol.h:
4885         * libs/gst/dataprotocol/dp-private.h:
4886         It's about time we bump the version number.
4887         Since event types don't fit in the guint8 anymore describing
4888         the payload type, make payload type 16 bits wide.
4889
4890 2005-10-08  Wim Taymans  <wim@fluendo.com>
4891
4892         * docs/design/part-TODO.txt:
4893         * docs/design/part-clocks.txt:
4894         * docs/design/part-events.txt:
4895         * docs/design/part-gstbin.txt:
4896         * docs/design/part-gstelement.txt:
4897         * docs/design/part-gstpipeline.txt:
4898         * docs/design/part-live-source.txt:
4899         * docs/design/part-messages.txt:
4900         * docs/design/part-overview.txt:
4901         * docs/design/part-states.txt:
4902         Many doc updates.
4903
4904 2005-10-08  Wim Taymans  <wim@fluendo.com>
4905
4906         * gst/gstevent.c:
4907         * gst/gstevent.h:
4908         Fix event quark registration.
4909         Add some space between events so we can insert them in the
4910         right groups.
4911
4912 2005-10-08  Wim Taymans  <wim@fluendo.com>
4913
4914         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4915         (gst_base_sink_handle_buffer):
4916         Better log message.
4917
4918         * gst/gstbus.h:
4919         * gst/gstelement.h:
4920         More docs.
4921
4922         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4923         (gst_queue_set_property), (gst_queue_get_property):
4924         * gst/gstqueue.h:
4925         Remove old unused properties.
4926
4927 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4928         * docs/gst/gstreamer-sections.txt:
4929         * gst/gstmessage.c:
4930         * gst/gstmessage.h:
4931         * gst/gstminiobject.c:
4932         * gst/gstminiobject.h:
4933         * gst/gstobject.h:
4934         * gst/gstpad.h:
4935         * gst/gstutils.h:
4936           lots of new docs and doc fixes
4937
4938 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4939
4940         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
4941         * gst/gstplugin.h:
4942         * gst/gstregistry.c: (gst_registry_lookup_locked),
4943         (gst_registry_scan_path_level):
4944         * gst/gstregistryxml.c: (load_plugin):
4945           Only ever load one plugin for a given plugin basename.
4946           This ensures correct overriding of GST_PLUGIN_PATH over
4947           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
4948           system installed plugins.
4949
4950 2005-10-08  Wim Taymans  <wim@fluendo.com>
4951
4952         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4953         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
4954         Prepare for doing QOS.
4955
4956 2005-10-08  Wim Taymans  <wim@fluendo.com>
4957
4958         * check/gst/gstbin.c: (GST_START_TEST):
4959         * check/pipelines/cleanup.c: (GST_START_TEST):
4960         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
4961         Allow new clock message too.
4962
4963 2005-10-08  Wim Taymans  <wim@fluendo.com>
4964
4965         * gst/gstmessage.c: (gst_message_new_error),
4966         (gst_message_new_warning), (gst_message_new_tag),
4967         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4968         (gst_message_new_clock_lost), (gst_message_new_new_clock),
4969         (gst_message_new_segment_start), (gst_message_new_segment_done),
4970         (gst_message_parse_state_changed),
4971         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
4972         (gst_message_parse_new_clock):
4973         * gst/gstmessage.h:
4974         Also carry the clock in question.
4975
4976 2005-10-08  Wim Taymans  <wim@fluendo.com>
4977
4978         * gst/gstmessage.c: (gst_message_new_custom),
4979         (gst_message_new_eos), (gst_message_new_error),
4980         (gst_message_new_warning), (gst_message_new_tag),
4981         (gst_message_new_state_changed), (gst_message_new_clock_provide),
4982         (gst_message_new_new_clock), (gst_message_new_segment_start),
4983         (gst_message_new_segment_done), (gst_message_parse_state_changed),
4984         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
4985         * gst/gstmessage.h:
4986         Clean up.
4987         Added clock related messages.
4988
4989         * gst/gstpipeline.c: (gst_pipeline_change_state):
4990         Post message when the clock changed.
4991
4992         * tools/gst-launch.c: (event_loop):
4993         Print new clock.
4994
4995 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
4996
4997         * tools/gst-inspect.c: (print_element_properties_info):
4998           Can't pass NULL strings to g_print() on windows.
4999
5000 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5001
5002         * docs/Makefile.am:
5003         * docs/gst/Makefile.am:
5004         * docs/gst/gstreamer-docs.sgml:
5005         * docs/gst/running.xml:
5006         * docs/version.entities.in:
5007           add a chapter on running GStreamer.
5008           document GST_DEBUG and GST_PLUGIN* env vars
5009
5010 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5011
5012         * Makefile.am:
5013           remove include dir
5014         * configure.ac:
5015           remove PLUGINS_BUILDDIR stuff
5016         * gst/gst.c: (init_post):
5017           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
5018         * idiottest.mak:
5019           remove, it was condescending and not needed
5020
5021 2005-10-08  Wim Taymans  <wim@fluendo.com>
5022
5023         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5024         (gst_base_sink_handle_object), (gst_base_sink_event),
5025         (gst_base_sink_wait), (gst_base_sink_handle_event),
5026         (gst_base_sink_change_state):
5027         * gst/base/gstbasesink.h:
5028         Repost EOS message while going to PLAYING if still EOS.
5029         Make sure that when receiving a FLUSH_START we don't attempt
5030         to sync on the clock anymore.
5031
5032 2005-10-08  Wim Taymans  <wim@fluendo.com>
5033
5034         * tools/gst-launch.c: (event_loop):
5035         Better message printout.
5036
5037 2005-10-08  Wim Taymans  <wim@fluendo.com>
5038
5039         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
5040         (gst_bin_child_proxy_get_children_count):
5041         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
5042         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
5043         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
5044         (gst_child_proxy_set_valist):
5045         * gst/parse/grammar.y:
5046         Make ChildProxy threadsafe and fix mem leaks.
5047
5048 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5049
5050         * gst/gst.c: (init_post):
5051           debug the GST_PLUGIN_ env vars
5052
5053 2005-10-08  Wim Taymans  <wim@fluendo.com>
5054
5055         * check/gst/gstbin.c: (GST_START_TEST):
5056         * check/gst/gstmessage.c: (GST_START_TEST):
5057         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5058         * gst/gstelement.c: (gst_element_commit_state),
5059         (gst_element_lost_state):
5060         * gst/gstmessage.c: (gst_message_new_state_changed),
5061         (gst_message_parse_state_changed):
5062         * gst/gstmessage.h:
5063         * tools/gst-launch.c: (event_loop):
5064         Added extra field to STATE_CHANGE message with the pending
5065         state, which will be different from the new state soon.
5066
5067 2005-10-08  Wim Taymans  <wim@fluendo.com>
5068
5069         * gst/gstbus.c: (gst_bus_pop):
5070         * gst/gstclock.c:
5071         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
5072         Small cleanups and doc updates.
5073
5074 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5075
5076         * gst/gst.c: (init_pre):
5077         * gst/gstbin.c: (gst_bin_add_func):
5078           log distributing clocks and base time
5079         * gst/gstregistry.c: (gst_registry_add_plugin),
5080         (gst_registry_scan_path_level), (gst_registry_scan_path):
5081           clean up the debugging output a little
5082         * gst/gstutils.c: (gst_element_state_get_name):
5083           warn about a memleak (I've actually seen this be used, though
5084           it was probably a bug)
5085
5086 2005-10-07  Wim Taymans  <wim@fluendo.com>
5087
5088         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5089         (gst_base_src_init), (gst_base_src_default_newsegment),
5090         (gst_base_src_newsegment), (gst_base_src_do_seek),
5091         (gst_base_src_loop), (gst_base_src_start):
5092         * gst/base/gstbasesrc.h:
5093         Make the newsegment event customizable by subclasses.
5094
5095 2005-10-07  Wim Taymans  <wim@fluendo.com>
5096
5097         * gst/gstevent.c: (gst_event_new_buffersize),
5098         (gst_event_parse_buffersize):
5099         * gst/gstevent.h:
5100         New event for future idea.
5101
5102 2005-10-07  Andy Wingo  <wingo@pobox.com>
5103
5104         * gst/gstelement.c (gst_element_post_message): Doc update.
5105
5106         * docs/gst/gstreamer-sections.txt: Update.
5107
5108         * gst/gstmessage.c (gst_message_new_application): Made into a
5109         function like honest API calls.
5110         (gst_message_new_element): New message type.
5111
5112         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
5113
5114         * check/elements/fakesrc.c (test_no_preroll): New check, checks
5115         that setting a live fakesrc to PAUSED returns NO_PREROLL both
5116         times.
5117
5118         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
5119         NO_PREROLL from gst_element_change_state to fall through.
5120
5121 2005-10-07  Wim Taymans  <wim@fluendo.com>
5122
5123         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
5124         (gst_ghost_pad_do_activate_push):
5125         Activating a ghostpad with no internal pad in push mode
5126         is ok.
5127
5128 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5129
5130         * gst/gstobject.h:
5131           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
5132           Fixes compilation on Windows.
5133
5134 2005-10-07  Michael Smith <msmith@fluendo.com>
5135
5136         * tools/gst-inspect.c:
5137           Print out feature and plugin count at the end when printing out
5138           all features.
5139
5140 2005-10-04  Michael Smith <msmith@fluendo.com>
5141
5142         * gst/gsterror.c: (_gst_stream_errors_init):
5143           Add another error string used in a few existing plugins.
5144
5145         * gst/gstplugin.c:
5146         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5147         * tools/gst-inspect.c: (print_element_info):
5148           When a feature disappears from a plugin (and the feature exists in
5149           the cached registry file), things went horribly wrong. This isn't a
5150           complete fix, we should actually be removing the 'missing' features
5151           from the features list when we load the actual plugin. That's not
5152           yet implemented. 
5153
5154 2005-10-04  Johan Dahlin  <johan@gnome.org>
5155
5156         * check/gst/gstiterator.c: (GST_START_TEST):
5157         * gst/gstbin.c: (gst_bin_iterate_elements),
5158         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
5159         * gst/gstelement.c: (gst_element_iterate_pads):
5160         * gst/gstformat.c: (gst_format_iterate_definitions):
5161         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5162         (gst_iterator_new_list), (gst_iterator_filter):
5163         * gst/gstiterator.h:
5164         * gst/gstquery.c: (gst_query_type_iterate_definitions):
5165         Add a GType to GstIterator, update callsites and tests.
5166
5167 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5168
5169         * gst/gstpad.c: (gst_pad_event_default_dispatch):
5170           give events a chance to be handled by event probes when the pad
5171           is not linked
5172
5173 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5174
5175         * gst/gstevent.c: (gst_event_type_get_name),
5176         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
5177         * gst/gstevent.h:
5178           add string representations for event types
5179
5180 2005-10-06  Wim Taymans  <wim@fluendo.com>
5181
5182         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
5183         Don't use NULL pointers.
5184
5185 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5186
5187         * gst/gst_private.h:
5188         * gst/gstbus.c:
5189         * gst/gstelement.c:
5190         * gst/gstinfo.c:
5191         * gst/gstpluginfeature.c:
5192           widen the debug category in output to fit the biggest one we have
5193           add a bus category and use it
5194           play with the colors
5195           fix up some categories
5196
5197 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5198
5199         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
5200           add push activation of sink ghost pads.
5201           Andye, please verify
5202
5203 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5204
5205         * gst/gstutils.c: (gst_element_link_pads):
5206           fix a bug in the case where neither element has a pad
5207         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5208           add a test for that case
5209
5210 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5211
5212         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
5213           emit have-data before checking for peers.  This allows
5214           for probe handlers to connect elements.  This helps autopluggers.
5215         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
5216         (gst_pad_suite):
5217           add six checks, linked/unlinked with no/true/false probe
5218
5219 2005-10-04  Wim Taymans  <wim@fluendo.com>
5220
5221         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
5222         (gst_fake_sink_event), (gst_fake_sink_preroll),
5223         (gst_fake_sink_render), (gst_fake_sink_change_state):
5224         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
5225         (gst_fake_src_get_property), (gst_fake_src_create),
5226         (gst_fake_src_stop):
5227         * gst/elements/gstidentity.c: (gst_identity_stop):
5228         Protect last_message with lock.
5229
5230 2005-10-04  Edward Hervey  <edward@fluendo.com>
5231
5232         * gst/gstformat.h: 
5233         Added precision in the comments for GST_FORMAT_DEFAULT
5234
5235 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
5236
5237         * tools/gst-launch.c: (main):
5238           Don't try to run erroneous pipelines.
5239
5240 2005-10-04  Julien MOUTTE  <julien@moutte.net>
5241
5242         * gst/gstbus.c: We don't need this header.
5243
5244 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5245
5246         * configure.ac:
5247           back to development
5248
5249 === release 0.9.3 ===
5250
5251 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5252
5253         * README:
5254         * configure.ac:
5255           Releasing 0.9.3, "Unregistered"
5256
5257 2005-10-03  Andy Wingo  <wingo@pobox.com>
5258
5259         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
5260         whereby calling a pad's activatepush() function can start a thread
5261         that starts to push or pull before the pad gets the FLUSHING flag
5262         unset. Hack around it by holding the stream lock until the flag is
5263         set. Need to replace this with a proper solution. Together with
5264         the ghost pad fixes, this fixes mp3 playing/tagreading.
5265
5266         * docs/design/part-gstghostpad.txt: Add a note about activation of
5267         proxy pads outside of ghost pads.
5268
5269         * gst/gstghostpad.c: Implement the ghost pad activation design.
5270
5271 2005-10-02  Andy Wingo  <wingo@pobox.com>
5272
5273         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
5274         It is volatile, after all.
5275
5276         * docs/design/part-gstghostpad.txt: Flesh out activation with
5277         ghost pads.
5278
5279         * gst/base/gstbasesrc.c (gst_base_src_init): Use
5280         GST_DEBUG_FUNCPTR.
5281
5282 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5283
5284         * configure.ac:
5285           Fix (unused) AM_CONDITIONAL tests.
5286
5287 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
5288
5289         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5290
5291         * gst/gstutils.c: (gst_pad_query_convert):
5292           Add assertion that makes sure src_val is >=0, just like
5293           gst_query_new_convert() has. (#315895)
5294
5295 2005-09-30  Edward Hervey  <edward@fluendo.com>
5296
5297         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
5298         Let's not iterate pads we're not interested in, it avoids getting 
5299         sky-high refcounts on sinkpad.
5300
5301 2005-09-30  Wim Taymans  <wim@fluendo.com>
5302
5303         * gst/gstelement.c: (gst_element_set_state),
5304         (gst_element_change_state):
5305         Small tweak, element in ASYNC remains ASYNC.
5306
5307 2005-09-30  Wim Taymans  <wim@fluendo.com>
5308
5309         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5310         Only error is an error.
5311
5312         * gst/gstbin.c: (gst_bin_change_state):
5313         Better debugging.
5314
5315         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
5316         Also call pad_block in pad alloc.
5317
5318         * gst/gstutils.c: (gst_flow_get_name):
5319         Better debugging.
5320
5321 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5322
5323         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5324         (gst_base_src_get_range):
5325           Fix documentation typos. Add some more debug info.
5326
5327 2005-09-29  David Schleef  <ds@schleef.org>
5328
5329         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5330           more end-user friendly.
5331         * tools/gst-inspect.c: (main): Check if command-line argument is
5332           a file and attempt to load that file as a plugin.
5333
5334 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5335
5336         * check/gst/gstbin.c:
5337         * check/states/sinks.c:
5338           fix tests for the new warning
5339         * check/gst/gstpipeline.c:
5340           add a test for pipeline and bus interaction
5341         * gst/gstelement.c:
5342           elements should be NULL if they get disposed; add a warning if not
5343
5344 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5345
5346         * gst/gstobject.c:
5347           for 2.6 refcounting, make debug log more correct by printing
5348           the actual refcounts at the time of swap (Wim)
5349
5350 2005-09-29  Andy Wingo  <wingo@pobox.com>
5351
5352         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5353         removes signal watches previously added via
5354         gst_bus_add_signal_watch.
5355         (gst_bus_add_signal_watch): Don't return the source id, just store
5356         it on the bus if there wasn't an id already.
5357
5358         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5359         add_signal_watch and remove_signal_watch.
5360
5361 2005-09-29  Edward Hervey  <edward@fluendo.com>
5362
5363         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
5364         Better if we actually iterate the list :)
5365
5366 2005-09-29  Wim Taymans  <wim@fluendo.com>
5367
5368         * check/gst/gstbin.c: (GST_START_TEST):
5369         Change for new bus API.
5370
5371         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5372         (send_messages), (GST_START_TEST), (gstbus_suite):
5373         Change for new bus signal API.
5374
5375         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5376         (gst_bus_source_prepare), (gst_bus_source_check),
5377         (gst_bus_create_watch), (gst_bus_add_watch_full),
5378         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5379         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5380         * gst/gstbus.h:
5381         Remove support for multiple GSources operating on different
5382         message types as it is too complex and unneeded when using
5383         signals.
5384         Added support for receiving signals from the bus.
5385
5386 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5387
5388         * docs/libs/tmpl/gstdataprotocol.sgml:
5389         * docs/manual/advanced-dataaccess.xml:
5390         * gst/elements/gstcapsfilter.c:
5391         * gst/gstutils.c:
5392           rename filter-caps to caps property
5393
5394 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5395
5396         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5397           More robust fraction string parsing.
5398
5399         * docs/pwg/appendix-porting.xml:
5400           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5401
5402 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5403
5404         * gst/gstcaps.c: (gst_caps_do_simplify):
5405           Thou shalt not free a structure and then continue using it
5406           in the next loop iteration.
5407
5408         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5409         (gst_caps_suite):
5410           Add test case for caps simplification.
5411
5412 2005-09-29  Wim Taymans  <wim@fluendo.com>
5413
5414         * check/gst/gstbin.c: (GST_START_TEST):
5415         Oops.
5416
5417 2005-09-29  Wim Taymans  <wim@fluendo.com>
5418
5419         * check/gst/gstbin.c: (GST_START_TEST):
5420         Add bus to bin.
5421
5422         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5423         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5424         (find_element), (gst_bin_sort_iterator_next),
5425         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5426         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5427         (gst_bin_change_state), (gst_bin_dispose):
5428         A bin does not have a bus, it gets the bus from the parent.
5429
5430         * gst/gstelement.c: (gst_element_requires_clock),
5431         (gst_element_provides_clock), (gst_element_is_indexable),
5432         (gst_element_is_locked_state), (gst_element_change_state),
5433         (gst_element_set_bus_func):
5434         Small cleanups.
5435
5436         * gst/gstpipeline.c: (gst_pipeline_class_init),
5437         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5438         The pipeline provides a bus.
5439
5440 2005-09-28  Johan Dahlin  <johan@gnome.org>
5441
5442         * gst/gstmessage.c (gst_message_parse_state_changed): Use
5443         gst_structure_get_enum instead of gst_structure_get_int
5444
5445         * gst/gststructure.c (gst_structure_get_enum): Impl.
5446
5447         * gst/gststructure.h (gst_structure_get_enum): Add
5448
5449         * docs/gst/gstreamer-sections.txt: Ditto
5450
5451         * gst/gstmessage.c (gst_message_new_state_changed): Use
5452         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5453         which does introspection.
5454         Reviewed by Christian Schaller
5455
5456 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5457
5458         * gst/gstinfo.c: (gst_debug_log_default):
5459           don't do dummy g_strdup()s
5460         * libs/gst/controller/gstcontroller.c:
5461         (on_object_controlled_property_changed),
5462         (gst_controlled_property_new), (gst_controller_new_valist),
5463         (gst_controller_new_list),
5464         (gst_controller_remove_properties_valist), (gst_controller_set),
5465         (gst_controller_get), (gst_controller_sync_values),
5466         (gst_controller_get_value_array), (_gst_controller_class_init),
5467         (gst_controller_get_type):
5468         * libs/gst/controller/gstcontroller.h:
5469         * libs/gst/controller/gstinterpolation.c:
5470         (gst_controlled_property_find_timed_value_node):
5471           convert // to /**/ comments
5472
5473 2005-09-28  Wim Taymans  <wim@fluendo.com>
5474
5475         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5476         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5477         (gst_bus_sync_signal_handler):
5478         * gst/gstbus.h:
5479         Added async-message and sync-message signals to the bus.
5480         Added helper BusFunc to emit signals for all posted messages.
5481
5482         * gst/gstmessage.c: (gst_message_type_get_name),
5483         (gst_message_type_to_quark), (gst_message_get_type):
5484         * gst/gstmessage.h:
5485         Register quarks for message names.
5486
5487 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5488
5489         * docs/libs/gstreamer-libs-sections.txt:
5490         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5491         (gst_controller_new_list):
5492         * libs/gst/controller/gstcontroller.h:
5493           added another constructor for language bindings
5494
5495 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5496
5497         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5498           add another check
5499         * gst/gstbus.c:
5500           add some doc
5501         * gst/gstinfo.c: (_gst_debug_init):
5502           slightly more readable color for refcount debugging
5503
5504 2005-09-28  Wim Taymans  <wim@fluendo.com>
5505
5506         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5507         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5508         (find_element), (gst_bin_sort_iterator_next),
5509         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5510         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5511         (gst_bin_change_state), (gst_bin_dispose):
5512         Small doc fixes. get_clock -> provide_clock.
5513
5514         * gst/gstelement.c: (gst_element_class_init),
5515         (gst_element_provides_clock), (gst_element_provide_clock),
5516         (gst_element_get_clock), (gst_element_commit_state),
5517         (gst_element_lost_state):
5518         * gst/gstelement.h:
5519         Make get/set_clock() symetric. Add provide_clock vmethod since
5520         that is actually what this function does.
5521
5522         * gst/gstpipeline.c: (gst_pipeline_class_init),
5523         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
5524         (gst_pipeline_get_clock):
5525         get_clock -> provide_clock.
5526
5527 2005-09-28  Andy Wingo  <wingo@pobox.com>
5528
5529         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
5530         lieu of real docs...
5531
5532         * gst/elements/gstfdsrc.c: Cleaned up a bit.
5533
5534 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
5535
5536         * gst/elements/gstcapsfilter.c:
5537         * gst/elements/gstfakesink.c:
5538         * gst/elements/gstfakesrc.c:
5539         * gst/elements/gstfdsink.c:
5540         * gst/elements/gstfdsrc.c:
5541         * gst/elements/gstfilesink.c:
5542         * gst/elements/gstfilesrc.c:
5543         * gst/elements/gstidentity.c:
5544         * gst/elements/gsttee.c:
5545         * gst/elements/gsttypefindelement.c:
5546           Make element details static.
5547
5548 2005-09-28  Wim Taymans  <wim@fluendo.com>
5549
5550         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5551         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5552         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5553         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5554         (gst_bin_change_state), (gst_bin_dispose):
5555         Some documentation updates.
5556         Clean up dispose handlers.
5557
5558         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
5559         * gst/gstpad.c: (gst_pad_dispose):
5560         Clean up dispose handler.
5561
5562         * gst/gstpipeline.c: (gst_pipeline_change_state):
5563         Removed spurious UNLOCK.
5564
5565 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
5566
5567         * docs/gst/gstreamer-sections.txt:
5568         * gst/base/gstbasesrc.h:
5569         * gst/gstelement.h:
5570         * gst/gstevent.h:
5571         * gst/gstobject.h:
5572         * gst/gstpad.h:
5573         * gst/gstpipeline.c:
5574         * gst/gstpipeline.h:
5575         * gst/gstutils.h:
5576         * gst/gstxml.h:
5577           added two new functions to the docs
5578                 documents all undocumented GstXXXFlags
5579                 completed some incomplete docs 
5580
5581 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5582
5583         * gst/gstbin.c: (gst_bin_dispose):
5584         * gst/gstelement.c: (gst_element_dispose):
5585           remove now useless and leaky resurrection code in dispose
5586         * gst/base/gstbasesrc.c: (gst_base_src_init):
5587         * gst/gstelementfactory.c: (gst_element_factory_create):
5588         * gst/gstobject.c: (gst_object_set_parent):
5589           add some debugging
5590
5591 2005-09-27  Wim Taymans  <wim@fluendo.com>
5592
5593         * docs/design/part-TODO.txt:
5594         Update TODO.
5595
5596         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5597         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5598         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5599         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5600         (gst_bin_change_state):
5601         * gst/gstelement.h:
5602         Remove element variable, we keep element info in the iterator now.
5603
5604 2005-09-27  Andy Wingo  <wingo@pobox.com>
5605
5606         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
5607         values.
5608
5609 2005-09-27  Wim Taymans  <wim@fluendo.com>
5610
5611         * check/gst/gstbin.c: (GST_START_TEST):
5612         Enable check that works now.
5613
5614         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5615         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5616         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5617         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5618         (gst_bin_change_state):
5619         * gst/gstbin.h:
5620         Redid the state change algorithm using a topological sort algo.
5621         Handles all cases correctly.
5622         Exposed iterator for state change order.
5623
5624         * gst/gstelement.h:
5625         Temp storage for state changes. Need to get rid of this soon.
5626
5627 2005-09-27  Wim Taymans  <wim@fluendo.com>
5628
5629         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
5630         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
5631         (link_fold_func), (gst_pad_proxy_setcaps):
5632         Leak fixes, the fold functions need to unref the passed object and
5633         _get_parent_*() returns ref to parent.
5634
5635 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5636
5637         * check/gst/gstbuffer.c: (test_make_writable):
5638           Plug leak in test case and fix 'make check-valgrind'
5639
5640 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5641
5642         * gst/gstbuffer.c: (gst_subbuffer_init):
5643           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
5644           works correctly in all circumstances (we could have just copied
5645           the parent buffer's readonly flag, but conceptually it seems
5646           cleaner to mark all subbuffers as read-only). (based on patch
5647           by Alessandro Decina, #314710).
5648         
5649         * check/gst/gstbuffer.c: (create_read_only_buffer),
5650         (test_make_writable), (test_subbuffer_make_writable),
5651         (gst_test_suite):
5652           Add some tests for gst_buffer_make_writable().
5653
5654 2005-09-27  Wim Taymans  <wim@fluendo.com>
5655
5656         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
5657         use gst_object_has_ancestor().
5658
5659         * gst/gstobject.c: (gst_object_has_ancestor):
5660         * gst/gstobject.h:
5661         gst_object_has_ancestor() copied from gstbin.c as it is a
5662         usefull function.
5663
5664         * tests/instantiate/create.c: (create_all_elements):
5665         * tests/lat.c: (handoff_src), (handoff_sink):
5666         * tests/sched/runxml.c: (main):
5667         * tests/seeking/seeking1.c: (main):
5668         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
5669         (main):
5670         Fix compilation of some tests.
5671
5672 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5673
5674         * gst/gsterror.h:
5675           Remove comment. GST_TYPE_G_ERROR is here to stay,
5676           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
5677           (#316961, #300610).
5678
5679 2005-09-26  Wim Taymans  <wim@fluendo.com>
5680
5681         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5682         Added check that shows error in state change order.
5683
5684 2005-09-26  Wim Taymans  <wim@fluendo.com>
5685
5686         * gst/gstbin.c: (gst_bin_change_state):
5687         Make state change function use 3 queues again, we were
5688         adding elements in the wrong order.
5689
5690         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
5691         Some debug info,
5692
5693         * gst/gstpad.c: (gst_pad_dispose):
5694         Added some debug info first.
5695
5696 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
5697
5698         * docs/design/draft-push-pull.txt:
5699         * docs/design/part-events.txt:
5700         * docs/design/part-overview.txt:
5701         * docs/design/part-scheduling.txt:
5702           Replace all _pull_region() with _pull_range()
5703           
5704 2005-09-26  Andy Wingo  <wingo@pobox.com>
5705
5706         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
5707
5708         * check/gst-libs/controller.c: Update for controller api change.
5709
5710         * configure.ac: 
5711         * tests/Makefile.am:
5712         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
5713         over by GLib bug 118439.
5714         
5715         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
5716         routines to a function.
5717
5718         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
5719
5720         * libs/gst/controller/gsthelper.c:
5721         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
5722         (gst_object_sync_values): Renamed from sink_values. Ugh.
5723
5724         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
5725
5726         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
5727         Renamed from controller_key, as it is exported.
5728
5729         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
5730
5731 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5732
5733         * gst/Makefile.am:
5734         * gst/gst.h:
5735         * gst/gstpad.h:
5736         * gst/gstpadtemplate.h:
5737         * gst/gstquery.c:
5738         * gst/gstquery.h:
5739         * gst/gstqueryutils.c:
5740         * gst/gstqueryutils.h:
5741           remove queryutils headers after moving the two used functions
5742           to gstquery.  also fixes build problem for gstsiddec
5743
5744 2005-09-26  Michael Smith <msmith@fluendo.com>
5745
5746         * tools/gst-launch.1.in:
5747         Correct documentation in manpage of debug syntax
5748
5749 2005-09-26  Wim Taymans  <wim@fluendo.com>
5750
5751         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
5752         (gst_base_src_is_seekable), (gst_base_src_change_state):
5753         Some more debugging info.
5754
5755 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5756
5757         * docs/gst/gstreamer-sections.txt:
5758         * gst/base/gstbasetransform.h:
5759         * gst/gstindex.h:
5760           added more docs
5761
5762 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5763
5764         * docs/gst/.cvsignore:
5765         * docs/gst/tmpl/.cvsignore:
5766         * docs/gst/tmpl/gstpipeline.sgml:
5767         * docs/gst/tmpl/gstplugin.sgml:
5768         * gst/gstpipeline.c:
5769         * gst/gstplugin.c:
5770         * gst/gstplugin.h:
5771           inlined the last two docs files
5772           removed the tmpl directory from cvs (no more conflicts here!)
5773
5774 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5775
5776         * docs/gst/gstreamer-sections.txt:
5777         * docs/gst/tmpl/.cvsignore:
5778         * docs/gst/tmpl/gstpad.sgml:
5779         * docs/gst/tmpl/gstpadtemplate.sgml:
5780         * gst/Makefile.am:
5781         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
5782         (gst_pad_finalize), (gst_pad_set_pad_template):
5783         * gst/gstpad.h:
5784         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5785         (gst_pad_template_class_init), (gst_pad_template_init),
5786         (gst_pad_template_dispose), (name_is_valid),
5787         (gst_static_pad_template_get), (gst_pad_template_new),
5788         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
5789         (gst_pad_template_pad_created):
5790         * gst/gstpadtemplate.h:
5791           inlined two more docs
5792           factored gstpadtemplate out of gstpad
5793
5794 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
5795
5796         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5797         (test_children_state_change_order_semi_sink):
5798           Fix test case: we can't rely on a fixed state change order when
5799           going from READY => PAUSED because the sink might commit its 
5800           new state first when the first buffer created by the source 
5801           reaches the sink before the source has finished its change state.
5802           (Test case still fails at times, see #316856, comment 5 onwards)
5803
5804 2005-09-24  Wim Taymans  <wim@fluendo.com>
5805
5806         * docs/design/part-events.txt:
5807         * docs/design/part-gstbus.txt:
5808         * docs/design/part-gstpipeline.txt:
5809         * docs/design/part-messages.txt:
5810         * docs/design/part-overview.txt:
5811         * docs/design/part-segments.txt:
5812         * gst/gstbin.c:
5813         * gst/gstbuffer.c:
5814         * gst/gstclock.c:
5815         * gst/gstelement.c:
5816         * gst/gstevent.c:
5817         * gst/gstfilter.c:
5818         * gst/gstiterator.c:
5819         Various documentation updates.
5820
5821 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5822
5823         * gst/gstclock.h:
5824           Well, that's embarassing.  Luckily we weren't using
5825           GST_CLOCK_DIFF anywhere.
5826
5827 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5828
5829         * common/gtk-doc.mak:
5830           don't fail on building XML, FC4 slave shows a bunch of doc
5831           missing bits that I don't get
5832         * gst/gstpad.c:
5833         * gst/gstpipeline.c:
5834         * gst/gststructure.c:
5835           some doc updates
5836
5837 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5838
5839         * docs/design/part-gstbin.txt:
5840         * docs/design/part-gstbus.txt:
5841         * gst/gstbus.c:
5842           Add blurb about how the bus goes into flushing mode and
5843           drops all messages when its bin goes from READY into NULL 
5844           state.
5845
5846 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5847
5848         * docs/gst/gstreamer-sections.txt:
5849         * gst/gststructure.c: (gst_structure_get_clock_time):
5850         * gst/gststructure.h:
5851           add a method to get a GstClockTime out of a structure
5852
5853 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5854
5855         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5856         (test_children_state_change_order_semi_sink), (gst_bin_suite):
5857           Added test to check state change order in bins (can still be made
5858           to fail here under heavy disk load; bails out with 'Push on pad
5859           fakesink:sink0, but it was not activated in push mode').
5860
5861         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
5862           Fix state change order when there is only a semi sink (#316856)
5863
5864         * gst/gstbus.c: (gst_bus_class_init):
5865           Use _class_peek_parent(), not _class_ref(); fix docs to say
5866           'default main context' instead of 'mainloop' where that is
5867           what's meant.
5868
5869         * gst/gstelement.c: (gst_element_commit_state),
5870         (gst_element_set_state):
5871           Fix typos in debug messages
5872
5873 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5874
5875         * docs/README:
5876         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
5877         * gst/gstpluginfeature.c:
5878         * gst/gstutils.c:
5879           various doc updates
5880         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5881           change an assert into an error until it gets fixed properly
5882
5883 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
5884
5885         * docs/gst/gstreamer-sections.txt:
5886         * docs/gst/tmpl/.cvsignore:
5887         * docs/gst/tmpl/gstelement.sgml:
5888         * docs/gst/tmpl/gstinfo.sgml:
5889         * docs/gst/tmpl/gstobject.sgml:
5890         * gst/gstelement.c:
5891         * gst/gstelement.h:
5892         * gst/gstinfo.c:
5893         * gst/gstinfo.h:
5894         * gst/gstobject.c: (gst_object_class_init):
5895         * gst/gstobject.h:
5896           inlined 3 more biiiig doc files and added some missing docs on the fly
5897
5898 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5899
5900         * check/gst/.cvsignore:
5901         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
5902         * gst/gstregistryxml.c: (load_plugin),
5903         (gst_registry_xml_save_plugin):
5904           put back source in registry.  add checks for find_plugin.
5905         * testsuite/states/bin.c: (assert_state), (empty_bin),
5906         (test_adding_one_element), (main):
5907         * testsuite/states/locked.c: (main):
5908           some compile/run fixes
5909
5910 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5911
5912         * check/gst/gstvalue.c: (GST_START_TEST):
5913           fix leaks in the test itself
5914
5915 2005-09-22  Wim Taymans  <wim@fluendo.com>
5916
5917         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5918         (gst_base_sink_send_event), (gst_base_sink_peer_query),
5919         (gst_base_sink_query):
5920         Prepare for more accurate position reporting and query
5921         handling.
5922
5923         * gst/gstelement.c: (gst_element_send_event),
5924         (gst_element_set_state):
5925         Add some comment.
5926
5927 2005-09-22  Wim Taymans  <wim@fluendo.com>
5928
5929         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
5930         (gst_query_parse_segment):
5931         * gst/gstquery.h:
5932         More documentation.
5933         Add segment query for future use.
5934
5935 2005-09-22  Wim Taymans  <wim@fluendo.com>
5936
5937         * gst/gstbin.c: (gst_bin_add_func):
5938         Some more debug info.
5939
5940         * gst/gstelement.c: (gst_element_send_event):
5941         Simplify send_event
5942
5943         * gst/gstelement.h:
5944         Don't know how flags got broken.
5945
5946         * gst/gstquery.h:
5947         Added new query.
5948
5949 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5950
5951         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
5952           Add simplistic test suite for GST_TYPE_DATE serialisation and
5953           deserialisation.
5954
5955 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5956
5957         * docs/gst/gstreamer-sections.txt:
5958         * gst/gststructure.c: (gst_structure_set_valist),
5959         (gst_structure_get_date):
5960         * gst/gststructure.h:
5961         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
5962         (gst_date_copy), (gst_value_compare_date),
5963         (gst_value_serialize_date), (gst_value_deserialize_date),
5964         (gst_value_transform_date_string),
5965         (gst_value_transform_string_date), (_gst_value_initialize):
5966         * gst/gstvalue.h:
5967           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
5968           bunch of utility functions along with a hack that checks that
5969           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
5970           is required. Part of the grand scheme in #170777.
5971
5972 2005-09-22  Andy Wingo  <wingo@pobox.com>
5973
5974         * gst/gstconfig.h.in: Psych out gtk-doc.
5975
5976         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
5977
5978         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
5979
5980         * tools/gst-inspect.c (print_element_list): Plug some
5981         inconsequential leaks.
5982
5983         * gst/gstregistry.c (gst_registry_get_default): Doc.
5984
5985         * check/gst/gstplugin.c: 
5986         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
5987         * gst/gstelementfactory.c (gst_element_factory_create): 
5988         * gst/gstindexfactory.c (gst_index_factory_create): Update for
5989         refcount changes.
5990
5991         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
5992         (gst_plugin_feature_load): Doc, don't eat refs.
5993
5994         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
5995         (gst_plugin_list_free): Doc.
5996         (gst_plugin_load_file): Doc updates.
5997
5998         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
5999         accessors returning refcounted objects, return a ref.
6000
6001         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
6002         accessor for caps. IDEMPOTENCE. Oh yes.
6003
6004 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
6005
6006         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6007
6008         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
6009         (_gst_debug_register_funcptr):
6010           Add mutex to serialise access to the hash table with
6011           the function pointer => function name string mapping;
6012           make that hash table static scope (#316809).
6013
6014         * gst/registries/.cvsignore:
6015           Remove left-over file.
6016
6017 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6018
6019         * docs/pwg/appendix-porting.xml:
6020           And something about newsegment events and caps-on-buffers to
6021           the porting guide (feel free to improve).
6022
6023 2005-09-21  Andy Wingo  <wingo@pobox.com>
6024
6025         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
6026         data and event probes on the same pad.
6027         (test_buffer_probe_once): Test that removing probes from within
6028         the probe functions works.
6029
6030 2005-09-21  Andy Wingo  <wingo@pobox.com>
6031
6032         * check/gst/gstutils.c: New file.
6033         (test_buffer_probe_n_times): A simple buffer probe test. More to
6034         come, foolios.
6035
6036         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
6037         have-data::buffer, not have-data.
6038         (gst_pad_add_event_probe): Likewise for have-data::event.
6039         (gst_pad_add_data_probe): More docs. The part about 'resolving the
6040         peer' isn't quite right yet though.
6041         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
6042         (gst_pad_remove_data_probe): Change to take the guint handler_id
6043         as their arg, not the function+data, which is more glib-like.
6044
6045         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
6046         the signal emission to indicate if the data is a buffer or an
6047         event.
6048         (gst_pad_get_type): Initialize buffer and event quarks.
6049         (gst_pad_class_init): have-data is now a detailed signal, yes it
6050         is.
6051
6052 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6053
6054         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6055         * gst/gstutils.c: (gst_util_set_value_from_string),
6056         (gst_util_set_object_arg):
6057           Don't put functional code in g_return_if_fail() or
6058           g_return_val_if_fail() statements, otherwise things will 
6059           break when G_DISABLE_CHECKS is defined during compilation.
6060
6061 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6062
6063         * docs/gst/tmpl/.cvsignore:
6064         * docs/gst/tmpl/gstvalue.sgml:
6065         * gst/gstvalue.c:
6066         * gst/gstvalue.h:
6067           inlied another one and added  some obvious docs
6068
6069 2005-09-21  Wim Taymans  <wim@fluendo.com>
6070
6071         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6072         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
6073         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
6074         (gst_fdsrc_get_property), (gst_fdsrc_create):
6075         * gst/elements/gstfdsrc.h:
6076         Properly implement fdsrc. Removed signal and timeout,
6077         better implemented somewhere else.
6078
6079 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6080
6081         * docs/gst/tmpl/.cvsignore:
6082         * docs/gst/tmpl/gstimplementsinterface.sgml:
6083         * gst/gstinterface.c:
6084           inlined more docs
6085
6086 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6087
6088         * docs/gst/gstreamer-sections.txt:
6089         * docs/gst/tmpl/.cvsignore:
6090         * docs/gst/tmpl/gstenumtypes.sgml:
6091           remove obsolete doc file
6092
6093 2005-09-21  David Schleef  <ds@schleef.org>
6094
6095         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
6096         little beer, fix a little leak.
6097
6098 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6099
6100         * docs/gst/gstreamer-docs.sgml:
6101         * docs/gst/gstreamer-sections.txt:
6102         * docs/gst/tmpl/.cvsignore:
6103         * gst/Makefile.am:
6104         * gst/gst.h:
6105         * gst/gstbin.c:
6106         * gst/gstelement.h:
6107         * gst/gstindex.c: (gst_index_class_init):
6108         * gst/gstindex.h:
6109         * gst/gstindexfactory.c: (gst_index_factory_get_type),
6110         (gst_index_factory_class_init), (gst_index_factory_init),
6111         (gst_index_factory_finalize), (gst_index_factory_new),
6112         (gst_index_factory_destroy), (gst_index_factory_find),
6113         (gst_index_factory_create), (gst_index_factory_make):
6114         * gst/gstindexfactory.h:
6115         * gst/gstpluginfeature.c:
6116         * gst/gstpluginfeature.h:
6117         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6118           more docs inlined, splitted gstindex.{c,h}
6119
6120 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6121
6122         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6123           fix a leak
6124
6125 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6126
6127         * gst/elements/gstfilesink.c: (gst_file_sink_init):
6128           Set sync to FALSE by default.
6129
6130 2005-09-20  Wim Taymans  <wim@fluendo.com>
6131
6132         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6133         (gst_base_sink_init):
6134         Make sync property settable from subclass.
6135
6136         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6137         (gst_fake_sink_change_state):
6138         Set sync to FALSE by default.
6139
6140 2005-09-20  Wim Taymans  <wim@fluendo.com>
6141
6142         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
6143         * tools/gst-launch.c: (main):
6144         The timeout handler should have lower priority than the source
6145         so we don't timeout before popping a message with 0 timeout.
6146         Dump error messages after failed state change.
6147
6148 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6149
6150         * tools/gst-inspect.c: (print_element_properties_info):
6151           Fix two typos.
6152
6153 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6154
6155         * check/gst/gstevent.c:
6156         * gst/elements/gstfakesink.c:
6157         * gst/elements/gstfakesink.h:
6158           remove the sync property from fakesink.
6159           has the side effect of setting sync TRUE
6160           for fakesink, which is a change.  Anyone who knows how
6161           to fix this nicely in a GObject-y way, feel free.
6162
6163 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6164
6165         * docs/gst/gstreamer-docs.sgml:
6166           remove probe refsection
6167
6168 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6169
6170         * check/Makefile.am:
6171           disable valgrinding the controller test again
6172         * docs/gst/gstreamer-sections.txt:
6173           update for api-changes
6174
6175 2005-09-20  Wim Taymans  <wim@fluendo.com>
6176
6177         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6178         (gst_base_sink_set_property), (gst_base_sink_get_property),
6179         (gst_base_sink_do_sync):
6180         * gst/base/gstbasesink.h:
6181         Added sync property to basesink to disable clock sync.
6182
6183 2005-09-20  Andy Wingo  <wingo@pobox.com>
6184
6185         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
6186         eating the caller's refcount.
6187
6188         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
6189         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
6190         refcount.
6191
6192         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
6193         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
6194         of GLib 2.8 public, so we can know which refcount to check in
6195         tests.
6196
6197         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
6198         (gst_object_init): Only set the gst refcount if we're going ahead
6199         with the refcount hack.
6200
6201 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6202
6203         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6204         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6205           more leaks plumbed, added more debug-logging
6206         * gst/gstmacros.h:
6207           whitespace fix
6208
6209 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6210
6211         * gst/gstmessage.c:
6212           remove include of gstmemchunk.h
6213
6214 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6215
6216         * gst/gstclock.c: (_gst_clock_id_free):
6217           Commit from the Political Party For More Atomic CVS Commits,
6218           so that people don't waste too much of their day fishing
6219           out obvious leaks out of massive commits.
6220           Oh, and fix a pretty damn obvious leak in the memchunk
6221           removal code.
6222
6223 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6224
6225         * check/Makefile.am:
6226         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6227           plug mem-leak, re-add to valgrindable tests
6228
6229 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6230
6231         * gst/gstplugin.h:
6232           unbreak the build for those who have chronic arthritis
6233           and typing "make check" is just too taxing on the hands
6234
6235 2005-09-20  Andy Wingo  <wingo@pobox.com>
6236
6237         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
6238         really want it out, you should fix plugins at the same time.
6239
6240 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
6241
6242         * configure.ac:
6243         * docs/gst/gstreamer-sections.txt:
6244         * gst/gstobject.c:
6245           added missing symbols to api docs
6246           disable ref-count hack if we have glib >= 2.8
6247
6248 2005-09-19  David Schleef  <ds@schleef.org>
6249
6250         * docs/gst/Makefile.am: Ignore a few more internal headers
6251         * docs/gst/gstreamer-docs.sgml: Remove old sections
6252         * docs/gst/gstreamer-sections.txt: Remove old sections
6253         * docs/gst/tmpl/gstobject.sgml: update
6254         * docs/gst/tmpl/gstplugin.sgml: update
6255         * docs/gst/tmpl/gstpluginfeature.sgml: update
6256         * docs/random/ds/0.9-suggested-changes: update.
6257         * gst/Makefile.am: remove memchunk and trashstack, since they're
6258           not used.
6259         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
6260         * gst/gst.h: don't include some headers
6261         * gst/gstchildproxy.c: add gstmarshal.h
6262         * gst/gstclock.c: Don't use memchunks
6263         * gst/gstminiobject.c: Add some docs
6264         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
6265         * gst/gstobject.h: same
6266         * gst/gstplugin.c: include gstmacros.h
6267         * gst/gstplugin.h: don't include gstmacros.h, since it's private
6268         * gst/gstquery.c: don't use memchunks
6269         * gst/gstregistry.c: rename gst_registry_deinit()
6270         * gst/gstregistry.h: same
6271
6272 2005-09-19  David Schleef  <ds@schleef.org>
6273
6274         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
6275         * docs/libs/gstreamer-libs-sections.txt:
6276         * docs/libs/tmpl/gstgetbits.sgml:
6277         * docs/libs/tmpl/gstputbits.sgml:
6278
6279 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6280
6281         * win32/gstenumtypes.c:
6282         * win32/gstenumtypes.h:
6283           Update.
6284
6285 2005-09-19  Wim Taymans  <wim@fluendo.com>
6286
6287         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
6288         Automatically PAUSE and RESUME a pipeline when a flushing seek
6289         is performed.
6290
6291 2005-09-19  Andy Wingo  <wingo@pobox.com>
6292
6293         * gst/gstregistry.h: Spacing fixen.
6294
6295 2005-09-19  Wim Taymans  <wim@fluendo.com>
6296
6297         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
6298         Handle state change failure more correctly.
6299
6300 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6301
6302         * check/Makefile.am:
6303         * check/pipelines/cleanup.c: (run_pipeline):
6304         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6305         (GST_START_TEST):
6306           enable cleanup again after fixing the leak
6307         * docs/README:
6308           some more info on docs
6309
6310 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6311
6312         * check/Makefile.am:
6313           re-enable tests now that leaks are plugged
6314         * check/gst/gst.c:
6315         * check/gst/gstbin.c:
6316         * check/gst/gstpipeline.c:
6317           add some more tests while fixing leaks
6318         * common/check.mak:
6319           make sure binaries are uptodate when valgrinding/gdbing
6320         * gst/gst.c:
6321         * gst/gstelementfactory.c:
6322           remove a ref too many, and add a FIXME for when we get
6323           round to disposing of classes
6324         * gst/gstplugin.c:
6325           fix the refcounting when loading a plugin from a file and
6326           the code pretends that the pointer is the same even though
6327           of course it can change
6328         * gst/gstpluginfeature.c:
6329           unref plugins marked cached (a bit confusing as a name)
6330           as the docs state should be done
6331           various doc additions to explain refcounting
6332         * gst/gstregistry.c:
6333         * gst/gstregistryxml.c:
6334           debugging
6335
6336 2005-09-19  Wim Taymans  <wim@fluendo.com>
6337
6338         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6339         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6340         (send_messages), (GST_START_TEST), (gstbus_suite):
6341         * check/gst/gstpipeline.c: (GST_START_TEST):
6342         * check/pipelines/cleanup.c: (run_pipeline):
6343         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6344         (GST_START_TEST):
6345         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6346         (gst_bus_source_check), (gst_bus_source_dispatch),
6347         (gst_bus_create_watch), (gst_bus_add_watch_full),
6348         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6349         * gst/gstbus.h:
6350         * tools/gst-launch.c: (event_loop):
6351         * tools/gst-md5sum.c: (event_loop):
6352         GstBusHandler -> GstBusFunc, return value has the same meaning as
6353         any other GSource (FALSE == remove source).
6354         _add_watch() and _add_watch_full() now take a MessageType mask to
6355         only handle specific types of messages.
6356         _poll() returns the GstMessage instead of the message type to avoid
6357         race conditions.
6358         _have_pending() takes a MessageType mask now too.
6359         Added testsuite for multiple bus watches.
6360         Fix testsuites and applications for new bus API.
6361
6362 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6363
6364         * check/Makefile.am:
6365           mark a bunch of the tests as to fix until we fix them
6366
6367 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6368
6369         * common/check.mak:
6370           use GST_PLUGIN settings for valgrind tests as well, so we're
6371           valgrinding the correct thing
6372         * gst/gst.c: (init_post):
6373           plug another leak
6374
6375 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6376
6377         * gst/gst.c: (init_post), (gst_deinit):
6378         * gst/gstelementfactory.c: (gst_element_factory_class_init),
6379         (gst_element_factory_finalize), (gst_element_factory_cleanup):
6380         * gst/gstindex.c: (gst_index_factory_class_init),
6381         (gst_index_factory_finalize):
6382         * gst/gstobject.c: (gst_object_dispose):
6383         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6384         (gst_plugin_load_file), (gst_plugin_desc_free):
6385         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6386         (gst_plugin_feature_finalize):
6387         * gst/gstregistry.c: (gst_registry_class_init),
6388         (gst_registry_init), (gst_registry_finalize),
6389         (gst_registry_get_default), (gst_registry_deinit):
6390         * gst/gstregistry.h:
6391         * gst/gstregistryxml.c: (load_feature), (load_plugin):
6392           various cleanups and memleak plugging.  make valgrind is happy now.
6393
6394 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6395
6396         * common/check.mak:
6397           add a check-valgrind target
6398
6399 2005-09-18  David Schleef  <ds@schleef.org>
6400
6401         * tools/gst-inspect.c: Revert the GOption code.
6402
6403 2005-09-17  David Schleef  <ds@schleef.org>
6404
6405         * check/Makefile.am: Fix environment variables.
6406         * check/gst/gstplugin.c: Fix for API changes.
6407         * tools/gst-inspect.c: Fix for API changes.
6408         * tools/gst-xmlinspect.c: Fix for API changes.
6409         * gst/gstelementfactory.c:
6410         * gst/gstplugin.c:
6411         * gst/gstplugin.h:
6412         * gst/gstpluginfeature.c:
6413         * gst/gstpluginfeature.h:
6414         * gst/gstregistry.c:
6415         * gst/gstregistry.h:
6416         * gst/gstregistryxml.c:
6417         * gst/gsttypefind.c:
6418         * gst/gsttypefindfactory.c:
6419         * gst/indexers/gstfileindex.c:
6420         * gst/indexers/gstmemindex.c:
6421         * gst/schedulers/Makefile.am:
6422           Change registry to keep track of both plugins and features,
6423           removing the feature tracking from plugins themselves.
6424
6425 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6426
6427         * check/Makefile.am:
6428         * tools/gst-register.1.in:
6429           remove gst-register
6430
6431 2005-09-15  David Schleef  <ds@schleef.org>
6432
6433         * check/gst/gstplugin.c:
6434         * gst/gstelementfactory.c:
6435         * gst/gstplugin.c:
6436         * gst/gstpluginfeature.c:
6437         * gst/gstregistry.c:
6438           Getting tired of debugging.  Disabled all the unreffing of
6439           plugins and features, which fixes the segfaults, but of
6440           course leaks like crazy.  At least playbin works.
6441
6442 2005-09-15  David Schleef  <ds@schleef.org>
6443
6444         * check/gst/gstplugin.c: (register_check_elements),
6445         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6446         More testing
6447         * gst/elements/gsttypefindelement.c: Fix refcounting.
6448         * gst/gsttypefind.c:
6449         * gst/gsttypefindfactory.c:
6450         * gst/gsttypefindfactory.h:
6451
6452 2005-09-15  David Schleef  <ds@schleef.org>
6453
6454         * gst/gstindex.c: get refcounting correct.
6455         * gst/gstregistry.c: Handle the case where a feature/plugin is
6456           not found.
6457
6458 2005-09-15  David Schleef  <ds@schleef.org>
6459
6460         * check/Makefile.am:
6461         * check/gst/gstplugin.c: Add test
6462         * gst/gstplugin.c: Fix problems noticed by testsuite
6463         * gst/gstplugin.h:
6464         * gst/gstregistry.c: 
6465         * gst/gstregistry.h:
6466
6467 2005-09-15  David Schleef  <ds@schleef.org>
6468
6469         * gst/gstplugin.c: Implement semi-decent recounting and locking
6470           in plugins and plugin features.
6471         * gst/gstplugin.h:
6472         * gst/gstpluginfeature.c:
6473         * gst/gstpluginfeature.h:
6474         * gst/gstregistry.c:
6475
6476 2005-09-15  Michael Smith <msmith@fluendo.com>
6477
6478         * gst/gstregistry.c: (gst_registry_get_feature_list):
6479           Implement this. Makes oggdemux work; decodebin still broken.
6480
6481 2005-09-14  David Schleef  <ds@schleef.org>
6482
6483         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6484           #316076)
6485         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6486         * gst/check/Makefile.am:
6487         * libs/gst/controller/Makefile.am:
6488         * libs/gst/dataprotocol/Makefile.am:
6489
6490 2005-09-14  David Schleef  <ds@schleef.org>
6491
6492         * configure.ac: Remove getbits library.  Nothing uses it, and
6493           it should be in something like liboil if someone did want
6494           to use it.
6495         * libs/gst/Makefile.am:
6496         * libs/gst/getbits/Makefile.am:
6497         * libs/gst/getbits/gbtest.c:
6498         * libs/gst/getbits/getbits.c:
6499         * libs/gst/getbits/getbits.h:
6500         * libs/gst/getbits/gstgetbits_generic.c:
6501         * libs/gst/getbits/gstgetbits_i386.s:
6502         * libs/gst/getbits/gstgetbits_inl.h:
6503
6504 2005-09-14  David Schleef  <ds@schleef.org>
6505
6506         * gst/Makefile.am: Dist glib-compat.h
6507
6508 2005-09-14  David Schleef  <ds@schleef.org>
6509
6510         * configure.ac: Remove gst/registries, since it's no longer used.
6511         * gst/registries/Makefile.am:
6512         * gst/registries/gstlibxmlregistry.c:
6513         * gst/registries/gstlibxmlregistry.h:
6514         * gst/registries/gstxmlregistry.c:
6515         * gst/registries/gstxmlregistry.h:
6516         * gst/registries/registrytest.c:
6517
6518 2005-09-14  David Schleef  <ds@schleef.org>
6519
6520         * gst/glib-compat.h:
6521         * gst/gstregistryxml.c:
6522           Convergence is near.  Seriously.
6523
6524 2005-09-14  David Schleef  <ds@schleef.org>
6525
6526         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6527         * gst/glib-compat.h:
6528           Attempt #4 to appease the buildbots.
6529
6530 2005-09-14  David Schleef  <ds@schleef.org>
6531
6532         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6533           Attempt #3.
6534
6535 2005-09-14  David Schleef  <ds@schleef.org>
6536
6537         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6538         Attempt #2.
6539
6540 2005-09-14  David Schleef  <ds@schleef.org>
6541
6542         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
6543           the new functions.
6544
6545 2005-09-14  David Schleef  <ds@schleef.org>
6546
6547         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6548         * gst/glib-compat.h: Add some functions that are in newer versions
6549           of glib than we care to require.
6550         * gst/gstregistryxml.c: Use them.
6551
6552 2005-09-14  David Schleef  <ds@schleef.org>
6553
6554         * po/POTFILES.in: remove gst-register.c
6555
6556 2005-09-14  David Schleef  <ds@schleef.org>
6557
6558         * docs/gst/gstreamer-docs.sgml:
6559         * docs/gst/gstreamer-sections.txt:
6560         * docs/gst/gstreamer.types:
6561         * docs/gst/tmpl/gstelement.sgml:
6562         * docs/gst/tmpl/gstplugin.sgml:
6563         * docs/gst/tmpl/gstpluginfeature.sgml:
6564           Documentation updates for registry changes.
6565
6566 2005-09-14  David Schleef  <ds@schleef.org>
6567
6568         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
6569           because we don't require glib-2.8.
6570
6571 2005-09-14  David Schleef  <ds@schleef.org>
6572
6573         * gst/gstregistryxml.c: Added.  Essentially moved out of the
6574           registries directory.
6575
6576 2005-09-14  David Schleef  <ds@schleef.org>
6577
6578         * check/Makefile.am:
6579         * check/generic/states.c:
6580         * gst/Makefile.am:
6581         * gst/gst.c:
6582         * gst/gst.h:
6583         * gst/gst_private.h:
6584         * gst/gstelementfactory.c:
6585         * gst/gstindex.c:
6586         * gst/gstinfo.c:
6587         * gst/gstplugin.c:
6588         * gst/gstplugin.h:
6589         * gst/gstpluginfeature.c:
6590         * gst/gstpluginfeature.h:
6591         * gst/gstregistry.c:
6592         * gst/gstregistry.h:
6593         * gst/gstregistrypool.c: remove
6594         * gst/gstregistrypool.h: remove
6595         * gst/gsttypefind.c:
6596         * gst/gsttypefindfactory.c:
6597         * gst/gsturi.c:
6598         * tools/Makefile.am:
6599         * tools/gst-compprep.c:
6600         * tools/gst-inspect.c:
6601         * tools/gst-register.c: remove
6602         * tools/gst-xmlinspect.c:
6603           Registry rewrite.  Changes registry from being a file created
6604           by a tool into a simple cache file created automatically by 
6605           libgstreamer.  Removed gst-register (because it's no longer
6606           needed).  Remove registry pools, because we only have one
6607           registry implementation (XML).  Fix up other subsystems as
6608           necessary.
6609
6610 2005-09-13  Michael Smith <msmith@fluendo.com>
6611
6612         * gst/gstconfig.h.in:
6613           Don't Use windows linking attributes for MinGW. Fixes #316157
6614
6615 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6616
6617         * gst/gstutils.c: (set_state_async_thread_func),
6618         (gst_element_set_state_async):
6619           Apparently people think it's better if this function doesn't
6620           try to set the state to whatever state was asked for on the first
6621           call to this function for any object.  Seriously.
6622
6623 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6624
6625         * check/gst/gstpipeline.c: (GST_START_TEST):
6626         * docs/gst/gstreamer-sections.txt:
6627         * gst/gstutils.c: (set_state_async_thread_func),
6628         (gst_element_set_state_async):
6629         * gst/gstutils.h:
6630           add a "gst_element_set_state_async" method that
6631           sets the state and starts a thread to make sure the state
6632           change completes as best as it can
6633
6634 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6635
6636         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6637           codify design+behaviour in testsuite after discussion
6638
6639 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6640
6641         * docs/gst/tmpl/gstelement.sgml:
6642         * docs/manual/appendix-quotes.xml:
6643           add a quote
6644         * gst/gstelement.c: (gst_element_set_state):
6645           add some debug
6646
6647 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
6648
6649         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6650         (gst_base_transform_prepare_output_buf),
6651         (gst_base_transform_handle_buffer):
6652         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
6653         (gst_capsfilter_prepare_buf):
6654           Remove the requirement for sub-classes to call the parent
6655           implementation of prepare_output_buffer with a wrapper function.
6656           
6657         * gst/gsttaglist.h:
6658         * gst/gsttagsetter.h:
6659           Fix #define wrapper
6660
6661 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
6662
6663         * docs/gst/gstreamer-sections.txt:
6664           more doc cleanups
6665
6666 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6667
6668         * docs/gst/gstreamer-sections.txt:
6669         * docs/gst/tmpl/gstelement.sgml:
6670         * docs/gst/tmpl/gstplugin.sgml:
6671         * gst/gstminiobject.c:
6672         * gst/gstvalue.h:
6673           docs now stop throwing warnings
6674
6675 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6676
6677         * docs/gst/gstreamer-sections.txt:
6678         * docs/gst/gstreamer.types:
6679         * docs/gst/tmpl/gstpad.sgml:
6680         * docs/gst/tmpl/gsttypes.sgml:
6681         * gst/base/gstadapter.h:
6682         * gst/base/gstbasesink.h:
6683         * gst/base/gstbasesrc.h:
6684         * gst/gstbin.h:
6685         * gst/gstbuffer.h:
6686         * gst/gstbus.h:
6687         * gst/gstcaps.h:
6688         * gst/gstclock.h:
6689         * gst/gstelement.h:
6690         * gst/gstevent.h:
6691         * gst/gstmessage.h:
6692         * gst/gstpad.h:
6693         * gst/gststructure.c:
6694         * gst/registries/gstlibxmlregistry.h:
6695           various documentation fixes
6696
6697 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6698
6699         * docs/gst/gstreamer-sections.txt:
6700         * docs/gst/tmpl/gstvalue.sgml:
6701           rearrange gstvalue section
6702         * gst/gstutils.c: (gst_element_state_get_name):
6703           NONE -> VOID
6704         * gst/gstvalue.c: (_gst_value_initialize):
6705         * gst/gstvalue.h:
6706           doc updates
6707
6708 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
6709
6710         * check/gst-libs/controller.c:
6711           Header include fix.
6712         * gst/base/gstbasetransform.c:
6713         (gst_base_transform_default_prepare_buf),
6714         (gst_base_transform_handle_buffer):
6715         * gst/base/gstbasetransform.h:
6716           Some more basetransform changes and fixes to enable sub-classes
6717           that modify buffer metadata only.
6718         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6719         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
6720         (gst_capsfilter_prepare_buf):
6721           If the output pad has fixed allowed caps and input buffers 
6722           don't have any, set the fixed caps on outgoing buffers.
6723
6724 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
6725         * check/elements/identity.c: (GST_START_TEST):
6726           Make the error a little clearer when the test fails because
6727           identity made a copy of the buffer.
6728         * docs/gst/gstreamer-sections.txt:
6729           New symbols in gstbasetransform.h
6730         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6731         (gst_base_transform_init), (gst_base_transform_transform_size),
6732         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6733         (gst_base_transform_default_prepare_buf),
6734         (gst_base_transform_get_unit_size),
6735         (gst_base_transform_buffer_alloc),
6736         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
6737         (gst_base_transform_change_state),
6738         (gst_base_transform_set_passthrough),
6739         (gst_base_transform_set_in_place),
6740         (gst_base_transform_is_in_place):
6741         * gst/base/gstbasetransform.h:
6742           Change BaseTransform to separate in_place operate from same_caps
6743           output. in_place implies that the element can perform the transform
6744           on incoming buffers in-place, even if the caps on the output are
6745           different.
6746           Sub-class elements can now implement special buffer allocation
6747           methods for outgoing buffers if they wish to.
6748           Big documentation addition.
6749         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
6750         * gst/elements/gstelements.c:
6751           Changes for basetransform modifications.
6752         * gst/elements/Makefile.am:
6753         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
6754           Compile fix. Extra debug output.
6755
6756 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6757
6758         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
6759         (gst_pad_suite):
6760           add tests for valid pad naming
6761         * gst/check/gstcheck.c: (gst_check_log_message_func),
6762         (gst_check_log_critical_func):
6763           add ASSERT_WARNING
6764           remove printing of code, it is fragile when the code contains
6765           % and the line number is enough info
6766         * gst/check/gstcheck.h:
6767         * gst/gstpad.c: (gst_pad_template_new):
6768           fix memleaks
6769
6770 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6771
6772         * configure.ac:
6773           say what CHECK flags we use
6774         * docs/libs/gstreamer-libs.types:
6775         * libs/gst/controller/Makefile.am:
6776         * libs/gst/controller/gst-controller.c:
6777         * libs/gst/controller/gst-controller.h:
6778         * libs/gst/controller/gst-helper.c:
6779         * libs/gst/controller/gst-interpolation.c:
6780         * libs/gst/controller/gstcontroller.c:
6781         * libs/gst/controller/gsthelper.c:
6782         * libs/gst/controller/gstinterpolation.c:
6783         * tools/gst-inspect.c: (print_plugin_info):
6784           we don't use dashes in header names
6785
6786 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6787
6788         * check/Makefile.am:
6789         * check/gst/.cvsignore:
6790         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
6791         (gst_pipeline_suite), (main):
6792           adding a test for pipelines and state changes
6793         * gst/gstutils.c: (get_state_func):
6794           add some debugging
6795         * gstreamer.spec.in:
6796           fix up spec file
6797
6798 2005-09-08  Michael Smith <msmith@fluendo.com>
6799
6800         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
6801         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
6802         (gst_file_src_is_seekable), (gst_file_src_get_size),
6803         (gst_file_src_start):
6804         * gst/elements/gstfilesrc.h:
6805           Various fixes for unseekable, unmmapable, and non-normal files, so
6806           that fallback to read() rather than mmap() works.
6807         * gst/gstevent.c: (gst_event_new_newsegment):
6808           Allow newsegment events with segment_start == segment_end, as will
6809           correctly happen if you use filesrc on a zero-size file, for
6810           example.
6811
6812 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6813
6814         * gst/gstplugin.c: (gst_plugin_load_file):
6815           Call g_module_close when we don't load the module
6816
6817         * gst/registries/gstlibxmlregistry.c:
6818         (gst_xml_registry_get_property):
6819           Port leak fix from 0.8
6820
6821 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6822
6823         * docs/gst/gstreamer-docs.sgml:
6824         * docs/gst/tmpl/.cvsignore:
6825         * docs/gst/tmpl/gsttrace.sgml:
6826         * docs/gst/tmpl/gsttrashstack.sgml:
6827         * gst/Makefile.am:
6828         * gst/gst.h:
6829         * gst/gstelement.h:
6830         * gst/gstevent.h:
6831         * gst/gstmessage.c:
6832         * gst/gstmessage.h:
6833         * gst/gsttag.c:
6834         * gst/gsttag.h:
6835         * gst/gsttaginterface.c:
6836         * gst/gsttaginterface.h:
6837         * gst/gsttaglist.c:
6838         * gst/gsttaglist.h:
6839         * gst/gsttagsetter.c:
6840         * gst/gsttagsetter.h:
6841         * gst/gsttrace.c:
6842         * gst/gsttrace.h:
6843         * gst/gsttrashstack.c:
6844           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
6845           inlined docs for gsttrace, gsttrashstack
6846
6847 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6848
6849         * gst/Makefile.am:
6850         * gst/elements/gstbufferstore.h:
6851         * gst/elements/gsttypefindelement.c:
6852         * gst/elements/gsttypefindelement.h:
6853         * gst/gst.h:
6854         * gst/gsttypefind.c:
6855         * gst/gsttypefind.h:
6856         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
6857         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
6858         (gst_type_find_factory_dispose),
6859         (gst_type_find_factory_unload_thyself),
6860         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
6861         (gst_type_find_factory_get_caps),
6862         (gst_type_find_factory_get_extensions),
6863         (gst_type_find_factory_call_function):
6864         * gst/gsttypefindfactory.h:
6865         * gst/registries/gstlibxmlregistry.c:
6866         * gst/registries/gstxmlregistry.c:
6867           splitted gsttypefind into gsttypefind, gsttypefindfactory
6868
6869 2005-09-07  Andy Wingo  <wingo@pobox.com>
6870
6871         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
6872         condition whereby the pad's task function is entered before the
6873         pad_mode variable was set.
6874
6875 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6876
6877         * gst/gstpad.c: (gst_pad_alloc_buffer):
6878           Catch misbehaving pad_alloc functions that don't
6879           set up caps and do it for them.
6880
6881 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6882
6883         * check/pipelines/simple_launch_lines.c: (run_pipeline):
6884           test for pipe!=NULL
6885         * docs/gst/tmpl/.cvsignore:
6886         * docs/gst/tmpl/gstmemchunk.sgml:
6887         * docs/gst/tmpl/gstparse.sgml:
6888         * docs/gst/tmpl/gsttaglist.sgml:
6889         * docs/gst/tmpl/gsttagsetter.sgml:
6890         * docs/gst/tmpl/gsttypefind.sgml:
6891         * docs/gst/tmpl/gsttypefindfactory.sgml:
6892         * gst/gstmemchunk.c:
6893         * gst/gstparse.c:
6894         * gst/gsttag.c:
6895         * gst/gsttaginterface.c:
6896         * gst/gsttypefind.c:
6897         * gst/gsttypefind.h:
6898           inlined more docs
6899
6900 === release 0.9.2 ===
6901
6902 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6903
6904         * NEWS:
6905         * RELEASE:
6906         * configure.ac:
6907           releasing 0.9.2, "South"
6908
6909 2005-09-05  Andy Wingo  <wingo@pobox.com>
6910
6911         * gst/registries/gstxmlregistry.h:
6912         * gst/registries/gstxmlregistry.c: Um... resurrect...
6913         
6914         * gst/registries/gstxmlregistry.h:
6915         * gst/registries/gstxmlregistry.c: and update to newer API.
6916         Incidentally they should be a bit faster now that they don't have
6917         to parse the caps.
6918         
6919 2005-09-05  Andy Wingo  <wingo@pobox.com>
6920
6921         * gst/registries/gstxmlregistry.h:
6922         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
6923         replaced by the libxml registry a while back
6924
6925 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6926
6927         * docs/gst/tmpl/gstplugin.sgml:
6928         * gst/elements/gstelements.c:
6929         * gst/gst.c:
6930         * gst/gstplugin.c: (gst_plugin_register_func),
6931         (gst_plugin_desc_copy), (gst_plugin_desc_free),
6932         (gst_plugin_get_source):
6933         * gst/gstplugin.h:
6934         * gst/registries/gstlibxmlregistry.c: (load_plugin),
6935         (gst_xml_registry_save_plugin):
6936         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
6937         (gst_xml_registry_save_plugin):
6938         * tools/gst-inspect.c: (print_plugin_info):
6939           add a "source" plugin description field, to represent the source
6940           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
6941           will set it to PACKAGE, which is automake's idea of the name of
6942           the source project.
6943
6944 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6945
6946         * Makefile.am:
6947         * autogen.sh:
6948         * configure.ac:
6949         * docs/Makefile.am:
6950         * docs/faq/Makefile.am:
6951         * docs/gst/tmpl/gstelement.sgml:
6952         * docs/gst/tmpl/gsttypes.sgml:
6953         * docs/htmlinstall.mak:
6954         * docs/manual/Makefile.am:
6955         * docs/pwg/Makefile.am:
6956           reorganize doc build a little
6957           split out docbook and gtk-doc stuff
6958           have two separate --enable's and enable them through autogen
6959           but disable by default in configure (to be similar to other
6960           projects)
6961         * gstreamer.spec.in:
6962           clean up docs install
6963         * po/af.po:
6964         * po/az.po:
6965         * po/ca.po:
6966         * po/cs.po:
6967         * po/de.po:
6968         * po/en_GB.po:
6969         * po/fr.po:
6970         * po/it.po:
6971         * po/nb.po:
6972         * po/nl.po:
6973         * po/ru.po:
6974         * po/sq.po:
6975         * po/sr.po:
6976         * po/sv.po:
6977         * po/tr.po:
6978         * po/uk.po:
6979         * po/vi.po:
6980           translation updates
6981
6982 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
6983
6984         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
6985           Add comment.
6986           
6987         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6988         (gst_fake_sink_change_state):
6989           Make state change function thread-safe.
6990           
6991         * gst/gstpad.c: (gst_pad_alloc_buffer):
6992           Set offset on generic buffer allocated by fallback.
6993
6994 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
6995
6996         * docs/gst/gstreamer-sections.txt:
6997         * docs/gst/tmpl/gstelement.sgml:
6998         * gst/gstpad.c:
6999         * libs/gst/controller/gst-controller.c:
7000         (gst_controlled_property_set_interpolation_mode),
7001         (gst_controlled_property_new),
7002         (gst_controller_find_controlled_property):
7003          run the wingo-magic script against the docs
7004
7005 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7006
7007         * docs/gst/gstreamer-docs.sgml:
7008         * docs/gst/gstreamer-sections.txt:
7009         * docs/gst/tmpl/.cvsignore:
7010         * docs/gst/tmpl/gstelementdetails.sgml:
7011         * docs/gst/tmpl/gstelementfactory.sgml:
7012         * gst/gst.c:
7013         * gst/gstbus.c:
7014         * gst/gstelementfactory.c:
7015         * gst/gstelementfactory.h:
7016           merged elementdetails docs into elementfactory docs
7017           inlined both
7018
7019 2005-09-02  Andy Wingo  <wingo@pobox.com>
7020
7021         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
7022         consider this enum an enum and not a flags.
7023
7024 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7025
7026         * docs/gst/gstreamer-docs.sgml:
7027         * docs/gst/tmpl/.cvsignore:
7028         * docs/gst/tmpl/gstghostpad.sgml:
7029         * docs/gst/tmpl/gstiterator.sgml:
7030         * docs/gst/tmpl/gstmacros.sgml:
7031         * docs/gst/tmpl/gstrealpad.sgml:
7032         * docs/gst/tmpl/gstregistry.sgml:
7033         * docs/gst/tmpl/gstregistrypool.sgml:
7034         * docs/gst/tmpl/gststructure.sgml:
7035         * docs/gst/tmpl/gstsystemclock.sgml:
7036         * docs/gst/tmpl/gsttrace.sgml:
7037         * gst/gstghostpad.c:
7038         * gst/gstmacros.h:
7039         * gst/gstmemchunk.c:
7040         * gst/gstmemchunk.h:
7041         * gst/gstqueue.c:
7042         * gst/gstregistry.c:
7043         * gst/gstregistrypool.c:
7044         * gst/gststructure.c:
7045         * gst/gstsystemclock.c:
7046           more docs inlined
7047
7048 2005-09-02  Andy Wingo  <wingo@pobox.com>
7049
7050         * gst/gstelement.h (GstState): Renamed from GstElementState,
7051         changed to be a normal enum instead of flags.
7052         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
7053         munged to be GST_STATE_CHANGE_*.
7054         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
7055         work with the new state representation.
7056         (GstStateChange): New enumeration of possible state transitions.
7057         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
7058         (GstElementClass::change_state): Pass the GstStateChange along as
7059         an argument. Helps language bindings, so they don't have to use
7060         tricky lock-needing macros like GST_STATE_CHANGE ().
7061
7062         * scripts/update-states (file): New script. Run it on a file to
7063         update it for state naming and API changes. Updates files in
7064         place.
7065
7066         * All files updated for the new API.
7067
7068 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7069
7070         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
7071         * gst/gstutils.c: (gst_util_set_value_from_string),
7072         (gst_util_set_object_arg):
7073           fix a bunch of unchecked return values
7074         * tools/gst-complete.c: (main):
7075         * gstreamer.spec.in:
7076           clean up a little
7077
7078 2005-09-01  Wim Taymans  <wim@fluendo.com>
7079
7080         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7081         (gst_base_sink_event), (gst_base_sink_do_sync),
7082         (gst_base_sink_handle_event):
7083         * gst/base/gstbasesink.h:
7084         Handle newsegments more correctly.
7085
7086         * gst/gstbus.c:
7087         Fix docs.
7088
7089         * gst/gstevent.c: (gst_event_new_newsegment):
7090         A newsegment cannot have a start_time of -1
7091
7092 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
7093
7094         * win32/gstenumtypes.c:
7095         * win32/gstenumtypes.h:
7096           Update
7097
7098 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7099
7100         * libs/gst/controller/gst-controller.c:
7101         (gst_controlled_property_set_interpolation_mode),
7102         (gst_controlled_property_new):
7103          fixed boolean again
7104
7105 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
7106
7107         * docs/faq/gst-uninstalled:
7108           add -good
7109         * gst/gstevent.c:
7110         * gst/gstevent.h:
7111           remove wrong docs
7112         * gst/gstutils.c: (gst_element_link_filtered):
7113         * gst/gstutils.h:
7114           add gst_element_link_filtered
7115
7116 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7117
7118         * docs/gst/gstreamer-docs.sgml:
7119         * docs/gst/gstreamer-sections.txt:
7120         * docs/gst/tmpl/.cvsignore:
7121         * docs/gst/tmpl/gsterror.sgml:
7122         * docs/gst/tmpl/gstfilter.sgml:
7123         * docs/gst/tmpl/gsturihandler.sgml:
7124         * docs/gst/tmpl/gsturitype.sgml:
7125         * docs/gst/tmpl/gstutils.sgml:
7126         * docs/gst/tmpl/gstxml.sgml:
7127         * gst/gsterror.c:
7128         * gst/gsterror.h:
7129         * gst/gstfilter.c:
7130         * gst/gsturi.c:
7131         * gst/gsturitype.c:
7132         * gst/gstutils.c:
7133         * gst/gstxml.c:
7134           inlined more docs, fixed double id-ref
7135
7136 2005-08-31  Wim Taymans  <wim@fluendo.com>
7137
7138         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7139         (gst_base_transform_handle_buffer):
7140         Passthrough elements don't need the caps as they don't care.
7141
7142 2005-08-31  Wim Taymans  <wim@fluendo.com>
7143
7144         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7145         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
7146         Don't leak refcounts on buffers.
7147
7148 2005-08-31  Wim Taymans  <wim@fluendo.com>
7149
7150         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
7151         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
7152         (gst_base_transform_chain), (gst_base_transform_change_state):
7153         * gst/base/gstbasetransform.h:
7154         Handle the case where we are not negotiated more gracefully.
7155
7156 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
7157
7158         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
7159         (gst_file_src_map_region):
7160           Set READONLY flag on mmap'ed buffers, otherwise
7161           gst_buffer_make_writable() won't work properly (#314708).
7162
7163 2005-08-31  Wim Taymans  <wim@fluendo.com>
7164
7165         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
7166         passthrough elements can even do inplace on non writable
7167         buffers (as they don't touch them).
7168
7169 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7170
7171         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7172         (gst_test_mono_source_set_property),
7173         (gst_test_mono_source_class_init), (GST_START_TEST),
7174         (gst_controller_suite):
7175           more tests (hehe I have the most)
7176         * gst/gstbus.c:
7177           describe popping messages whenusing mulltiple sources
7178         * libs/gst/controller/gst-controller.c:
7179         (gst_controlled_property_set_interpolation_mode),
7180         (gst_controlled_property_new):
7181         * libs/gst/controller/gst-controller.h:
7182         * libs/gst/controller/gst-interpolation.c:
7183           implement boolean properties
7184
7185 2005-08-31  Wim Taymans  <wim@fluendo.com>
7186
7187         * gst/gstminiobject.c: (gst_mini_object_ref):
7188         Cannot assert that the refcount has to be positive
7189         since a disposed object can be resurrected.
7190
7191 2005-08-31  Wim Taymans  <wim@fluendo.com>
7192
7193         * gst/gstpad.c: (gst_pad_init):
7194         Revert change, need to first fix badly behaving 
7195         apps.
7196
7197 2005-08-30  Wim Taymans  <wim@fluendo.com>
7198
7199         * check/elements/fakesrc.c: (setup_fakesrc):
7200         * check/elements/identity.c: (setup_identity):
7201         Activate pads before using them.
7202
7203 2005-08-30  Wim Taymans  <wim@fluendo.com>
7204
7205         * gst/base/gstadapter.c: (gst_adapter_flush):
7206         Flushing out 0 bytes is ok for this function.
7207
7208         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7209         no newsegment gives a warning and sets the start/stop to 
7210         invalid.
7211
7212         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
7213         (gst_base_transform_set_passthrough):
7214         Some debug info.
7215
7216         * gst/gstminiobject.c: (gst_mini_object_ref):
7217         Check refcount here too.
7218
7219         * gst/gstpad.c: (gst_pad_init):
7220         Pads are initially flushing and refusing data.
7221
7222         * gst/gstutils.c: (gst_element_link_pads_filtered):
7223         When adding a capsfilter element make sure it has the
7224         same state as the parent bin.
7225
7226 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7227
7228         * docs/gst/tmpl/.cvsignore:
7229         * docs/gst/tmpl/gstformat.sgml:
7230         * docs/gst/tmpl/gstversion.sgml:
7231         * gst/gstbus.h:
7232         * gst/gstformat.c:
7233         * gst/gstformat.h:
7234         * gst/gstversion.h.in:
7235           more docs and two more inlined
7236
7237 2005-08-30  Wim Taymans  <wim@fluendo.com>
7238
7239         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
7240         Don't sync to clock.
7241
7242 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7243
7244         * docs/gst/gstreamer-sections.txt:
7245           ultral33t func10ns deserve to appear in the docs actually
7246         * docs/gst/tmpl/.cvsignore:
7247         * docs/gst/tmpl/gstcompat.sgml:
7248         * docs/gst/tmpl/gstconfig.sgml:
7249         * gst/check/gstcheck.c:
7250         * gst/gstcompat.h:
7251         * gst/gstconfig.h.in:
7252           inlined more docs
7253
7254 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7255
7256         * docs/gst/tmpl/.cvsignore:
7257         * docs/gst/tmpl/gstquery.sgml:
7258         * docs/gst/tmpl/gstutils.sgml:
7259         * gst/gstquery.c:
7260         * gst/gstquery.h:
7261           inlined and extended docs
7262
7263 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7264
7265         * check/gst-libs/controller.c: (GST_START_TEST),
7266         (gst_controller_suite):
7267           more tests
7268         * docs/gst/tmpl/gstutils.sgml:
7269         * docs/libs/gstreamer-libs-sections.txt:
7270         * docs/libs/tmpl/gstdataprotocol.sgml:
7271           include path fixes
7272         * examples/controller/audio-example.c: (main):
7273           controller example works now
7274         * gst/gstclock.h:
7275           doc fixes
7276         * tools/gst-inspect.c: (print_element_properties_info):
7277           show param spec flags
7278
7279 2005-08-29  Andy Wingo  <wingo@pobox.com>
7280
7281         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
7282
7283 2005-08-28  Andy Wingo  <wingo@pobox.com>
7284
7285         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
7286         as having two arguments instead of just one. Allows superclasses
7287         to access information on subclasses -- see the terrible for() loop
7288         in gtype.c:g_type_create_instance for the reason why. All callers
7289         changed.
7290
7291 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7292
7293         * docs/design/part-messages.txt:
7294           update info
7295         * docs/gst/tmpl/.cvsignore:
7296         * docs/gst/tmpl/gstcaps.sgml:
7297         * docs/gst/tmpl/gstclock.sgml:
7298         * gst/gstbus.c:
7299         * gst/gstcaps.c:
7300         * gst/gstcaps.h:
7301         * gst/gstclock.c:
7302         * gst/gstclock.h:
7303         * gst/gstmessage.c:
7304           added descriptions for bus and message
7305           inline caps and clock docs
7306
7307 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7308
7309         * gst/gstmessage.c:
7310         * gst/gstmessage.h:
7311           doc fixes
7312
7313 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7314
7315         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7316           fix div-by-zero
7317
7318 2005-08-26  Andy Wingo  <wingo@pobox.com>
7319
7320         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
7321         element_set_state's return val.
7322         (test_2_elements): Add test that's been disabled for months.
7323
7324         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
7325         can-activate-pull properties.
7326
7327         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
7328         can-activate-pull properties. Implement is_seekable so fakesrc can
7329         operate in pull mode.
7330
7331         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7332         properties.
7333         (gst_base_sink_activate, gst_base_sink_activate_pull)
7334         (gst_base_sink_activate_push): Make activation mode choosing work.
7335         Cleanups.
7336         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7337         is right. Make pull mode work. Post an eos before pausing in pull
7338         mode.
7339         (gst_base_sink_change_state): Pay attention to the core's
7340         change_state() return val.
7341         
7342         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7343         has-getrange properties. Cleanups.
7344         
7345         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7346         has_getrange and replace with can_activate_pull and
7347         can_activate_push.
7348
7349         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7350         locking comments. Remove has_loop, has_chain and replace with
7351         can_activate_pull and can_activate_push.
7352
7353 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
7354
7355         * configure.ac:
7356         * examples/Makefile.am:
7357         * examples/metadata/Makefile.am:
7358         * examples/metadata/read-metadata.c: (message_loop),
7359         (have_pad_handler), (make_pipeline), (print_tag), (main):
7360           Add metadata reading example that loops over a list of filenames,
7361           dumping any tags found.
7362
7363         * gst/gstbus.c: (gst_bus_dispose):
7364         * gst/gstelement.c: (gst_element_dispose):
7365           Release a few potentially-held references in dispose.
7366
7367 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7368
7369         * docs/gst/tmpl/gstminiobject.sgml:
7370           do *not* add tmpl/*.sgml files to CVS!
7371
7372 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7373
7374         * libs/gst/bytestream/.cvsignore:
7375         * libs/gst/bytestream/Makefile.am:
7376         * libs/gst/bytestream/adapter.c:
7377         * libs/gst/bytestream/adapter.h:
7378         * libs/gst/bytestream/bytestream.c:
7379         * libs/gst/bytestream/bytestream.h:
7380         * libs/gst/bytestream/filepad.c:
7381         * libs/gst/bytestream/filepad.h:
7382           removing obsolete files
7383
7384 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7385
7386         * docs/gst/gstreamer-docs.sgml:
7387         * docs/libs/gstreamer-libs-docs.sgml:
7388           disabed additional index entries again, as this makes docs-gen just
7389           slow and they aren't useful yet
7390         * docs/libs/gstreamer-libs-sections.txt:
7391           little -section.txt cleanup for libs
7392
7393 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7394
7395         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7396         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7397           fix up some debugging
7398         (gst_base_transform_get_unit_size),
7399         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7400         (gst_base_transform_handle_buffer):
7401         * gst/base/gstbasetransform.h:
7402           handle and store timed NEWSEGMENT events so that subclasses that
7403           calculate time by counting samples have a segment_start time they
7404           need to add to their timestamps - see audioresample
7405
7406 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7407
7408         * gst/gstbin.h:
7409           removed ';' from the end of macro defs
7410         * docs/gst/gstreamer-docs.sgml:
7411         * docs/gst/gstreamer-sections.txt:
7412         * docs/gst/tmpl/.cvsignore:
7413         * gst/gstbus.h:
7414         * gst/gstelement.c: (gst_element_class_init),
7415         (gst_element_set_state), (activate_pads),
7416         (gst_element_save_thyself):
7417         * gst/gstevent.c: (gst_event_new_newsegment):
7418         * gst/gstevent.h:
7419         * gst/gstiterator.c:
7420         * gst/gstiterator.h:
7421         * gst/gstpad.c:
7422         * gst/gstprobe.h:
7423         * gst/gstutils.c: (gst_pad_query_convert):
7424         * gst/gstutils.h:
7425           fixed parameter name mismatches between source, header and docs
7426           added some more docs, resolved the last batch of unused elements in
7427           docs (now someone needs to doc them)
7428
7429 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7430
7431         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7432         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7433           don't walk through the plugins backwards.  Where is all this
7434           reversed logic coming from ?
7435
7436 2005-08-25  Wim Taymans  <wim@fluendo.com>
7437
7438         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7439         (gst_base_transform_transform_size),
7440         (gst_base_transform_configure_caps),
7441         (gst_base_transform_get_unit_size),
7442         (gst_base_transform_buffer_alloc),
7443         (gst_base_transform_change_state):
7444         * gst/base/gstbasetransform.h:
7445         Cache caps unit_size.
7446         Make sure we cannot negotiate up and downstream at the
7447         same time.
7448
7449 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7450
7451         * gst/gst.c: (init_pre), (init_post):
7452           register the installed plugin path after the env var
7453         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7454         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7455           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7456           directories, so the tests can prefer uninstalled over installed
7457
7458 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7459
7460         * gst/base/gstbasetransform.h:
7461           comment
7462         * gst/gstpad.c:
7463           add to docs
7464
7465 2005-08-25  Wim Taymans  <wim@fluendo.com>
7466
7467         * gst/gstbin.c: (bin_bus_handler):
7468         Be a bit more conservative about the posted message.
7469         
7470         * gst/gstbus.c: (gst_bus_post):
7471         Some cleanups, warn wrong return values.
7472
7473 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
7474
7475         * check/gst/gstbin.c: (GST_START_TEST):
7476         * gst/gstbin.c: (bin_bus_handler):
7477         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7478         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7479         (gst_message_new_warning), (gst_message_new_tag),
7480         (gst_message_new_state_changed), (gst_message_new_segment_start),
7481         (gst_message_new_segment_done), (gst_message_new_custom):
7482         * gst/gstmessage.h:
7483         * tools/gst-launch.c: (event_loop):
7484         * tools/gst-md5sum.c: (event_loop):
7485           Revert unpopular change for GST_MESSAGE_SRC to GObject.
7486
7487 2005-08-25  Wim Taymans  <wim@fluendo.com>
7488
7489         * check/generic/states.c: (GST_START_TEST):
7490         Cleanup can be done at the end.
7491
7492         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7493         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7494         (gst_task_get_state), (gst_task_start), (gst_task_pause):
7495         Oh boy.. Thanks for finding this, Thomas. 
7496
7497 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7498
7499         * docs/gst/gstreamer.types:
7500           added missing types
7501
7502 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7503
7504         * docs/gst/gstreamer-docs.sgml:
7505         * docs/gst/gstreamer-sections.txt:
7506         * docs/gst/tmpl/.cvsignore:
7507         * gst/gstbin.c:
7508         * gst/gstiterator.c:
7509         * gst/gstutils.c:
7510         * gst/registries/gstxmlregistry.h:
7511           added missing classes and symbols (123 more to go)
7512           removed removed symbols from section file
7513           fixed many doc-comments
7514
7515 2005-08-24  Wim Taymans  <wim@fluendo.com>
7516
7517         * check/generic/states.c: (GST_START_TEST):
7518         Make sure all tasks are stopped.
7519
7520         * check/gst/gstbin.c: (GST_START_TEST):
7521         Unref after usage for proper valgrinding.
7522
7523         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
7524         Really wait for the task to stop before destroying the
7525         mutex.
7526
7527         * gst/gstqueue.c: (gst_queue_sink_activate_push),
7528         (gst_queue_src_activate_push):
7529         Small cleanups. Don't stop the task when we did not start
7530         it.
7531
7532         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
7533         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7534         (gst_task_get_state), (gst_task_start), (gst_task_pause),
7535         (gst_task_join):
7536         * gst/gsttask.h:
7537         Protect the stream lock with the object lock.
7538         Disallow setting the stream lock when running.
7539         Add cleanup_all to wait for the threadpool to finish.
7540         Remove code to autoallocate a mutex if none was provided.
7541         Add _join() to wait for a task to stop.
7542         Protect the thread pool with a global lock.
7543
7544 2005-08-24  Wim Taymans  <wim@fluendo.com>
7545
7546         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7547         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7548         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
7549         * gst/base/gstbasesink.h:
7550         Handle newsegment events correctly.
7551         Drop buffers out of the segment range.
7552
7553 2005-08-22  Andy Wingo  <wingo@pobox.com>
7554
7555         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
7556         macro, implements an interface and gstimplementsinterface for a
7557         new type.
7558
7559 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7560
7561         * check/Makefile.am:
7562         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
7563           add a test that does a bunch of state changes on elements
7564           needs some fixing for valgrind
7565         * check/states/sinks.c: (gst_object_suite):
7566           whitespace
7567         * gst/gstcaps.h:
7568           add prototype for gst_caps_is_equal_fixed
7569         * gst/gstplugin.c:
7570         * gst/gstregistrypool.c:
7571           doc fixes
7572
7573 2005-08-24  Andy Wingo  <wingo@pobox.com>
7574
7575         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
7576         convert a negative value. Doesn't make much sense. Mostly this is
7577         here to force callers to ensure -1 maps to -1.
7578
7579 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7580
7581         * docs/pwg/advanced-types.xml:
7582           Well done to Michael for catching my deliberate introduction
7583           of this spelling mistake. 
7584         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
7585         * gst/gstelement.h:
7586           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
7587           unlink pads before removing the element from the bin.
7588
7589 2005-08-24  Andy Wingo  <wingo@pobox.com>
7590
7591         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
7592         the same thing as GST_DEBUG=*:4.
7593         (parse_debug_level, parse_debug_category): New helper parsers.
7594
7595 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7596
7597         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7598         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
7599         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
7600         (gst_base_transform_buffer_alloc),
7601         (gst_base_transform_handle_buffer):
7602           use gboolean return values and pointers to size so we can use the
7603           full GST_BUFFER_SIZE range (guint) for buffer sizes
7604           use GstPadDirection for transform_caps
7605         * gst/base/gstbasetransform.h:
7606           rename get_size to get_unit_size since that's what it is
7607         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
7608           use GstPadDirection for transform_caps
7609         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7610         * gst/gstutils.h:
7611           cleanup and debugging
7612
7613 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7614
7615         * gst/gstelement.c: (gst_element_class_init),
7616         (gst_element_set_state), (activate_pads),
7617         (gst_element_save_thyself):
7618         * tools/gst-compprep.c: (main):
7619         * tools/gst-inspect.c: (print_element_properties_info):
7620         * tools/gst-xmlinspect.c: (print_element_properties):
7621           Fixed long standing mem-leak
7622
7623 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7624
7625         * check/gst/gstbin.c: (GST_START_TEST):
7626         * gst/gstbin.c: (bin_bus_handler):
7627         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7628         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7629         (gst_message_new_warning), (gst_message_new_tag),
7630         (gst_message_new_state_changed), (gst_message_new_segment_start),
7631         (gst_message_new_segment_done), (gst_message_new_custom):
7632         * gst/gstmessage.h:
7633         * tools/gst-launch.c: (event_loop):
7634         * tools/gst-md5sum.c: (event_loop):
7635           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
7636           that applications can sensibly post custom messages with references
7637           to their own objects.
7638
7639 2005-08-24  Andy Wingo  <wingo@pobox.com>
7640
7641         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
7642         already.
7643
7644 2005-08-24  Wim Taymans  <wim@fluendo.com>
7645
7646         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7647         (gst_base_transform_transform_caps),
7648         (gst_base_transform_transform_size),
7649         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7650         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7651         (gst_base_transform_handle_buffer):
7652         * gst/base/gstbasetransform.h:
7653         Many fixes and new features added by Thomas. Can now also do
7654         transforms with variable sizes and a custom fixate_caps function.
7655
7656 2005-08-24  Wim Taymans  <wim@fluendo.com>
7657
7658         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7659         Some debugging.
7660
7661         * gst/gstclock.h:
7662         Cast to ClockTime before formatting to time.
7663
7664         * gst/gstutils.h:
7665         Cleanups.
7666
7667 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7668
7669         * check/gst-libs/controller.c: (GST_START_TEST),
7670         (gst_controller_suite):
7671         * docs/gst/tmpl/gstcaps.sgml:
7672         * docs/gst/tmpl/gstghostpad.sgml:
7673         * docs/gst/tmpl/gstquery.sgml:
7674         * docs/gst/tmpl/gstutils.sgml:
7675         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
7676         (gst_object_sink_values), (gst_object_get_value_arrays),
7677         (gst_object_get_value_array):
7678           gracefully handle helper method calls to objects that are not beeing
7679           controlled, added test case for that          
7680
7681 2005-08-23  Wim Taymans  <wim@fluendo.com>
7682
7683         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
7684         (gst_event_new_newsegment), (gst_event_parse_newsegment),
7685         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
7686         (gst_event_parse_qos), (gst_event_new_seek),
7687         (gst_event_parse_seek):
7688         * gst/gstevent.h:
7689         Some more debugging output and doc cleanups.
7690
7691         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7692         Fix possible deadlock.
7693
7694 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7695
7696         * docs/gst/gstreamer-docs.sgml:
7697         * docs/gst/gstreamer-sections.txt:
7698         * docs/gst/gstreamer.types:
7699         * docs/gst/tmpl/.cvsignore:
7700         * gst/gstbin.h:
7701         * gst/gstbus.c:
7702         * gst/gstelement.c:
7703         * gst/gstevent.h:
7704           added 100 symbols from gstreamer-unused.txt to the right sections
7705           fixed more broken comments
7706           added GstBus to docs
7707
7708 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7709
7710         * docs/gst/gstreamer-sections.txt:
7711         * docs/gst/tmpl/.cvsignore:
7712         * docs/gst/tmpl/gstbin.sgml:
7713         * docs/gst/tmpl/gstbuffer.sgml:
7714         * gst/base/gstbasesrc.c:
7715         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
7716         * gst/gstbuffer.c:
7717         * gst/gstbuffer.h:
7718         * tools/gst-launch.1.in:
7719           inlined more doc comments, added missing comments and fixed comments
7720           fixed typos
7721
7722 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7723
7724         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7725           some debugging
7726         * gst/gstcaps.h:
7727           whitespace fixes
7728         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
7729           more debugging
7730         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
7731         * gst/gststructure.h:
7732           add a fixate function for booleans; add a FIXME that these func
7733           names should probably be gst_structure_fixate_*
7734
7735 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7736
7737         * docs/gst/gstreamer-docs.sgml:
7738         * docs/gst/gstreamer-sections.txt:
7739         * gst/Makefile.am:
7740         * gst/gstbin.c: (gst_bin_get_type),
7741         (gst_bin_child_proxy_get_child_by_index),
7742         (gst_bin_child_proxy_get_children_count),
7743         (gst_bin_child_proxy_init):
7744         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
7745         (gst_child_proxy_get_child_by_index),
7746         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
7747         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
7748         (gst_child_proxy_get), (gst_child_proxy_set_property),
7749         (gst_child_proxy_set_valist), (gst_child_proxy_set),
7750         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
7751         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
7752         * gst/gstchildproxy.h:
7753         * gst/parse/grammar.y:
7754         * tools/gst-inspect.c: (print_interfaces),
7755         (print_element_properties_info), (print_element_info):
7756           ported gstchildproxy over from 0.8
7757           ported gst-inspect fixes and enhancements over from 0.8
7758
7759 2005-08-22  Wim Taymans  <wim@fluendo.com>
7760
7761         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7762         (gst_base_transform_handle_buffer):
7763         Also call the transform function if we have ANY caps.
7764
7765         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
7766         Fix debug info.
7767
7768 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7769
7770         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
7771           Don't pretend to handle seek events if the source is not seekable
7772
7773 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7774
7775         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7776           Remove extra parameter to debug output
7777
7778         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7779         (gst_base_src_do_seek), (gst_base_src_activate_push):
7780           Fix seek event handling.
7781
7782         * gst/gstpipeline.c: (gst_pipeline_change_state):
7783         * gst/gstqueue.c: (gst_queue_handle_sink_event),
7784         (gst_queue_src_activate_push):
7785           Don't start the src pad task on FLUSH_STOP if the pad
7786           isn't linked.
7787           Debug changes.
7788
7789 2005-08-22  Wim Taymans  <wim@fluendo.com>
7790
7791         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
7792         Added check for gst_static_caps_get() refcounting.
7793
7794 2005-08-22  Wim Taymans  <wim@fluendo.com>
7795
7796         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
7797         Make _static_caps_get() refcounting sane.
7798         
7799         * gst/gstelement.c: (gst_element_set_state):
7800         Add g_return_val_if_fail() to protect against segfaults.
7801
7802 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
7803
7804         * docs/gst/tmpl/gstevent.sgml:
7805         * gst/gstevent.c:
7806         * gst/gstevent.h:
7807           inlined remaining docs, added missing doc comments
7808
7809 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7810
7811         * check/gst/gstbin.c: (GST_START_TEST):
7812           since we don't know when preroll is done, use refcount range
7813           check for the sink
7814         * gst/check/gstcheck.h:
7815           add macro for checking refcount range
7816
7817 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7818
7819         * check/Makefile.am:
7820           clean up environment for when registry gets built versus
7821           when actual tests are run; valgrind seems to not report
7822           leaks if GST_PLUGIN_PATH is set to some specific values
7823         * check/gst/gstbin.c: (GST_START_TEST):
7824           add more refcounting checks; maybe this exposes a
7825           preroll lock bug ?
7826         * common/check.mak:
7827         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7828         * gst/check/gstcheck.h:
7829         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
7830         (gst_bin_change_state):
7831         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
7832           add/fix debugging/whitespace
7833
7834 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7835
7836         * check/gst/gstevent.c: (event_probe), (test_event),
7837         (GST_START_TEST):
7838          Er, don't call gst_bin_watch_for_state_change you idiot.
7839
7840 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7841
7842         * check/Makefile.am:
7843           Use CHECK_CFLAGS and CHECK_LIBS
7844         * check/gst/gstevent.c: (event_probe), (test_event),
7845         (GST_START_TEST):
7846           Don't leak events.
7847         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7848         (gst_base_src_start), (gst_base_src_stop),
7849         (gst_base_src_activate_push), (gst_base_src_activate_pull),
7850         (gst_base_src_change_state):
7851           Sprinkle gst_base_src_stop liberally around error paths to fix
7852           problems reusing a source after failed state changes.
7853         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7854         (helper_find_suggest), (gst_type_find_helper):
7855           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
7856         * gst/gstevent.h:
7857         * docs/gst/tmpl/gstevent.sgml:
7858           Migrate part of the docs from the SGML file. Wait for ensonic to
7859           tell me how I did it wrong ;)
7860         * tools/gst-typefind.c: (main):
7861           Extra robustness to state changes between files.
7862
7863 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7864
7865         * check/Makefile.am:
7866           don't valgrind the controller test - it's leaking - Stefan, HELP
7867         * gst/check/gstcheck.c: (gst_check_message_error),
7868         (gst_check_chain_func), (gst_check_setup_element),
7869         (gst_check_teardown_element), (gst_check_setup_src_pad),
7870         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
7871         (gst_check_teardown_sink_pad):
7872         * gst/check/gstcheck.h:
7873           add a bunch of methods to set up elements, and src and sink pads
7874         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
7875         * check/elements/identity.c: (setup_identity), (cleanup_identity),
7876         (GST_START_TEST):
7877           use them
7878         * gst/gstmessage.c:
7879         * gst/gsttag.h:
7880           whitespace/doc fixes
7881
7882 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7883
7884         * gst/gstelement.h:
7885           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
7886           be handled by the application and not always printed as well
7887
7888 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7889
7890         * check/Makefile.am:
7891           set GST_TOOLS_DIR
7892         * gst/check/gstcheck.c: (gst_check_message_error):
7893         * gst/check/gstcheck.h:
7894           add a fail_unless_equals_int
7895           add fail_unless for error messages
7896
7897 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7898
7899         * check/Makefile.am:
7900         * check/gst.supp:
7901         * common/Makefile.am:
7902         * common/check.mak:
7903         * common/gst.supp:
7904           factor out some of the common stuff so we can use it
7905
7906 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7907
7908         * check/Makefile.am:
7909         * check/gst/gstiterator.c: (GST_START_TEST):
7910         * check/gst/gstsystemclock.c: (GST_START_TEST),
7911         (gst_systemclock_suite):
7912         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7913         * gst/gstclock.c:
7914           valgrind more tests
7915
7916 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7917
7918         * check/elements/.cvsignore:
7919         * check/elements/gstfakesrc.c:
7920           rename to name of element
7921         * check/elements/identity.c: (chain_func), (event_func),
7922         (setup_identity), (cleanup_identity), (GST_START_TEST),
7923         (identity_suite), (main):
7924           add a test for identity
7925         * check/Makefile.am:
7926         * pkgconfig/Makefile.am:
7927         * pkgconfig/gstreamer-check.pc.in:
7928         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7929         * gst/check:
7930         * gst/Makefile.am:
7931         * configure.ac:
7932           move the check stuff to a library that gets installed
7933         * check/gst-libs/controller.c: (GST_START_TEST):
7934         * check/gst-libs/gdp.c:
7935         * check/gst/gst.c: (GST_START_TEST):
7936         * check/gst/gstbin.c:
7937         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7938         * check/gst/gstbus.c:
7939         * check/gst/gstcaps.c: (GST_START_TEST):
7940         * check/gst/gstelement.c:
7941         * check/gst/gstghostpad.c:
7942         * check/gst/gstiterator.c:
7943         * check/gst/gstmessage.c:
7944         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
7945         * check/gst/gstobject.c:
7946         * check/gst/gstpad.c: (GST_START_TEST):
7947         * check/gst/gststructure.c: (GST_START_TEST):
7948         * check/gst/gstsystemclock.c: (GST_START_TEST),
7949         (gst_systemclock_suite):
7950         * check/gst/gsttag.c: (gst_tag_suite):
7951         * check/gst/gstvalue.c:
7952         * check/pipelines/cleanup.c:
7953         * check/pipelines/simple_launch_lines.c:
7954         * check/states/sinks.c:
7955           change include statement
7956
7957         * docs/gst/gstreamer-sections.txt:
7958         * docs/gst/tmpl/gstpad.sgml:
7959           document more pad stuff
7960         * gst/gstminiobject.c: (gst_mini_object_ref),
7961         (gst_mini_object_unref):
7962           debug refcounting
7963
7964 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
7965
7966         * docs/gst/tmpl/gst.sgml:
7967         * gst/gst.c:
7968           eliminate another tmpl file, fix spelling in the long-description
7969
7970 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7971
7972         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
7973         (test_event), (timediff), (gstevents_suite):
7974           Should fix build on 64-bit arch's
7975
7976 2005-08-18  Andy Wingo  <wingo@pobox.com>
7977
7978         Make sure that when a pipeline goes to PLAYING, that data has
7979         actually hit the sink.
7980
7981         * check/states/sinks.c (test_sink): A sink that doesn't get any
7982         data shouldn't return SUCCESS for going to either PLAYING or
7983         PAUSED. Test also the return values on the way back down.
7984
7985         * gst/gstelement.c (gst_element_set_state): When changing the
7986         state of an element currently changing state asynchronously, go to
7987         lost-state after commiting the pending state. Makes future calls
7988         to get_state continue to return ASYNC.
7989
7990         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
7991         ASYNC when going to PLAYING if we still don't have preroll, as can
7992         happen with live sources.
7993
7994 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
7995
7996         * docs/pwg/advanced-types.xml:
7997           Hack long paragraph into 2 chunks as a workaround for buggy
7998           jadetex version in sid and breezy that loops infinitely and
7999           eats all RAM.
8000
8001 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8002
8003         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8004         (test_event), (timediff), (gstevents_suite):
8005           Provide more error margin in clock measurements to allow for 
8006           g_get_current_time inaccuracies.
8007
8008 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8009
8010         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8011         (test_event), (timediff), (gstevents_suite):
8012            Fix error message output so I might be able to tell why the
8013            test works here but fails on the build farm.
8014
8015 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8016
8017         * check/Makefile.am:
8018         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8019         (test_event), (timediff), (gstevents_suite), (main):
8020           I wrote a test!
8021
8022         * docs/design/part-seeking.txt:
8023           Spelling correction
8024
8025         * docs/gst/tmpl/gstevent.sgml:
8026         * docs/gst/tmpl/gstfakesrc.sgml:
8027           Docs updates.
8028
8029         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8030           Treat a buffer-without-newsegment the same as a receiving 
8031           a newsegment not in time format, and disable syncing to the clock
8032           with a warning.
8033
8034         * gst/gstbus.c: (gst_bus_set_sync_handler):
8035           Assert if anyone tries to replace the existing sync_handler for bus, 
8036           as only the owner should be setting it.
8037
8038         * gst/gstevent.h:
8039           Have a fixed set of custom event enums with events identified by
8040           their structure name (as in 0.8), rather than a free-for-all
8041           allowing collisions between enum values from different plugins.
8042
8043         * gst/gstpad.c: (gst_pad_class_init):
8044           Docs change.
8045           
8046         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8047           Handle out-of-band downstream events from the sending thread.
8048
8049 2005-08-17  Andy Wingo  <wingo@pobox.com>
8050
8051         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
8052         play-timeout==0 to mean no timeout at all. In that case, don't
8053         bother with a get_state or a warning, just return directly, even
8054         if it's ASYNC.
8055
8056         * gst/base/gstbasetransform.c: Debug changes.
8057
8058         * gst/gstutils.h:
8059         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
8060         ensure bins post state change messages. A bit of a hack but I can't
8061         think of a way to avoid it.
8062
8063         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
8064
8065 2005-08-16  Andy Wingo  <wingo@pobox.com>
8066
8067         * gst/base/gstadapter.h:
8068         * gst/base/gstadapter.c (gst_adapter_take): New function, like
8069         peek() but you own the data. Not terribly efficient atm.
8070
8071 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8072
8073         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
8074         (gst_element_found_tags):
8075         * gst/gstutils.h:
8076           Add two utility functions for tag handling.
8077
8078 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8079
8080         * docs/manual/advanced-dataaccess.xml:
8081         * docs/manual/basics-helloworld.xml:
8082           Fix docs to use _bin_add() before _link(), which fixes the examples
8083           with recent core versions (reported by Madhan Raj M
8084           <raj_madan@rediffmail.com>, #313199).
8085
8086 2005-08-16  Wim Taymans  <wim@fluendo.com>
8087
8088         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8089         Added subtract checks.
8090
8091         * docs/design/part-events.txt:
8092         Some more docs about newsegment
8093
8094         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8095         Fix FIXME
8096
8097         * gst/gstcaps.c: (gst_caps_to_string):
8098         Add comments, cleanups.
8099         
8100         * gst/gstelement.c: (gst_element_save_thyself):
8101         cleanups
8102         
8103         * gst/gstvalue.c: (gst_value_collect_int_range),
8104         (gst_string_unwrap), (gst_value_union_int_int_range),
8105         (gst_value_union_int_range_int_range),
8106         (gst_value_intersect_int_int_range),
8107         (gst_value_intersect_int_range_int_range),
8108         (gst_value_intersect_double_double_range),
8109         (gst_value_intersect_double_range_double_range),
8110         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
8111         (gst_value_subtract_int_range_int),
8112         (gst_value_subtract_double_range_double),
8113         (gst_value_subtract_double_range_double_range),
8114         (gst_value_subtract_from_list), (gst_value_subtract_list),
8115         (gst_value_can_compare), (gst_value_compare_fraction):
8116         Cleanups, add comments, remove unneeded asserts.
8117
8118 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8119
8120         * tools/gst-launch.c: (event_loop):
8121           don't convert NULL structures to strings
8122
8123 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
8124
8125         * docs/gst/gstreamer-sections.txt:
8126           made some defines private
8127         * docs/gst/tmpl/gstconfig.sgml:
8128         * docs/gst/tmpl/gstqueue.sgml:
8129         * docs/gst/tmpl/gsttaglist.sgml:
8130         * docs/gst/tmpl/gsttypes.sgml:
8131         * docs/gst/tmpl/gstutils.sgml:
8132         * docs/pwg/appendix-porting.xml:
8133         * gst/base/gstbasesink.h:
8134         * gst/base/gstbasesrc.c:
8135         * gst/base/gstbasesrc.h:
8136         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
8137         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
8138         * gst/gstelement.c: (gst_element_class_init):
8139         * gst/gstpad.c: (gst_pad_class_init):
8140         * gst/gstqueue.c: (gst_queue_class_init):
8141         * gst/gstxml.c: (gst_xml_class_init):
8142           documented all undocumented signal inline
8143         * libs/gst/controller/gst-controller.h:
8144           added padding
8145
8146 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8147
8148         * docs/pwg/appendix-porting.xml:
8149           Document _set_link_function -> _set_setcaps_function.
8150
8151 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8152
8153         * check/Makefile.am:
8154           add a .check target for running the check
8155         * check/gst-libs/controller.c: (GST_START_TEST):
8156           cosmetic fixups
8157         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8158           complete checks for gstbuffer; would be nice if I could get the
8159           gcov stuff to work so I can see if I actually completed gstbuffer.c
8160         * check/gstcheck.h:
8161           add ASSERT_BUFFER_REFCOUNT
8162
8163 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
8164
8165         * docs/gst/gstreamer-sections.txt:
8166         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
8167         * gst/gsttag.h:
8168           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
8169           spew out a warning if a tag that is already registered
8170           is re-registered, unless it is re-registered with a 
8171           different type (#308438).
8172
8173 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
8174
8175         * docs/pwg/appendix-porting.xml:
8176         * docs/pwg/building-state.xml:
8177           Add some paragraphs about state changes in 0.9 to the PWG
8178           and the porting guide, in particular about the new meaning
8179           of GST_STATE_PAUSED and how to write state change functions
8180           with concurrent access by multiple threads in mind.
8181
8182 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
8183
8184         * docs/gst/gstreamer-docs.sgml:
8185         * docs/libs/gstreamer-libs-docs.sgml:
8186           added deprecation and since indexes
8187         * libs/gst/controller/gst-controller.c:
8188         * libs/gst/controller/gst-helper.c:
8189           added since tags
8190
8191
8192 2005-08-11  Wim Taymans  <wim@fluendo.com>
8193
8194         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
8195         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
8196         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
8197         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
8198         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
8199         (gst_ghost_pad_set_target):
8200         Actually implement (re)setting the target on a ghostpad
8201         as described in the docs.
8202
8203 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8204
8205         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
8206           Check whether GST_DEBUG_NO_COLOR environment variable is
8207           set and disable coloured debug output if that is the case.
8208
8209 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8210
8211         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8212         (gst_type_find_helper):
8213           The memory returned by gst_type_find_peek() needs to
8214           stay valid until the end of a typefind function, and
8215           typefind functions may keep results from different 
8216           offsets around, so we can't just unref the buffer from
8217           the previous _peek(), but have to save all buffers 
8218           returned by _peek() until typefinding is done and only
8219           free them then.
8220
8221 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
8222
8223         * docs/gst/gstreamer-sections.txt:
8224         * gst/gstutils.h:
8225           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
8226
8227 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8228
8229         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8230           Fix a pretty good memleak.
8231
8232 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8233
8234         * gst/gstiterator.h:
8235           Fix wrong include and 'make distcheck'.
8236
8237 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8238
8239         * gst/gstbin.c: (bin_bus_handler):
8240           Use gst_element_post_message() instead.
8241
8242 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8243
8244         * gst/base/gstadapter.h:
8245         * gst/base/gstbasesink.h:
8246         * gst/base/gstbasesrc.h:
8247         * gst/base/gstbasetransform.h:
8248         * gst/base/gstcollectpads.h:
8249         * gst/base/gstpushsrc.h:
8250         * gst/gstiterator.h:
8251           Add padding to our base elements' class and instance structs and
8252           to GstIterator (you will need to rebuild all plugins and apps!)
8253
8254 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8255
8256         * gst/gstbin.c: (bin_bus_handler):
8257           Make default message forwarding from child->bus to bin->bus
8258           threadsafe and make it not emit warnings if the parent has no bus.
8259
8260 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8261
8262         * gst/gstelement.c: (activate_pads):
8263           On paused->ready, set pad->caps to NULL, as is the documented
8264           behaviour in this state change. Fixes playback of series of
8265           media files when visualization is enabled in Totem.
8266
8267 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8268
8269         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8270           Allow NULL as filter-caps (which means "any").
8271
8272 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8273
8274         * docs/libs/gstreamer-libs-sections.txt:
8275         * libs/gst/controller/gst-controller.c:
8276         * libs/gst/controller/gst-controller.h:
8277         * libs/gst/controller/gst-helper.c:
8278           adding more entries to the docs and fix small doc-bugs
8279
8280 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8281
8282         * docs/gst/gstreamer-docs.sgml:
8283         * docs/gst/gstreamer-sections.txt:
8284         * docs/gst/gstreamer.types:
8285         * docs/gst/tmpl/gstbasesink.sgml:
8286         * docs/gst/tmpl/gstbasesrc.sgml:
8287         * docs/gst/tmpl/gstbasetransform.sgml:
8288         * docs/gst/tmpl/gstfakesrc.sgml:
8289         * gst/base/gstcollectpads.c:
8290         * gst/base/gstcollectpads.h:
8291         * libs/gst/controller/gst-controller.c:
8292         * libs/gst/controller/gst-controller.h:
8293         * libs/gst/controller/gst-helper.c:
8294         * libs/gst/controller/gst-interpolation.c:
8295         * libs/gst/controller/lib.c:
8296           added long/short desc for controller docs
8297           added collectpads base class docs
8298           added correct includes to base-class docs
8299
8300 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8301
8302         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8303         (gst_test_mono_source_set_property),
8304         (gst_test_mono_source_class_init), (GST_START_TEST),
8305         (gst_controller_suite):
8306         * docs/gst/gstreamer-docs.sgml:
8307         * docs/gst/gstreamer-sections.txt:
8308         * docs/gst/gstreamer.types:
8309         * docs/libs/gstreamer-libs-docs.sgml:
8310         * docs/libs/gstreamer-libs-sections.txt:
8311         * gst/base/gstadapter.c:
8312         * libs/gst/controller/gst-controller.c:
8313         (gst_controlled_property_new), (gst_controlled_property_free),
8314         (gst_controller_new_valist),
8315         (gst_controller_remove_properties_valist),
8316         (gst_controller_sink_values), (_gst_controller_finalize):
8317         * libs/gst/controller/gst-controller.h:
8318         * libs/gst/controller/gst-helper.c:
8319         (gst_object_control_properties), (gst_object_uncontrol_properties),
8320         (gst_object_get_controller), (gst_object_set_controller),
8321         (gst_object_sink_values), (gst_object_get_value_arrays),
8322         (gst_object_get_value_array):
8323           more tests (and fixes) for the controller
8324           more docs for the controller
8325           integrated companies docs for the adapter 
8326
8327 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8328
8329         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8330         (GST_START_TEST), (fakesrc_suite):
8331           add tests for sizetype
8332
8333 2005-08-04  Andy Wingo  <wingo@pobox.com>
8334
8335         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8336         fixes buffer_alloc proxying among other things.
8337
8338         * gst/base/gstbasetransform.c:
8339         * gst/base/gstbasetransform.h:
8340         Revert patch to gstbasetransform from 7-28 removing
8341         delay_configure.
8342
8343         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8344         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8345         Semantics changed, should return not the size of the output buffer
8346         but the byte size of a buffer with a given caps.
8347
8348         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8349         debug object.
8350         (gst_base_transform_configure_caps): Don't set out_size here: (in,
8351         out) are not the pad caps until setcaps finishes.
8352         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8353         not-in-place case as well. Deal with changing from in-place to
8354         not-in-place within calling pad_alloc_buffer. Still a bit
8355         concerned about the overhead here...
8356
8357 2005-08-03  Andy Wingo  <wingo@pobox.com>
8358
8359         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8360         fixating is an error.
8361
8362 2005-08-04  Edward Hervey  <edward@fluendo.com>
8363
8364         * gst/base/gstadapter.h: 
8365         Added gst_adapter_get_type() to the header
8366
8367 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8368
8369         * check/Makefile.am:
8370         * check/gst-libs/controller.c:
8371         * libs/gst/controller/gst-controller.c:
8372         (gst_controller_new_valist):
8373           added check test suite for the controller
8374         * gst/base/gstpushsrc.c:
8375           fixed a doc typo
8376
8377 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8378
8379         * docs/gst/Makefile.am:
8380         * docs/gst/gstreamer-docs.sgml:
8381         * docs/gst/gstreamer-sections.txt:
8382         * docs/gst/gstreamer.types:
8383         * docs/gst/tmpl/gstfakesrc.sgml:
8384         * gst/base/README:
8385         * gst/base/gstbasesink.c:
8386         * gst/base/gstbasesink.h:
8387         * gst/base/gstbasesrc.c:
8388         * gst/base/gstbasesrc.h:
8389         * gst/base/gstbasetransform.c:
8390         * gst/base/gstpushsrc.c:
8391         * gst/base/gstpushsrc.h:
8392           add short/long description docs to base classes
8393           add pushsrc to the docs
8394           remove consolidated doc fragments
8395
8396 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8397
8398         * configure.ac:
8399         * docs/libs/Makefile.am:
8400         * docs/libs/gstreamer-libs-docs.sgml:
8401         * docs/libs/gstreamer-libs-sections.txt:
8402         * docs/libs/gstreamer-libs.types:
8403         * examples/Makefile.am:
8404         * examples/controller/.cvsignore:
8405         * examples/controller/Makefile.am:
8406         * examples/controller/audio-example.c: (main):
8407         * libs/gst/Makefile.am:
8408         * libs/gst/controller/.cvsignore:
8409         * libs/gst/controller/Makefile.am:
8410         * libs/gst/controller/gst-controller.c:
8411         (on_object_controlled_property_changed), (gst_timed_value_compare),
8412         (gst_timed_value_find),
8413         (gst_controlled_property_set_interpolation_mode),
8414         (gst_controlled_property_new), (gst_controlled_property_free),
8415         (gst_controller_find_controlled_property),
8416         (gst_controller_new_valist), (gst_controller_new),
8417         (gst_controller_remove_properties_valist),
8418         (gst_controller_remove_properties), (gst_controller_set),
8419         (gst_controller_set_from_list), (gst_controller_unset),
8420         (gst_controller_get), (gst_controller_get_all),
8421         (gst_controller_sink_values), (gst_controller_get_value_arrays),
8422         (gst_controller_get_value_array),
8423         (gst_controller_set_interpolation_mode),
8424         (_gst_controller_finalize), (_gst_controller_init),
8425         (_gst_controller_class_init), (gst_controller_get_type):
8426         * libs/gst/controller/gst-controller.h:
8427         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8428         (g_object_uncontrol_properties), (g_object_get_controller),
8429         (g_object_set_controller), (g_object_sink_values),
8430         (g_object_get_value_arrays), (g_object_get_value_array):
8431         * libs/gst/controller/gst-interpolation.c:
8432         (gst_controlled_property_find_timed_value_node),
8433         (interpolate_none_get), (interpolate_trigger_get),
8434         (interpolate_trigger_get_value_array):
8435         * libs/gst/controller/lib.c: (gst_controller_init):
8436         * pkgconfig/Makefile.am:
8437         * pkgconfig/gstreamer-control-uninstalled.pc.in:
8438         * pkgconfig/gstreamer-control.pc.in:
8439         * testsuite/Makefile.am:
8440         * testsuite/controller/.cvsignore:
8441         * testsuite/controller/Makefile.am:
8442         * testsuite/controller/interpolator.c: (main):
8443           added controller code
8444           removed dparam pc files
8445
8446 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8447         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8448         (gst_collectpads_stop):
8449           Broadcast the condition when shutting down, to make sure we wake all
8450           threads up. Shut down pads on finalize, for safety.
8451
8452 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8453         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8454         (gst_base_transform_handle_buffer),
8455         (gst_base_transform_change_state):
8456           Handle PAUSED->READY->PAUSED transition after negotiation
8457           occurred already.
8458         * gst/gstmessage.c: (gst_message_init):
8459           Extra piece of debug for new messages.
8460
8461 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
8462
8463         * configure.ac:
8464         * docs/gst/tmpl/gstbasesrc.sgml:
8465         * docs/gst/tmpl/gstelement.sgml:
8466         * docs/gst/tmpl/gstevent.sgml:
8467         * docs/gst/tmpl/gstfakesrc.sgml:
8468         * docs/gst/tmpl/gstformat.sgml:
8469         * docs/gst/tmpl/gstghostpad.sgml:
8470         * docs/gst/tmpl/gstpad.sgml:
8471         * docs/gst/tmpl/gstquery.sgml:
8472         * docs/gst/tmpl/gststructure.sgml:
8473         * docs/gst/tmpl/gsttaglist.sgml:
8474         * docs/gst/tmpl/gstvalue.sgml:
8475         * docs/libs/gstreamer-libs-docs.sgml:
8476         * docs/libs/gstreamer-libs-sections.txt:
8477         * docs/libs/gstreamer-libs.types:
8478         * libs/gst/Makefile.am:
8479         * libs/gst/control/.cvsignore:
8480         * libs/gst/control/Makefile.am:
8481         * libs/gst/control/control.c:
8482         * libs/gst/control/control.h:
8483         * libs/gst/control/dparam.c:
8484         * libs/gst/control/dparam.h:
8485         * libs/gst/control/dparam_smooth.c:
8486         * libs/gst/control/dparam_smooth.h:
8487         * libs/gst/control/dparamcommon.h:
8488         * libs/gst/control/dparammanager.c:
8489         * libs/gst/control/dparammanager.h:
8490         * libs/gst/control/dplinearinterp.c:
8491         * libs/gst/control/dplinearinterp.h:
8492         * libs/gst/control/unitconvert.c:
8493         * libs/gst/control/unitconvert.h:
8494         * testsuite/Makefile.am:
8495         * testsuite/dynparams/.cvsignore:
8496         * testsuite/dynparams/Makefile.am:
8497         * testsuite/dynparams/dparamstest.c:
8498         * tools/Makefile.am:
8499         * tools/gst-inspect.c: (print_element_info), (main):
8500         * tools/gst-xmlinspect.c: (print_element_info), (main):
8501           deactivate and remove dparams (libgstcontrol)
8502
8503 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8504
8505         * gst/elements/gsttypefindelement.c:
8506         (gst_type_find_element_have_type), (gst_type_find_element_init),
8507         (stop_typefinding), (gst_type_find_element_handle_event),
8508         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8509         * gst/elements/gsttypefindelement.h:
8510           Set caps on all outgoing buffers, not just the first one.
8511
8512 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8513
8514         * gst/elements/gsttypefindelement.c:
8515         (gst_type_find_element_have_type),
8516         (gst_type_find_element_check_set_buffer_caps),
8517         (gst_type_find_element_init), (stop_typefinding),
8518         (gst_type_find_element_handle_event),
8519         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8520         * gst/elements/gsttypefindelement.h:
8521           Set caps on first outgoing buffer when we've found the type.
8522
8523 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8524
8525         * docs/gst/gstreamer-docs.sgml:
8526         * docs/gst/gstreamer-sections.txt:
8527         * docs/gst/tmpl/gstscheduler.sgml:
8528         * docs/gst/tmpl/gstschedulerfactory.sgml:
8529           Remove some old cruft from docs.
8530
8531 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
8532
8533         * gst/gstpad.h:
8534           Fix inline docs for GstPadLinkReturn.
8535           
8536         * gst/gststructure.c: (gst_structure_has_name):
8537         * gst/gststructure.h:
8538         * docs/gst/gstreamer-sections.txt:
8539           New API: gst_structure_has_name().
8540
8541 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
8542
8543         * configure.ac:
8544           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
8545           and _LARGEFILE_SOURCE in config.h as required. Do not 
8546           export those flags in our .pc files any longer (#142209).
8547
8548           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
8549
8550         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
8551         (gst_file_sink_do_seek), (gst_file_sink_event),
8552         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8553           Redo seek/tell calls with large file support in mind; add some
8554           debugging messages; add log message that tells us when large
8555           file support is unavailable or not enabled for some reason.
8556
8557         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
8558           Add log message that tells us when large file support 
8559           is unavailable or not enabled for some reason.
8560
8561 2005-07-29  Wim Taymans  <wim@fluendo.com>
8562
8563         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8564         Added test for removing an element with ghostpad from a bin.
8565         Fixed test as current implementation does the right thing.
8566
8567         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
8568         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
8569         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
8570         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
8571         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
8572         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8573         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8574         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8575         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
8576         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
8577         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
8578         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
8579         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8580         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
8581         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
8582         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8583         * gst/gstghostpad.h:
8584         Clean up ghostpads, remove properties for internal stuff.
8585         Make threadsafe.
8586         Fix refcounting.
8587         Prepare for switching targets, not all use cases work yet.
8588
8589 2005-07-29  Wim Taymans  <wim@fluendo.com>
8590
8591         * docs/design/part-gstghostpad.txt:
8592         Small update.
8593
8594         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8595         (gst_bin_remove_func):
8596         Unlinking pads while holding the bin LOCK is not a good
8597         idea.
8598
8599         * gst/gstpad.c: (gst_pad_class_init),
8600         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
8601         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
8602         No prob setting template after creating the pad.
8603
8604 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
8605
8606         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
8607         (gst_bus_peek), (gst_bus_source_dispatch),
8608         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
8609         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
8610           gst_bus_poll may be called from other threads. Handle
8611           this nicely by not making poll_data disappear off the
8612           stack once gst_bus_poll returns.
8613           gst_bus_peek now increments the refcount on the returned
8614           message.
8615
8616 2005-07-29  Wim Taymans  <wim@fluendo.com>
8617
8618         * docs/design/part-gstghostpad.txt:
8619         Overview of current GhostPad datastructures and use
8620         cases for changing the target.
8621
8622 2005-07-28  Wim Taymans  <wim@fluendo.com>
8623
8624         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8625         Added checks for hierarchy consistency whan adding linked
8626         elements to bins.
8627
8628         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8629         Added check to test element scheduling without bin/pipeline.
8630
8631         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8632         First add elements to bin, then link.
8633         
8634         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8635         (gst_bin_remove_func):
8636         Unlink pads from elements added/removed from bin to maintain
8637         hierarchy consistency.
8638
8639 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8640
8641         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8642         (gst_base_transform_handle_buffer):
8643         * gst/base/gstbasetransform.h:
8644           Remove broken delay_configure (fixes renegotiation of software
8645           scaling pipelines); remove some leftover printf()s.
8646
8647 2005-07-28  Wim Taymans  <wim@fluendo.com>
8648
8649         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8650         Added some more tests for wrong hierarchy
8651
8652         * docs/design/part-overview.txt:
8653         Some updates.
8654
8655         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
8656         Cleanups.
8657
8658         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
8659         (gst_element_dispose):
8660         Some more cleanups.
8661
8662         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8663         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
8664         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8665         (gst_pad_set_caps), (gst_pad_send_event):
8666         Check for correct hierarchy when linking pads. Moving to
8667         strict requirement for ghostpads when linking elements in
8668         different bins.
8669
8670         * gst/gstpad.h:
8671         Clean ups. Added WRONG_HIERARCHY return value.
8672
8673 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8674
8675         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8676           Better debug if no transform is possible.
8677
8678 2005-07-27  Wim Taymans  <wim@fluendo.com>
8679
8680         * docs/random/wtay/network-transp:
8681         Some old doc I had.
8682
8683 2005-07-27  Wim Taymans  <wim@fluendo.com>
8684
8685         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8686         (gst_dp_event_from_packet):
8687         Fix serialization of seek events.
8688
8689 2005-07-27  Wim Taymans  <wim@fluendo.com>
8690
8691         * check/gst-libs/gdp.c: (GST_START_TEST):
8692         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8693         Fix compilation and fix event serialization.
8694
8695 2005-07-27  Wim Taymans  <wim@fluendo.com>
8696
8697         * CHANGES-0.9:
8698         * docs/design/part-TODO.txt:
8699         * docs/design/part-events.txt:
8700         Some docs updates
8701
8702         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8703         (gst_base_sink_event), (gst_base_sink_do_sync),
8704         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8705         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8706         (gst_base_src_do_seek), (gst_base_src_event_handler),
8707         (gst_base_src_loop):
8708         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8709         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8710         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8711         (gst_base_transform_event), (gst_base_transform_handle_buffer),
8712         (gst_base_transform_set_passthrough),
8713         (gst_base_transform_is_passthrough):
8714         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8715         * gst/elements/gstfilesink.c: (gst_file_sink_event):
8716         Event updates.
8717
8718         * gst/gstbuffer.h:
8719         Use faster casts.
8720
8721         * gst/gstelement.c: (gst_element_seek):
8722         * gst/gstelement.h:
8723         Update gst_element_seek.
8724
8725         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
8726         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
8727         (gst_event_new_flush_start), (gst_event_new_flush_stop),
8728         (gst_event_new_eos), (gst_event_new_newsegment),
8729         (gst_event_parse_newsegment), (gst_event_new_tag),
8730         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
8731         (gst_event_parse_qos), (gst_event_new_seek),
8732         (gst_event_parse_seek), (gst_event_new_navigation):
8733         * gst/gstevent.h:
8734         Make GstEvent use GstStructure. Add parsing code, make sure the
8735         API is sufficiently generic.
8736         Mark possible directions of events and serialization.
8737
8738         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
8739         (_gst_message_copy), (gst_message_new_segment_start),
8740         (gst_message_new_segment_done), (gst_message_new_custom),
8741         (gst_message_parse_segment_start),
8742         (gst_message_parse_segment_done):
8743         Small cleanups.
8744
8745         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8746         (gst_pad_set_caps), (gst_pad_send_event):
8747         Update for new events. 
8748         Catch events sent in wrong directions.
8749
8750         * gst/gstqueue.c: (gst_queue_link_src),
8751         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
8752         (gst_queue_handle_src_query):
8753         Event updates.
8754
8755         * gst/gsttag.c:
8756         * gst/gsttag.h:
8757         Remove event code from this file.
8758
8759         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8760         (gst_dp_event_from_packet):
8761         Event updates.
8762
8763 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8764
8765         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
8766         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8767         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
8768           Make debugging actually useful.
8769
8770 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8771
8772         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
8773         (gst_pad_fixate_caps):
8774           Implement default fixation once again, so that gst_pad_fixate()
8775           actually does anything at all. This probably needs to be some
8776           sort of a last resort, and use profile-based fixation first, but
8777           since that doesn't exist yet, this is the best we have. Fixes
8778           visualization in Totem.
8779
8780 2005-07-22  Wim Taymans  <wim@fluendo.com>
8781
8782         * docs/design/part-events.txt:
8783         Small update.
8784
8785         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8786         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
8787         (gst_base_sink_activate_pull):
8788         Some more comments.
8789
8790         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
8791         (gst_fake_src_create):
8792         Fix handoff marshall.
8793
8794         * gst/elements/gstidentity.c: (gst_identity_class_init),
8795         (gst_identity_transform_ip):
8796         We're a real inplace element.
8797
8798         * gst/gstbus.c: (gst_bus_post):
8799         Added some comments.
8800
8801         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
8802         * tests/muxing/case1.c: (main):
8803         * tests/sched/dynamic-pipeline.c: (main):
8804         * tests/sched/interrupt1.c: (main):
8805         * tests/sched/interrupt2.c: (main):
8806         * tests/sched/interrupt3.c: (main):
8807         * tests/sched/runxml.c: (main):
8808         * tests/sched/sched-stress.c: (main):
8809         * tests/seeking/seeking1.c: (event_received), (main):
8810         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
8811         (main):
8812         * tests/threadstate/threadstate3.c: (main):
8813         * tests/threadstate/threadstate4.c: (main):
8814         * tests/threadstate/threadstate5.c: (main):
8815         Fix the tests.
8816
8817 2005-07-21  Wim Taymans  <wim@fluendo.com>
8818
8819         * docs/design/part-seeking.txt:
8820         Some small additions.
8821
8822         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8823         (gst_base_sink_get_times), (gst_base_sink_do_sync),
8824         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8825         * gst/base/gstbasesink.h:
8826         discont values are gint64, handle the math correctly.
8827
8828         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8829         Make the basesrc report error if the source pad is not linked.
8830
8831         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8832         (gst_queue_loop), (gst_queue_handle_src_query),
8833         (gst_queue_src_activate_push):
8834         Make queue collect data even if the srcpad is not linked.
8835         Start pushing out data as soon as it is linked.
8836
8837         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
8838         * gst/gstutils.h:
8839         Added gst_flow_get_name() to ease error reporting.
8840
8841 2005-07-20  Wim Taymans  <wim@fluendo.com>
8842
8843         * gst/gstmessage.c: (gst_message_new_segment_start),
8844         (gst_message_new_segment_done), (gst_message_parse_segment_start),
8845         (gst_message_parse_segment_done):
8846         * gst/gstmessage.h:
8847         Added a bunch of messages for advanced seeking.
8848
8849         * gst/parse/grammar.y:
8850         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
8851         (gst_dpman_state_changed):
8852         Fix some new-pad -> pad-added signals
8853
8854 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8855
8856         * docs/manual/appendix-porting.xml:
8857         * docs/pwg/appendix-porting.xml:
8858           Document new-pad/state-change signal renames and the FixedList
8859           type rename.
8860
8861 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8862
8863         * docs/manual/advanced-autoplugging.xml:
8864         * docs/manual/basics-helloworld.xml:
8865         * docs/manual/basics-pads.xml:
8866         * docs/random/ds/0.9-suggested-changes:
8867         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
8868         * gst/gstelement.h:
8869         * gst/gstevent.h:
8870         * gst/gstformat.h:
8871         * gst/gstquery.h:
8872         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8873         (gst_structure_parse_array), (gst_structure_parse_value):
8874         * gst/gstvalue.c: (gst_type_is_fixed),
8875         (gst_value_list_prepend_value), (gst_value_list_append_value),
8876         (gst_value_list_get_size), (gst_value_list_get_value),
8877         (gst_value_transform_array_string), (gst_value_serialize_array),
8878         (gst_value_deserialize_array), (gst_value_intersect_array),
8879         (gst_value_is_fixed), (_gst_value_initialize):
8880         * gst/gstvalue.h:
8881           GstElement::new-pad -> pad-added, GstElement::state-change ->
8882           state-changed, GstValueFixedList -> GstValueArray, add format and
8883           flags as their own arguments in gst_element_seek() (should improve
8884           "bindeability"), remove function generators since they don't work
8885           under a whole bunch of compilers (they were deprecated already
8886           anyway).
8887
8888 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8889
8890         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
8891         (_gst_debug_register_funcptr):
8892         * gst/gstinfo.h:
8893           Fix illegal cast on some platforms (#309253).
8894
8895 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8896
8897         * gst/gstmessage.c: (gst_message_new_custom):
8898         * gst/gstmessage.h:
8899           Add _new_custom, make _new_application a macro to _new_custom.
8900
8901 2005-07-20  Wim Taymans  <wim@fluendo.com>
8902
8903         * gst/base/gstbasesrc.c: (gst_base_src_init),
8904         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8905         * gst/base/gstbasesrc.h:
8906         Add a gboolean to decide when to push out a discont.
8907
8908         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8909         (gst_queue_loop), (gst_queue_handle_src_query),
8910         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
8911         (gst_queue_set_property), (gst_queue_get_property):
8912         Some cleanups.
8913
8914         * tests/threadstate/threadstate1.c: (main):
8915         Make a thread test compile and run... very silly..
8916
8917
8918 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8919
8920         * docs/manual/appendix-porting.xml:
8921           Mention removal of libgstgconf-0.9.la and existence of gconf
8922           elements.
8923
8924 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8925
8926         * docs/pwg/advanced-clock.xml:
8927         * docs/pwg/appendix-porting.xml:
8928         * docs/pwg/intro-preface.xml:
8929         * docs/pwg/other-base.xml:
8930         * docs/pwg/other-manager.xml:
8931         * docs/pwg/other-nton.xml:
8932         * docs/pwg/other-ntoone.xml:
8933         * docs/pwg/other-oneton.xml:
8934         * docs/pwg/pwg.xml:
8935           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
8936           demuxer), remove n-to-n (was never written), fix some code examples
8937           and links and update the porting section to include all this.
8938
8939 2005-07-19  Wim Taymans  <wim@fluendo.com>
8940
8941         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
8942         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
8943         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
8944         (gst_queue_src_activate_push), (gst_queue_change_state),
8945         (gst_queue_get_property):
8946         * gst/gstqueue.h:
8947         Propagate GstFlowReturn more intelligently upstream and output
8948         an ERROR/EOS when streaming stopped due to fatal error.
8949
8950 2005-07-19  Wim Taymans  <wim@fluendo.com>
8951
8952         * tools/gst-launch.c: (check_intr), (event_loop), (main):
8953         Don't block forever for the state change to complete, the
8954         pipeline already did with a sensible timeout.
8955
8956 2005-07-19  Wim Taymans  <wim@fluendo.com>
8957
8958         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8959         Make sure we never call the create function is we
8960         got deactivated.
8961
8962 2005-07-19  Andy Wingo  <wingo@pobox.com>
8963
8964         * gst/parse/parse.l: Attempt to solve bug #172815.
8965
8966 2005-07-19  Wim Taymans  <wim@fluendo.com>
8967
8968         * docs/design/part-clocks.txt:
8969         * docs/design/part-events.txt:
8970         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
8971         Small docs updates.
8972         Only update the seeking values when we are not
8973         busy streaming.
8974
8975 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8976
8977         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8978           Oops, ignore the result of gst_pad_push_event here.
8979
8980 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
8981
8982         * gst/base/gstbasesrc.c: (gst_base_src_loop),
8983         (gst_base_src_activate_push):
8984           Send discont event from the loop function, as pads
8985           aren't activated yet in the activate_push handler.
8986
8987         * gst/gstbin.c: (bin_bus_handler):
8988           Don't leak element name.
8989
8990 2005-07-18  Andy Wingo  <wingo@pobox.com>
8991
8992         * configure.ac: Use AS_LIBTOOL_TAGS.
8993
8994 2005-07-18  Wim Taymans  <wim@fluendo.com>
8995
8996         * docs/gst/gstreamer.types:
8997         Remove deleted types.
8998
8999 2005-07-18  Wim Taymans  <wim@fluendo.com>
9000
9001         * check/elements/gstfakesrc.c: (GST_START_TEST):
9002         * configure.ac:
9003         * gst/Makefile.am:
9004         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
9005         (init_popt_callback):
9006         * gst/gst.h:
9007         * gst/gst_private.h:
9008         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
9009         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
9010         * gst/gstbin.h:
9011         * gst/gstbus.h:
9012         * gst/gstconfig.h.in:
9013         * gst/gstelement.c: (gst_element_class_init),
9014         (gst_element_set_base_time), (gst_element_get_base_time),
9015         (iterator_fold_with_resync), (gst_element_change_state),
9016         (gst_element_dispose), (gst_element_get_bus):
9017         * gst/gstelement.h:
9018         * gst/gstelementfactory.h:
9019         * gst/gsterror.c: (_gst_core_errors_init):
9020         * gst/gsterror.h:
9021         * gst/gstevent.h:
9022         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9023         * gst/gstindex.c:
9024         * gst/gstinfo.c: (_gst_debug_init):
9025         * gst/gstmessage.c: (_gst_message_copy):
9026         * gst/gstmessage.h:
9027         * gst/gstminiobject.h:
9028         * gst/gstobject.c:
9029         * gst/gstobject.h:
9030         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9031         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
9032         * gst/gstpad.h:
9033         * gst/gstparse.h:
9034         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9035         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9036         (gst_pipeline_get_last_stream_time):
9037         * gst/gstpipeline.h:
9038         * gst/gstpluginfeature.h:
9039         * gst/gstquery.h:
9040         * gst/gstscheduler.c:
9041         * gst/gstscheduler.h:
9042         * gst/gststructure.h:
9043         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
9044         (gst_task_finalize), (gst_task_func), (gst_task_create),
9045         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
9046         (gst_task_stop), (gst_task_pause):
9047         * gst/gsttask.h:
9048         * gst/gsttypefind.h:
9049         * gst/gsttypes.h:
9050         * gst/registries/gstlibxmlregistry.c: (load_feature),
9051         (gst_xml_registry_load), (gst_xml_registry_save_feature):
9052         * gst/registries/gstxmlregistry.c:
9053         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
9054         * gst/schedulers/threadscheduler.c:
9055         * libs/gst/control/dparammanager.h:
9056         * tools/gst-inspect.c: (print_element_list),
9057         (print_plugin_features), (print_element_features):
9058         * tools/gst-xmlinspect.c: (print_element_list),
9059         (print_plugin_info), (main):
9060         Removed plugable schedulers.
9061         Removed Scheduler/Manager from elements.
9062         Removed gsttypes.h, rearranged includes.
9063         Removed dependency pad<->element, element<>pipeline, and
9064         various others,  fix includes.
9065         implement gst_pad_get_parent() with gst_object_get_parent()
9066         Make GstTask sefcontained.
9067         Fix _get_state() on GstBin, it did not return ASYNC with a 0
9068         timeout.
9069         Fix endless loop in iterator_fold_with_resync.
9070
9071
9072 2005-07-18  Wim Taymans  <wim@fluendo.com>
9073
9074         * gst/Makefile.am:
9075         * gst/gstarch.h:
9076         Remove old file.
9077
9078 2005-07-18  Wim Taymans  <wim@fluendo.com>
9079
9080         * gst/Makefile.am:
9081         No more cothreads.h
9082
9083 2005-07-18  Wim Taymans  <wim@fluendo.com>
9084
9085         * gst/cothreads.c:
9086         * gst/cothreads.h:
9087         Let's remove these.
9088
9089 2005-07-18  Wim Taymans  <wim@fluendo.com>
9090
9091         * docs/design/part-dynamic.txt:
9092         * docs/design/part-events.txt:
9093         * docs/design/part-seeking.txt:
9094         Some more docs in the works.
9095
9096         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9097         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
9098         (gst_base_transform_setcaps), (gst_base_transform_get_size),
9099         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
9100         (gst_base_transform_handle_buffer),
9101         (gst_base_transform_sink_activate_push),
9102         (gst_base_transform_src_activate_pull),
9103         (gst_base_transform_set_passthrough),
9104         (gst_base_transform_is_passthrough):
9105         Refcounting fixes.
9106
9107         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
9108         Cleanups.
9109
9110         * gst/gstevent.c: (gst_event_finalize):
9111         Set SRC to NULL.
9112
9113         * gst/gstutils.c: (gst_element_unlink),
9114         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
9115         (gst_pad_proxy_setcaps):
9116         * gst/gstutils.h:
9117         Add _get_parent_element() to get a pads parent as an element.
9118
9119 2005-07-18  Wim Taymans  <wim@fluendo.com>
9120
9121         * check/gst/gstbin.c: (GST_START_TEST):
9122         Remove bogus test.
9123
9124 2005-07-18  Wim Taymans  <wim@fluendo.com>
9125
9126         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9127         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9128         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9129         (gst_base_sink_event), (gst_base_sink_do_sync),
9130         (gst_base_sink_chain), (gst_base_sink_loop),
9131         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
9132         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
9133         Refcounting fixes.
9134         Fix logic for returning ASYNC when not prerolled.
9135
9136 2005-07-18  Wim Taymans  <wim@fluendo.com>
9137
9138         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9139         Fix nasty refcount bug.
9140
9141 2005-07-16 Philippe Khalaf <burger@speedy.org>
9142
9143         * gst/elements/gstfdsrc.c:
9144         * gst/elements/gstfdsrc.h:
9145         * gst/elements/gstelements.c:
9146         * gst/elements/Makefile.am:
9147         Ported fdsrc to 0.9.
9148
9149 2005-07-16  Wim Taymans  <wim@fluendo.com>
9150
9151         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9152         (gst_base_sink_do_sync):
9153         Fix compile error.
9154
9155 2005-07-16  Wim Taymans  <wim@fluendo.com>
9156
9157         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9158         (gst_base_sink_event), (gst_base_sink_get_times),
9159         (gst_base_sink_do_sync), (gst_base_sink_change_state):
9160         * gst/base/gstbasesink.h:
9161         Store and use discont values when syncing buffers as described
9162         in design docs.
9163         
9164         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9165         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
9166         (gst_base_src_activate_push):
9167         Push discont event when starting.
9168
9169         * gst/elements/gstidentity.c: (gst_identity_transform):
9170         Small cleanups.
9171
9172         * gst/gstbin.c: (gst_bin_change_state):
9173         Small cleanups in base_time  distribution.
9174
9175         * gst/gstelement.c: (gst_element_set_base_time),
9176         (gst_element_get_base_time), (gst_element_change_state):
9177         * gst/gstelement.h:
9178         Added methods for the base_time of the element.
9179         Some MT fixes.
9180
9181         * gst/gstpipeline.c: (gst_pipeline_send_event),
9182         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9183         (gst_pipeline_get_last_stream_time):
9184         * gst/gstpipeline.h:
9185         MT fixes.
9186         Handle seeking as described in design doc, remove stream_time
9187         hack.
9188         Cleanups clock and stream_time selection code. Added accessors
9189         for the stream_time.
9190         
9191
9192 2005-07-16  Andy Wingo  <wingo@pobox.com>
9193
9194         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
9195         (#305291).
9196
9197 2005-07-16  Wim Taymans  <wim@fluendo.com>
9198
9199         * check/gst/gstbin.c: (GST_START_TEST):
9200         Make elements silent as the deep_notify refs the
9201         parent, which might make the test fail.
9202
9203         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9204         Don't hold the lock for too long.
9205
9206 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
9207
9208         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9209           Don't unref the caps we passed to gst_caps_make_writable() after
9210           passing them. gst_caps_make_writable() will do that for us.
9211
9212 2005-07-15  Andy Wingo  <wingo@pobox.com>
9213
9214         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
9215         (#157311).
9216
9217         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
9218         own marshalling function for the handoff signal. Properly type the
9219         buffer as a buffer. Fixes some warnings. Should do a more general
9220         solution.
9221         (gst_identity_class_init): Plug into the right marshaller.
9222
9223 2005-07-15  Wim Taymans  <wim@fluendo.com>
9224
9225         * docs/design/part-TODO.txt:
9226         * docs/design/part-clocks.txt:
9227         * docs/design/part-element-sink.txt:
9228         * docs/design/part-events.txt:
9229         * docs/design/part-gstpipeline.txt:
9230         Updated docs, mostly DISCONT related.
9231
9232 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
9233
9234         * docs/pwg/building-pads.xml:
9235           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
9236
9237 2005-07-15  Andy Wingo  <wingo@pobox.com>
9238
9239         * tools/gst-typefind.c: Update, add copyright block.
9240
9241         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
9242         Normalize and truncate caps before fixation.
9243
9244         * gst/gstcaps.h:
9245         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
9246         discards all but the first structure from its argument.
9247
9248 2005-07-15  Wim Taymans  <wim@fluendo.com>
9249
9250         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9251         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
9252         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9253         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9254         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
9255         (gst_base_transform_chain), (gst_base_transform_change_state),
9256         (gst_base_transform_set_passthrough),
9257         (gst_base_transform_is_passthrough):
9258         * gst/base/gstbasetransform.h:
9259         Make passthrough work using the bufferpools.
9260         Changed API a bit, subclasses have to write into a buffer
9261         provided by the base class.
9262         More debug info in nego functions.
9263         
9264         * gst/elements/gstidentity.c: (gst_identity_init),
9265         (gst_identity_transform):
9266         Port to new base class.
9267
9268 2005-07-15  Wim Taymans  <wim@fluendo.com>
9269
9270         * gst/gstmessage.c: (gst_message_new_state_changed):
9271         * tools/gst-launch.c: (event_loop), (main):
9272         Totally dump messages in -launch with the -m option.
9273         Fix message name for State messages,
9274
9275 2005-07-14  Wim Taymans  <wim@fluendo.com>
9276
9277         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9278         Post error messages on errors.
9279
9280 2005-07-14  Wim Taymans  <wim@fluendo.com>
9281
9282         * gst/gstcaps.c: (gst_caps_do_simplify):
9283         Remove debug info.
9284
9285         * gst/gsterror.h:
9286         Define error for stream stopped.
9287
9288         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9289         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
9290         Do proper return values.
9291
9292         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9293         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
9294         (gst_pad_get_range):
9295         Better return values.
9296
9297         * gst/gstpad.h:
9298         Reorganise return values, add macro to check for fatal errors.
9299
9300         * gst/gstqueue.c: (gst_queue_chain):
9301         Return proper GstFlowReturn values,
9302
9303 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9304
9305         * docs/gst/gstreamer-sections.txt:
9306         * docs/gst/gstreamer.types:
9307         * docs/gst/tmpl/gst.sgml:
9308         * docs/gst/tmpl/gstbasesink.sgml:
9309         * docs/gst/tmpl/gstbasesrc.sgml:
9310         * docs/gst/tmpl/gstbasetransform.sgml:
9311         * docs/gst/tmpl/gstbin.sgml:
9312         * docs/gst/tmpl/gstbuffer.sgml:
9313         * docs/gst/tmpl/gstcaps.sgml:
9314         * docs/gst/tmpl/gstclock.sgml:
9315         * docs/gst/tmpl/gstcompat.sgml:
9316         * docs/gst/tmpl/gstconfig.sgml:
9317         * docs/gst/tmpl/gstelement.sgml:
9318         * docs/gst/tmpl/gstelementdetails.sgml:
9319         * docs/gst/tmpl/gstelementfactory.sgml:
9320         * docs/gst/tmpl/gstenumtypes.sgml:
9321         * docs/gst/tmpl/gsterror.sgml:
9322         * docs/gst/tmpl/gstevent.sgml:
9323         * docs/gst/tmpl/gstfakesink.sgml:
9324         * docs/gst/tmpl/gstfakesrc.sgml:
9325         * docs/gst/tmpl/gstfilesink.sgml:
9326         * docs/gst/tmpl/gstfilesrc.sgml:
9327         * docs/gst/tmpl/gstfilter.sgml:
9328         * docs/gst/tmpl/gstformat.sgml:
9329         * docs/gst/tmpl/gstghostpad.sgml:
9330         * docs/gst/tmpl/gstimplementsinterface.sgml:
9331         * docs/gst/tmpl/gstindex.sgml:
9332         * docs/gst/tmpl/gstindexfactory.sgml:
9333         * docs/gst/tmpl/gstinfo.sgml:
9334         * docs/gst/tmpl/gstiterator.sgml:
9335         * docs/gst/tmpl/gstmacros.sgml:
9336         * docs/gst/tmpl/gstmemchunk.sgml:
9337         * docs/gst/tmpl/gstminiobject.sgml:
9338         * docs/gst/tmpl/gstobject.sgml:
9339         * docs/gst/tmpl/gstpad.sgml:
9340         * docs/gst/tmpl/gstpadtemplate.sgml:
9341         * docs/gst/tmpl/gstparse.sgml:
9342         * docs/gst/tmpl/gstpipeline.sgml:
9343         * docs/gst/tmpl/gstplugin.sgml:
9344         * docs/gst/tmpl/gstpluginfeature.sgml:
9345         * docs/gst/tmpl/gstquery.sgml:
9346         * docs/gst/tmpl/gstqueue.sgml:
9347         * docs/gst/tmpl/gstregistry.sgml:
9348         * docs/gst/tmpl/gstregistrypool.sgml:
9349         * docs/gst/tmpl/gstscheduler.sgml:
9350         * docs/gst/tmpl/gstschedulerfactory.sgml:
9351         * docs/gst/tmpl/gststructure.sgml:
9352         * docs/gst/tmpl/gstsystemclock.sgml:
9353         * docs/gst/tmpl/gsttaglist.sgml:
9354         * docs/gst/tmpl/gsttagsetter.sgml:
9355         * docs/gst/tmpl/gsttrace.sgml:
9356         * docs/gst/tmpl/gsttrashstack.sgml:
9357         * docs/gst/tmpl/gsttypefind.sgml:
9358         * docs/gst/tmpl/gsttypefindfactory.sgml:
9359         * docs/gst/tmpl/gsttypes.sgml:
9360         * docs/gst/tmpl/gsturihandler.sgml:
9361         * docs/gst/tmpl/gsturitype.sgml:
9362         * docs/gst/tmpl/gstutils.sgml:
9363         * docs/gst/tmpl/gstvalue.sgml:
9364         * docs/gst/tmpl/gstversion.sgml:
9365         * docs/gst/tmpl/gstxml.sgml:
9366         * docs/libs/tmpl/gstcontrol.sgml:
9367         * docs/libs/tmpl/gstdataprotocol.sgml:
9368         * docs/libs/tmpl/gstdparam.sgml:
9369         * docs/libs/tmpl/gstdplinint.sgml:
9370         * docs/libs/tmpl/gstdpman.sgml:
9371         * docs/libs/tmpl/gstdpsmooth.sgml:
9372         * docs/libs/tmpl/gstgetbits.sgml:
9373         * docs/libs/tmpl/gstunitconvert.sgml:
9374         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9375         (gst_push_src_base_init), (gst_push_src_class_init),
9376         (gst_push_src_init), (gst_push_src_create):
9377         * gst/base/gstpushsrc.h:
9378         * gst/elements/gstelements.c:
9379         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9380         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9381         (gst_fake_sink_init), (gst_fake_sink_set_property),
9382         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9383         (gst_fake_sink_event), (gst_fake_sink_preroll),
9384         (gst_fake_sink_render), (gst_fake_sink_change_state):
9385         * gst/elements/gstfakesink.h:
9386         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9387         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9388         (gst_fake_src_base_init), (gst_fake_src_class_init),
9389         (gst_fake_src_init), (gst_fake_src_event_handler),
9390         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9391         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9392         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9393         (gst_fake_src_create_buffer), (gst_fake_src_create),
9394         (gst_fake_src_start), (gst_fake_src_stop):
9395         * gst/elements/gstfakesrc.h:
9396         * gst/elements/gstfilesink.c: (_do_init),
9397         (gst_file_sink_base_init), (gst_file_sink_class_init),
9398         (gst_file_sink_init), (gst_file_sink_dispose),
9399         (gst_file_sink_set_location), (gst_file_sink_set_property),
9400         (gst_file_sink_get_property), (gst_file_sink_open_file),
9401         (gst_file_sink_close_file), (gst_file_sink_query),
9402         (gst_file_sink_event), (gst_file_sink_render),
9403         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9404         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9405         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9406         * gst/elements/gstfilesink.h:
9407         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9408         (gst_file_src_class_init), (gst_file_src_init),
9409         (gst_file_src_finalize), (gst_file_src_set_location),
9410         (gst_file_src_set_property), (gst_file_src_get_property),
9411         (gst_file_src_map_region), (gst_file_src_map_small_region),
9412         (gst_file_src_create_mmap), (gst_file_src_create_read),
9413         (gst_file_src_create), (gst_file_src_is_seekable),
9414         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9415         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9416         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9417         (gst_file_src_uri_handler_init):
9418         * gst/elements/gstfilesrc.h:
9419           more autistic cleanliness in functions/names/defines
9420
9421 2005-07-13  Andy Wingo  <wingo@pobox.com>
9422
9423         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9424         source couldn't negotiate.
9425
9426         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9427         connections again.
9428
9429         * gst/gstutils.h:
9430         * gst/gstutils.c (gst_element_link_pads_filtered): New old
9431         function. I am channeling Hades. Put your boots on suckers!!!
9432
9433 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9434
9435         * testsuite/caps/Makefile.am:
9436         * testsuite/caps/value_compare.c:
9437         * testsuite/caps/value_intersect.c:
9438         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9439           move two testsuite apps over to the check dir
9440
9441 2005-07-12  Wim Taymans  <wim@fluendo.com>
9442
9443         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9444         Added more debug info in the negotiate process.
9445
9446         * gst/gstmessage.h:
9447         Prepare for segment playback.
9448
9449         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9450         Better debugging.
9451
9452         * gst/gstutils.c:
9453         Some more docs.
9454
9455         * tools/gst-launch.c: (main):
9456         NULL pipeline on errors.
9457
9458 2005-07-12  Andy Wingo  <wingo@pobox.com>
9459
9460         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9461         not it comes from a malloc region. Make sure our copy gets freed.
9462
9463 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9464
9465         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9466         * check/gst/gstmessage.c: (GST_START_TEST):
9467         * check/gst/gststructure.c: (GST_START_TEST),
9468         (gst_structure_suite), (main):
9469           more testing
9470         * gst/gstelement.c: (gst_element_message_full):
9471           clean up GError and debug string now that they get copied
9472         * gst/gstmessage.c: (gst_message_new_error),
9473         (gst_message_new_warning), (gst_message_parse_error),
9474         (gst_message_parse_warning):
9475           use GST_TYPE_G_ERROR for structure_new, and take copies of
9476           arguments, so that we don't mess up refcounting
9477
9478 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9479
9480         * check/Makefile.am:
9481           add per-test valgrind targets
9482         * check/gst-libs/gdp.c: (GST_START_TEST),
9483         (gst_data_protocol_suite), (main):
9484           clean up
9485
9486 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9487
9488         * check/Makefile.am:
9489           instate more valgrindable tests
9490         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9491         (GST_START_TEST), (fakesrc_suite):
9492         * check/gst/gstpad.c: (GST_START_TEST):
9493         * check/gst/gststructure.c: (GST_START_TEST):
9494           fix test leaks
9495         * docs/gst/tmpl/gstminiobject.sgml:
9496         * gst/gstpad.c: (gst_pad_finalize):
9497           fix the static mutex leak
9498
9499 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9500
9501         * check/Makefile.am:
9502           add two more tests for valgrinding
9503         * check/gst/gstvalue.c: (GST_START_TEST):
9504           test refcount of deserialized buffer, found a leak
9505         * docs/gst/gstreamer-docs.sgml:
9506         * docs/gst/gstreamer-sections.txt:
9507         * docs/gst/gstreamer.types:
9508         * docs/gst/tmpl/gstminiobject.sgml:
9509           add miniobject to docs
9510         * gst/gstminiobject.c:
9511           add some docs
9512         * gst/gstvalue.c: (gst_value_deserialize_buffer),
9513         (gst_string_unwrap):
9514           fix a hard-to-find invalid write for one of the tests
9515           fix a leak for deserialized buffers
9516
9517 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9518
9519         * docs/pwg/advanced-events.xml:
9520         * docs/pwg/advanced-request.xml:
9521         * docs/pwg/advanced-scheduling.xml:
9522         * docs/pwg/appendix-porting.xml:
9523         * docs/pwg/building-boiler.xml:
9524         * docs/pwg/intro-preface.xml:
9525         * docs/pwg/other-ntoone.xml:
9526           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
9527           of example code and explanation for pad activation, loop() and
9528           getrange() functions and a bit more. Remove old comments pointing
9529           to loop-functions.
9530         * examples/pwg/Makefile.am:
9531           Add loop/getrange examples.
9532
9533 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9534
9535         * configure.ac:
9536           check for valgrind binary + some fixes
9537         * check/gst.supp:
9538           valgrind suppressions for the tests
9539         * check/Makefile.am:
9540           add a valgrind: target that valgrinds the unit tests
9541         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
9542         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9543         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9544         * check/gst/gstghostpad.c:
9545           added some cleanup
9546         * check/gst/gstdata.c:
9547           removed
9548         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
9549         (thread_unref), (gst_mini_object_suite), (main):
9550           added
9551         * gst/gst.c: (gst_deinit):
9552         * gst/gst.h:
9553           add a method to clean up.
9554         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9555         (gst_system_clock_obtain):
9556           allow for disposing the system clock.
9557         * tools/gst-launch.c: (main):
9558           deinit
9559
9560 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9561
9562         * docs/gst/tmpl/gstbasesrc.sgml:
9563         * docs/gst/tmpl/gstfakesrc.sgml:
9564         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9565         (gst_base_src_init), (gst_base_src_set_property),
9566         (gst_base_src_get_property), (gst_base_src_get_range),
9567         (gst_base_src_start):
9568         * gst/base/gstbasesrc.h:
9569           add num-buffers property
9570         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9571         (gst_fakesrc_init), (gst_fakesrc_set_property),
9572         (gst_fakesrc_get_property), (gst_fakesrc_create),
9573         (gst_fakesrc_start):
9574           remove num-buffers property
9575
9576 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9577
9578         * docs/gst/gstreamer-sections.txt:
9579         * docs/gst/tmpl/gstbasesink.sgml:
9580         * docs/gst/tmpl/gstbasesrc.sgml:
9581         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9582         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9583         (gst_base_sink_finalize), (gst_base_sink_set_clock),
9584         (gst_base_sink_set_property), (gst_base_sink_get_property),
9585         (gst_base_sink_handle_object), (gst_base_sink_event),
9586         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9587         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
9588         (gst_base_sink_loop), (gst_base_sink_deactivate),
9589         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
9590         (gst_base_sink_change_state):
9591         * gst/base/gstbasesink.h:
9592         * gst/base/gstbasesrc.h:
9593         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
9594         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9595         (gst_filesink_init):
9596           more macro splitting
9597
9598 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9599
9600         * gst/gstelement.c: (gst_element_get_bus):
9601           add debug
9602         * tools/gst-launch.c: (check_intr), (event_loop):
9603           fix bus leaks
9604
9605 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9606
9607         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9608           fix a caps leak
9609
9610 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9611
9612         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9613         (gst_base_src_finalize):
9614           add finalize method and clean up properly
9615         * gst/gstpipeline.c: (gst_pipeline_dispose):
9616           add debug
9617
9618 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9619
9620         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
9621         (gst_bin_suite):
9622           add more things to check
9623         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9624         * gst/gstelement.c:
9625           more debug
9626
9627 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9628
9629         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9630         (GST_START_TEST), (fakesrc_suite):
9631         * check/gst-libs/gdp.c: (GST_START_TEST):
9632         * check/gst/gst.c: (GST_START_TEST):
9633         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9634         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9635         * check/gst/gstbus.c: (GST_START_TEST):
9636         * check/gst/gstcaps.c: (GST_START_TEST):
9637         * check/gst/gstdata.c: (GST_START_TEST):
9638         * check/gst/gstelement.c: (GST_START_TEST):
9639         * check/gst/gstghostpad.c: (GST_START_TEST):
9640         * check/gst/gstiterator.c: (GST_START_TEST):
9641         * check/gst/gstmessage.c: (GST_START_TEST):
9642         * check/gst/gstobject.c: (GST_START_TEST):
9643         * check/gst/gstpad.c: (GST_START_TEST):
9644         * check/gst/gststructure.c: (GST_START_TEST):
9645         * check/gst/gstsystemclock.c: (GST_START_TEST),
9646         (gst_systemclock_suite):
9647         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9648         * check/gst/gstvalue.c: (GST_START_TEST):
9649         * check/pipelines/cleanup.c: (GST_START_TEST):
9650         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9651         * check/states/sinks.c: (GST_START_TEST):
9652         * check/gstcheck.c: (gst_check_init):
9653         * check/gstcheck.h:
9654           add debugging category
9655           use GST_START_TEST now, so we add a debug line
9656
9657 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9658
9659         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
9660           add test for state change message on a bin
9661         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
9662           add another test
9663         * gst/gstbin.c: (gst_bin_init):
9664         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
9665         * gst/gstelement.c: (gst_element_post_message),
9666         (gst_element_set_state):
9667         * gst/gstelementfactory.c: (gst_element_factory_create):
9668         * gst/gstmessage.c: (gst_message_new):
9669         * gst/gstscheduler.c:
9670           various debugging additions and cleanups
9671
9672 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9673
9674         * check/Makefile.am:
9675         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
9676         (main):
9677           adding tests for elements
9678         * gst/gstelement.c: (gst_element_dispose):
9679
9680 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9681
9682         * gst/registries/gstlibxmlregistry.c: (load_feature):
9683           plug more leaks.  A simple gst_init() now is leakfree, yay.
9684
9685 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9686
9687         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
9688         (gst_xml_registry_load):
9689           plug another memleak
9690
9691 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9692
9693         * configure.ac:
9694           use GST_SET_ERROR_CFLAGS
9695         * docs/faq/cvs.xml:
9696           change to ERROR_CFLAGS
9697
9698 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9699
9700         * configure.ac:
9701           make GST_ERROR_CFLAGS overridable and re-enable Werror
9702         * docs/faq/cvs.xml:
9703           add a note about error CFLAGS
9704         * docs/gst/tmpl/gstfakesrc.sgml:
9705         * gst/elements/gstfakesrc.c:
9706           comment out some unused code
9707         * gst/gst.c: (split_and_iterate):
9708         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
9709         (load_feature):
9710           plug some memleaks
9711
9712 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9713
9714         * common/Makefile.am:
9715         * common/gtk-doc.mak:
9716         * docs/gst/Makefile.am:
9717           factor out gtk-doc.mak
9718
9719 2005-07-07  Wim Taymans  <wim@fluendo.com>
9720
9721         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
9722         (gst_thread_scheduler_dispose):
9723         Unlock the STREAM_LOCK completely.
9724
9725 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9726
9727         * check/Makefile.am:
9728         * check/elements/.cvsignore:
9729         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9730         (START_TEST), (fakesrc_suite), (main):
9731         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9732         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
9733         (gst_fakesrc_create), (gst_fakesrc_start):
9734         * gst/elements/gstfakesrc.h:
9735           adding a first element test
9736
9737 2005-07-07  Andy Wingo  <wingo@pobox.com>
9738
9739         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
9740         debug message.
9741
9742 2005-07-07  Wim Taymans  <wim@fluendo.com>
9743
9744         * gst/gstquery.c:
9745         * gst/gstquery.h:
9746         Remove old types
9747
9748 2005-07-07  Wim Taymans  <wim@fluendo.com>
9749
9750         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
9751         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
9752         Allow subclasses to implement their own negotiation.
9753
9754 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9755
9756         * docs/design/part-gstbin.txt:
9757         * docs/design/part-gstpipeline.txt:
9758           Update design notes to reflect the movement of
9759           responsibility for bus handling from GstPipeline to
9760           GstBin
9761
9762 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9763
9764         * configure.ac:
9765           Remove unnecessary queue2/3/4 examples.
9766
9767 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9768
9769         * examples/Makefile.am:
9770         * examples/helloworld/helloworld.c: (event_loop), (main):
9771         * examples/queue/queue.c: (event_loop), (main):
9772         * examples/queue2/queue2.c: (main):
9773           Update a couple of the examples to work again.
9774
9775         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9776         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
9777          Spelling corrections and extra debug.
9778         
9779         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
9780         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
9781         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
9782         * gst/gstbin.h:
9783         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9784         (gst_pipeline_change_state):
9785         * gst/gstpipeline.h:
9786           Move the bus handler for children to the GstBin, and create a
9787           separate bus for receiving messages from children to the one the
9788           bus sends 'upwards' on.
9789
9790 2005-07-06  Wim Taymans  <wim@fluendo.com>
9791
9792         * gst/base/README:
9793         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9794         (gst_base_sink_handle_object), (gst_base_sink_loop),
9795         (gst_base_sink_change_state):
9796         * gst/base/gstbasesink.h:
9797         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9798         (gst_base_src_init), (gst_base_src_setcaps),
9799         (gst_base_src_getcaps), (gst_base_src_loop),
9800         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
9801         (gst_base_src_start), (gst_base_src_change_state):
9802         * gst/base/gstbasesrc.h:
9803         Make basesrc negotiate.
9804         Handle the case where preroll fails in basesink.
9805         Update README.
9806
9807 2005-07-06  Wim Taymans  <wim@fluendo.com>
9808
9809         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
9810         Implement the fixate function.
9811         Clean up acceptcaps.
9812
9813 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9814
9815         * docs/pwg/building-filterfactory.xml:
9816         * docs/pwg/pwg.xml:
9817           Remove never-written filter-factory chapter; I'll add the various
9818           base classes to part 4 ("other element types") later on.
9819
9820 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9821
9822         * docs/pwg/advanced-negotiation.xml:
9823         * docs/pwg/building-boiler.xml:
9824         * docs/pwg/building-pads.xml:
9825         * docs/pwg/pwg.xml:
9826         * examples/pwg/Makefile.am:
9827           Add a chapter on caps negotiation, simplify the original code
9828           samples a bit w.r.t. caps negotiation, add link to the advanced
9829           section. Add a bunch of examples showing different use cases of
9830           different types of caps negotiation. Upstream renegotiation isn't
9831           fully documented yet since nobody knows how that works.
9832
9833 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9834
9835         * check/gst/gstpad.c:
9836         * check/gstcheck.c:
9837         * gst/gstpad.c: (gst_pad_get_internal_links_default):
9838           if pad has no parent, return NULL as list of internal links
9839
9840 2005-07-05  Andy Wingo  <wingo@pobox.com>
9841
9842         * gst/elements/gstfilesrc.c:
9843         * gst/elements/gstfakesrc.c: 
9844         * gst/base/gstpushsrc.c:
9845         * gst/base/gstbasesrc.h: 
9846         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
9847         
9848 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
9849
9850         * Makefile.am:
9851           better report generation target (lcov needs a patch)
9852
9853 2005-07-05  Andy Wingo  <wingo@pobox.com>
9854
9855         * gst/elements, testsuite: Null if we got it...
9856
9857 2005-07-05  Wim Taymans  <wim@fluendo.com>
9858
9859         * configure.ac:
9860         * libs/gst/dataprotocol/Makefile.am:
9861         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
9862         * libs/gst/dataprotocol/dataprotocol.h:
9863         * pkgconfig/Makefile.am:
9864         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
9865         * pkgconfig/gstreamer-dataprotocol.pc.in:
9866         Ported dataprotol to 0.9. 
9867         Added pkgconfig files.
9868
9869 2005-07-05  Andy Wingo  <wingo@pobox.com>
9870
9871         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
9872         Default to returning TRUE for the case when tranform_caps returns
9873         a fixed caps, like for identity or volume.
9874
9875         * check/gst/gstbus.c (pound_bus_with_messages): 
9876         * check/gst/gstmessage.c (START_TEST): 
9877         * check/pipelines/simple_launch_lines.c (got_handoff): Application
9878         message API change.
9879
9880         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
9881         logic weaks here: always run transform_caps, trying passthrough
9882         operation only if the original caps intersects with the transform.
9883
9884         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
9885         source and sink caps.
9886
9887         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
9888         Intersect the peer caps with the pad template before going into
9889         transform_caps.
9890         (gst_base_transform_transform_caps): More debugging.
9891
9892         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
9893         src argument.
9894
9895 2005-07-04  Edward Hervey  <edward@fluendo.com>
9896
9897         * gst/gstutils.c:
9898         * gst/gstutils.h:
9899         (gst_pad_add_*_probe): now returns the signal id for better wrapping
9900         in bindings.
9901
9902 2005-07-04  Andy Wingo  <wingo@pobox.com>
9903
9904         * check/gst/gstpad.c: Only set explicit caps on pads.
9905
9906 2005-07-01  Andy Wingo  <wingo@pobox.com>
9907
9908         * tests/network-clock.scm: Commentary update.
9909
9910         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
9911         Didn't really make sense, not implementable with basetransform,
9912         etc.
9913         (gst_identity_transform): Unref inbuf via make_writable. Feeble
9914         attempt at implementing the sync property, needs an unlock method.
9915
9916         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
9917         New func, by default returns the same caps (the identity
9918         transformation).
9919         (gst_base_transform_getcaps): Uses transform_caps to return
9920         something sensible.
9921         (gst_base_transform_setcaps): Complicated logic to get caps on
9922         both pads, even if they are different, and to call set_caps once
9923         for every time both pads get their caps set.
9924         (gst_base_transform_handle_buffer): Give the ref to the transform
9925         function. Allows in-place modification of the buffer.
9926
9927         * gst/base/gstbasetransform.h (transform_caps): New class method.
9928         Given caps on one side, what can I do on the other.
9929         (set_caps): Take two caps, one for each side of the element.
9930
9931         * gst/gstpad.h:
9932         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
9933         caps in place. This is safe because we can check the mutability of
9934         the caps, and a good idea because fixate functions are just called
9935         as a matter of last resort. (Not actually implemented.)
9936         (gst_pad_set_caps): If the caps we're setting is actually the same
9937         as the existing pad caps, just update the pointer without calling
9938         setcaps. Assert that caps is either NULL or fixed, as per the
9939         docs.
9940
9941         * gst/gstghostpad.c: Update for fixate changes.
9942
9943 2005-07-02  Andy Wingo  <wingo@pobox.com>
9944
9945         * gst/gstcaps.c:
9946         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
9947         two refcounts makes it immutable, which is enough. Doc more.
9948
9949 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
9950
9951         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
9952           Put the mini_object into GValue as a mini_object,
9953           not a gpointer, since that's how we declared
9954           the signal.
9955
9956 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9957
9958         * examples/pwg/Makefile.am:
9959           Fix buildbot again.
9960
9961 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9962
9963         * docs/pwg/building-testapp.xml:
9964           Add extra check.
9965         * examples/pwg/Makefile.am:
9966           Fix buildbot.
9967
9968 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9969
9970         * configure.ac:
9971         * examples/Makefile.am:
9972         * examples/pwg/Makefile.am:
9973         * examples/pwg/extract.pl:
9974           Enable building the PWG examples.
9975         * docs/pwg/advanced-interfaces.xml:
9976           Add URI interface stub.
9977         * docs/pwg/advanced-types.xml:
9978         * docs/pwg/other-autoplugger.xml:
9979         * docs/pwg/appendix-porting.xml:
9980         * docs/pwg/pwg.xml:
9981           Add porting guide (mostly stubs), remove autoplugging (see ADM).
9982         * docs/pwg/building-boiler.xml:
9983         * docs/pwg/building-chainfn.xml:
9984         * docs/pwg/building-pads.xml:
9985         * docs/pwg/building-props.xml:
9986         * docs/pwg/building-state.xml:
9987         * docs/pwg/building-testapp.xml:
9988           Update the building-*.xml parts for 0.9 changes. All examples
9989           code blocks compile in examples/pwg/*.
9990
9991 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9992
9993         * docs/manual/advanced-autoplugging.xml:
9994         * docs/manual/appendix-checklist.xml:
9995         * docs/manual/appendix-integration.xml:
9996         * docs/manual/highlevel-components.xml:
9997           Fix playbin/decodebin examples, update docs a bit, mention bus
9998           instead of signals in various places, mention kmplayer and
9999           kaffeine since they have a working GStreamer backend in the KDE
10000           section.
10001
10002 2005-06-30  Wim Taymans  <wim@fluendo.com>
10003
10004         * CHANGES-0.9:
10005         * docs/design/draft-ghostpads.txt:
10006         * docs/design/draft-push-pull.txt:
10007         * docs/design/draft-query.txt:
10008         * docs/design/part-TODO.txt:
10009         * docs/design/part-query.txt:
10010         Added CHANGES-0.9 doc, updated status of other docs.
10011         
10012         * gst/gstquery.h:
10013         Remove "hmm" macro
10014
10015 2005-06-30  Wim Taymans  <wim@fluendo.com>
10016
10017         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10018         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
10019         (gst_base_sink_change_state):
10020         * gst/base/gstbasesink.h:
10021         Some tweaks, only EOS and a buffer complete a preroll.
10022
10023 2005-06-30  Andy Wingo  <wingo@pobox.com>
10024
10025         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
10026         activate_push down to the internal pad as well.
10027
10028 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
10029
10030         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10031
10032         * gst/gsttaginterface.c:
10033           Some documentation fixes (#307394 and #307397).
10034
10035 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
10036
10037         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10038
10039         * gst/gstvalue.c: (gst_value_intersect_list):
10040           Fix memleak (#309125).
10041
10042 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10043
10044         * docs/manual/advanced-dataaccess.xml:
10045           Fix fakesrc example to compile; doesn't work, bug somewhere...?
10046         * docs/manual/basics-pads.xml:
10047           Add reference for filtered caps to above chapter.
10048
10049 2005-06-30  Wim Taymans  <wim@fluendo.com>
10050
10051         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
10052         (gst_bin_change_state):
10053         Probes are gone.
10054         Lame attempt at making the state change function a bit
10055         more readable.
10056
10057 2005-06-30  Wim Taymans  <wim@fluendo.com>
10058
10059         * docs/design/part-clocks.txt:
10060         * docs/design/part-element-sink.txt:
10061         * docs/design/part-events.txt:
10062         * docs/design/part-preroll.txt:
10063         * docs/design/part-states.txt:
10064         Some more tweeks and additions to the docs.
10065
10066 2005-06-30  Wim Taymans  <wim@fluendo.com>
10067
10068         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10069         (default_have_data), (gst_pad_class_init), (gst_pad_init),
10070         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10071         (gst_pad_check_pull_range), (gst_pad_get_range),
10072         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
10073         * gst/gstpad.h:
10074         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
10075         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10076         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10077         (gst_pad_remove_buffer_probe):
10078         Removed atomic operations, use existing LOCK.
10079         Move exception handling out of main code path.
10080
10081 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10082
10083         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10084         (silly_return_true_function), (gst_pad_class_init),
10085         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10086         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
10087         (gst_pad_send_event):
10088           Fix accumulator, add default value by using _emitv() instead
10089           of _emit() for signal emission.
10090
10091 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10092
10093         * docs/manual/advanced-dataaccess.xml:
10094         * examples/manual/Makefile.am:
10095           Add probe example.
10096         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
10097           Make work (??).
10098
10099 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
10100
10101         * gst/elements/gstfilesink.c: (gst_filesink_render):
10102           Simplify code so that we don't have to handle short
10103           writes and return GST_FLOW_ERROR if an error occured.
10104
10105 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10106
10107         * docs/gst/gstreamer-docs.sgml:
10108           Remove probes more.
10109
10110 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10111
10112         * docs/gst/gstreamer-sections.txt:
10113         * docs/gst/tmpl/gstpad.sgml:
10114         * docs/gst/tmpl/gstprobe.sgml:
10115         * gst/Makefile.am:
10116         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10117         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
10118         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10119         (gst_pad_push_event), (gst_pad_send_event):
10120         * gst/gstpad.h:
10121         * gst/gstutils.c: (gst_pad_add_data_probe),
10122         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10123         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10124         (gst_pad_remove_buffer_probe):
10125         * gst/gstutils.h:
10126           Remove old probes, add new g-signal-based probes and some utility
10127           functions.
10128
10129 2005-06-29  Edward Hervey  <edward@fluendo.com>
10130
10131         * gst/gstelementfactory.c:
10132         * gst/gstutils.h:
10133         * gst/gstutils.c:
10134         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
10135         the definition to the header file.
10136
10137 2005-06-29  Andy Wingo  <wingo@pobox.com>
10138
10139         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
10140         plugins from the source directory.
10141
10142 2005-06-29  Wim Taymans  <wim@fluendo.com>
10143
10144         * docs/gst/tmpl/gstbuffer.sgml:
10145         * docs/gst/tmpl/gstclock.sgml:
10146         Some fixings for blantently wrong text.
10147
10148 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10149
10150         * check/Makefile.am:
10151         * gst/gst.c: (add_path_func), (init_pre):
10152         * gst/gstregistry.c: (gst_registry_add_path):
10153           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
10154           only scan the GST_PLUGIN_PATH locations, and not add
10155           system locations
10156
10157 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10158
10159         * docs/gst/gstreamer-sections.txt:
10160         * docs/gst/tmpl/gstbasesrc.sgml:
10161         * gst/gstelement.c:
10162         * gst/gstelement.h:
10163         * gst/gstevent.c:
10164         * gst/gstutils.c:
10165           doc fixes
10166
10167 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10168
10169         * docs/manual/advanced-autoplugging.xml:
10170           Fix autoplugging example.
10171
10172 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10173
10174         * docs/manual/advanced-autoplugging.xml:
10175         * docs/manual/mime-world.fig:
10176           Try to get autoplugging working, fix type detection. Fix text
10177           in hello-world image.
10178
10179 2005-06-29  Wim Taymans  <wim@fluendo.com>
10180
10181         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10182         (gst_base_sink_change_state):
10183         Small debug line.
10184
10185         * gst/gstclock.h:
10186         map SIGNAL and BROADCAST to the right function.
10187
10188         * gst/gstobject.h:
10189         Remove redundant braces.
10190
10191         * gst/gstpad.c: (gst_pad_set_caps):
10192         Don't call setcaps function when reseting caps to NULL.
10193
10194         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10195         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
10196         (gst_system_clock_id_unschedule):
10197         Use BROADCAST as this is what we do.
10198
10199 2005-06-29  Wim Taymans  <wim@fluendo.com>
10200
10201         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10202         We are actually prerolling before commiting the state
10203         change. 
10204
10205 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10206
10207         * docs/manual/advanced-clocks.xml:
10208         * docs/manual/advanced-interfaces.xml:
10209         * docs/manual/advanced-metadata.xml:
10210         * docs/manual/advanced-position.xml:
10211         * docs/manual/advanced-schedulers.xml:
10212         * docs/manual/advanced-threads.xml:
10213         * docs/manual/appendix-porting.xml:
10214         * docs/manual/basics-bins.xml:
10215         * docs/manual/basics-bus.xml:
10216         * docs/manual/basics-elements.xml:
10217         * docs/manual/basics-helloworld.xml:
10218         * docs/manual/basics-pads.xml:
10219         * docs/manual/highlevel-components.xml:
10220         * docs/manual/manual.xml:
10221         * docs/manual/thread.fig:
10222           Update (until threads/scheduling) Application Development Manual;
10223           remove GstThread, add GstBus, add simple porting checklist, add
10224           documentation for tag writing, clocks, make all examples until this
10225           part compile and run.
10226         * examples/manual/Makefile.am:
10227           Update from changes to Application Development Manual; add bus
10228           example, remove thread example.
10229
10230 2005-06-28  Wim Taymans  <wim@fluendo.com>
10231
10232         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
10233         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
10234         (gst_bus_source_dispatch):
10235         Add debugging messages.
10236         Make internal methods static.
10237         Handle the case where the bus is flushed in the handler.
10238         
10239         * gst/gstelement.c: (gst_element_get_bus):
10240         Fix refcount in _get_bus();
10241
10242         * gst/gstpipeline.c: (gst_pipeline_change_state),
10243         (gst_pipeline_get_clock_func):
10244         Clock refcounting fixes.
10245         Handle the case where preroll timed out more gracefully.
10246         
10247         * gst/gstsystemclock.c: (gst_system_clock_dispose):
10248         Clean up the internal thread in dispose. This is needed
10249         for subclasses that actually get disposed.
10250         
10251         * gst/schedulers/threadscheduler.c:
10252         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10253         (gst_thread_scheduler_dispose):
10254         Free thread pool in dispose.
10255
10256 2005-06-28  Andy Wingo  <wingo@pobox.com>
10257
10258         * tests/network-clock-utils.scm (debug, print-event): New utils.
10259
10260         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
10261         (*packet-loss*): Unified loss probability.
10262         (network-time): Report out-of-band events.
10263
10264         * tests/plot-data: Add support for out-of-band events. Hack it
10265         into this script instead of passing it down the pipe; should fix
10266         this later.
10267
10268 2005-06-28  Wim Taymans  <wim@fluendo.com>
10269
10270         * docs/gst/gstreamer.types:
10271         * docs/gst/tmpl/gstbasesrc.sgml:
10272         * docs/gst/tmpl/gstpad.sgml:
10273         Docs fixes.
10274
10275 2005-06-28  Wim Taymans  <wim@fluendo.com>
10276
10277         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10278         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
10279         (gst_proxy_pad_do_fixatecaps):
10280         Correctly proxy the check_pull_range function.
10281
10282 2005-06-28  Andy Wingo  <wingo@pobox.com>
10283
10284         * tests/network-clock.scm: Removed need for slib.
10285         
10286 2005-06-28  Wim Taymans  <wim@fluendo.com>
10287
10288         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
10289         (gst_basesink_preroll_queue_flush):
10290         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
10291         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
10292         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10293         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10294         (gst_proxy_pad_set_property):
10295         * gst/gstpad.c:
10296         * gst/gstpad.h:
10297         * gst/gstqueue.c: (gst_queue_init):
10298         The deprecated pad loop function is removed now.
10299
10300 2005-06-28  Andy Wingo  <wingo@pobox.com>
10301
10302         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
10303         New parameters, simulate network packet loss.
10304
10305         * tests/network-clock-utils.scm: Initialize the RNG.
10306
10307 2005-06-28  Wim Taymans  <wim@fluendo.com>
10308
10309         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
10310         (gst_basesink_event), (gst_basesink_deactivate):
10311         Flushing the preroll queue always needs to unlock the waiters.
10312
10313 2005-06-28  Edward Hervey  <edward@fluendo.com>
10314
10315         * gst/gstpipeline.c: (gst_pipeline_send_event): 
10316         Wheen a seek was successful on a pipeline, set the stream_time to the
10317         seek offset in order to have a synchronized stream_time.
10318
10319 2005-06-28  Wim Taymans  <wim@fluendo.com>
10320
10321         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10322         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10323         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
10324         (gst_proxy_pad_do_fixatecaps):
10325         Call wrapper function instead of just calling the function
10326         pointers. This takes care of any locking and whatmore.
10327
10328 2005-06-28  Wim Taymans  <wim@fluendo.com>
10329
10330         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10331         (gst_pad_pull_range):
10332         * gst/gstpad.h:
10333         CONNECTED -> LINKED.
10334
10335 2005-06-28  Andy Wingo  <wingo@pobox.com>
10336
10337         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10338         source-munging commit!!!
10339
10340         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
10341         (gst_object_sink): Take gpointer arguments, not GstObject --
10342         avoids casts. Like GLib.
10343
10344         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10345         activate.
10346
10347 2005-06-27  Andy Wingo  <wingo@pobox.com>
10348
10349         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10350         remaining buffer.
10351
10352         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10353         returns a sorted copy of the trace list.
10354         (gst_alloc_trace_print_live): New API, only prints traces with
10355         live objects. Sort the list.
10356         (gst_alloc_trace_print_all): Sort the list.
10357         (gst_alloc_trace_print): Align columns.
10358
10359         * gst/elements/gstttypefindelement.c:
10360         * gst/elements/gsttee.c:
10361         * gst/base/gstbasesrc.c:
10362         * gst/base/gstbasesink.c:
10363         * gst/base/gstbasetransform.c:
10364         * gst/gstqueue.c: Adapt for pad activation changes.
10365
10366         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10367         sched.
10368         (gst_pipeline_dispose): Drop ref on sched.
10369
10370         * gst/gstpad.c (gst_pad_init): Set the default activate func.
10371         (gst_pad_activate_default): Push mode by default.
10372         (pre_activate_switch, post_activate_switch): New stubs, things to
10373         do before and after switching activation modes on pads.
10374         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10375         the pad's activate function to choose which mode to activate.
10376         Shortcut on deactivation and call the right function directly.
10377         (gst_pad_activate_pull): New API, (de)activates a pad in pull
10378         mode.
10379         (gst_pad_activate_push): New API, same for push mode.
10380         (gst_pad_set_activate_function) 
10381         (gst_pad_set_activatepull_function) 
10382         (gst_pad_set_activatepush_function): Setters for new API.
10383
10384         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10385         Trace all miniobjects.
10386         (gst_mini_object_make_writable): Unref the arg if we copy, like
10387         gst_caps_make_writable.
10388
10389         * gst/gstmessage.c (_gst_message_initialize): No trace init.
10390
10391         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
10392         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10393         Adapt for new pad API.
10394
10395         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10396
10397         * gst/gstelement.h:
10398         * gst/gstelement.c (gst_element_iterate_src_pads) 
10399         (gst_element_iterate_sink_pads): New API functions.
10400         
10401         * gst/gstelement.c (iterator_fold_with_resync): New utility,
10402         should fold into gstiterator.c in some form.
10403         (gst_element_pads_activate): Simplified via use of fold and
10404         delegation of decisions to gstpad->activate.
10405
10406         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10407         help in debugging.
10408
10409         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10410         class once in init, like gstmessage. Didn't run into this issue
10411         but it seems correct. Don't initialize a trace, gstminiobject does
10412         that.
10413
10414         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10415         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10416         to the bus.
10417         (assert_live_count): New util function, uses alloc traces to check
10418         cleanup.
10419
10420         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10421         To be modified when unlink drops the internal pad.
10422
10423 2005-06-27  Wim Taymans  <wim@fluendo.com>
10424
10425         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10426         (gst_bin_change_state):
10427         Cleanup the get_state() function a little, make sure it
10428         iterates the same set of elements.
10429         Added stub iterate_state_order().
10430
10431 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10432
10433         * docs/gst/gstreamer-docs.sgml:
10434         * docs/gst/gstreamer-sections.txt:
10435         * docs/gst/gstreamer.types:
10436         * docs/gst/tmpl/gstbasesink.sgml:
10437         * docs/gst/tmpl/gstbasesrc.sgml:
10438         * docs/gst/tmpl/gstbasetransform.sgml:
10439         * docs/gst/tmpl/gstelement.sgml:
10440         * docs/gst/tmpl/gstiterator.sgml:
10441         * gst/base/gstbasesrc.c:
10442         * gst/base/gstbasesrc.h:
10443         * gst/base/gstbasetransform.h:
10444         * gst/gstelement.c:
10445         * gst/gstiterator.h:
10446           adding basetransform and iterator docs
10447
10448 2005-06-27  Andy Wingo  <wingo@pobox.com>
10449
10450         * docs/design/part-activation.txt: Notes on how activation should
10451         work -- not quite implemented yet.
10452
10453 2005-06-25  Wim Taymans  <wim@fluendo.com>
10454
10455         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10456         At least get the chain function correct, needs more
10457         fixing.
10458
10459 2005-06-25  Wim Taymans  <wim@fluendo.com>
10460
10461         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10462         (gst_basesink_handle_object), (gst_basesink_event),
10463         (gst_basesink_do_sync), (gst_basesink_handle_event),
10464         (gst_basesink_change_state):
10465         * gst/gsttask.h:
10466         Right, two problems here: ghostpads don't take locks and
10467         glib _rec_mutex_lock_full() with depth==0 still locks.
10468         Catch illegal locking and g_warn them.
10469
10470 2005-06-25  Wim Taymans  <wim@fluendo.com>
10471
10472         * check/states/sinks.c: (START_TEST), (gst_object_suite):
10473         Have to check for completion now...
10474
10475 2005-06-25  Wim Taymans  <wim@fluendo.com>
10476
10477         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10478         (gst_basesink_handle_object), (gst_basesink_event),
10479         (gst_basesink_do_sync), (gst_basesink_handle_event),
10480         (gst_basesink_change_state):
10481         * gst/gstpad.h:
10482         Unlock STREAM_LOCK whatever the recursion was.
10483
10484 2005-06-25  Wim Taymans  <wim@fluendo.com>
10485
10486         * gst/base/gstbasesink.c: (gst_basesink_set_property),
10487         (gst_basesink_preroll_queue_empty),
10488         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10489         (gst_basesink_event), (gst_basesink_do_sync),
10490         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10491         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10492         (gst_basesink_change_state):
10493         Reworked the base sink, handle event and buffer serialisation
10494         correctly and removed possible deadlock.
10495         Handle EOS correctly.
10496
10497 2005-06-25  Wim Taymans  <wim@fluendo.com>
10498
10499         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10500         (gst_pipeline_change_state):
10501         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10502         Allow elements to post EOS in the state change function.
10503         Fix up -launch, make it exit the poll loop when the
10504         pipeline actually changed state.
10505         Fix up warning parsing in -launch.
10506
10507 2005-06-25  Wim Taymans  <wim@fluendo.com>
10508
10509         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10510         (gst_tee_sink_activate):
10511         Core takes STREAM_LOCK for us now.
10512
10513 2005-06-25  Wim Taymans  <wim@fluendo.com>
10514
10515         * gst/gstelement.c: (gst_element_get_state_func),
10516         (gst_element_set_state):
10517         * gst/gstelement.h:
10518         * gst/gstmessage.c: (gst_message_parse_error),
10519         (gst_message_parse_warning):
10520         Keep track of current target state while performing a state
10521         change so that subclasses can do something interesting.
10522         Fix parsing of warning/error messages when GError is NULL.
10523
10524 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10525
10526         * docs/gst/Makefile.am:
10527         * docs/gst/gstreamer-docs.sgml:
10528         * docs/gst/gstreamer-sections.txt:
10529         * docs/gst/gstreamer.types:
10530         * docs/gst/tmpl/gstbasesink.sgml:
10531         * docs/gst/tmpl/gstbasesrc.sgml:
10532         * docs/gst/tmpl/gstbin.sgml:
10533         * docs/gst/tmpl/gstcompat.sgml:
10534         * docs/gst/tmpl/gstfakesink.sgml:
10535         * docs/gst/tmpl/gstfakesrc.sgml:
10536         * docs/gst/tmpl/gstfilesink.sgml:
10537         * docs/gst/tmpl/gstfilesrc.sgml:
10538         * docs/gst/tmpl/gstindex.sgml:
10539         * docs/manual/appendix-quotes.xml:
10540         * gst/base/gstbasesrc.h:
10541         * gst/elements/gstfakesrc.h:
10542         * gst/gstmessage.h:
10543           start pulling in base classes and elements in our docs
10544
10545 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
10546
10547         * docs/gst/Makefile.am:
10548         * docs/libs/Makefile.am:
10549           fixed make distcheck with gtk-doc 1.3
10550
10551 2005-06-23  Wim Taymans  <wim@fluendo.com>
10552
10553         * gst/gstelement.c: (gst_element_get_state_func),
10554         (gst_element_set_state), (gst_element_change_state):
10555         When the state did not change, also report NO_PREROLL
10556         when it matters.
10557
10558 2005-06-23  Wim Taymans  <wim@fluendo.com>
10559
10560         * gst/gstpad.c: (gst_pad_event_default):
10561         * gst/gstqueue.c: (gst_queue_loop):
10562         No unsafe task pausing please.
10563
10564 2005-06-23  Wim Taymans  <wim@fluendo.com>
10565
10566         * gst/schedulers/threadscheduler.c:
10567         (gst_thread_scheduler_task_start),
10568         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
10569         Ref the task before pushing it on the threadpool. This
10570         makes sure that we have a ref when the threadfunction is
10571         actually called.
10572
10573 2005-06-23  Andy Wingo  <wingo@pobox.com>
10574
10575         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
10576         offset is greater than the file's size.
10577
10578         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
10579         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
10580         * gst/gstobject.c (gst_object_class_init): Make the class lock
10581         recursive. Wim won't let me drop deep_notify. Decodebin works
10582         again, whoopdy doo.
10583
10584         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
10585         internal pad, and hacks accordingly. Doesn't do it on the target
10586         pad because we change its caps. Probably catches all cases of
10587         interest tho.
10588         (gst_ghost_pad_set_property): Connect to notify::caps as
10589         appropritate.
10590
10591         * tests/network-clock.scm (plot-simulation): Pipe data to the
10592         elite python skript.
10593
10594         * tests/network-clock-utils.scm (define-parameter): New macro,
10595         defines a parameter that can be set via the command line.
10596         (set-parameter!, parse-parameter-arguments): Command line args
10597         parser.
10598
10599         * tests/plot-data: Simple matplotlib-based plotter, takes input on
10600         stdin.
10601
10602 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
10603
10604         * gst/elements/gsttypefindelement.c:
10605         (gst_type_find_element_handle_event):
10606           Don't restart typefinding on a discont.
10607         * gst/gstelement.c: (gst_element_set_state):
10608           Debug spelling fix.
10609         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
10610           Allow changing mode of an active pad.
10611           Debug output fixes.
10612         * gst/registries/gstlibxmlregistry.c: (load_feature):
10613           Don't cast a static pad template to a normal pad template.
10614
10615 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10616
10617         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10618         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10619           remove gst_strtoll completely, since it didn't actually do
10620           anything more than what g_ascii_strtoull already does.
10621           check for range errors when deserializing
10622           do a cast for the unsigned cases; but further fixing needs
10623           a decision on what the interpretation of "(int)" and
10624           deserialization should be for values that fall outside the
10625           type's boundaries (ie, refuse, or interpret as casting)
10626
10627 2005-06-23  Wim Taymans  <wim@fluendo.com>
10628
10629         * check/Makefile.am:
10630         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
10631         * docs/design/part-live-source.txt:
10632         * docs/design/part-states.txt:
10633         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10634         (gst_basesrc_set_live), (gst_basesrc_is_live),
10635         (gst_basesrc_get_range), (gst_basesrc_activate),
10636         (gst_basesrc_change_state):
10637         * gst/base/gstbasesrc.h:
10638         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10639         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10640         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
10641         * gst/gstelement.c: (gst_element_get_state_func),
10642         (gst_element_set_state):
10643         * gst/gstelement.h:
10644         * gst/gsttypes.h:
10645         * tools/gst-launch.c: (event_loop), (main):
10646         Added support for live sources and other elements that
10647         cannot do preroll.
10648         Updated design docs, added live-source design doc.
10649         Implemented live source functionality in basesrc
10650         Fix error condition in _bin_get_state()
10651         Implement live source handling in -launch.
10652         Added check for live sources.
10653         Fixed case in GstBin where elements were changed state
10654         multiple times.
10655
10656
10657 2005-06-23  Andy Wingo  <wingo@pobox.com>
10658
10659         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
10660         borken refcounting.
10661
10662         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
10663         gst_caps_replace takes care of this for us.
10664
10665         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
10666         gst_pad_set_caps on the target, not just its setcaps() function.
10667
10668         * tests/network-clock.scm: 
10669         * tests/network-clock-utils.scm: A network clock simulator.
10670         Something of an algorithmic testbed before doing something in C.
10671
10672 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10673
10674         * check/Makefile.am:
10675         * check/gst/capslist.h:
10676           copy over from 0.8, and add two with bitmasks specified with
10677           (int) 0xFF...
10678         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10679           add test to parse everything from capslist.h
10680         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
10681         (main):
10682           add test for structure deserialization
10683         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10684           add tests for deserialization of strings to int types
10685         * gst/gststructure.c: (gst_structure_nth_field_name):
10686         * gst/gststructure.h:
10687           add a way to get the name of a field referenced by index
10688         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10689           instead of checking if the resulting long long lies between
10690           min and max, we check if the long long would fit into
10691           a number of bytes for the final type.
10692           This fixes cases where a string represents 2^32 - 1, which
10693           when cast to int would be the (valid) -1, but is bigger than
10694           G_MAXINT
10695
10696 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10697
10698         * gst/parse/grammar.y:
10699           add a log line for type deserialization
10700
10701 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10702
10703         * check/gst/gstvalue.c: (START_TEST):
10704         * gst/gstvalue.c: (gst_value_deserialize):
10705           return long long, not int, so gint64 deserialization actually
10706           works.  Is there any flag that makes the compiler check this ?
10707           Fixes #308559
10708
10709 2005-06-22  Wim Taymans  <wim@fluendo.com>
10710
10711         * gst/gstbuffer.h:
10712         Added convenience macros for setting buffers in GValue.
10713
10714 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10715
10716         * check/gst/.cvsignore:
10717         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10718           add a test deserializing int64, and comment part out because
10719           it fails, yay !
10720
10721 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10722
10723         * check/Makefile.am:
10724         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
10725         * testsuite/Makefile.am:
10726         * testsuite/caps/Makefile.am:
10727         * testsuite/caps/value_serialize.c:
10728         * testsuite/test_gst_init.c:
10729           move a value_serialize test over
10730
10731 2005-06-20  Wim Taymans  <wim@fluendo.com>
10732
10733         * gst/gstpad.c:
10734         Small doc updates.
10735         
10736         * gst/gstvalue.c: (gst_value_compare_buffer),
10737         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
10738         (gst_value_compare_flags), (gst_value_serialize_flags),
10739         (gst_value_deserialize_flags), (_gst_value_initialize):
10740         Fix serialisation of buffers, they are not boxed types anymore
10741
10742 2005-06-20  Wim Taymans  <wim@fluendo.com>
10743
10744         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10745         Testcase to show error in buffer-on-caps serialisation.
10746
10747 2005-06-20  Andy Wingo  <wingo@pobox.com>
10748
10749         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
10750         will be adding to later.
10751
10752         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
10753         if its socks fill with rocks.
10754         (gst_system_clock_obtain): Set the name on object construction.
10755         Avoid double-checked locking.
10756
10757 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
10758
10759         * gst/gsturi.c: (gst_element_make_from_uri):
10760           Fix potential endless loop.
10761
10762 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10763
10764         * check/Makefile.am:
10765           add gsttag
10766         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
10767         (main):
10768           move over from testsuite dir and clean up
10769         * configure.ac:
10770         * gst/gsttag.c:
10771         * testsuite/Makefile.am:
10772         * testsuite/tags/.cvsignore:
10773         * testsuite/tags/Makefile.am:
10774         * testsuite/tags/merge.c:
10775           remove testsuite/tags
10776
10777 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10778
10779         * docs/gst/gstreamer-sections.txt:
10780         * docs/gst/tmpl/gstenumtypes.sgml:
10781         * win32/gstenumtypes.c:
10782           clean up documentation build a little
10783
10784 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10785
10786         * check/gstcheck.h:
10787           add macros for checking refcounts on objects and caps
10788         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
10789           add some more unit tests
10790         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
10791         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
10792           fix leaked refcounts (I hope :)) so unittest works
10793         * gst/gstpad.h:
10794           whitespace removal
10795
10796 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10797
10798         * configure.ac: back to HEAD
10799
10800 === release 0.9.1 ===
10801
10802 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10803
10804         * NEWS:
10805         * RELEASE:
10806           updated
10807
10808 2005-06-17  Andy Wingo  <wingo@pobox.com>
10809
10810         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
10811         assert; it's always possible that the pad gets deactivated in
10812         between the checks in gstpad.c and the implementation. Rely on
10813         finish_preroll() to return a FLUSHING or similar instead of on the
10814         assert.
10815         
10816         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
10817         clock and post an EOS message if we come out of finish_preroll in
10818         the playing state.
10819
10820 2005-06-16  David Schleef  <ds@schleef.org>
10821
10822         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
10823         (gst_capsfilter_set_property): Allow NULL as possible value
10824         for filter_caps property, indicating GST_CAPS_ANY.
10825
10826 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10827
10828         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
10829           fix debug output
10830         * gst/schedulers/Makefile.am:
10831           use libgst prefix
10832         * gstreamer.spec.in:
10833           fix spec for it
10834
10835 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10836
10837         * gstreamer.spec.in:
10838           clean up
10839
10840 2005-06-08  Andy Wingo  <wingo@pobox.com>
10841
10842         * gst/gstutils.c: RPAD fixes all around.
10843         (gst_element_link_pads): Refcounting fixes.
10844
10845         * tools/gst-inspect.c:
10846         * tools/gst-xmlinspect.c:
10847         * parse/grammar.y:
10848         * gst/base/gsttypefindhelper.c:
10849         * gst/base/gstbasesink.c:
10850         * gst/gstqueue.c: RPAD fixes.
10851
10852         * gst/gstghostpad.h:
10853         * gst/gstghostpad.c: New ghost pad implementation as full proxy
10854         pads. The tricky thing is they provide both source and sink
10855         interfaces, since they proxy the internal pad for the external
10856         pad, and vice versa. Implement with lower-level ProxyPad objects,
10857         with the interior proxy pad as a child of the exterior ghost pad.
10858         Should write a doc on this.
10859         
10860         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
10861         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
10862         gst_object API.
10863         
10864         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
10865         pads are real pads. No ghost pads in this file. Not documenting
10866         the myriad s/RPAD/PAD/ and REALIZE fixes.
10867         (gst_pad_class_init): Add properties for "direction" and
10868         "template". Both are construct-only, so they can't change during
10869         the life of the pad. Fixes properly deriving from GstPad.
10870         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
10871         derived objects, just set properties when creating the objects via
10872         g_object_new.
10873         (gst_pad_get_parent): Implement as a function, return NULL if the
10874         parent is not an element.
10875         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
10876         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
10877         
10878         * gst/gstobject.c (gst_object_class_init): Make name a construct
10879         property. Don't set it in the object init.
10880
10881         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
10882         with UNKNOWN direction.
10883         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
10884         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
10885         (gst_element_remove_pad): Remove ghost-pad special cases.
10886         (gst_element_pads_activate): Remove rpad cruft.
10887
10888         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
10889         catch the pad's-parent-not-an-element case.
10890
10891         * gst/gst.h: Include gstghostpad.h.
10892
10893         * gst/gst.c (init_post): No more real, ghost pads.
10894
10895         * gst/Makefile.am: Add gstghostpad.[ch].
10896
10897         * check/Makefile.am:
10898         * check/gst/gstbin.c:
10899         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
10900         into a bin creates ghost pads, and that the refcounts are right.
10901         Partly moved from gstbin.c.
10902
10903 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10904
10905         * check/gst-libs/.cvsignore:
10906         * check/gst/.cvsignore:
10907         * check/pipelines/.cvsignore:
10908           ignore more
10909         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
10910         (START_TEST), (cleanup_suite), (main):
10911           add some tests related to cleanup after running pipelines
10912
10913 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10914
10915         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
10916           add a testsuite for GstBuffer
10917
10918 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10919
10920         * gst/gstminiobject.h:
10921           add defines for accessing the refcount
10922
10923 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
10924
10925         * Makefile.am: added support for html unit test coverage reports
10926
10927 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
10928
10929         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
10930           Free existing caps if the capsfilter changes. Add a FIXME about
10931           setting those caps on the pads.
10932
10933         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
10934           Before adding a ghost pad to a parent bin, check that there isn't
10935           already one for the element on the bin. Prevents infinite recursion
10936           when using decodebin in parse pipelines. Andy says he'll rewrite the
10937           way this works anyway, so ignore the hack.
10938
10939 2005-06-02  Andy Wingo  <wingo@pobox.com>
10940
10941         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
10942         file size, pass it on to the type find helper.
10943
10944         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
10945         segment_start and segment_end properly according to the seek
10946         method. Segment_end is still a bit flaky because offset can be
10947         negative for CUR and END cases, but it takes -1 as an "unset"
10948         value.
10949
10950 2005-06-02  Wim Taymans  <wim@fluendo.com>
10951
10952         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
10953         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
10954         (gst_basesink_activate):
10955         * gst/base/gstbasesink.h:
10956         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
10957         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
10958         (gst_pad_query), (gst_pad_start_task):
10959         * gst/gstpad.h:
10960         * gst/gstqueue.c: (gst_queue_bufferalloc),
10961         (gst_queue_handle_sink_event), (gst_queue_chain):
10962         Bufferalloc: return GstFlowReturn to more accuratly report
10963         why allocation failed.
10964
10965 2005-06-02  Wim Taymans  <wim@fluendo.com>
10966
10967         * gst/gstpipeline.c: (gst_pipeline_send_event):
10968         Take snapshot of state without blocking.
10969
10970 2005-06-02  Wim Taymans  <wim@fluendo.com>
10971
10972         * docs/design/part-TODO.txt:
10973         * docs/design/part-caps.txt:
10974         * docs/design/part-clocks.txt:
10975         * docs/design/part-negotiation.txt:
10976         * docs/design/part-preroll.txt:
10977         Small doc updates 
10978
10979 2005-05-30  Wim Taymans  <wim@fluendo.com>
10980
10981         * gst/elements/gstidentity.c: (gst_identity_event),
10982         (gst_identity_transform), (gst_identity_get_property):
10983         Protect last_message property as it is accessed from
10984         multiple threads.
10985
10986 2005-05-30  Wim Taymans  <wim@fluendo.com>
10987
10988         * gst/gstelement.c: (gst_element_init),
10989         (gst_element_pads_activate), (gst_element_change_state):
10990         Slicker pad activation code.
10991
10992 2005-05-30  Wim Taymans  <wim@fluendo.com>
10993
10994         * gst/Makefile.am:
10995         * gst/gstelement.h:
10996         * gst/gstelementfactory.h:
10997         * gst/gsttypes.h:
10998         Move elementfactory methods to separate .h file.
10999
11000 2005-05-30  Wim Taymans  <wim@fluendo.com>
11001
11002         * docs/design/part-overview.txt:
11003         * gst/gstsystemclock.h:
11004         Small typo fixes, doc updates.
11005
11006 2005-05-30  Wim Taymans  <wim@fluendo.com>
11007
11008         * gst/gst.c: (gst_init_get_popt_table), (init_post),
11009         (init_popt_callback):
11010         Remove cpu-opt flag.
11011
11012 2005-05-30  Wim Taymans  <wim@fluendo.com>
11013
11014         * gst/gstbuffer.c: (gst_subbuffer_finalize),
11015         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
11016         * gst/gstbuffer.h:
11017         Avoid typechecking in places where not needed.
11018         Added accessor for malloc_data.
11019
11020 2005-05-30  Wim Taymans  <wim@fluendo.com>
11021
11022         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
11023         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
11024         (gst_pad_configure_sink), (gst_pad_configure_src),
11025         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
11026         (gst_pad_start_task):
11027         Propagate errors from _set_caps() in configure_src/sink
11028         functions instead of returning TRUE.
11029         FLUSH events can travel up and downstream
11030
11031
11032 2005-05-30  Wim Taymans  <wim@fluendo.com>
11033
11034         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11035         (gst_basesink_activate):
11036         Handle EOS in preroll.
11037
11038 2005-05-30  Wim Taymans  <wim@fluendo.com>
11039
11040         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11041         (gst_queue_loop), (gst_queue_handle_src_event):
11042         Remove old pieces of code
11043         Flushing the queue in an upstream event is a very bad idea.
11044
11045 2005-05-26  Andy Wingo  <wingo@pobox.com>
11046
11047         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
11048         gst_value_set_mini_object so as to add a ref on the object (which
11049         will be removed when the value is unset).
11050
11051         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
11052         arg type in ::handoff.
11053
11054         * gst/gstelement.c (gst_element_change_state): Also deactivate
11055         pads in READY->NULL, just in case the element didn't make it to
11056         PAUSED. Wingo tested, Wim approved.
11057
11058 2005-05-26  Wim Taymans  <wim@fluendo.com>
11059
11060         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11061         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11062         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
11063         A flushing pad cannot be used to alloc_buffer from.
11064
11065 2005-05-26  Wim Taymans  <wim@fluendo.com>
11066
11067         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
11068         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
11069         (gst_bus_source_dispatch), (gst_bus_source_finalize),
11070         (gst_bus_create_watch), (gst_bus_add_watch_full):
11071         * gst/gstbus.h:
11072         Implement a real GSource and use g_main_context_wakeup() to
11073         signal new messages instead of the socketpair.
11074
11075 2005-05-25  Wim Taymans  <wim@fluendo.com>
11076
11077         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
11078         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
11079         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11080         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11081         (gst_pad_send_event), (gst_pad_start_task):
11082         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
11083         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
11084         (gst_queue_sink_activate), (gst_queue_src_activate),
11085         (gst_queue_change_state):
11086         * gst/gstqueue.h:
11087         Fix state changes for non sinks. We now change sinks, then elements
11088         with unconnected srcpads, then the rest.
11089         More efficient queue unlocking in flush and state changes.
11090         Set the pad activate mode even if it does not have an activate
11091         function.
11092
11093 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11094
11095         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
11096           Don't go in pull mode for non-seekable sources.
11097         * gst/elements/gsttypefindelement.h:
11098         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11099         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
11100         (free_entry), (stop_typefinding),
11101         (gst_type_find_element_handle_event), (find_peek),
11102         (gst_type_find_element_chain), (do_pull_typefind),
11103         (gst_type_find_element_change_state):
11104           Allow typefinding (w/o seeking) in push-mode, simplified version
11105           of what was in 0.8.
11106         * gst/gstutils.c: (gst_buffer_join):
11107         * gst/gstutils.h:
11108           gst_buffer_join() from 0.8.
11109
11110 2005-05-25  Wim Taymans  <wim@fluendo.com>
11111
11112         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11113         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11114         (gst_pad_send_event), (gst_pad_start_task):
11115         Disable attempt at mode switching until it is figured out.
11116
11117 2005-05-25  Wim Taymans  <wim@fluendo.com>
11118
11119         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
11120         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11121         (gst_basesink_finish_preroll), (gst_basesink_chain),
11122         (gst_basesink_loop), (gst_basesink_activate),
11123         (gst_basesink_change_state):
11124         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
11125         (gst_basesrc_get_range), (gst_basesrc_loop),
11126         (gst_basesrc_activate):
11127         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11128         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
11129         (gst_real_pad_init), (gst_real_pad_set_property),
11130         (gst_real_pad_get_property), (gst_pad_set_active),
11131         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
11132         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
11133         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
11134         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
11135         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11136         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
11137         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
11138         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11139         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
11140         (gst_pad_stop_task):
11141         * gst/gstpad.h:
11142         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11143         (gst_queue_loop), (gst_queue_src_activate):
11144         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
11145         (gst_task_get_state):
11146         * gst/gsttask.h:
11147         * gst/schedulers/threadscheduler.c:
11148         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
11149         Implement gst_pad_pause/start/stop_task(), take STREAM lock
11150         in task function.
11151         Remove ACTIVE pad flag, use FLUSHING everywhere
11152         Added _pad_chain(), _pad_get_range() to call chain/getrange 
11153         functions.
11154         Add locks around IS_FLUSHING when reading.
11155         Take STREAM lock in chain(), get_range() functions so plugins
11156         don't need to take it anymore.
11157         
11158
11159
11160 2005-05-25  Wim Taymans  <wim@fluendo.com>
11161
11162         * tools/gst-launch.c: (event_loop):
11163         Unref message after using its contents instead of
11164         before.
11165
11166 2005-05-24  Wim Taymans  <wim@fluendo.com>
11167
11168         * docs/design/draft-ghostpads.txt:
11169         * docs/design/draft-push-pull.txt:
11170         * docs/design/draft-query.txt:
11171         * docs/design/part-overview.txt:
11172         Docs updates, added general overview doc.
11173
11174 2005-05-21  David Schleef  <ds@schleef.org>
11175
11176         * docs/gst/tmpl/old/GstBin.sgml:
11177         * docs/gst/tmpl/old/GstBuffer.sgml:
11178         * docs/gst/tmpl/old/GstCaps.sgml:
11179         * docs/gst/tmpl/old/GstClock.sgml:
11180         * docs/gst/tmpl/old/GstCompat.sgml:
11181         * docs/gst/tmpl/old/GstData.sgml:
11182         * docs/gst/tmpl/old/GstElement.sgml:
11183         * docs/gst/tmpl/old/GstEvent.sgml:
11184         * docs/gst/tmpl/old/GstIndex.sgml:
11185         * docs/gst/tmpl/old/GstStructure.sgml:
11186         * docs/gst/tmpl/old/GstTag.sgml:
11187         * docs/gst/tmpl/old/cothreads.sgml:
11188         * docs/gst/tmpl/old/cothreads_compat.sgml:
11189         * docs/gst/tmpl/old/gettext.sgml:
11190         * docs/gst/tmpl/old/gobject2gtk.sgml:
11191         * docs/gst/tmpl/old/grammar.tab.sgml:
11192         * docs/gst/tmpl/old/gst-i18n-app.sgml:
11193         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
11194         * docs/gst/tmpl/old/gst_private.sgml:
11195         * docs/gst/tmpl/old/gstaggregator.sgml:
11196         * docs/gst/tmpl/old/gstarch.sgml:
11197         * docs/gst/tmpl/old/gstatomic_impl.sgml:
11198         * docs/gst/tmpl/old/gstbufferstore.sgml:
11199         * docs/gst/tmpl/old/gstdata_private.sgml:
11200         * docs/gst/tmpl/old/gstdisksink.sgml:
11201         * docs/gst/tmpl/old/gstdisksrc.sgml:
11202         * docs/gst/tmpl/old/gstelementfactory.sgml:
11203         * docs/gst/tmpl/old/gstextratypes.sgml:
11204         * docs/gst/tmpl/old/gstfakesink.sgml:
11205         * docs/gst/tmpl/old/gstfakesrc.sgml:
11206         * docs/gst/tmpl/old/gstfdsink.sgml:
11207         * docs/gst/tmpl/old/gstfdsrc.sgml:
11208         * docs/gst/tmpl/old/gstfilesink.sgml:
11209         * docs/gst/tmpl/old/gstfilesrc.sgml:
11210         * docs/gst/tmpl/old/gsthttpsrc.sgml:
11211         * docs/gst/tmpl/old/gstidentity.sgml:
11212         * docs/gst/tmpl/old/gstindexfactory.sgml:
11213         * docs/gst/tmpl/old/gstmarshal.sgml:
11214         * docs/gst/tmpl/old/gstmd5sink.sgml:
11215         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
11216         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
11217         * docs/gst/tmpl/old/gstpadtemplate.sgml:
11218         * docs/gst/tmpl/old/gstpipefilter.sgml:
11219         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
11220         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
11221         * docs/gst/tmpl/old/gstshaper.sgml:
11222         * docs/gst/tmpl/old/gstspider.sgml:
11223         * docs/gst/tmpl/old/gstspideridentity.sgml:
11224         * docs/gst/tmpl/old/gststatistics.sgml:
11225         * docs/gst/tmpl/old/gsttee.sgml:
11226         * docs/gst/tmpl/old/gsttimecache.sgml:
11227         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
11228         * docs/gst/tmpl/old/gstxmlregistry.sgml:
11229         * docs/gst/tmpl/old/gthread-cothreads.sgml:
11230         * docs/gst/tmpl/old/types.sgml:
11231           I didn't intend to add these or check them in.
11232
11233 2005-05-19  David Schleef  <ds@schleef.org>
11234
11235         * configure.ac: Use -no-common everywhere.  In a sane world, it
11236           would be the default in libtool, because without it, you can't
11237           build DLLs on Windows.
11238         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
11239         * docs/gst/gstreamer-sections.txt:
11240         * docs/gst/tmpl/gstcpu.sgml:
11241         * docs/gst/tmpl/gstdata.sgml:
11242         * docs/gst/tmpl/gstthread.sgml:
11243
11244 2005-05-19  David Schleef  <ds@schleef.org>
11245
11246         * gst/gstminiobject.c: (gst_value_set_mini_object),
11247         (gst_value_take_mini_object), (gst_value_get_mini_object):
11248         * gst/gstminiobject.h: Add GValue set/get functions.
11249
11250 2005-05-19  Wim Taymans  <wim@fluendo.com>
11251
11252         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
11253         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
11254         (gst_subbuffer_init), (gst_buffer_is_span_fast):
11255         * gst/gstbuffer.h:
11256         * gst/gstbus.c: (gst_bus_post):
11257         * gst/gstelement.c: (gst_element_get_random_pad):
11258         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
11259         Make subbufer unref the parent in finalize.
11260         some more debugging info.
11261
11262
11263 2005-05-19  Wim Taymans  <wim@fluendo.com>
11264
11265         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11266         (gst_basesink_init), (gst_basesink_finalize),
11267         (gst_basesink_activate), (gst_basesink_change_state):
11268         Don't free preroll queue too early.
11269
11270 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11271
11272         * gst/Makefile.am:
11273         * gst/ROADMAP:
11274           Hi, I'm outdated. Please shoot me.
11275
11276 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11277
11278         * gst/gstpipeline.c: (gst_pipeline_send_event):
11279           Do not access variables after they have been deleted.
11280
11281 2005-05-19  Wim Taymans  <wim@fluendo.com>
11282
11283         * tools/gst-inspect.c: (print_plugin_features):
11284         A plugin feature does unfortunatly not use the
11285         object name yet...
11286
11287 2005-05-18  Wim Taymans  <wim@fluendo.com>
11288
11289         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
11290         Port _span() functions to new subbuffers.
11291
11292 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11293
11294         * gst/gstbin.c: (gst_bin_add_func):
11295           Fix clock settery in bins when adding kids after the clock has
11296           been selected.
11297
11298 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11299
11300         * gst/elements/gstidentity.c: (gst_identity_class_init):
11301           Workaround until signals support GstMiniObject.
11302
11303 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
11304
11305         * gst/gstbuffer.c:
11306         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11307
11308 2005-05-18  Wim Taymans  <wim@fluendo.com>
11309
11310         * gst/base/Makefile.am:
11311         * gst/base/gstadapter.c: (gst_adapter_base_init),
11312         (gst_adapter_class_init), (gst_adapter_init),
11313         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
11314         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
11315         (gst_adapter_flush), (gst_adapter_available),
11316         (gst_adapter_available_fast):
11317         * gst/base/gstadapter.h:
11318         Ported and added adapter to the base classes.
11319
11320 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11321
11322         * gst/gst.c:
11323         * gst/gstmessage.c:
11324           Make sure the class is reffed/unreffed once before threads can be
11325           used.  Fixes #304551.
11326
11327 2005-05-17  Wim Taymans  <wim@fluendo.com>
11328
11329         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11330         (gst_basesink_chain_unlocked), (gst_basesink_activate):
11331         * gst/gstminiobject.c: (gst_mini_object_get_type),
11332         (gst_mini_object_free):
11333         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11334         (gst_pad_push), (gst_pad_push_event):
11335         * gst/gstqueue.c: (gst_queue_change_state):
11336         Don't queue buffers in basesink when we are flushing.
11337         Unref buffer when flushing in basesink.
11338         Flush queue when going to READY
11339         Unref buffer when _push() returns an error.
11340         Don't free MiniObject instance when refcount is incremented
11341         in _finalize() so that we can recover objects.
11342
11343 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11344
11345         * docs/manual/advanced-schedulers.xml:
11346         * docs/manual/appendix-checklist.xml:
11347         * docs/pwg/advanced-clock.xml:
11348         * docs/pwg/advanced-interfaces.xml:
11349         * docs/pwg/advanced-request.xml:
11350         * docs/pwg/advanced-types.xml:
11351         * docs/pwg/intro-preface.xml:
11352         * examples/plugins/example.c: (gst_example_get_type),
11353         (gst_example_class_init), (gst_example_chain),
11354         (gst_example_set_property), (gst_example_get_property),
11355         (gst_example_change_state), (plugin_init):
11356         * examples/plugins/example.h:
11357           small doc fixes
11358
11359 2005-05-17  Wim Taymans  <wim@fluendo.com>
11360
11361         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11362         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11363         * gst/gstqueue.c: (gst_queue_change_state):
11364         Clear queue when going to READY.
11365         Remove IN_SETCAPS flag too.
11366
11367 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
11368
11369         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11370           Remove implicit cast from gboolean to GstElementStateReturn;
11371           make sure we still return failure in paused => ready case if
11372           the parent class fails to change state and our own stop 
11373           vfunc succeeds.
11374
11375 2005-05-17  Wim Taymans  <wim@fluendo.com>
11376
11377         * tools/gst-launch.c: (event_loop):
11378         Message was unreffed too soon.
11379
11380 2005-05-16  Andy Wingo  <wingo@pobox.com>
11381
11382         * gst/gstbin.c (sink_iterator_filter): Err... um...
11383
11384         * check/gst/gstbin.c (test_ghost_pads): New test for the
11385         ghosting-if-elements-not-in-same-bin behavior.
11386
11387 2005-05-16  David Schleef  <ds@schleef.org>
11388
11389         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11390         accessing refcount directly.
11391
11392 2005-05-15  David Schleef  <ds@schleef.org>
11393
11394         * check/Makefile.am: remove GstData checks
11395         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11396         * gst/Makefile.am: add miniobject, remove data
11397         * gst/gst.h: add miniobject, remove data
11398         * gst/gstdata.c: remove
11399         * gst/gstdata.h: remove
11400         * gst/gstdata_private.h: remove
11401         * gst/gsttypes.h: remove GstEvent and GstMessage
11402         * gst/gstelement.c: (gst_element_post_message): fix for API changes
11403         * gst/gstmarshal.list: change BOXED -> OBJECT
11404
11405         Implement GstMiniObject.
11406         * gst/gstminiobject.c:
11407         * gst/gstminiobject.h:
11408
11409         Modify to be subclasses of GstMiniObject.
11410         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11411         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11412         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11413         (gst_subbuffer_get_type), (gst_subbuffer_init),
11414         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11415         (gst_buffer_span):
11416         * gst/gstbuffer.h:
11417         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11418         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11419         (_gst_event_copy), (gst_event_new):
11420         * gst/gstevent.h:
11421         * gst/gstmessage.c: (_gst_message_initialize),
11422         (gst_message_get_type), (gst_message_class_init),
11423         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11424         (gst_message_new), (gst_message_new_error),
11425         (gst_message_new_warning), (gst_message_new_tag),
11426         (gst_message_new_state_changed), (gst_message_new_application):
11427         * gst/gstmessage.h:
11428         * gst/gstprobe.c: (gst_probe_perform),
11429         (gst_probe_dispatcher_dispatch):
11430         * gst/gstprobe.h:
11431         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11432         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11433         (_gst_query_copy), (gst_query_new):
11434
11435         Update elements for GstData -> GstMiniObject changes
11436         * gst/gstquery.h:
11437         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11438         (gst_queue_chain), (gst_queue_loop):
11439         * gst/elements/gstbufferstore.c:
11440         (gst_buffer_store_add_buffer_func),
11441         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11442         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11443         (gst_fakesink_render):
11444         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11445         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11446         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11447         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11448         (gst_filesrc_create_read):
11449         * gst/elements/gstidentity.c: (gst_identity_class_init):
11450         * gst/elements/gsttypefindelement.c:
11451         (gst_type_find_element_src_event), (free_entry_buffers),
11452         (gst_type_find_element_handle_event):
11453         * libs/gst/dataprotocol/dataprotocol.c:
11454         (gst_dp_header_from_buffer):
11455         * libs/gst/dataprotocol/dataprotocol.h:
11456         * libs/gst/dataprotocol/dp-private.h:
11457
11458 2005-05-15  David Schleef  <ds@schleef.org>
11459
11460         * gst/elements/gstelements.c: Don't include headers that were
11461         just removed.
11462
11463 2005-05-15  David Schleef  <ds@schleef.org>
11464
11465         * gst/elements/Makefile.am: Remove some elements that don't
11466         need to be in the core (or even exist at all).
11467         * gst/elements/gstaggregator.c:
11468         * gst/elements/gstaggregator.h:
11469         * gst/elements/gstmd5sink.c:
11470         * gst/elements/gstmd5sink.h:
11471         * gst/elements/gstmultifilesrc.c:
11472         * gst/elements/gstmultifilesrc.h:
11473         * gst/elements/gstpipefilter.c:
11474         * gst/elements/gstpipefilter.h:
11475         * gst/elements/gstshaper.c:
11476         * gst/elements/gstshaper.h:
11477         * gst/elements/gststatistics.c:
11478         * gst/elements/gststatistics.h:
11479         * po/POTFILES.in: Remove above files.
11480
11481 2005-05-14  Andy Wingo  <wingo@pobox.com>
11482
11483         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11484         so as to get the refs right.
11485         (sink_iterator_filter): New function, wraps bin_element_is_sink,
11486         unreffing objects that don't pass the filter.
11487
11488         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11489         gst_element_set_bus.
11490         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11491         normal cases, this will destroy the bus.
11492
11493         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11494         object.
11495
11496         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11497         has no sinks.
11498
11499 2005-05-13  Andy Wingo  <wingo@pobox.com>
11500
11501         * gst/gstutils.c (gst_element_link_pads): Instead of calling
11502         gst_pad_link, call pad_link_maybe_ghosting,
11503         (pad_link_maybe_ghosting): Links pads, making sure that the
11504         elements being linked are in the same bin.
11505         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11506         Helpers for pad_link_maybe_ghosting.
11507
11508 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11509
11510         * configure.ac:
11511           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11512
11513 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11514
11515         * docs/design/part-element-source.txt:
11516           Mention GstPushSrc
11517
11518 2005-05-12  Wim Taymans  <wim@fluendo.com>
11519
11520         * gst/base/gstbasesink.c: (gst_basesink_init),
11521         (gst_basesink_activate):
11522         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11523         (gst_basesrc_is_seekable):
11524         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11525         (bin_element_is_sink), (gst_bin_change_state):
11526         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11527         * gst/gstelement.h:
11528         Identify sinks by their flag to avoid overly complicated
11529         checks (fow now).
11530         Do state changes even for elements not reachable from the
11531         sinks.
11532         BaseSink is a sink now :)
11533         Some more debugging info in the basesrc.
11534
11535
11536 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11537
11538         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
11539           Implement _query on a bin, similar to _send_event.
11540
11541 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
11542
11543         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
11544           Discont event offset format should be GST_FORMAT_BYTES,
11545           not GST_FORMAT_TIME.
11546
11547 2005-05-12  Wim Taymans  <wim@fluendo.com>
11548
11549         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
11550         Same fix as Ronald's but without the signal. 
11551
11552 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11553
11554         * gst/gstutils.c: (gst_element_query_position):
11555           No, an element is not a pad.
11556
11557 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11558
11559         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
11560         (gst_bin_get_state):
11561           If a child is removed from a bin while we remove the child from
11562           the bin and while we're retrieving its state, signal this to the
11563           get_state function so we abort the wait (instead of waiting for
11564           a timeout) and can immediately re-iterate over all other elements.
11565
11566 2005-05-12  Wim Taymans  <wim@fluendo.com>
11567
11568         * gst/base/Makefile.am:
11569         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
11570         (gst_basesrc_start):
11571         * gst/base/gstbasesrc.h:
11572         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
11573         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
11574         (gst_pushsrc_init), (gst_pushsrc_create):
11575         * gst/base/gstpushsrc.h:
11576         Added is_seekable to BaseSrc
11577         Added simple PushSrc.
11578
11579 2005-05-11  Wim Taymans  <wim@fluendo.com>
11580
11581         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11582         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11583         (gst_element_link_pads), (gst_element_query_position),
11584         (gst_element_query_convert), (intersect_caps_func),
11585         (gst_pad_query_position), (gst_pad_query_convert):
11586         Fix refcounting in utils function.
11587         No point in trying to activate a pad when it's added, it could
11588         be added from the state change function and then we deadlock, the
11589         element has to decide what to do.
11590
11591 2005-05-10  Andy Wingo  <wingo@pobox.com>
11592
11593         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
11594         *all* the arguments.
11595
11596         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
11597         stream lock if it's a FLUSH_DONE; normal flushes don't get the
11598         lock (according to the docs -- if this is wrong change the docs).
11599
11600         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
11601         flush messages in the NULL state.
11602
11603         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
11604         message immediately and return.
11605         (gst_bus_set_flushing): New function. If a bus is flushing, it
11606         flushes out any queued messages and immediately unrefs new
11607         messages. This is so when an element goes to NULL, all of the
11608         unhandled messages coming from it can be freed, and their
11609         references to the element dropped. In other words: message source
11610         ref considered harmful :P
11611
11612         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
11613         we're finished with it.
11614
11615         * gst/gstmessage.c (gst_message_new_state_changed): 
11616
11617 2005-05-10  Wim Taymans  <wim@fluendo.com>
11618
11619         * gst/gstvalue.c: (gst_value_compare_flags),
11620         (gst_value_serialize_flags), (gst_value_deserialize_flags),
11621         (_gst_value_initialize):
11622         Added flags serialize/deserialize/compare code.
11623
11624 2005-05-09  Andy Wingo  <wingo@pobox.com>
11625
11626         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
11627         Intersect the peer's caps with our caps.
11628
11629 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11630
11631         * gst/base/gsttypefindhelper.c: (helper_find_peek):
11632         * gst/elements/gsttypefindelement.c: (find_peek):
11633           Handle negative offsets better. Fixes decodebin.
11634
11635 2005-05-09  Wim Taymans  <wim@fluendo.com>
11636
11637         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
11638         (gst_base_transform_event):
11639         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
11640         Implement accept_caps.
11641         Fix silly lock/unlock mismatch in base class.
11642
11643 2005-05-09  Wim Taymans  <wim@fluendo.com>
11644
11645         * docs/design/draft-push-pull.txt:
11646         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
11647         * gst/elements/gstfilesink.c: (gst_filesink_init),
11648         (gst_filesink_query):
11649         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11650         (gst_type_find_handle_src_query), (find_element_get_length):
11651         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
11652         * gst/gstelement.h:
11653         * gst/gstmessage.c:
11654         * gst/gstmessage.h:
11655         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
11656         (gst_real_pad_get_caps_unlocked),
11657         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
11658         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11659         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
11660         (gst_real_pad_dispose), (gst_real_pad_finalize),
11661         (gst_pad_load_and_link), (gst_pad_save_thyself),
11662         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
11663         (gst_pad_check_pull_range), (gst_pad_pull_range),
11664         (gst_pad_template_get_type), (gst_pad_template_class_init),
11665         (gst_pad_template_init), (gst_pad_template_dispose),
11666         (name_is_valid), (gst_static_pad_template_get),
11667         (gst_pad_template_new), (gst_static_pad_template_get_caps),
11668         (gst_pad_template_get_caps), (gst_pad_set_element_private),
11669         (gst_pad_get_element_private), (gst_pad_start_task),
11670         (gst_pad_pause_task), (gst_pad_stop_task),
11671         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
11672         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
11673         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
11674         (gst_ghost_pad_new):
11675         * gst/gstpad.h:
11676         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
11677         (gst_query_new_position), (gst_query_set_position),
11678         (gst_query_parse_position), (gst_query_new_convert),
11679         (gst_query_set_convert), (gst_query_parse_convert):
11680         * gst/gstquery.h:
11681         * gst/gstqueryutils.c:
11682         * gst/gstqueryutils.h:
11683         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11684         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11685         (gst_queue_handle_src_query):
11686         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11687         (gst_element_query_position), (gst_element_query_convert),
11688         (intersect_caps_func), (gst_pad_query_position),
11689         (gst_pad_query_convert):
11690         * gst/gstutils.h:
11691         * tools/gst-inspect.c: (print_pad_info):
11692         * tools/gst-xmlinspect.c: (print_element_info):
11693         Remove old query functions. Ported old code.
11694         Added position/convert helper functions to gstutils.
11695         Reordered gstpad.c code, grouping relevant things.
11696         Remove gst_message_new(), always need to speficy a specific
11697         message.
11698
11699
11700 2005-05-09  Andy Wingo  <wingo@pobox.com>
11701
11702         * gst/gstiterator.h: Add some includes.
11703
11704         * gst/gstqueryutils.h: Include more headers.
11705
11706         * gst/gstpad.h:
11707         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
11708         some uses of gst_pad_query.
11709
11710         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
11711         NULL out parameters.
11712         (gst_query_new_position): New proc, allocates a new position
11713         query.
11714
11715         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
11716         gstqueryutils.c to the build.
11717
11718         * gst/gststructure.c (gst_structure_set_valist): Implement with
11719         the generic G_VALUE_COLLECT.
11720         
11721 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
11722
11723         * gst/Makefile.am: (gst_headers):
11724         Added gstqueryutils.h to the list of headers to install, that was
11725         a 'nachty' move wingo :)
11726
11727 2005-05-06  Andy Wingo  <wingo@pobox.com>
11728
11729         * gst/gstquery.h
11730         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
11731         GstData, init a memchunk.
11732         (standard_definitions): Add a few query types, deprecate a few.
11733         (gst_query_get_type): New proc.
11734         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
11735         implementation.
11736         (gst_query_new_application, gst_query_get_structure): New public
11737         procs.
11738
11739         * docs/design/draft-query.txt: Removed LINKS from the query types,
11740         because all the rest can be dispatched to other pads -- seemed
11741         ugly to have a query that couldn't be dispatched. internal_links
11742         is fine as a pad method.
11743
11744         * gst/gstpad.h: Add query2 as a pad method, add the new functions
11745         in gstpad.c, but maintain binary compatibility for the moment.
11746         Will fix before 0.9 is out.
11747
11748         * gst/gstqueryutils.c: 
11749         * gst/gstqueryutils.h: New files, implement 3 methods for each
11750         query type: parse_query, parse_response, and set. Probably need an
11751         allocator as well.
11752
11753         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
11754
11755         * gst/elements/gstfilesink.c (gst_filesink_query2):
11756         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
11757         query_types, and formats methods.
11758
11759         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
11760         (gst_pad_set_query2_function): New functions.
11761         (gst_real_pad_init): Set query2_default as the default query2
11762         function. Basically just dispatches to internally linked pads.
11763
11764         Needs review!
11765         
11766         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
11767         without using the atomic operations. Only one thread can possibly
11768         be accessing the data at this point. Changed so as to avoid
11769         gst_atomic operations.
11770
11771 2005-05-06  Wim Taymans  <wim@fluendo.com>
11772
11773         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
11774         Also set caps if we use the fallback buffer alloc.
11775
11776 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
11777
11778         * docs/gst/Makefile.am:
11779         * docs/gst/gstreamer-docs.sgml:
11780         * docs/gst/gstreamer-sections.txt:
11781         * docs/gst/tmpl/gstatomic.sgml:
11782         * docs/gst/tmpl/gstmemchunk.sgml:
11783         * testsuite/elements/struct_i386.h:
11784         * win32/GStreamer.vcproj:
11785         * win32/Makefile:
11786           Purge GstAtomic stuff from docs and win32 makefiles as well
11787
11788 2005-05-06  Wim Taymans  <wim@fluendo.com>
11789
11790         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
11791         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
11792         * gst/gstpad.c: (gst_pad_peer_get_caps):
11793         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11794         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11795         (gst_queue_src_activate), (gst_queue_change_state):
11796         * gst/gstqueue.h:
11797         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11798         (intersect_caps_func):
11799         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
11800         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
11801         Some fixes for the peer_get_caps() change.
11802
11803 2005-05-06  Wim Taymans  <wim@fluendo.com>
11804
11805         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11806         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
11807         (gst_basesink_activate):
11808         Actually do something with error codes returned from the push
11809         functions.
11810
11811 2005-05-06  Wim Taymans  <wim@fluendo.com>
11812
11813         * docs/design/part-element-sink.txt:
11814         * docs/design/part-element-source.txt:
11815         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11816         (gst_basesink_event), (gst_basesink_activate):
11817         * gst/base/gstbasesink.h:
11818         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
11819         (gst_basesrc_activate):
11820         * gst/base/gstbasesrc.h:
11821         * gst/gstelement.c: (gst_element_pads_activate):
11822         Some more documentation.
11823         Fixed scheduling decision in _pads_activate().
11824
11825 2005-05-05  Andy Wingo  <wingo@pobox.com>
11826
11827         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
11828         the test suite.
11829
11830 2005-05-05  Wim Taymans  <wim@fluendo.com>
11831
11832         * gst/base/Makefile.am:
11833         * gst/base/gstbasesink.h:
11834         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11835         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
11836         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
11837         (gst_collectpads_class_init), (gst_collectpads_init),
11838         (gst_collectpads_finalize), (gst_collectpads_new),
11839         (gst_collectpads_set_function), (gst_collectpads_add_pad),
11840         (find_pad), (gst_collectpads_remove_pad),
11841         (gst_collectpads_is_active), (gst_collectpads_collect),
11842         (gst_collectpads_collect_range), (gst_collectpads_start),
11843         (gst_collectpads_stop), (gst_collectpads_peek),
11844         (gst_collectpads_pop), (gst_collectpads_available),
11845         (gst_collectpads_read), (gst_collectpads_flush),
11846         (gst_collectpads_chain):
11847         * gst/base/gstcollectpads.h:
11848         * gst/elements/Makefile.am:
11849         * gst/elements/gstelements.c:
11850         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11851         (gst_fakesink_get_times), (gst_fakesink_event),
11852         (gst_fakesink_preroll), (gst_fakesink_render):
11853         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
11854         (gst_filesink_init), (gst_filesink_set_location),
11855         (gst_filesink_open_file), (gst_filesink_close_file),
11856         (gst_filesink_pad_query), (gst_filesink_event),
11857         (gst_filesink_render), (gst_filesink_change_state):
11858         * gst/elements/gstfilesink.h:
11859         Added object to help in making collect pad based elements.
11860         Ported filesink.
11861         Make event function in sink baseclass return gboolean.
11862
11863 2005-05-05  Wim Taymans  <wim@fluendo.com>
11864
11865         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
11866         (gst_bin_get_by_name):
11867         * gst/gstbuffer.h:
11868         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
11869         (gst_clock_finalize):
11870         * gst/gstdata.c: (gst_data_replace):
11871         * gst/gstdata.h:
11872         * gst/gstelement.c: (gst_element_request_pad),
11873         (gst_element_pads_activate):
11874         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
11875         (gst_object_unref):
11876         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11877         (gst_pad_set_checkgetrange_function),
11878         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
11879         (gst_pad_check_pull_range), (gst_pad_pull_range),
11880         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11881         (gst_pad_pause_task), (gst_pad_stop_task):
11882         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11883         (gst_element_request_pad), (gst_pad_proxy_getcaps):
11884         Fix name lookup in GstBin.
11885         Added _data_replace() function and _buffer_replace()
11886         Use finalize method to clean up clock.
11887         Fix refcounting on request pads.
11888         Fix pad schedule mode error.
11889         Some more object refcounting debug info,
11890
11891
11892 2005-05-04  Andy Wingo <wingo@pobox.com>
11893
11894         * check/Makefile.am:
11895         * docs/gst/tmpl/gstatomic.sgml:
11896         * docs/gst/tmpl/gstplugin.sgml:
11897         * gst/base/gstbasesink.c: (gst_basesink_activate):
11898         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
11899         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
11900         (gst_basesrc_query), (gst_basesrc_set_property),
11901         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
11902         (gst_basesrc_activate):
11903         * gst/base/gstbasesrc.h:
11904         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
11905         (gst_base_transform_src_activate):
11906         * gst/elements/gstelements.c:
11907         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11908         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11909         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11910         * gst/elements/gsttypefindelement.c: (find_element_get_length),
11911         (gst_type_find_element_checkgetrange),
11912         (gst_type_find_element_activate):
11913         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
11914         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
11915         (gst_caps_load_thyself):
11916         * gst/gstelement.c: (gst_element_pads_activate),
11917         (gst_element_save_thyself), (gst_element_restore_thyself):
11918         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
11919         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
11920         * gst/gstpad.h:
11921         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
11922         (gst_xml_parse_file), (gst_xml_parse_memory),
11923         (gst_xml_get_element), (gst_xml_make_element):
11924         * gst/indexers/gstfileindex.c: (gst_file_index_load),
11925         (_file_index_id_save_xml), (gst_file_index_commit):
11926         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
11927         (read_enum), (load_pad_template), (load_feature), (load_plugin),
11928         (load_paths):
11929         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
11930         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
11931         * tools/gst-complete.c: (main):
11932         * tools/gst-compprep.c: (main):
11933         * tools/gst-inspect.c: (print_element_properties_info):
11934         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
11935         * tools/gst-xmlinspect.c: (print_element_properties):
11936         GCC 4 fixen.
11937         
11938 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11939
11940         * gst/gstplugin.c: (gst_plugin_check_module),
11941         (gst_plugin_check_file), (gst_plugin_load_file):
11942             apply patch from #172526 to make register work on MacOSX
11943
11944 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11945
11946         * docs/gst/tmpl/gstconfig.sgml:
11947         * gst/gstconfig.h.in:
11948           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
11949         * testsuite/debug/printf_extension.c: (main):
11950           Do not use GST_PTR_FORMAT on pointers to types with
11951           sizeof < sizeof(gpointer).  Fixes test on 64-bit
11952         * testsuite/elements/property.h:
11953           use correct printf format
11954
11955 2005-05-02  Wim Taymans  <wim@fluendo.com>
11956
11957         * docs/design/draft-push-pull.txt:
11958         * docs/design/draft-query.txt:
11959         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
11960         (gst_basesrc_start):
11961         Added draft for new query API.
11962         Added draft for better selecting scheduling methods.
11963         Make basesrc ignore length if the subclass does not support
11964         it.
11965
11966 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11967
11968         * gst/Makefile.am:
11969           possible fixes for automake-1.5 - _LIBADD is reserved
11970
11971 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11972
11973         * docs/faq/Makefile.am:
11974         * docs/manual/Makefile.am:
11975         * docs/manuals.mak:
11976         * docs/pwg/Makefile.am:
11977         * gst/Makefile.am:
11978           possible fixes for automake-1.5
11979
11980 2005-04-28  Wim Taymans  <wim@fluendo.com>
11981
11982         * gst/base/gstbasesink.c: (gst_basesink_base_init),
11983         (gst_basesink_pad_getcaps), (gst_basesink_init),
11984         (gst_basesink_do_sync):
11985         * gst/gstclock.c: (gst_clock_entry_new):
11986         * gst/gstevent.c: (gst_event_discont_get_value):
11987         * gst/gstpipeline.c: (pipeline_bus_handler),
11988         (gst_pipeline_change_state):
11989         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
11990         Better debugging of clocking info.
11991         Allow NULL values when getting discont values.
11992
11993 2005-04-27  Wim Taymans  <wim@fluendo.com>
11994
11995         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
11996         * check/gst/gstpad.c: (gst_pad_suite):
11997         Increase timeout for checks.
11998
11999 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12000
12001         * check/Makefile.am:
12002           fix the broken rule for cleanup.  Apparently this rule is
12003           only needed on FC2, so maybe this warrants further autotool
12004           inspection.
12005
12006 2005-04-26  Wim Taymans  <wim@fluendo.com>
12007
12008         * gst/gsttrashstack.h:
12009         Ooohh. a nasty one! After having a failed pop() from the stack,
12010         it's possible that the stack is empty. In that case, don't
12011         follow the NULL pointer.
12012
12013 2005-04-25  Wim Taymans  <wim@fluendo.com>
12014
12015         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12016         (gst_pad_set_checkgetrange_function),
12017         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
12018         (gst_pad_check_pull_range), (gst_pad_pull_range),
12019         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12020         (gst_pad_pause_task), (gst_pad_stop_task):
12021         * gst/gstplugin.c: (gst_plugin_load):
12022         * gst/gstplugin.h:
12023         Remove gst_library_load as it does more harm than good with
12024         the new g_module flags.
12025         Revert bogus caps template check in pad linking, pad caps
12026         are important when linking not the template, which is more
12027         general than the current caps.
12028
12029 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12030
12031         * gst/autoplug/.cvsignore:
12032         * gst/autoplug/Makefile.am:
12033         * gst/autoplug/gstsearchfuncs.c:
12034         * gst/autoplug/gstsearchfuncs.h:
12035         * gst/autoplug/gstspider.c:
12036         * gst/autoplug/gstspider.h:
12037         * gst/autoplug/gstspideridentity.c:
12038         * gst/autoplug/gstspideridentity.h:
12039         * gst/autoplug/spidertest.c:
12040           Die, spider, die.
12041
12042 2005-04-25  Wim Taymans  <wim@fluendo.com>
12043
12044         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12045         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12046         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
12047         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
12048         * gst/gstpad.h:
12049         Added stubs for unimplemented functions. 
12050
12051 2005-04-24  David Schleef  <ds@schleef.org>
12052
12053         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
12054         please fix.
12055
12056 2005-04-24  David Schleef  <ds@schleef.org>
12057
12058         Convert everything from GstAtomicInt to g_atomic_int_*, and
12059         remove gstatomic.
12060         * gst/Makefile.am:
12061         * gst/gstatomic.c:
12062         * gst/gstatomic.h:
12063         * gst/gstatomic_impl.h:
12064         * gst/gstbuffer.c:
12065         * gst/gstcaps.c:
12066         * gst/gstcaps.h:
12067         * gst/gstclock.c:
12068         * gst/gstclock.h:
12069         * gst/gstdata.c:
12070         * gst/gstdata.h:
12071         * gst/gstdata_private.h:
12072         * gst/gstevent.c:
12073         * gst/gstinfo.c:
12074         * gst/gstinfo.h:
12075         * gst/gstmessage.c:
12076         * gst/gstobject.c:
12077         * gst/gstobject.h:
12078         * gst/gststructure.c:
12079         * gst/gststructure.h:
12080         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
12081         * gst/gstutils.h:
12082
12083 2005-04-24  David Schleef  <ds@schleef.org>
12084
12085         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
12086         make the regressions tests work.  Remove some code that is no
12087         longer true.
12088         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
12089         Disable warning for pads without templates.
12090
12091 2005-04-24  David Schleef  <ds@schleef.org>
12092
12093         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
12094         functions that handle filtered links.
12095         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
12096         removed functions.
12097         * gst/gstutils.c: Fix/remove utility functions that handle
12098         filtered caps.
12099         * gst/gstutils.h:
12100         * gst/gstvalue.c: Add serialization/deserialization of caps
12101         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
12102         requires fixing so that the filter caps notation creates
12103         a capsfilter element and sets the filter_caps property.  I
12104         think everyone probably wants to keep the shorthand notation.
12105         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
12106         * docs/gst/tmpl/gstpad.sgml:
12107
12108         * gst/elements/gstelements.c: Register capsfilter element.
12109         * gst/Makefile.am: fix spacing
12110         * docs/random/ds/0.9-suggested-changes: random
12111
12112 2005-04-23  David Schleef  <ds@schleef.org>
12113
12114         * gst/elements/Makefile.am:
12115         * gst/elements/gstcapsfilter.c: New element that acts like an
12116         identity, but filters caps.  Will eventually replace filtered
12117         caps in pad linking.
12118         * gst/gstutils.c: (gst_element_create_all_pads): New function
12119         to create all the ALWAYS pads that are registered with an
12120         element class.  This functionality should eventually be
12121         merged in with GstElement initialization.
12122         * gst/gstutils.h:
12123         * testsuite/trigger/README: part of trigger test code that should
12124         have been checked in a long time ago.
12125
12126 2005-04-23  David Schleef  <ds@schleef.org>
12127
12128         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
12129         needed with new versions of libtool (nobody will confirm this),
12130         and hard to carry around.
12131         * gst/autoplug/Makefile.am:
12132         * gst/base/Makefile.am:
12133         * gst/elements/Makefile.am:
12134         * gst/indexers/Makefile.am:
12135         * gst/schedulers/Makefile.am:
12136         * libs/gst/bytestream/Makefile.am:
12137         * libs/gst/control/Makefile.am:
12138         * libs/gst/dataprotocol/Makefile.am:
12139         * libs/gst/getbits/Makefile.am:
12140
12141 2005-04-21  Wim Taymans  <wim@fluendo.com>
12142
12143         * docs/design/draft-push-pull.txt:
12144         * docs/design/part-MT-refcounting.txt:
12145         * docs/design/part-TODO.txt:
12146         * docs/design/part-caps.txt:
12147         * docs/design/part-events.txt:
12148         * docs/design/part-gstbus.txt:
12149         * docs/design/part-gstpipeline.txt:
12150         * docs/design/part-messages.txt:
12151         * docs/design/part-push-pull.txt:
12152         * docs/design/part-query.txt:
12153         Some more docs.
12154
12155 2005-04-21  Wim Taymans  <wim@fluendo.com>
12156
12157         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
12158         (gst_message_new), (gst_message_new_error),
12159         (gst_message_new_warning), (gst_message_new_tag),
12160         (gst_message_new_state_changed), (gst_message_new_application),
12161         (gst_message_get_structure):
12162         * gst/gstmessage.h:
12163         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12164         (gst_structure_copy_conditional):
12165         Use parent refcount in GstMessage to ensure GstStructure
12166         consistency.
12167         Cleaned up headers a bit.
12168         
12169
12170 2005-04-20  Wim Taymans  <wim@fluendo.com>
12171
12172         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12173         (gst_basesink_pad_getcaps), (gst_basesink_init),
12174         (gst_basesink_chain_unlocked):
12175         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
12176         (gst_type_find_helper):
12177         * gst/elements/gsttypefindelement.c:
12178         (gst_type_find_element_have_type), (gst_type_find_element_init),
12179         (stop_typefinding), (gst_type_find_element_handle_event),
12180         (find_suggest), (gst_type_find_element_chain),
12181         (gst_type_find_element_checkgetrange),
12182         (gst_type_find_element_getrange), (do_typefind),
12183         (gst_type_find_element_activate):
12184         * gst/gstbuffer.c: (_gst_buffer_sub_free),
12185         (gst_buffer_default_free), (gst_buffer_default_copy),
12186         (gst_buffer_set_caps):
12187         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
12188         (gst_caps_replace):
12189         * gst/gstmessage.c: (gst_message_new),
12190         (gst_message_new_state_changed):
12191         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12192         (gst_pad_set_checkgetrange_function),
12193         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
12194         (gst_pad_set_caps), (gst_pad_check_pull_range),
12195         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
12196         * gst/gstpad.h:
12197         * gst/gsttypefind.c: (gst_type_find_register):
12198         Make gst_caps_replace() work like other _replace() functions.
12199         Use _caps_replace() where possible.
12200         Make sure _message_new() initialises its field.
12201         Add gst_static_pad_template_get_caps()
12202
12203
12204 2005-04-18  Andy Wingo  <wingo@pobox.com>
12205
12206         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
12207         on the peer, not the pad. I think that was a typo. Pass an extra
12208         arg to see if random access is possible. Activate the pads as
12209         PULL_RANGE if possible.
12210
12211         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
12212
12213         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
12214         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
12215         to PROP_....
12216
12217 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12218
12219         * docs/faq/using.xml:
12220           Add note on gstreamer-properties (#154996).
12221
12222 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12223
12224         * docs/random/bbb/optional-properties:
12225           Some analysis on optional properties.
12226
12227 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12228
12229         * docs/gst/tmpl/gstelementfactory.sgml:
12230         * gst/gstelement.h:
12231         * gst/gstelementfactory.c: (gst_element_factory_init),
12232         (gst_element_factory_cleanup), (gst_element_register),
12233         (__gst_element_factory_add_static_pad_template),
12234         (gst_element_factory_get_static_pad_templates),
12235         (gst_element_factory_can_src_caps),
12236         (gst_element_factory_can_sink_caps):
12237         * gst/registries/Makefile.am:
12238         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
12239         (gst_xml_registry_class_init), (gst_xml_registry_init),
12240         (gst_xml_registry_new), (gst_xml_registry_set_property),
12241         (gst_xml_registry_get_property), (get_time), (make_dir),
12242         (gst_xml_registry_get_perms_func),
12243         (plugin_times_older_than_recurse), (plugin_times_older_than),
12244         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
12245         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
12246         (add_to_char_array), (read_string), (read_uint), (read_enum),
12247         (load_pad_template), (load_feature), (load_plugin), (load_paths),
12248         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
12249         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
12250         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
12251         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
12252         (gst_xml_registry_rebuild):
12253         * gst/registries/gstlibxmlregistry.h:
12254         * tools/gst-compprep.c: (main):
12255         * tools/gst-inspect.c: (print_pad_templates_info):
12256         * tools/gst-xmlinspect.c: (print_element_info):
12257           Use libxml2 for registry parsing, use staticpadtemplates in
12258           elementfactories. Makes gst_init() +/- 10x faster.
12259
12260 2005-04-12  Wim Taymans  <wim@fluendo.com>
12261
12262         * gst/base/Makefile.am:
12263         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12264         (gst_basesink_pad_getcaps), (gst_basesink_init),
12265         (gst_basesink_event), (gst_basesink_change_state):
12266         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12267         (gst_basesrc_init), (gst_basesrc_query),
12268         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12269         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12270         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12271         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12272         (gst_basesrc_stop), (gst_basesrc_activate),
12273         (gst_basesrc_change_state):
12274         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12275         (helper_find_suggest), (gst_type_find_helper):
12276         * gst/base/gsttypefindhelper.h:
12277         * gst/elements/Makefile.am:
12278         * gst/elements/gstelements.c:
12279         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12280         (gst_fakesink_get_times), (gst_fakesink_event),
12281         (gst_fakesink_preroll), (gst_fakesink_render):
12282         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12283         (gst_fakesrc_init), (gst_fakesrc_event_handler),
12284         (gst_fakesrc_get_property), (gst_fakesrc_create),
12285         (gst_fakesrc_start), (gst_fakesrc_stop):
12286         * gst/elements/gstfakesrc.h:
12287         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
12288         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12289         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12290         (gst_filesrc_create_read), (gst_filesrc_create),
12291         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
12292         (gst_filesrc_start):
12293         * gst/elements/gsttypefindelement.c:
12294         (gst_type_find_element_have_type), (gst_type_find_element_init),
12295         (start_typefinding), (stop_typefinding), (push_buffer_store),
12296         (gst_type_find_element_handle_event),
12297         (gst_type_find_element_chain),
12298         (gst_type_find_element_checkgetrange),
12299         (gst_type_find_element_getrange), (do_typefind),
12300         (gst_type_find_element_activate),
12301         (gst_type_find_element_change_state):
12302         * gst/elements/gsttypefindelement.h:
12303         * gst/gstpipeline.c: (pipeline_bus_handler):
12304         Added typefind helper.
12305         Small preroll fix in the base sink.
12306         Disable typefind code in basesrc.
12307         Crude port of typefindelement.
12308         Fakesrc cleanups.
12309
12310
12311 2005-04-11  Wim Taymans  <wim@fluendo.com>
12312
12313         * check/gst/gstbus.c: (gstbus_suite):
12314         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
12315         * check/gstcheck.h:
12316           Fix up the timeout so that the test does not fail.
12317
12318 2005-04-06  Wim Taymans  <wim@fluendo.com>
12319
12320         * gst/base/README:
12321         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12322         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
12323         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12324         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12325         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12326         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12327         (gst_basesrc_stop), (gst_basesrc_activate),
12328         (gst_basesrc_change_state), (basesrc_find_peek),
12329         (basesrc_find_suggest), (gst_basesrc_type_find):
12330         * gst/base/gstbasesrc.h:
12331         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12332         (gst_filesrc_class_init), (gst_filesrc_init),
12333         (gst_filesrc_finalize), (gst_filesrc_set_location),
12334         (gst_filesrc_set_property), (gst_filesrc_get_property),
12335         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12336         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12337         (gst_filesrc_create_read), (gst_filesrc_create),
12338         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12339         * gst/elements/gstfilesrc.h:
12340         * gst/gstelement.c: (gst_element_get_state_func),
12341         (gst_element_lost_state), (gst_element_pads_activate):
12342         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12343         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12344         (gst_pad_pull_range):
12345         * gst/gstpad.h:
12346         More work on the generic source base class, implement seeking,
12347         query.
12348         Make filesrc extend the base source class.
12349         Added gst_pad_set_checkgetrange_function to GstPad.
12350
12351 2005-04-06  Andy Wingo  <wingo@pobox.com>
12352
12353         * pkgconfig/gstreamer-base.pc.in:
12354         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12355
12356         * pkgconfig/Makefile.am:
12357         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12358
12359 2005-04-04  Wim Taymans  <wim@fluendo.com>
12360
12361         * gst/base/Makefile.am:
12362         * gst/base/README:
12363         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12364         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12365         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12366         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12367         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12368         (gst_basesrc_base_init), (gst_basesrc_class_init),
12369         (gst_basesrc_init), (gst_basesrc_get_formats),
12370         (gst_basesrc_get_query_types), (gst_basesrc_query),
12371         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12372         (gst_basesrc_set_property), (gst_basesrc_get_property),
12373         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12374         (gst_basesrc_loop), (gst_basesrc_activate),
12375         (gst_basesrc_change_state):
12376         * gst/base/gstbasesrc.h:
12377         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12378         (gst_fakesrc_class_init), (gst_fakesrc_init),
12379         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12380         (gst_fakesrc_get_property), (gst_fakesrc_create):
12381         * gst/elements/gstfakesrc.h:
12382         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12383         (gst_filesrc_open_file), (gst_filesrc_loop),
12384         (gst_filesrc_activate), (filesrc_find_peek),
12385         (gst_filesrc_type_find):
12386         Made base source class, make fakesrc extend it.
12387         Add comments to basesink class.
12388         Some filesrc cleanup.
12389
12390 2005-03-31  David Schleef  <ds@schleef.org>
12391
12392         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12393         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12394         expected to link against libgstreamer.
12395         * gst/base/Makefile.am: link against libgstreamer
12396         * gst/elements/Makefile.am: same
12397
12398 2005-03-31  Andy Wingo  <wingo@pobox.com>
12399
12400         * tests/instantiate/Makefile.am:
12401         * tests/instantiate/caps.c: Add test to test speed of caps copy
12402         and free.
12403
12404         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12405         GMemChunk to be fair.
12406
12407         * gst/gsttrashstack.h: Remove warning about using the fallback
12408         trash stack implementation, it's still faster than malloc.
12409
12410 2005-03-30  Andy Wingo  <wingo@pobox.com>
12411
12412         * tests/complexity.c: Add a copyright.
12413
12414 2005-03-31  Wim Taymans  <wim@fluendo.com>
12415
12416         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12417         (gst_base_transform_class_init), (gst_base_transform_init),
12418         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12419         (gst_base_transform_get_property),
12420         (gst_base_transform_sink_activate),
12421         (gst_base_transform_src_activate),
12422         (gst_base_transform_change_state):
12423         * gst/base/gstbasetransform.h:
12424         * gst/elements/gstidentity.c: (gst_identity_class_init),
12425         (gst_identity_event), (gst_identity_check_perfect),
12426         (gst_identity_transform), (gst_identity_start),
12427         (gst_identity_stop):
12428         Added start/stop methods to transform base class so subclasses 
12429         don't need to deal with state changes even.
12430
12431 2005-03-31  Wim Taymans  <wim@fluendo.com>
12432
12433         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12434         (gst_event_new_discontinuous), (gst_event_discont_get_value):
12435         * gst/gstevent.h:
12436         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12437         (gst_pad_pull_range):
12438         Added rate to the discont event to prepare for variable speed
12439         and reverse playback.
12440
12441 2005-03-29  David Schleef  <ds@schleef.org>
12442
12443         * configure.ac:
12444         * testsuite/trigger/Makefile.am:
12445         * testsuite/trigger/trigger.c: A little example program to show
12446         how trigger-based elements can work.
12447
12448 2005-03-29  Wim Taymans  <wim@fluendo.com>
12449
12450         * gst/base/Makefile.am:
12451         * gst/base/README:
12452         * gst/base/gstbasesink.c: (gst_basesink_get_type),
12453         (gst_basesink_base_init), (gst_basesink_class_init),
12454         (gst_basesink_pad_getcaps), (gst_basesink_init),
12455         (gst_basesink_activate), (gst_basesink_change_state):
12456         * gst/base/gstbasesink.h:
12457         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12458         (gst_base_transform_base_init), (gst_base_transform_finalize),
12459         (gst_base_transform_class_init), (gst_base_transform_init),
12460         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12461         (gst_base_transform_event), (gst_base_transform_getrange),
12462         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12463         (gst_base_transform_set_property),
12464         (gst_base_transform_get_property),
12465         (gst_base_transform_sink_activate),
12466         (gst_base_transform_src_activate),
12467         (gst_base_transform_change_state):
12468         * gst/base/gstbasetransform.h:
12469         * gst/elements/gstidentity.c: (gst_identity_finalize),
12470         (gst_identity_class_init), (gst_identity_init),
12471         (gst_identity_event), (gst_identity_check_perfect),
12472         (gst_identity_transform), (gst_identity_set_property),
12473         (gst_identity_get_property), (gst_identity_change_state):
12474         * gst/elements/gstidentity.h:
12475         * gst/gstelement.c: (gst_element_get_state_func),
12476         (gst_element_lost_state), (gst_element_pads_activate):
12477         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12478         (gst_pad_check_pull_range), (gst_pad_pull_range):
12479         * gst/gstpad.h:
12480         Simplify pad activation.
12481         Added function to check if pull_range can be performed.
12482         Error out when pulling inactive or flushing pads.
12483         Removed const from refcounted types as it does not make sense.
12484         Simplify pad templates in basesink
12485         Added base class for simple 1-to-1 transforms.
12486         Make identity subclass the base transform.
12487
12488 2005-03-29  Andy Wingo  <wingo@pobox.com>
12489
12490         * docs/libs/gstreamer-libs-overrides.txt: 
12491         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12492         really don't understand what's going on, but like whatever. I want
12493         green buildbot!
12494
12495         * docs/gst/Makefile.am:
12496         * docs/libs/Makefile.am: Dist the overrides files.
12497
12498         * check/Makefile.am (clean-local): Remove .libs directories.
12499
12500         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12501         elements to EXTRA_DIST, so po/ files are happy.
12502
12503         * po/POTFILES.in: Er, remove it here.
12504
12505         * po/POTFILES: Remove gstspider.c.
12506
12507         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12508
12509         * docs/libs/gstreamer-libs-docs.sgml: 
12510         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12511         bytestream.
12512
12513         * tests/complexity.c (main): Set the length of the preroll queue
12514         on the sinks to prevent a lockup.
12515
12516         * libs/gst/dataprotocol/Makefile.am: 
12517         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12518         the same as the one in check/gst-libs/gdp.c.
12519
12520         * po/, docs/gst/: Commit automatic changes to docs and po files.
12521
12522         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12523         the versioned libgstbase.
12524
12525         * check/Makefile.am: Depend on an unversioned gst-register, seems
12526         to make autoconf happier.
12527
12528         * gst/base/Makefile.am: Make libgstbase a versioned lib.
12529
12530 2005-03-28  Wim Taymans  <wim@fluendo.com>
12531
12532         * configure.ac:
12533         * docs/design/part-gstelement.txt:
12534         * docs/design/part-negotiation.txt:
12535         * docs/design/part-preroll.txt:
12536         * docs/design/part-scheduling.txt:
12537         * docs/design/part-states.txt:
12538         * gst/Makefile.am:
12539         * gst/base/Makefile.am:
12540         * gst/base/README:
12541         * gst/base/gstbasesink.c: (gst_basesink_get_template),
12542         (gst_basesink_base_init), (gst_basesink_class_init),
12543         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12544         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12545         (gst_basesink_set_pad_functions),
12546         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
12547         (gst_basesink_set_property), (gst_basesink_get_property),
12548         (gst_base_sink_get_template), (gst_base_sink_get_caps),
12549         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
12550         (gst_basesink_preroll_queue_push),
12551         (gst_basesink_preroll_queue_empty),
12552         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
12553         (gst_basesink_event), (gst_basesink_get_times),
12554         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
12555         (gst_basesink_chain_unlocked), (gst_basesink_chain),
12556         (gst_basesink_loop), (gst_basesink_activate),
12557         (gst_basesink_change_state):
12558         * gst/base/gstbasesink.h:
12559         * gst/elements/Makefile.am:
12560         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
12561         (gst_fakesink_class_init), (gst_fakesink_init),
12562         (gst_fakesink_set_property), (gst_fakesink_get_property),
12563         (gst_fakesink_get_times), (gst_fakesink_event),
12564         (gst_fakesink_preroll), (gst_fakesink_render),
12565         (gst_fakesink_change_state):
12566         * gst/elements/gstfakesink.h:
12567         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12568         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
12569         * gst/gstelement.c: (gst_element_add_pad),
12570         (gst_element_get_state_func), (gst_element_abort_state),
12571         (gst_element_commit_state), (gst_element_lost_state),
12572         (gst_element_set_state), (gst_element_pads_activate):
12573         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
12574         * gst/gstpipeline.c: (gst_pipeline_send_event),
12575         (gst_pipeline_change_state):
12576         Added state change code.
12577         Added/updated docs.
12578         Added sink base class, make fakesink extend the base class.
12579         Small cleanups in GstPipeline.
12580
12581 2005-03-26  David Schleef  <ds@schleef.org>
12582
12583         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
12584         is broken and should be implemented in a different library.
12585         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
12586         * gst/gst.h: remove gstcpu.h
12587         * gst/gstcpu.c: remove
12588         * gst/gstcpu.h: remove
12589         * gst/Makefile.am.future: Remove this file.  It's ancient.
12590
12591 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12592
12593         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12594         (gst_bin_send_event):
12595           Add default event/set_manager handlers. The set_manager handler
12596           takes care that the manager is distributed over kids that were
12597           already in the bin before the manager was set. The event handler
12598           is a utility virtual function that sends the event over all sinks,
12599           so that gst_element_send_event (bin, event); has the expected
12600           behaviour.
12601         * gst/gstpad.c: (gst_pad_event_default):
12602           Re-install default event handling for discontinuities, so that
12603           seeking works without requiring hacks in applications or extra
12604           code in sinks.
12605         * gst/gstpipeline.c: (gst_pipeline_class_init),
12606         (gst_pipeline_send_event):
12607           Half hack, half utility: set a pipeline to PAUSED for seek events,
12608           since that is the only way we can guarantee a/v sync. Means that
12609           you can do gst_element_seek (pipeline, method, pos); on a pipeline
12610           and it "just works".
12611
12612 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12613
12614         * gst/gstpipeline.c: (gst_pipeline_use_clock):
12615           Lock/unlock mismatch.
12616
12617 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12618
12619         * docs/faq/gst-uninstalled:
12620           add gst-plugins-base
12621         * docs/gst/Makefile.am:
12622           don't error out until docs are fixed
12623         * docs/gst/gstreamer.types:
12624           remove thread
12625
12626 2005-03-22  Wim Taymans  <wim@fluendo.com>
12627
12628         * check/Makefile.am:
12629         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
12630         * gst/gststructure.c: (gst_structure_set_valist),
12631         (gst_structure_copy_conditional):
12632         Activated more tests.
12633         Added message test.
12634         Added G_TYPE_POINTER to GstStructure.
12635         
12636
12637 2005-03-22  Wim Taymans  <wim@fluendo.com>
12638
12639         * docs/design/part-TODO.txt:
12640         * docs/design/part-events.txt:
12641         * docs/design/part-gstbin.txt:
12642         * docs/design/part-gstbus.txt:
12643         * docs/design/part-gstpipeline.txt:
12644         * docs/design/part-messages.txt:
12645         * gst/gstbus.c:
12646         * gst/gstmessage.c:
12647         Docs updates
12648
12649 2005-03-21  Wim Taymans  <wim@fluendo.com>
12650
12651         * gst/gstbus.c: (gst_bus_post):
12652         Fix copy-and-paste error.
12653
12654 2005-03-21  Wim Taymans  <wim@fluendo.com>
12655
12656         * check/Makefile.am:
12657         * gst/Makefile.am:
12658         * gst/elements/Makefile.am:
12659         * gst/elements/gstelements.c:
12660         * gst/elements/gstfakesink.c: (gst_fakesink_init),
12661         (gst_fakesink_event), (gst_fakesink_chain):
12662         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12663         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
12664         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
12665         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
12666         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
12667         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
12668         (gst_fakesrc_loop), (gst_fakesrc_activate),
12669         (gst_fakesrc_change_state):
12670         * gst/elements/gstfakesrc.h:
12671         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12672         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
12673         (gst_filesrc_open_file), (gst_filesrc_loop),
12674         (gst_filesrc_activate), (gst_filesrc_change_state),
12675         (filesrc_find_peek), (filesrc_find_suggest),
12676         (gst_filesrc_type_find):
12677         * gst/elements/gstidentity.c: (gst_identity_finalize),
12678         (gst_identity_class_init), (gst_identity_init),
12679         (gst_identity_proxy_getcaps), (identity_queue_push),
12680         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
12681         (gst_identity_getrange), (gst_identity_chain),
12682         (gst_identity_sink_loop), (gst_identity_src_loop),
12683         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
12684         (gst_identity_set_property), (gst_identity_get_property),
12685         (gst_identity_change_state):
12686         * gst/elements/gstidentity.h:
12687         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
12688         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
12689         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
12690         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
12691         (gst_tee_sink_activate):
12692         * gst/elements/gsttee.h:
12693         * gst/gst.c: (gst_register_core_elements), (init_post):
12694         * gst/gst.h:
12695         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
12696         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
12697         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
12698         (gst_bin_change_state):
12699         * gst/gstbin.h:
12700         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
12701         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
12702         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
12703         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
12704         (gst_bus_set_sync_handler), (gst_bus_create_watch),
12705         (bus_watch_callback), (bus_watch_destroy),
12706         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
12707         (poll_timeout), (gst_bus_poll):
12708         * gst/gstbus.h:
12709         * gst/gstcaps.h:
12710         * gst/gstdata.h:
12711         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12712         (gst_element_post_message), (gst_element_message_full),
12713         (gst_element_get_state_func), (gst_element_get_state),
12714         (gst_element_abort_state), (gst_element_commit_state),
12715         (gst_element_lost_state), (gst_element_set_state),
12716         (gst_element_pads_activate), (gst_element_change_state),
12717         (gst_element_dispose), (gst_element_set_manager_func),
12718         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
12719         (gst_element_set_manager), (gst_element_get_manager),
12720         (gst_element_set_bus), (gst_element_get_bus),
12721         (gst_element_set_scheduler), (gst_element_get_scheduler):
12722         * gst/gstelement.h:
12723         * gst/gstevent.c: (gst_event_new_segment_seek),
12724         (gst_event_new_flush):
12725         * gst/gstevent.h:
12726         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
12727         (_gst_message_free), (gst_message_get_type), (gst_message_new),
12728         (gst_message_new_eos), (gst_message_new_error),
12729         (gst_message_new_warning), (gst_message_new_tag),
12730         (gst_message_new_state_changed), (gst_message_new_application),
12731         (gst_message_get_structure), (gst_message_parse_tag),
12732         (gst_message_parse_state_changed), (gst_message_parse_error),
12733         (gst_message_parse_warning):
12734         * gst/gstmessage.h:
12735         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
12736         (gst_real_pad_set_property), (gst_pad_set_active),
12737         (gst_pad_is_active), (gst_pad_set_blocked_async),
12738         (gst_pad_set_blocked), (gst_pad_is_blocked),
12739         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
12740         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
12741         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
12742         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
12743         (gst_pad_link_filtered), (gst_pad_relink_filtered),
12744         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
12745         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
12746         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
12747         (gst_pad_set_caps), (gst_pad_configure_sink),
12748         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
12749         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
12750         (gst_real_pad_dispose), (gst_real_pad_finalize),
12751         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
12752         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12753         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
12754         * gst/gstpad.h:
12755         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
12756         (pipeline_bus_handler), (gst_pipeline_change_state),
12757         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
12758         * gst/gstpipeline.h:
12759         * gst/gstprobe.h:
12760         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
12761         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
12762         (gst_queue_link_src), (gst_queue_bufferalloc),
12763         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
12764         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
12765         (gst_queue_loop), (gst_queue_handle_src_event),
12766         (gst_queue_handle_src_query), (gst_queue_src_activate),
12767         (gst_queue_change_state):
12768         * gst/gstqueue.h:
12769         * gst/gstscheduler.c: (gst_scheduler_init),
12770         (gst_scheduler_dispose), (gst_scheduler_create_task),
12771         (gst_scheduler_factory_create):
12772         * gst/gstscheduler.h:
12773         * gst/gststructure.c: (gst_structure_get_type),
12774         (gst_structure_copy_conditional):
12775         * gst/gststructure.h:
12776         * gst/gsttaginterface.h:
12777         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
12778         (gst_task_init), (gst_task_dispose), (gst_task_create),
12779         (gst_task_get_state), (gst_task_start), (gst_task_stop),
12780         (gst_task_pause):
12781         * gst/gsttask.h:
12782         * gst/gstthread.c:
12783         * gst/gstthread.h:
12784         * gst/gsttypes.h:
12785         * gst/schedulers/Makefile.am:
12786         * gst/schedulers/cothreads_compat.h:
12787         * gst/schedulers/entryscheduler.c:
12788         * gst/schedulers/faircothreads.c:
12789         * gst/schedulers/faircothreads.h:
12790         * gst/schedulers/fairscheduler.c:
12791         * gst/schedulers/gstbasicscheduler.c:
12792         * gst/schedulers/gstoptimalscheduler.c:
12793         * gst/schedulers/gthread-cothreads.h:
12794         * gst/schedulers/threadscheduler.c:
12795         (gst_thread_scheduler_task_get_type),
12796         (gst_thread_scheduler_task_class_init),
12797         (gst_thread_scheduler_task_init),
12798         (gst_thread_scheduler_task_start),
12799         (gst_thread_scheduler_task_stop),
12800         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
12801         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
12802         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
12803         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
12804         (plugin_init):
12805         * libs/gst/Makefile.am:
12806         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
12807         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
12808         (gst_file_pad_parent_set):
12809         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12810         (gst_dp_event_from_packet):
12811         * tests/complexity.c: (main):
12812         * tests/mass_elements.c: (main):
12813         * testsuite/states/locked.c: (message_received), (main):
12814         * testsuite/states/parent.c: (main):
12815         * tools/gst-inspect.c: (print_element_flag_info),
12816         (print_implementation_info), (print_pad_info):
12817         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
12818         (main):
12819         * tools/gst-md5sum.c: (event_loop), (main):
12820         * tools/gst-typefind.c: (main):
12821         * tools/gst-xmlinspect.c: (print_element_info):
12822         Next big merge.
12823         Added GstBus for mainloop integration.
12824         Added GstMessage for sending notifications on the bus.
12825         Added GstTask as an abstraction for pipeline entry points.
12826         Removed GstThread.
12827         Removed Schedulers.
12828         Simplified GstQueue for multithreaded core.
12829         Made _link threadsafe, removed old capsnego.
12830         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
12831         Added pad blocking functions.
12832         Reworked scheduling functions in GstPad to prepare for
12833         scheduling updates soon.
12834         Moved events out of data stream.
12835         Simplified GstEvent types.
12836         Added return values to push/pull.
12837         Removed clocking from GstElement.
12838         Added prototypes for state change function for next merge.
12839         Removed iterate from bins and state change management.
12840         Fixed some elements, disabled others for now.
12841         Fixed -inspect and -launch.
12842         Added check for GstBus.
12843
12844 2005-03-10  Wim Taymans  <wim@fluendo.com>
12845
12846         * docs/design/part-MT-refcounting.txt:
12847         * docs/design/part-clocks.txt:
12848         * docs/design/part-gstelement.txt:
12849         * docs/design/part-gstobject.txt:
12850         * docs/design/part-standards.txt:
12851         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12852         (gst_bin_remove_func), (gst_bin_remove):
12853         * gst/gstbin.h:
12854         * gst/gstbuffer.c:
12855         * gst/gstcaps.h:
12856         * testsuite/clock/clock1.c: (main):
12857         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
12858         (main):
12859         * testsuite/dlopen/loadgst.c: (do_test):
12860         * testsuite/refcounting/bin.c: (add_remove_test1),
12861         (add_remove_test2), (main):
12862         * testsuite/refcounting/element.c: (main):
12863         * testsuite/refcounting/element_pad.c: (main):
12864         * testsuite/refcounting/pad.c: (main):
12865         * tools/gst-launch.c: (sigint_handler_sighandler):
12866         * tools/gst-typefind.c: (main):
12867         Doc updates.
12868         Added doc about clock.
12869         removed gst_bin_iterate_recurse_up(), marked methods
12870         for removal.
12871         Fix more testsuites.
12872
12873 2005-03-09  Wim Taymans  <wim@fluendo.com>
12874
12875         * gst/gstpad.c: (gst_pad_get_direction),
12876         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
12877         (gst_pad_collect_valist):
12878         * testsuite/bins/interface.c: (main):
12879         * testsuite/caps/audioscale.c: (test_caps):
12880         * testsuite/caps/caps.c: (test1), (test2), (test3):
12881         * testsuite/caps/deserialize.c: (main):
12882         * testsuite/caps/enumcaps.c: (main):
12883         * testsuite/caps/filtercaps.c: (main):
12884         * testsuite/caps/intersect2.c: (main):
12885         * testsuite/caps/random.c: (main):
12886         * testsuite/caps/renegotiate.c: (my_fixate), (main):
12887         * testsuite/caps/sets.c: (check_caps):
12888         * testsuite/caps/simplify.c: (check_caps), (main):
12889         * testsuite/caps/subtract.c: (check_caps):
12890         Fix _pad_get_direction wrt ghostpads.
12891         Fix caps testsuite.
12892
12893 2005-03-09  Wim Taymans  <wim@fluendo.com>
12894
12895         * check/Makefile.am:
12896         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
12897         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
12898         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
12899         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
12900         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
12901         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
12902         (gst_bin_remove), (gst_bin_iterate_recurse_up),
12903         (bin_element_is_sink), (gst_bin_iterate_sinks),
12904         (gst_bin_iterate_all_by_interface):
12905         * gst/gstbin.h:
12906         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
12907         (gst_element_change_state), (gst_element_dispose),
12908         (gst_element_finalize), (gst_element_set_loop_function):
12909         * gst/gstelement.h:
12910         * gst/gstiterator.c: (find_custom_fold_func):
12911         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12912         (gst_pad_collectv), (gst_pad_collect_valist),
12913         (gst_pad_template_new):
12914         * gst/gstpipeline.c: (gst_pipeline_class_init),
12915         (gst_pipeline_dispose), (gst_pipeline_set_property),
12916         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
12917         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
12918         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
12919         * gst/gstutils.h:
12920         * gst/schedulers/entryscheduler.c:
12921         * gst/schedulers/gstbasicscheduler.c:
12922         (gst_basic_scheduler_cothreaded_chain),
12923         (gst_basic_scheduler_chain_add_element):
12924         * testsuite/bins/interface.c: (main):
12925         Added GstBin test.
12926         Added GstSystemClock test.
12927         Implemented clock distribution code in GstBin.
12928         Implemented iterate sinks method for future use.
12929         Rearranged gstelement.h
12930         Fix GstIterator comparison bug.
12931         Moved some code to GstPipeline, mostly clocking related.
12932
12933 2005-03-09  Wim Taymans  <wim@fluendo.com>
12934
12935         * configure.ac:
12936         * gst/gst_private.h:
12937         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12938         (gst_bin_remove_func), (gst_bin_remove),
12939         (gst_bin_get_by_name_recurse_up):
12940         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
12941         (gst_clock_id_compare_func), (gst_clock_id_wait),
12942         (gst_clock_id_wait_async), (gst_clock_init),
12943         (gst_clock_adjust_unlocked), (gst_clock_get_time):
12944         * gst/gstelement.h:
12945         * gst/gstinfo.c: (_gst_debug_init):
12946         * gst/gstobject.h:
12947         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12948         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
12949         * gst/gstpad.h:
12950         Bump version number, we're now 0.9.0
12951         Add future debugging category.
12952         Fix NULL _unref() in _get_by_name_recurse_up
12953         Rearrange gstpad.h.
12954         Update some docs.
12955
12956 2005-03-08  Wim Taymans  <wim@fluendo.com>
12957
12958         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
12959         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
12960         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
12961         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
12962         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
12963         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
12964         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
12965         * gst/elements/gstidentity.c: (gst_identity_class_init):
12966         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
12967         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12968         * gst/elements/gstshaper.c: (gst_shaper_class_init):
12969         * gst/elements/gststatistics.c: (gst_statistics_class_init):
12970         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
12971         (gst_tee_link):
12972         * gst/gstelement.c: (gst_element_class_init),
12973         (gst_element_base_class_init), (gst_element_init),
12974         (gst_element_get_random_pad), (gst_element_wait_state_change),
12975         (gst_element_change_state), (gst_element_dispose),
12976         (gst_element_finalize), (gst_element_set_loop_function):
12977         * gst/gstelement.h:
12978         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
12979         * gst/gstthread.c: (gst_thread_class_init),
12980         (gst_thread_release_children_locks), (gst_thread_change_state):
12981         * gst/schedulers/gstbasicscheduler.c:
12982         (gst_basic_scheduler_loopfunc_wrapper),
12983         (gst_basic_scheduler_chain_wrapper),
12984         (gst_basic_scheduler_src_wrapper),
12985         (gst_basic_scheduler_remove_element):
12986         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
12987         Remove threadsafe properties. Fix elements because GObject
12988         complains when installing a property before declaring a
12989         set/get_property handler.
12990         Rearrange gstelement.h file, use STATE macros for state locks.
12991         Free mutexes in the finalize method instead of dispose.
12992
12993 2005-03-08  Wim Taymans  <wim@fluendo.com>
12994
12995         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12996         * gst/gstthread.c: (gst_thread_release_children_locks):
12997         Added parentage check.
12998         Fix build og GstThread again.
12999
13000 2005-03-08  Wim Taymans  <wim@fluendo.com>
13001
13002         * docs/design/part-MT-refcounting.txt:
13003         * docs/design/part-conventions.txt:
13004         * docs/design/part-gstobject.txt:
13005         * docs/design/part-relations.txt:
13006         * docs/design/part-standards.txt:
13007         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13008         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
13009         (gst_bin_get_by_name), (gst_bin_get_by_interface),
13010         (gst_bin_iterate_all_by_interface):
13011         * gst/gstbuffer.h:
13012         * gst/gstclock.h:
13013         * gst/gstelement.c: (gst_element_class_init),
13014         (gst_element_change_state), (gst_element_set_loop_function):
13015         * gst/gstelement.h:
13016         * gst/gstiterator.c:
13017         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
13018         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
13019         (gst_object_dispatch_properties_changed), (gst_object_set_name),
13020         (gst_object_set_parent), (gst_object_unparent),
13021         (gst_object_check_uniqueness):
13022         * gst/gstobject.h:
13023         Docs updates, clean up some headers.
13024
13025 2005-03-07  Wim Taymans  <wim@fluendo.com>
13026
13027         * check/.cvsignore:
13028         * check/Makefile.am:
13029         * check/gst-libs/.cvsignore:
13030         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
13031         * check/gst/.cvsignore:
13032         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
13033         (START_TEST), (gstbus_suite), (main):
13034         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
13035         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
13036         (gst_data_suite), (main):
13037         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
13038         (add_fold_func), (gstiterator_suite), (main):
13039         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
13040         (thread_name_object), (thread_name_object_default),
13041         (gst_object_name_compare), (gst_object_suite), (main):
13042         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
13043         (gst_pad_suite), (main):
13044         * check/gstcheck.c: (gst_check_log_message_func),
13045         (gst_check_log_critical_func), (gst_check_init):
13046         * check/gstcheck.h:
13047         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
13048         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
13049         Added checks.
13050
13051 2005-03-07  Wim Taymans  <wim@fluendo.com>
13052
13053         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
13054         (gst_list_iterator_next), (gst_list_iterator_resync),
13055         (gst_list_iterator_free), (gst_iterator_new_list),
13056         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
13057         (gst_iterator_free), (gst_iterator_push), (filter_next),
13058         (filter_resync), (filter_uninit), (filter_free),
13059         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
13060         (gst_iterator_foreach), (find_custom_fold_func),
13061         (gst_iterator_find_custom):
13062         * gst/gstiterator.h:
13063         Added missing files.
13064
13065 2005-03-07  Wim Taymans  <wim@fluendo.com>
13066
13067         * Makefile.am:
13068         * configure.ac:
13069         * docs/design/part-MT-refcounting.txt:
13070         * docs/design/part-conventions.txt:
13071         * docs/design/part-gstobject.txt:
13072         * docs/design/part-relations.txt:
13073         * examples/mixer/mixer.c: (main):
13074         * examples/thread/thread.c: (eos), (main):
13075         * gst/Makefile.am:
13076         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13077         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
13078         (gst_spider_plug_from_srcpad):
13079         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
13080         (gst_spider_identity_change_state),
13081         (gst_spider_identity_sink_loop_type_finding):
13082         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
13083         * gst/elements/gstidentity.c: (gst_identity_init):
13084         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
13085         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
13086         * gst/elements/gsttypefindelement.c: (free_entry):
13087         * gst/gst.c:
13088         * gst/gst.h:
13089         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
13090         (gst_bin_set_clock_func), (gst_bin_auto_clock),
13091         (gst_bin_set_index), (gst_bin_set_element_sched),
13092         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
13093         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
13094         (gst_bin_iterate_elements), (iterate_child_recurse),
13095         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
13096         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
13097         (compare_interface), (gst_bin_get_by_interface),
13098         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
13099         * gst/gstbin.h:
13100         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
13101         (gst_buffer_default_free), (gst_buffer_default_copy),
13102         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
13103         (gst_buffer_create_sub):
13104         * gst/gstbuffer.h:
13105         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
13106         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
13107         (gst_caps_unref), (gst_static_caps_get),
13108         (gst_caps_remove_and_get_structure), (gst_caps_append),
13109         (gst_caps_append_structure), (gst_caps_remove_structure),
13110         (gst_caps_copy_nth), (gst_caps_set_simple),
13111         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
13112         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
13113         (gst_caps_structure_intersect_field), (gst_caps_intersect),
13114         (gst_caps_structure_subtract_field), (gst_caps_subtract),
13115         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
13116         (gst_caps_structure_figure_out_union),
13117         (gst_caps_switch_structures), (gst_caps_do_simplify),
13118         (gst_caps_replace), (gst_caps_from_string),
13119         (gst_caps_copy_conditional):
13120         * gst/gstcaps.h:
13121         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
13122         (_gst_clock_id_free), (gst_clock_id_unref),
13123         (gst_clock_id_compare_func), (gst_clock_id_wait),
13124         (gst_clock_id_wait_async), (gst_clock_class_init),
13125         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
13126         (gst_clock_get_time), (gst_clock_set_time_adjust),
13127         (gst_clock_set_property), (gst_clock_get_property):
13128         * gst/gstclock.h:
13129         * gst/gstcompat.h:
13130         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
13131         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
13132         * gst/gstdata.h:
13133         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13134         (gst_element_requires_clock), (gst_element_provides_clock),
13135         (gst_element_set_clock), (gst_element_clock_wait),
13136         (gst_element_wait), (gst_element_set_time_delay),
13137         (gst_element_is_indexable), (gst_element_add_pad),
13138         (gst_element_add_ghost_pad), (gst_element_remove_pad),
13139         (pad_compare_name), (gst_element_get_static_pad),
13140         (gst_element_request_pad), (gst_element_get_request_pad),
13141         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
13142         (gst_element_class_get_pad_template_list),
13143         (gst_element_class_get_pad_template), (gst_element_error_func),
13144         (gst_element_get_random_pad), (gst_element_get_event_masks),
13145         (gst_element_send_event), (gst_element_seek),
13146         (gst_element_get_query_types), (gst_element_query),
13147         (gst_element_get_formats), (gst_element_convert),
13148         (gst_element_is_locked_state), (gst_element_set_locked_state),
13149         (gst_element_sync_state_with_parent), (gst_element_change_state),
13150         (gst_element_finalize), (gst_element_yield),
13151         (gst_element_interrupt), (gst_element_set_scheduler),
13152         (gst_element_get_scheduler), (gst_element_set_loop_function):
13153         * gst/gstelement.h:
13154         * gst/gstevent.h:
13155         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
13156         (gst_format_get_by_nick), (gst_format_get_details),
13157         (gst_format_iterate_definitions):
13158         * gst/gstformat.h:
13159         * gst/gstindex.c: (gst_index_gtype_resolver):
13160         * gst/gstinfo.c:
13161         * gst/gstinfo.h:
13162         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
13163         (gst_mem_chunk_free):
13164         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
13165         (gst_object_ref), (gst_object_unref), (gst_object_sink),
13166         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
13167         (gst_object_dispatch_properties_changed),
13168         (gst_object_set_name_default), (gst_object_set_name),
13169         (gst_object_get_name), (gst_object_set_name_prefix),
13170         (gst_object_get_name_prefix), (gst_object_set_parent),
13171         (gst_object_get_parent), (gst_object_unparent),
13172         (gst_object_check_uniqueness), (gst_object_save_thyself),
13173         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
13174         (gst_object_set_property), (gst_object_get_property),
13175         (gst_object_get_path_string):
13176         * gst/gstobject.h:
13177         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13178         (gst_real_pad_init), (gst_real_pad_get_property),
13179         (gst_pad_custom_new), (gst_pad_get_direction),
13180         (gst_pad_set_active), (gst_pad_is_active),
13181         (gst_pad_set_event_function), (gst_pad_is_linked),
13182         (gst_pad_link_free), (gst_pad_link_intersect),
13183         (gst_pad_link_fixate), (gst_pad_set_caps),
13184         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
13185         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
13186         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
13187         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
13188         (gst_pad_get_caps), (gst_pad_peer_get_caps),
13189         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
13190         (gst_pad_realize), (gst_pad_get_allowed_caps),
13191         (gst_real_pad_dispose), (gst_real_pad_finalize),
13192         (gst_pad_collectv), (gst_pad_collect_valist),
13193         (gst_pad_template_dispose), (gst_pad_template_new),
13194         (gst_pad_get_internal_links):
13195         * gst/gstpad.h:
13196         * gst/gstpipeline.c: (gst_pipeline_dispose),
13197         (gst_pipeline_change_state):
13198         * gst/gstpipeline.h:
13199         * gst/gstplugin.c:
13200         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
13201         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
13202         * gst/gstpluginfeature.h:
13203         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
13204         * gst/gstquery.c: (_gst_query_type_initialize),
13205         (gst_query_type_register), (gst_query_type_get_by_nick),
13206         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
13207         * gst/gstquery.h:
13208         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
13209         * gst/gstscheduler.c: (gst_scheduler_add_element),
13210         (gst_scheduler_factory_create):
13211         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13212         (gst_structure_free), (gst_structure_set_name),
13213         (gst_structure_id_set_value), (gst_structure_set_value),
13214         (gst_structure_set_valist), (gst_structure_remove_field),
13215         (gst_structure_remove_fields),
13216         (gst_structure_remove_fields_valist),
13217         (gst_structure_remove_all_fields), (gst_structure_foreach),
13218         (gst_structure_map_in_place),
13219         (gst_caps_structure_fixate_field_nearest_int),
13220         (gst_caps_structure_fixate_field_nearest_double):
13221         * gst/gststructure.h:
13222         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13223         (gst_system_clock_init), (gst_system_clock_dispose),
13224         (gst_system_clock_async_thread),
13225         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
13226         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
13227         * gst/gstsystemclock.h:
13228         * gst/gsttag.c: (gst_tag_list_add_value_internal),
13229         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
13230         * gst/gsttaginterface.c:
13231         * gst/gstthread.c: (gst_thread_dispose),
13232         (gst_thread_release_children_locks), (gst_thread_change_state),
13233         (gst_thread_main_loop):
13234         * gst/gsttrashstack.h:
13235         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
13236         * gst/gsttypes.h:
13237         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13238         (gst_element_request_pad), (gst_element_get_pad_from_template),
13239         (gst_element_request_compatible_pad),
13240         (gst_element_get_compatible_pad_filtered),
13241         (gst_element_get_compatible_pad), (gst_element_state_get_name),
13242         (gst_element_link_pads_filtered), (gst_element_link_filtered),
13243         (gst_element_link_many), (gst_element_link),
13244         (gst_element_link_pads), (gst_element_unlink_pads),
13245         (gst_element_unlink_many), (gst_element_unlink),
13246         (gst_pad_can_link_filtered), (gst_pad_can_link),
13247         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
13248         (gst_object_default_error), (gst_bin_add_many),
13249         (gst_bin_remove_many), (gst_element_populate_std_props),
13250         (gst_element_class_install_std_props), (gst_buffer_merge),
13251         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
13252         (link_fold_func), (gst_pad_proxy_setcaps):
13253         * gst/gstutils.h:
13254         * gst/gstvalue.c: (gst_value_deserialize_string):
13255         * gst/parse/grammar.y:
13256         * gst/schedulers/gstbasicscheduler.c:
13257         (gst_basic_scheduler_cothreaded_chain),
13258         (gst_basic_scheduler_chain_recursive_add),
13259         (gst_basic_scheduler_pad_link):
13260         * gst/schedulers/gstoptimalscheduler.c:
13261         (get_group_schedule_function),
13262         (gst_opt_scheduler_state_transition),
13263         (gst_opt_scheduler_add_element), (element_get_reachables_func):
13264         * libs/gst/bytestream/bytestream.c:
13265         * libs/gst/dataprotocol/dataprotocol.c:
13266         (gst_dp_header_from_buffer):
13267         * po/nb.po:
13268         * po/ru.po:
13269         * tests/threadstate/threadstate2.c: (eos):
13270         * tools/gst-compprep.c: (main):
13271         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
13272         (print_pad_info), (print_children_info):
13273         * tools/gst-launch.c: (idle_func), (main):
13274         * tools/gst-md5sum.c: (idle_func), (main):
13275         * tools/gst-xmlinspect.c: (print_element_info):
13276         First THREADED backport attempt, focusing on adding locks and
13277         making sure the API is threadsafe. Needs more work. More docs
13278         follow this week.
13279
13280 2005-02-24  Andy Wingo  <wingo@pobox.com>
13281
13282         * tests/bench-complexity.scm:
13283         * tests/complexity.gnuplot: New files, good for running complexity
13284         benchmarks.
13285
13286         * tests/Makefile.am:
13287         * tests/complexity.c: New test, sets up N elements, at each level
13288         teeing into M streams per element. Eeeenteresting.
13289
13290         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
13291         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
13292         running bench-mass_elements.scm.
13293
13294         * tests/bench-mass_elements.scm: New script, runs mass_elements
13295         for various numbers of identities, outputting the results to a
13296         file. Requires guile 1.6. Just for testing.
13297
13298 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13299
13300         * gst/schedulers/fairscheduler.c:
13301           compile with debug disabled
13302
13303 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13304
13305         * configure.ac:
13306           hunting season on 0.9 is now OPEN