plugins/elements/gsttypefindelement.c: Fix leaking element factories in typefinding.
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-12-09  Michael Smith  <msmith@fluendo.com>
2
3         * plugins/elements/gsttypefindelement.c: (find_peek),
4         (gst_type_find_element_chain):
5           Fix leaking element factories in typefinding.
6           Fix problem where we forgot about a probable type on non-seekable
7           files, and thus later mis-typefound it.
8
9 2005-12-09  Michael Smith  <msmith@fluendo.com>
10
11         * common/m4/gst-makecontext.m4:
12         * common/m4/gst-mcsc.m4:
13         * configure.ac:
14         * win32/common/config.h:
15         * win32/common/config.h.in:
16           Remove makecontext stuff; not used in 0.10 and causes problems on
17           HPUX according to bug #322441
18
19 2005-12-07  Wim Taymans  <wim@fluendo.com>
20
21         * tests/check/Makefile.am:
22         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
23         (main):
24         * tests/check/libs/struct_i386.h:
25         Added ABI check for libs
26
27 2005-12-07  Wim Taymans  <wim@fluendo.com>
28
29         * tests/check/Makefile.am:
30         And add the struct_i386.h to dist.
31
32 2005-12-07  Wim Taymans  <wim@fluendo.com>
33
34         * tests/check/Makefile.am:
35         * tests/check/gst/.cvsignore:
36         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
37         (main):
38         * tests/check/gst/struct_i386.h:
39         Added check for ABI compatibility.
40
41 2005-12-07  Wim Taymans  <wim@fluendo.com>
42
43         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
44         (gst_fake_src_get_times), (gst_fake_src_create):
45         Fix broken sync option, fixes #323259
46
47 2005-12-07  Wim Taymans  <wim@fluendo.com>
48
49         * gst/gstbuffer.c:
50         Small docs update.
51
52         * gst/gstcaps.c: (gst_caps_is_equal):
53         Don't assert on NULL <--> X. Fixes #323260
54
55         * gst/gstminiobject.c: (gst_mini_object_replace):
56         If we're doing atomic operations, we might just as well use
57         the proper way to get an atomic pointer.
58
59         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
60         Clean up debugging.
61
62 2005-12-07  Michael Smith  <msmith@fluendo.com>
63
64         * gst/parse/grammar.y:
65           Remove handling of { } for threads.
66
67 2005-12-06  David Schleef  <ds@schleef.org>
68
69         * libs/gst/base/gstbasetransform.c: speling fix.
70
71 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
72
73         * docs/libs/tmpl/gstdataprotocol.sgml:
74         * docs/random/omega/testing/gstobject.c:
75         * gst/gst.c:
76         * gst/gstclock.c:
77         * gst/gstelement.c:
78         * gst/gstelementfactory.c:
79         * gst/gsterror.c:
80         * gst/gstevent.c:
81         * gst/gstghostpad.c:
82         * gst/gstinfo.c:
83         * gst/gstpadtemplate.c:
84         * gst/gstregistryxml.c:
85         * gst/gsttaglist.c:
86         * gst/gsttagsetter.c:
87         * gst/gsttypefind.c:
88         * gst/gstvalue.c:
89         * libs/gst/base/gstbasesrc.c:
90         * libs/gst/net/gstnetclientclock.c:
91         * libs/gst/net/gstnettimeprovider.c:
92         * plugins/elements/gstfakesrc.c:
93         * plugins/elements/gstfdsrc.c:
94         * plugins/elements/gstfilesrc.c:
95         * plugins/elements/gstidentity.c:
96         * plugins/elements/gstqueue.c:
97         * plugins/elements/gsttypefindelement.c:
98         * plugins/indexers/gstfileindex.c:
99         * plugins/indexers/gstmemindex.c:
100         * tests/check/gst/gsttag.c:
101         * tests/old/examples/cutter/cutter.c:
102         * tests/old/examples/mixer/mixer.c:
103         * tests/old/examples/xml/runxml.c: (main):
104         * tests/old/testsuite/caps/normalisation.c:
105         * tests/old/testsuite/debug/global.c:
106         * tests/old/testsuite/parse/parse1.c:
107         * tools/gst-xmlinspect.c:
108         * win32/common/dirent.c:
109           expand tabs
110
111 === release 0.10.0 ===
112
113 2005-12-05   <thomas (at) apestaart (dot) org>
114
115         * configure.ac:
116           releasing 0.10.0, "Maroilles"
117
118 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
119
120         submitted by: Funda Wang <fundawang@linux.net.cn>
121
122         * po/LINGUAS:
123         * po/zh_CN.po:
124           added Chinese (Traditional) translation
125
126 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
127
128         * docs/gst/gstreamer-sections.txt:
129         * docs/libs/tmpl/gstdataprotocol.sgml:
130         * docs/random/thomasvs/TODO:
131         * gst/gstutils.c:
132         * gst/gstutils.h:
133           fix docs
134
135 2005-12-05  Andy Wingo  <wingo@pobox.com>
136
137         patch by: Wim Taymans <wim@fluendo.com>
138
139         * libs/gst/base/gstbasetransform.c
140         (gst_base_transform_prepare_output_buf)
141         (gst_base_transform_buffer_alloc):
142         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
143         alloc_buffer_and_set_caps.
144
145         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
146         set_caps on the source pad.
147         (gst_pad_alloc_buffer_and_set_caps): New function, does what
148         alloc_buffer used to do. Fixes #322874.
149
150         * docs/gst/gstreamer-sections.txt: 
151         * docs/design/part-negotiation.txt: 
152         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
153         changes.
154
155 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
156
157         patch by: Sebastien Moutte
158
159         * win32/MANIFEST:
160         * win32/common/config.h.in:
161         * win32/vs6/libgstcontroller.dsp:
162           win32 build fixes
163
164 2005-12-05  Wim Taymans  <wim@fluendo.com>
165
166         * gst/gstcaps.c: (gst_caps_is_equal):
167         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
168         (gst_fake_src_create):
169         Back out previous code changes, leave doc updates, file bugs 
170         instead. 
171
172 2005-12-05  Wim Taymans  <wim@fluendo.com>
173
174         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
175         (gst_fake_src_get_times), (gst_fake_src_create):
176         * plugins/elements/gstfakesrc.h:
177         Fix broken sync code.
178
179 2005-12-05  Wim Taymans  <wim@fluendo.com>
180
181         * gst/gstcaps.c: (gst_caps_is_equal):
182         Comparing NULL against !NULL yields different caps, not a
183         failure.
184
185 2005-12-05  Wim Taymans  <wim@fluendo.com>
186
187         * gst/gstpipeline.c:
188         Fix small typo in docs.
189
190 2005-12-05  Andy Wingo  <wingo@pobox.com>
191
192         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
193
194         * gst/gst.c (init_post): remove hard-coded 0.9 location for
195         registries/plugins with a MAJORMINOR one.
196         (plugin_desc): Rename library from gstcoreleements to
197         staticelements. Fixes #323222.
198
199 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
200
201         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
202           Change debug category to 'collectpads' from 'collect_pads'
203           (fixes #323250).
204
205 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
206
207         patch by: Sebastien Moutte
208
209         * libs/gst/controller/gstinterpolation.c:
210           use convert function for uint64/double
211         * win32/vs6/libgstcontroller.dsp:
212           link to GLib
213
214 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
215
216         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
217         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
218         * gst/gstutils.h:
219         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
220           add tests that seem to show that the guint64/gdouble conversions
221           are correct.
222
223 2005-12-02  Wim Taymans  <wim@fluendo.com>
224
225         * gst/gstregistry.c: (gst_registry_add_path):
226         * gst/gstregistry.h:
227         * gst/gstregistryxml.c:
228         Fix docs again.
229
230 2005-12-02  Wim Taymans  <wim@fluendo.com>
231
232         * gst/gstutils.c: (gst_util_uint64_scale_int64),
233         (gst_util_uint64_scale_int):
234         Small cleanup.
235
236         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
237         Add debug log line.
238
239         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
240         Add FIXME.
241
242 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
243
244         * win32/MANIFEST:
245         * win32/common/config.h:
246         * win32/vs6/gstreamer.dsw:
247         * win32/vs6/libgstcoreelements.dsp:
248         * win32/vs6/libgstelements.dsp:
249           renamed core elements plugin
250
251 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
252
253         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
254         (get_candidates):
255           do piece-wise major/minor comparison so 0.9 < 0.10
256           also allow .exe extensions for tools
257
258 2005-12-02  Michael Smith  <msmith@fluendo.com>
259
260         * gst/gst.c:
261           Escape a % to make gtkdoc happier; bug 322958.
262
263 === release 0.9.7 ===
264
265 2005-12-01   <thomas (at) apestaart (dot) org>
266
267         * configure.ac:
268           releasing 0.9.7, "My Dog Has No Nose"
269
270 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
271
272         * common/gst-xmlinspect.py:
273         * configure.ac:
274         * docs/libs/tmpl/gstdataprotocol.sgml:
275         * docs/random/release:
276         * po/af.po:
277         * po/az.po:
278         * po/bg.po:
279         * po/ca.po:
280         * po/cs.po:
281         * po/de.po:
282         * po/en_GB.po:
283         * po/fr.po:
284         * po/it.po:
285         * po/nb.po:
286         * po/nl.po:
287         * po/ru.po:
288         * po/sq.po:
289         * po/sr.po:
290         * po/sv.po:
291         * po/tr.po:
292         * po/uk.po:
293         * po/vi.po:
294         * win32/common/config.h:
295         * win32/common/config.h.in:
296         * win32/vs6/gst_inspect.dsp:
297         * win32/vs6/gst_launch.dsp:
298         * win32/vs6/libgstbase.dsp:
299         * win32/vs6/libgstelements.dsp:
300         * win32/vs6/libgstreamer.dsp:
301         * win32/vs7/GStreamer.vcproj:
302         * win32/vs7/gst-inspect.vcproj:
303         * win32/vs7/gst-launch.vcproj:
304         * win32/vs7/libgstbase.vcproj:
305           bump GST_MAJORMINOR to 0.10
306           reset libtool version
307
308 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
309
310         * po/LINGUAS:
311         * po/bg.po:
312           Added Bulgarian translation by (Alexander Shopov)
313
314 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
315
316         * tests/check/gst/gstplugin.c:
317           fix test
318
319 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
320
321         * common/gst-xmlinspect.py:
322         * common/gtk-doc-plugins.mak:
323         * configure.ac:
324         * docs/Makefile.am:
325         * docs/gst/Makefile.am:
326         * docs/gst/gstreamer-docs.sgml:
327         * docs/gst/gstreamer-sections.txt:
328         * docs/gst/gstreamer.types:
329         * docs/gst/gstreamer.types.in:
330         * docs/plugins/Makefile.am:
331         * docs/plugins/gstreamer-plugins-docs.sgml:
332         * docs/plugins/gstreamer-plugins-sections.txt:
333         * docs/plugins/gstreamer-plugins.types:
334         * docs/plugins/inspect.stamp:
335         * docs/plugins/inspect/plugin-coreelements.xml:
336         * docs/plugins/inspect/plugin-coreindexers.xml:
337         * docs/plugins/scanobj-build.stamp:
338         * gstreamer.spec.in:
339         * plugins/elements/Makefile.am:
340         * plugins/elements/gstelements.c:
341         * plugins/elements/gstfakesink.c:
342         * plugins/elements/gstfakesrc.c:
343         * plugins/elements/gstfilesink.c:
344         * plugins/elements/gstfilesrc.c:
345         * plugins/elements/gstqueue.c:
346         * plugins/indexers/Makefile.am:
347         * plugins/indexers/gstindexers.c:
348           document core plugins in a separate document just like all the
349           others
350           rename these plugins to something starting with core
351
352 2005-12-01  Andy Wingo  <wingo@pobox.com>
353
354         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
355         padding here before, but it missed the commit.
356
357 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
358
359         * libs/gst/controller/gstinterpolation.c:
360           whitespace prices have crashed, we should feel free to use some now
361           use gst_guint64_to_gdouble
362
363 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
364
365         * libs/gst/controller/gstcontroller.c:
366         * libs/gst/controller/gsthelper.c:
367         * libs/gst/controller/gstinterpolation.c:
368         * libs/gst/controller/lib.c:
369           wrap config.h include
370
371 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
372
373         * docs/gst/gstreamer-sections.txt:
374           update docs
375
376 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
377
378         * plugins/elements/gstelements.c:
379         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
380         (gst_fd_sink__class_init), (gst_fd_sink__init),
381         (gst_fd_sink__chain), (gst_fd_sink__set_property),
382         (gst_fd_sink__get_property):
383         * plugins/elements/gstfdsink.h:
384         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
385         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
386         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
387         (gst_fd_src_unlock), (gst_fd_src_set_property),
388         (gst_fd_src_get_property), (gst_fd_src_create),
389         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
390         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
391         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
392         (gst_fd_src_uri_handler_init):
393         * plugins/elements/gstfdsrc.h:
394         * plugins/elements/gstqueue.c: (gst_queue_get_type):
395           more anal cleanup
396
397 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
398
399         * docs/gst/Makefile.am:
400         * docs/gst/gstreamer.types.in:
401         * gst/Makefile.am:
402           fix the docs build
403
404 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
405
406         * configure.ac:
407         * gst/Makefile.am:
408         * gst/gst.c:
409         * gst/gstplugin.h:
410         * gst/gstregistry.h:
411         * tests/benchmarks/complexity.c:
412         * tests/benchmarks/mass-elements.c:
413         * tests/check/Makefile.am:
414         * tools/Makefile.am:
415         * tools/gst-inspect.c:
416         * tools/gst-xmlinspect.c:
417           various fixes to make
418           --disable-nls --disable-registry --disable-loadsave
419           --disable-parse --disable-gst-debug
420           work and get the core .so down to 360444 bytes after stripping
421
422 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
423
424         * Makefile.am:
425         * configure.ac:
426           descend into tests
427         * docs/random/thomasvs/TODO:
428         * tests/Makefile.am:
429         * tests/README:
430           add a README
431
432 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
433
434         * win32/GStreamer.vcproj:
435         * win32/MANIFEST:
436         * win32/Makefile:
437         * win32/Makefile.inspect:
438         * win32/Makefile.launch:
439         * win32/Makefile.register:
440         * win32/README.txt:
441         * win32/gst-inspect.vcproj:
442         * win32/gst-launch.vcproj:
443         * win32/gst-register.vcproj:
444         * win32/gstelements.vcproj:
445         * win32/gstgetbits.def:
446         * win32/gstgetbits.vcproj:
447         * win32/gstreamer-dbg.def:
448         * win32/gstreamer.def:
449         * win32/libgstbase.def:
450         * win32/libgstbase.vcproj:
451         * win32/link_oldruntime.c:
452         * win32/mman.c:
453         * win32/mman.h:
454         * win32/mman.inl:
455         * win32/msvc71.sln:
456           move even more stuff, win32/ is nice and clean now
457
458 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
459
460         * libs/gst/control/.cvsignore:
461         * win32/MANIFEST:
462         * win32/config.h:
463         * win32/dirent.c:
464         * win32/dirent.h:
465         * win32/gstbytestream.def:
466         * win32/gstbytestream.vcproj:
467         * win32/gstconfig.h:
468         * win32/gstenumtypes.c:
469         * win32/gstenumtypes.h:
470         * win32/gstoptimalscheduler.vcproj:
471         * win32/gstversion.h:
472         * win32/gtchar.h:
473         * win32/testsuite/bins.vcproj:
474         * win32/testsuite/bytestream.vcproj:
475         * win32/testsuite/caps.vcproj:
476         * win32/testsuite/cleanup.vcproj:
477         * win32/testsuite/clock.vcproj:
478         * win32/testsuite/debug.vcproj:
479         * win32/testsuite/dlopen.vcproj:
480         * win32/testsuite/dynparams.vcproj:
481         * win32/testsuite/elements.vcproj:
482         * win32/testsuite/ghostpads.vcproj:
483         * win32/testsuite/indexers.vcproj:
484         * win32/testsuite/negotiation.vcproj:
485         * win32/testsuite/parse.vcproj:
486         * win32/testsuite/plugin.vcproj:
487         * win32/testsuite/refcounting.vcproj:
488         * win32/testsuite/schedulers.vcproj:
489         * win32/testsuite/states.vcproj:
490         * win32/testsuite/tags.vcproj:
491         * win32/testsuite/threads.vcproj:
492           remove old win32 stuff that isn't maintained and should be
493           reorganized
494
495 2005-11-30  Andy Wingo  <wingo@pobox.com>
496
497         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
498         loading the gst.interfaces python module bork.
499
500         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
501         available since GLib 2.2. Fixes #318031.
502
503 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
504
505         * Makefile.am:
506         * check/.cvsignore:
507         * check/Makefile.am:
508         * check/elements/.cvsignore:
509         * check/elements/fakesrc.c:
510         * check/elements/fdsrc.c:
511         * check/elements/identity.c:
512         * check/generic/.cvsignore:
513         * check/generic/states.c:
514         * check/gst-libs/.cvsignore:
515         * check/gst-libs/controller.c:
516         * check/gst-libs/gdp.c:
517         * check/gst/.cvsignore:
518         * check/gst/capslist.h:
519         * check/gst/gst.c:
520         * check/gst/gstbin.c:
521         * check/gst/gstbuffer.c:
522         * check/gst/gstbus.c:
523         * check/gst/gstcaps.c:
524         * check/gst/gstelement.c:
525         * check/gst/gstevent.c:
526         * check/gst/gstghostpad.c:
527         * check/gst/gstiterator.c:
528         * check/gst/gstmessage.c:
529         * check/gst/gstminiobject.c:
530         * check/gst/gstobject.c:
531         * check/gst/gstpad.c:
532         * check/gst/gstpipeline.c:
533         * check/gst/gstplugin.c:
534         * check/gst/gstsegment.c:
535         * check/gst/gststructure.c:
536         * check/gst/gstsystemclock.c:
537         * check/gst/gsttag.c:
538         * check/gst/gstutils.c:
539         * check/gst/gstvalue.c:
540         * check/net/.cvsignore:
541         * check/net/gstnetclientclock.c:
542         * check/net/gstnettimeprovider.c:
543         * check/pipelines/.cvsignore:
544         * check/pipelines/cleanup.c:
545         * check/pipelines/simple_launch_lines.c:
546         * check/pipelines/stress.c:
547         * check/states/.cvsignore:
548         * check/states/sinks.c:
549         * configure.ac:
550         * examples/Makefile.am:
551         * examples/appreader/.cvsignore:
552         * examples/appreader/Makefile.am:
553         * examples/appreader/appreader.c:
554         * examples/controller/.cvsignore:
555         * examples/controller/Makefile.am:
556         * examples/controller/audio-example.c:
557         * examples/cutter/.cvsignore:
558         * examples/cutter/Makefile.am:
559         * examples/cutter/cutter.c:
560         * examples/cutter/cutter.h:
561         * examples/events/Makefile.am:
562         * examples/events/seek.c:
563         * examples/helloworld/.cvsignore:
564         * examples/helloworld/Makefile.am:
565         * examples/helloworld/helloworld.c:
566         * examples/helloworld2/.cvsignore:
567         * examples/helloworld2/Makefile.am:
568         * examples/helloworld2/helloworld2.c:
569         * examples/launch/.cvsignore:
570         * examples/launch/Makefile.am:
571         * examples/launch/mp3parselaunch.c:
572         * examples/launch/mp3play:
573         * examples/manual/.cvsignore:
574         * examples/manual/Makefile.am:
575         * examples/manual/extract.pl:
576         * examples/metadata/Makefile.am:
577         * examples/metadata/read-metadata.c:
578         * examples/mixer/.cvsignore:
579         * examples/mixer/Makefile.am:
580         * examples/mixer/mixer.c:
581         * examples/mixer/mixer.h:
582         * examples/pingpong/.cvsignore:
583         * examples/pingpong/Makefile.am:
584         * examples/pingpong/pingpong.c:
585         * examples/plugins/.cvsignore:
586         * examples/plugins/Makefile.am:
587         * examples/plugins/example.c:
588         * examples/plugins/example.h:
589         * examples/pwg/.cvsignore:
590         * examples/pwg/Makefile.am:
591         * examples/pwg/extract.pl:
592         * examples/queue/.cvsignore:
593         * examples/queue/Makefile.am:
594         * examples/queue/queue.c:
595         * examples/queue2/.cvsignore:
596         * examples/queue2/Makefile.am:
597         * examples/queue2/queue2.c:
598         * examples/queue3/.cvsignore:
599         * examples/queue3/Makefile.am:
600         * examples/queue3/queue3.c:
601         * examples/queue4/.cvsignore:
602         * examples/queue4/Makefile.am:
603         * examples/queue4/queue4.c:
604         * examples/retag/.cvsignore:
605         * examples/retag/Makefile.am:
606         * examples/retag/retag.c:
607         * examples/retag/transcode.c:
608         * examples/thread/.cvsignore:
609         * examples/thread/Makefile.am:
610         * examples/thread/thread.c:
611         * examples/typefind/.cvsignore:
612         * examples/typefind/Makefile.am:
613         * examples/typefind/typefind.c:
614         * examples/xml/.cvsignore:
615         * examples/xml/Makefile.am:
616         * examples/xml/createxml.c:
617         * examples/xml/runxml.c:
618         * tests/Makefile.am:
619         * tests/check/Makefile.am:
620         * testsuite/.cvsignore:
621         * testsuite/Makefile.am:
622         * testsuite/Rules:
623         * testsuite/caps/.cvsignore:
624         * testsuite/caps/Makefile.am:
625         * testsuite/caps/app_fixate.c:
626         * testsuite/caps/audioscale.c:
627         * testsuite/caps/caps.c:
628         * testsuite/caps/caps.h:
629         * testsuite/caps/caps_strings:
630         * testsuite/caps/compatibility.c:
631         * testsuite/caps/deserialize.c:
632         * testsuite/caps/enumcaps.c:
633         * testsuite/caps/eratosthenes.c:
634         * testsuite/caps/filtercaps.c:
635         * testsuite/caps/fixed.c:
636         * testsuite/caps/fraction-convert.c:
637         * testsuite/caps/fraction-multiply-and-zero.c:
638         * testsuite/caps/intersect2.c:
639         * testsuite/caps/intersection.c:
640         * testsuite/caps/normalisation.c:
641         * testsuite/caps/random.c:
642         * testsuite/caps/renegotiate.c:
643         * testsuite/caps/sets.c:
644         * testsuite/caps/simplify.c:
645         * testsuite/caps/string-conversions.c:
646         * testsuite/caps/structure.c:
647         * testsuite/caps/subtract.c:
648         * testsuite/caps/union.c:
649         * testsuite/debug/.cvsignore:
650         * testsuite/debug/Makefile.am:
651         * testsuite/debug/category.c:
652         * testsuite/debug/commandline.c:
653         * testsuite/debug/global.c:
654         * testsuite/debug/output.c:
655         * testsuite/debug/printf_extension.c:
656         * testsuite/dlopen/.cvsignore:
657         * testsuite/dlopen/Makefile.am:
658         * testsuite/dlopen/dlopen_gst.c:
659         * testsuite/dlopen/loadgst.c:
660         * testsuite/elements/.cvsignore:
661         * testsuite/elements/Makefile.am:
662         * testsuite/elements/gst-inspect-check.in:
663         * testsuite/elements/struct_i386.h:
664         * testsuite/elements/struct_size.c:
665         * testsuite/indexers/.cvsignore:
666         * testsuite/indexers/Makefile.am:
667         * testsuite/indexers/cache1.c:
668         * testsuite/indexers/indexdump.c:
669         * testsuite/parse/.cvsignore:
670         * testsuite/parse/Makefile.am:
671         * testsuite/parse/parse1.c:
672         * testsuite/parse/parse2.c:
673         * testsuite/plugin/.cvsignore:
674         * testsuite/plugin/Makefile.am:
675         * testsuite/plugin/README:
676         * testsuite/plugin/dynamic.c:
677         * testsuite/plugin/linked.c:
678         * testsuite/plugin/loading.c:
679         * testsuite/plugin/registry.c:
680         * testsuite/plugin/static.c:
681         * testsuite/plugin/static2.c:
682         * testsuite/plugin/testplugin.c:
683         * testsuite/plugin/testplugin2.c:
684         * testsuite/plugin/testplugin2_s.c:
685         * testsuite/plugin/testplugin_s.c:
686         * testsuite/refcounting/.cvsignore:
687         * testsuite/refcounting/Makefile.am:
688         * testsuite/refcounting/bin.c:
689         * testsuite/refcounting/element.c:
690         * testsuite/refcounting/element_pad.c:
691         * testsuite/refcounting/mainloop.c:
692         * testsuite/refcounting/mem.c:
693         * testsuite/refcounting/mem.h:
694         * testsuite/refcounting/object.c:
695         * testsuite/refcounting/pad.c:
696         * testsuite/refcounting/sched.c:
697         * testsuite/refcounting/thread.c:
698         * testsuite/states/.cvsignore:
699         * testsuite/states/Makefile.am:
700         * testsuite/states/bin.c:
701         * testsuite/states/locked.c:
702         * testsuite/states/parent.c:
703         * testsuite/threads/.cvsignore:
704         * testsuite/threads/159566.c:
705         * testsuite/threads/159852.c:
706         * testsuite/threads/Makefile.am:
707         * testsuite/threads/queue.c:
708         * testsuite/threads/signals.c:
709         * testsuite/threads/staticrec.c:
710         * testsuite/threads/thread.c:
711         * testsuite/threads/threadb.c:
712         * testsuite/threads/threadc.c:
713         * testsuite/threads/threadd.c:
714         * testsuite/threads/threade.c:
715         * testsuite/threads/threadf.c:
716         * testsuite/threads/threadg.c:
717         * testsuite/threads/threadh.c:
718         * testsuite/threads/threadi.c:
719           move all of these under tests
720
721 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
722
723         * configure.ac:
724         * tests/Makefile.am:
725           fix distcheck
726
727 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
728
729         * docs/gst/gstreamer-sections.txt:
730         * tests/sched/.cvsignore:
731         * tests/sched/Makefile.am:
732         * tests/sched/cases/(fs-fs).xml:
733         * tests/sched/cases/(fs-i-fs).xml:
734         * tests/sched/cases/(fs-i-i-fs).xml:
735         * tests/sched/cases/(fs-i-q[i-fs]).xml:
736         * tests/sched/dynamic-pipeline.c:
737         * tests/sched/interrupt1.c:
738         * tests/sched/interrupt2.c:
739         * tests/sched/interrupt3.c:
740         * tests/sched/runtestcases:
741         * tests/sched/runxml.c:
742         * tests/sched/sched-stress.c:
743         * tests/sched/sort.c:
744         * tests/sched/testcases:
745         * tests/sched/testcases1.tc:
746         * tests/seeking/.cvsignore:
747         * tests/seeking/Makefile.am:
748         * tests/seeking/seeking1.c:
749         * tests/threadstate/.cvsignore:
750         * tests/threadstate/Makefile.am:
751         * tests/threadstate/test1.c:
752         * tests/threadstate/test2.c:
753         * tests/threadstate/threadstate1.c:
754         * tests/threadstate/threadstate2.c:
755         * tests/threadstate/threadstate3.c:
756         * tests/threadstate/threadstate4.c:
757         * tests/threadstate/threadstate5.c:
758           remove obsolete tests
759         * configure.ac:
760         * tests/bench-complexity.scm:
761         * tests/bench-mass_elements.scm:
762         * tests/complexity.c:
763         * tests/complexity.gnuplot:
764         * tests/instantiate/.cvsignore:
765         * tests/instantiate/Makefile.am:
766         * tests/instantiate/caps.c:
767         * tests/mass_elements.c:
768         * tests/network-clock-utils.scm:
769         * tests/network-clock.scm:
770         * tests/plot-data:
771         First pass at cleaning up tests/ dir before moving the rest
772         Combined with CVS surgery
773
774 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
775
776         * po/POTFILES.in:
777           queue has moved, update
778
779 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
780
781         * docs/gst/gstreamer-sections.txt:
782           remove double entries from the docs
783         * gst/gst_private.h:
784         * gst/gstinfo.c: (_gst_debug_init):
785           remove the THREAD debug category
786         * gst/Makefile.am:
787         * gst/gstqueue.c:
788         * gst/gstqueue.h:
789         * docs/gst/gstreamer.types:
790         * plugins/elements/gstqueue.c: (gst_queue_get_type),
791         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
792           completely move queue and fix up debugging categories
793
794 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
795
796         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
797           make initialization portable, using LL is not
798
799 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
800
801         * win32/common/gstconfig.h:
802           add large padding
803
804 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
805
806         * win32/common/libgstreamer.def:
807           rename symbols; sort base section
808
809 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
810
811         * gst/gstclock.c: (do_linear_regression):
812           remove crack non-portable handrolled DEBUG macro
813
814 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
815
816         * docs/random/release:
817           update notes
818         * win32/common/gstenumtypes.c: (register_gst_object_flags),
819         (gst_object_flags_get_type), (register_gst_bin_flags),
820         (gst_bin_flags_get_type), (register_gst_buffer_flag),
821         (gst_buffer_flag_get_type), (register_gst_bus_flags),
822         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
823         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
824         (gst_caps_flags_get_type), (register_gst_clock_return),
825         (gst_clock_return_get_type), (register_gst_clock_entry_type),
826         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
827         (gst_clock_flags_get_type), (register_gst_state),
828         (gst_state_get_type), (register_gst_state_change_return),
829         (gst_state_change_return_get_type), (register_gst_state_change),
830         (gst_state_change_get_type), (register_gst_element_flags),
831         (gst_element_flags_get_type), (register_gst_core_error),
832         (gst_core_error_get_type), (register_gst_library_error),
833         (gst_library_error_get_type), (register_gst_resource_error),
834         (gst_resource_error_get_type), (register_gst_stream_error),
835         (gst_stream_error_get_type), (register_gst_event_type_flags),
836         (gst_event_type_flags_get_type), (register_gst_event_type),
837         (gst_event_type_get_type), (register_gst_seek_type),
838         (gst_seek_type_get_type), (register_gst_seek_flags),
839         (gst_seek_flags_get_type), (register_gst_format),
840         (gst_format_get_type), (register_gst_index_certainty),
841         (gst_index_certainty_get_type), (register_gst_index_entry_type),
842         (gst_index_entry_type_get_type),
843         (register_gst_index_lookup_method),
844         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
845         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
846         (gst_index_resolver_method_get_type), (register_gst_index_flags),
847         (gst_index_flags_get_type), (register_gst_debug_level),
848         (gst_debug_level_get_type), (register_gst_debug_color_flags),
849         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
850         (gst_iterator_result_get_type), (register_gst_iterator_item),
851         (gst_iterator_item_get_type), (register_gst_message_type),
852         (gst_message_type_get_type), (register_gst_mini_object_flags),
853         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
854         (gst_pad_link_return_get_type), (register_gst_flow_return),
855         (gst_flow_return_get_type), (register_gst_activate_mode),
856         (gst_activate_mode_get_type), (register_gst_pad_direction),
857         (gst_pad_direction_get_type), (register_gst_pad_flags),
858         (gst_pad_flags_get_type), (register_gst_pad_presence),
859         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
860         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
861         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
862         (gst_plugin_error_get_type), (register_gst_plugin_flags),
863         (gst_plugin_flags_get_type), (register_gst_rank),
864         (gst_rank_get_type), (register_gst_query_type),
865         (gst_query_type_get_type), (register_gst_tag_merge_mode),
866         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
867         (gst_tag_flag_get_type), (register_gst_task_state),
868         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
869         (gst_alloc_trace_flags_get_type),
870         (register_gst_type_find_probability),
871         (gst_type_find_probability_get_type), (register_gst_uri_type),
872         (gst_uri_type_get_type), (register_gst_parse_error),
873         (gst_parse_error_get_type):
874         * win32/common/gstenumtypes.h:
875         * win32/common/gstversion.h:
876           update visual studio generated files
877
878 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
879
880         * win32/vs6/libgstbase.dsp:
881         * win32/vs6/libgstelements.dsp:
882           update project files for new locations
883
884 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
885
886         * Makefile.am:
887           remove some files
888         * README:
889           reinstate and update
890         * DEVEL:
891         * REQUIREMENTS:
892           removed
893         * LICENSE:
894         * docs/random/LICENSE:
895           moved to random
896
897 2005-11-30  Edward Hervey  <edward@fluendo.com>
898
899         * gst/gsttypefind.c: (gst_type_find_register):
900         * gst/gsttypefind.h:
901         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
902         (gst_type_find_factory_dispose):
903         * gst/gsttypefindfactory.h:
904         Fix memory leak in GstTypeFindFactory.
905
906 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
907
908         * gst/gst.c:
909         * plugins/elements/Makefile.am:
910         * plugins/elements/gstelements.c:
911         * plugins/elements/gstqueue.c:
912           move queue from core to the elements plugin
913
914 2005-11-29  Andy Wingo  <wingo@pobox.com>
915
916         * libs/gst/base/gstbasetransform.h: 
917         * libs/gst/base/gstbasesrc.h: 
918         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
919
920         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
921         of pointers by which to pad very extensible base classes (like the
922         ones in libs/gst/base).
923
924 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
925
926         * docs/gst/gstreamer-docs.sgml:
927         * docs/gst/gstreamer-sections.txt:
928         * docs/libs/gstreamer-libs-docs.sgml:
929         * docs/libs/gstreamer-libs-sections.txt:
930           moving documentation from core to lib
931
932 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
933
934         * check/Makefile.am:
935         * configure.ac:
936         * docs/gst/Makefile.am:
937         * gst/Makefile.am:
938         * gst/base/.cvsignore:
939         * gst/base/Makefile.am:
940         * gst/base/README:
941         * gst/base/gstadapter.c:
942         * gst/base/gstadapter.h:
943         * gst/base/gstbasesink.c:
944         * gst/base/gstbasesink.h:
945         * gst/base/gstbasesrc.c:
946         * gst/base/gstbasesrc.h:
947         * gst/base/gstbasetransform.c:
948         * gst/base/gstbasetransform.h:
949         * gst/base/gstcollectpads.c:
950         * gst/base/gstcollectpads.h:
951         * gst/base/gstpushsrc.c:
952         * gst/base/gstpushsrc.h:
953         * gst/base/gsttypefindhelper.c:
954         * gst/base/gsttypefindhelper.h:
955         * gst/check/Makefile.am:
956         * gst/check/gstcheck.c:
957         * gst/check/gstcheck.h:
958         * gst/net/Makefile.am:
959         * gst/net/gstnet.h:
960         * gst/net/gstnetclientclock.c:
961         * gst/net/gstnetclientclock.h:
962         * gst/net/gstnettimepacket.c:
963         * gst/net/gstnettimepacket.h:
964         * gst/net/gstnettimeprovider.c:
965         * gst/net/gstnettimeprovider.h:
966         * libs/gst/Makefile.am:
967         * libs/gst/base/Makefile.am:
968         * libs/gst/base/gstbasetransform.c:
969         * libs/gst/check/Makefile.am:
970         * plugins/elements/Makefile.am:
971         * po/POTFILES.in:
972           CVS surgery + support to move base, check, and net out of gst
973           and into libs/gst
974
975 2005-11-29  Andy Wingo  <wingo@pobox.com>
976
977         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
978
979         * gst/gststructure.h (struct _GstStructure): Only one pointer of
980         padding.
981
982         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
983
984         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
985
986         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
987
988         * gst/gstobject.h: (struct _GstObject): Only one pointer of
989         padding; reduces object size by about 30%. We don't expect
990         anything else to go into gstobject.
991
992         * gst/gstminiobject.h (struct _GstMiniObject)
993         (struct _GstMiniObjectClass): Only one pointer of padding; the
994         payload is only a pointer and two ints anyway. For the class there
995         are only two methods as well.
996         
997         * gst/gstelement.h (struct _GstElementClass): Removed
998         the state_changed signal callback, it is not used.
999
1000 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1001
1002         * docs/gst/gstreamer.types:
1003           fix includes, though they are a little dinky
1004
1005 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1006
1007         * check/Makefile.am:
1008           look in the right place for elements, a lot more chance of
1009           success
1010         * gst/Makefile.am:
1011           remove indexers and elements subdirs
1012         * plugins/Makefile.am:
1013           make indexers conditional
1014
1015 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1016
1017         * Makefile.am:
1018         * configure.ac:
1019         * plugins/elements/Makefile.am:
1020         * plugins/elements/gstcapsfilter.c:
1021         * plugins/elements/gstfilesink.c:
1022         * plugins/elements/gstfilesrc.c:
1023         * plugins/elements/gstidentity.c:
1024         * plugins/indexers/Makefile.am:
1025           do CVS surgery and related build fixery to move elements
1026           and indexers in a new gstreamer/plugins directory, out of the
1027           gst/ directory
1028
1029 2005-11-29  Andy Wingo  <wingo@pobox.com>
1030
1031         * check/Makefile.am:
1032         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1033         * pkgconfig/gstreamer-net.pc.in:
1034         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
1035         #322257.
1036
1037 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1038
1039         * tools/Makefile.am:
1040         * tools/gst-complete.1.in:
1041         * tools/gst-complete.c:
1042         * tools/gst-compprep.1.in:
1043         * tools/gst-compprep.c:
1044           removing -compprep and -complete
1045
1046 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1047
1048         * gst/gstevent.c: (gst_event_new_new_segment),
1049         (gst_event_parse_new_segment):
1050         * gst/gstevent.h:
1051           fix #320529 - clean up new_segment API and structure.
1052           Let's hope everyone was using the methods, and not the structure.
1053
1054 2005-11-29  Edward Hervey  <edward@fluendo.com>
1055
1056         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1057         (gst_base_sink_event), (gst_base_sink_do_sync),
1058         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1059         Properly handle non GST_FORMAT_TIME segment
1060         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1061         Properly handle non GST_FORMAT_TIME segment
1062         * gst/gstsegment.c:
1063         This function is valid if the accumulator is 0 and the format
1064         is different from the requested format.
1065         
1066 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1067
1068         * docs/gst/gstreamer-sections.txt:
1069         Add gst_query_new_seeking and gst_query_parse_seeking to the
1070         docs.
1071
1072 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1073
1074         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
1075           Treat a pad alloc with new caps the same as if we were not
1076           negotiated, in order to allow a changing upstream output
1077           to produce a new format of data.
1078
1079 2005-11-29  Edward Hervey  <edward@fluendo.com>
1080
1081         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
1082         (gst_base_transform_event), (gst_base_transform_eventfunc):
1083         The event virtual method is now properly implemented, with a default
1084         handler
1085         Sub classes should call the parent_class event method. They should
1086         return FALSE if they had a problem handling the given event, or don't
1087         want GstBaseTransform to send that even downstream
1088         * gst/elements/gstidentity.c: (gst_identity_class_init),
1089         (gst_identity_init), (gst_identity_event),
1090         (gst_identity_transform_ip), (gst_identity_set_property),
1091         (gst_identity_get_property):
1092         * gst/elements/gstidentity.h:
1093         Added the single-segment boolean property.
1094         If set to TRUE, it will output a single segment of data, starting from
1095         0, will eat up all incoming newsegment, and modify the timestamp of the
1096         buffers accordingly
1097
1098 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
1099
1100         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
1101           Don't ref NULL target pad (#322751). Improve docs.
1102
1103 2005-11-29  Michael Smith  <msmith@fluendo.com>
1104
1105         * gst/gstregistryxml.c: (load_plugin):
1106           Don't crash if we failed to load a feature from a plugin. 
1107
1108 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1109
1110         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
1111         (GST_START_TEST):
1112           use more check API and less GLib API
1113
1114 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1115
1116         * Makefile.am:
1117           don't run checks if we don't have check
1118         * common/check.mak:
1119           remove the registry when running make torture
1120         * docs/gst/gstreamer-sections.txt:
1121           remove second multiply
1122         * gst/gstqueue.c: (gst_queue_loop):
1123           fix a compile warning when disabling debug
1124
1125 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1126
1127         * gst/gstinfo.h:
1128         Hey! Let's print the pad name if the pointer != NULL instead
1129         of when it == NULL :-)
1130
1131 2005-11-28  Wim Taymans  <wim@fluendo.com>
1132
1133         * check/gst/gstutils.c: (GST_START_TEST):
1134         Updated check, add some scaling accuracy checking code.
1135
1136         * gst/gstutils.c: (gst_util_div128_64),
1137         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
1138         (gst_util_uint64_scale_int):
1139         Fix 6 times faster division code. Optimize for common 
1140         1/1 and less common X/1 cases.
1141
1142 2005-11-28  Wim Taymans  <wim@fluendo.com>
1143
1144         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1145         More checks.
1146
1147         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
1148         (do_linear_regression), (gst_clock_add_observation):
1149         Cleanups.
1150         Release lock when the clock cannot be slaved.
1151         Catch the case where the regression returned an invalid denominator.
1152
1153         * gst/gstutils.c: (gst_util_div128_64_iterate),
1154         (gst_util_div128_64), (gst_util_uint64_scale_int64),
1155         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1156         Add protentially more performant non-iterative 128/64 divide function
1157         that unfortunatly does not work yet.
1158         Shortcut the trivial 0/X = 0 case.
1159         Remove the warnings on overflow.
1160
1161 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1162
1163         * gst/gstplugin.c: (gst_plugin_register_func):
1164           everything causing a plugin not to load should be at least a WARNING
1165
1166 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
1167
1168         * docs/random/ensonic/dparams.txt:
1169           some TODOs for the next dev cycle
1170         * libs/gst/controller/gstcontroller.c:
1171         (gst_controlled_property_set_interpolation_mode),
1172         (gst_controlled_property_new):
1173         * libs/gst/controller/gstcontroller.h:
1174           use base type to assign acccessor functions
1175
1176 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1177
1178         * check/Makefile.am:
1179         Oops, that should have been top_srcdir
1180
1181 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1182
1183         * check/Makefile.am:
1184         * check/elements/fdsrc.c: (GST_START_TEST):
1185         Use a cmdline define to specify the location of a file to use for
1186         testing, to avoid breaking distcheck.
1187
1188 2005-11-28  Andy Wingo  <wingo@pobox.com>
1189
1190         * gst/gstpad.c (fixate_value): Use array functions for arrays.
1191
1192 2005-11-28  Edward Hervey  <edward@fluendo.com>
1193
1194         * tools/gst-launch.c: (main):
1195         Clarify the output strings, makes it easier to translate.
1196         Fixes #322626
1197
1198 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1199
1200         * gst/Makefile.am:
1201           don't try and build net if we don't even have <sys/socket.h>
1202
1203 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
1204
1205         * check/Makefile.am:
1206         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
1207         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
1208           Add tests for fdsrc seekability
1209
1210         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
1211         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
1212         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
1213         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
1214         * gst/elements/gstfdsrc.h:
1215           fdsrc should not be a 'live' source.
1216           Implement seeking on seekable fd's.
1217
1218         * gst/gstquery.c: (gst_query_new_seeking),
1219         (gst_query_parse_seeking):
1220         * gst/gstquery.h:
1221           Implement SEEKING query functions: 
1222             *_new_seeking and *_parse_seeking
1223
1224 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
1225
1226         * gst/gstelement.c: (gst_element_dispose):
1227           don't loop forever
1228
1229         * gst/gstiterator.c:
1230         * gst/gststructure.c:
1231           doc fixes
1232
1233         * libs/gst/controller/gstcontroller.c:
1234         (gst_controlled_property_set_interpolation_mode):
1235         * libs/gst/controller/gstcontroller.h:
1236         * libs/gst/controller/gstinterpolation.c:
1237         (interpolate_none_get_enum_value_array):
1238           support controlling enums
1239
1240 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1241
1242         * gst/gstvalue.c:
1243           Improve documentation for gst_value_union().
1244
1245         * gst/gstvalue.h:
1246           Change return value for union, intersect and subtract functions
1247           from gint to gboolean.
1248
1249 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1250
1251         * gst/gstvalue.c: (gst_value_serialize_any_list),
1252         (gst_value_transform_any_list_string),
1253         (gst_value_deserialize_list), (gst_value_deserialize_array),
1254         (gst_value_set_int_range), (gst_value_deserialize_int_range),
1255         (gst_value_set_double_range), (gst_value_deserialize_double_range),
1256         (gst_value_set_fraction_range_full),
1257         (gst_value_deserialize_fraction_range),
1258         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
1259         (gst_value_deserialize_boolean),
1260         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
1261         (gst_value_serialize_float), (gst_value_deserialize_float),
1262         (gst_string_wrap), (gst_value_deserialize_string),
1263         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
1264         (gst_value_union_int_range_int_range),
1265         (gst_value_intersect_int_range_int_range),
1266         (gst_value_intersect_double_range_double_range),
1267         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
1268         (gst_value_subtract_int_range_int_range),
1269         (gst_value_subtract_double_double_range),
1270         (gst_value_subtract_double_range_double_range),
1271         (gst_value_deserialize_fraction):
1272         * gst/gstvalue.h:
1273           Use gint, gdouble and gchar in our API instead of int, double and
1274           char (and make usage in gstvalue.c more consistent).
1275
1276 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1277
1278         * check/Makefile.am:
1279         * libs/gst/controller/Makefile.am:
1280         * libs/gst/dataprotocol/Makefile.am:
1281           fix up Makefile.am and remove GST_ENABLE_NEW
1282
1283 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1284
1285         * configure.ac:
1286         * gst/Makefile.am:
1287         * gst/base/Makefile.am:
1288         * gst/check/Makefile.am:
1289         * gst/elements/Makefile.am:
1290         * gst/net/Makefile.am:
1291           update LDFLAGS use some more
1292
1293 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1294
1295         * common/m4/gst-doc.m4:
1296           Fixes #312589
1297
1298 2005-11-26  Edward Hervey  <edward@fluendo.com>
1299
1300         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1301         This shouldn't issue a g_warning since it returns NULL if it
1302         couldn't find the plugin, and all functions using this behave
1303         properly on a NULL return. Switching to a GST_WARNING.
1304
1305 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
1306
1307         * gst/gstbin.c: (gst_bin_handle_message_func):
1308         Don't leak clock messages.
1309
1310 2005-11-25  Wim Taymans  <wim@fluendo.com>
1311
1312         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1313         (gst_util_uint64_scale_int):
1314         Optimisations, remove unneeded vars.
1315
1316 2005-11-25  Wim Taymans  <wim@fluendo.com>
1317
1318         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1319         Added more checks for the high precision uint64 cases.
1320
1321         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1322         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1323         Implement high precision (guint64 * guint64) / guint64.
1324
1325 2005-11-24  Wim Taymans  <wim@fluendo.com>
1326
1327         * gst/base/gstbasesrc.c: (gst_base_src_query):
1328         Fix wrong percentage query.
1329
1330         * gst/gstutils.c: (gst_util_uint64_scale),
1331         (gst_util_uint64_scale_int):
1332         Add some more common cases that can be handled 
1333         efficiently to _scale.
1334
1335 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1336
1337         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
1338         (gst_mini_object_suite):
1339           don't use check calls from threads; check probably isn't
1340           threadsafe and using a lock to make it threadsafe would
1341           defeat the purpose of this check
1342         * gst/check/gstcheck.c:
1343         * gst/check/gstcheck.h:
1344           use GST_DEBUG some more
1345
1346 2005-11-24  Wim Taymans  <wim@fluendo.com>
1347
1348         * gst/gstutils.c: (gst_util_uint64_scale),
1349         (gst_util_uint64_scale_int):
1350         Chain trivial case to _scale_int.
1351
1352 2005-11-24  Wim Taymans  <wim@fluendo.com>
1353
1354         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1355         Added test for scaling.
1356
1357         * gst/gstclock.h:
1358         Small doc fix.
1359
1360         * gst/gstutils.c: (gst_util_uint64_scale_int):
1361         Implemented high precision scaling code.
1362
1363 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
1364
1365         * gst/gstinfo.h:
1366           do not crash on pad==NULL
1367
1368 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1369
1370         Patch by: Stefan Kost
1371
1372         * common/gtk-doc.mak:
1373         * docs/gst/Makefile.am:
1374         * docs/libs/Makefile.am:
1375           Fix distcheck issues for the libraries docs build
1376           Closes #319599.
1377
1378 2005-11-24  Michael Smith <msmith@fluendo.com>
1379
1380         * docs/manual/basics-helloworld.xml:
1381           Fix bug #315027: memory leak in example code in docs.
1382
1383 2005-11-24  Michael Smith <msmith@fluendo.com>
1384
1385         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1386           Unlock the PREROLL_LOCK in a failure case.
1387
1388 2005-11-24  Wim Taymans  <wim@fluendo.com>
1389
1390         * docs/gst/gstreamer-sections.txt:
1391         * gst/base/gstadapter.h:
1392         * gst/base/gstbasesink.h:
1393         * gst/base/gstbasesrc.h:
1394         * gst/base/gstbasetransform.h:
1395         * gst/base/gstpushsrc.h:
1396         * gst/elements/gstfakesink.h:
1397         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1398         * gst/elements/gstfakesrc.h:
1399         * gst/elements/gstfilesink.h:
1400         * gst/elements/gstfilesrc.h:
1401         * gst/gst.c:
1402         * gst/gstbin.c:
1403         * gst/gstbuffer.c: (_gst_buffer_copy):
1404         * gst/gstbus.h:
1405         * gst/gstcaps.c:
1406         * gst/gstchildproxy.c:
1407         * gst/gstclock.c:
1408         * gst/gstelement.c:
1409         * gst/gstelementfactory.c:
1410         * gst/gstelementfactory.h:
1411         * gst/gstevent.c:
1412         * gst/gstghostpad.h:
1413         * gst/gstindex.h:
1414         * gst/gstinterface.h:
1415         * gst/gstminiobject.c:
1416         * gst/gstminiobject.h:
1417         * gst/gstpad.c:
1418         * gst/gstpad.h:
1419         * gst/gstpadtemplate.h:
1420         * gst/gstpipeline.h:
1421         * gst/gstpluginfeature.h:
1422         * gst/gstquery.h:
1423         * gst/gstqueue.h:
1424         * gst/gsttaglist.c:
1425         * gst/gsttaglist.h:
1426         * gst/gsttagsetter.c:
1427         * gst/gsttagsetter.h:
1428         * gst/gsttrace.c:
1429         * gst/gsttrace.h:
1430         * gst/gsttypefind.h:
1431         * gst/gsturi.h:
1432         * gst/gstvalue.c:
1433         * gst/net/gstnetclientclock.c:
1434         * gst/net/gstnetclientclock.h:
1435         * gst/net/gstnettimepacket.c:
1436         * gst/net/gstnettimeprovider.c:
1437         * gst/net/gstnettimeprovider.h:
1438         Doc fixes.
1439
1440 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1441
1442         * configure.ac: back to HEAD
1443
1444 === release 0.9.6 ===
1445
1446 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
1447
1448         * configure.ac:
1449           releasing 0.9.6, "Always On Time"
1450
1451 2005-11-23  Wim Taymans  <wim@fluendo.com>
1452
1453         * docs/gst/gstreamer-sections.txt:
1454         * gst/glib-compat.c:
1455         * gst/gsttagsetter.c:
1456         * gst/gstvalue.c:
1457         * gst/net/gstnetclientclock.c:
1458         * gst/net/gstnettimepacket.h:
1459         Doc updates.
1460
1461 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1462
1463         * docs/faq/using.xml:
1464         * docs/libs/tmpl/gstcontrol.sgml:
1465         * docs/manual/advanced-dparams.xml:
1466         * docs/manual/appendix-checklist.xml:
1467         * docs/manual/basics-elements.xml:
1468         * docs/pwg/other-source.xml:
1469         * docs/random/moving-plugins:
1470         * gst/gstpad.c:
1471         * tools/gst-launch.1.in:
1472           remove mentions of sinesrc
1473
1474 2005-11-23  Michael Smith <msmith@fluendo.com>
1475
1476         * docs/gst/gstreamer-sections.txt:
1477           Update for new API and API changes.
1478         * gst/gstobject.h:
1479           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1480         * gst/gstvalue.c:
1481           Documentation typo fix.
1482         * gst/net/gstnettimepacket.c:
1483           Documentation fixes for arguments.
1484
1485 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
1486
1487         * gst/gststructure.c: (gst_structure_get_fraction),
1488         (gst_structure_parse_value),
1489         (gst_structure_fixate_field_nearest_fraction):
1490         * gst/gststructure.h:
1491         * gst/gstutils.c: (gst_util_uint64_scale_int):
1492         * gst/gstutils.h:
1493         * scripts/update-funcnames:
1494         API Changes. 
1495         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1496         Make gst_structure_fixate_field_nearest_fraction take a numerator
1497         and denominator argument instead of a GValue
1498         add gst_structure_get_fraction helper function.
1499
1500 2005-11-23  Wim Taymans  <wim@fluendo.com>
1501
1502         * docs/design/part-TODO.txt:
1503         Update TODO.
1504
1505         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1506         * gst/net/gstnetclientclock.h:
1507         Use parent fields for timeout and window_size.
1508
1509 2005-11-23  Andy Wingo  <wingo@pobox.com>
1510
1511         * check/net/gstnetclientclock.c (test_functioning): Adjust to
1512         rate_num/rate_denom change.
1513
1514         * gst/net/gstnetclientclock.c
1515         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1516         OBJECT_LOCK. Don't call add_observation with the lock.
1517
1518         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1519         fraction.
1520         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1521         rate fraction.
1522         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1523         deal with rate as a fraction whose numerator and denominator are
1524         GstClockTime values.
1525         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1526         master; the other fields are protected by the SLAVE_LOCK.
1527         (do_linear_regression): Note that this must be called with the
1528         SLAVE_LOCK.
1529         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1530         OBJECT_LOCK. Call set_calibration instead of touching the
1531         variables directly.
1532         (gst_clock_set_property, gst_clock_get_property): Protect
1533         master/slave parameters with the SLAVE_LOCK.
1534
1535         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1536         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1537         note that all of the instance variables that add_observation and
1538         the set_master functions use are protected by that lock and not
1539         the OBJECT_LOCK.
1540         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1541
1542         * gst/gstclock.c (gst_clock_add_observation): No longer requires
1543         the caller to take the object lock.
1544
1545 2005-11-23  Wim Taymans  <wim@fluendo.com>
1546
1547         * gst/gsterror.c: (_gst_core_errors_init):
1548         * gst/gsterror.h:
1549         Add error for clock stuff.
1550
1551         * gst/gstpipeline.c: (gst_pipeline_change_state),
1552         (gst_pipeline_set_clock):
1553         Post clock error when clock cannot be used in a pipeline.
1554
1555 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
1556
1557         * docs/gst/gstreamer-sections.txt:
1558           make two symbols from gstinfo private for the docs
1559         * gst/base/gstcollectpads.h:
1560         * gst/gstutils.c:
1561           fix doc typos, update docs
1562
1563 2005-11-22  Wim Taymans  <wim@fluendo.com>
1564
1565         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1566         (gst_base_sink_wait), (gst_base_sink_do_sync),
1567         (gst_base_sink_handle_event):
1568         * gst/base/gstbasesink.h:
1569         No need to store the clock, the parent element class already
1570         has it.
1571
1572         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
1573         Updates for clock_set returning a gboolean
1574
1575         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
1576         (gst_clock_id_wait_async), (gst_clock_class_init),
1577         (gst_clock_init), (gst_clock_finalize),
1578         (gst_clock_get_internal_time), (gst_clock_get_time),
1579         (gst_clock_slave_callback), (gst_clock_set_master),
1580         (gst_clock_get_master), (do_linear_regression),
1581         (gst_clock_add_observation), (gst_clock_set_property),
1582         (gst_clock_get_property):
1583         * gst/gstclock.h:
1584         Implement master/slave. When setting a clock as a slave, a
1585         periodic timeout is scheduled to sample master and slave times.
1586         Then the slave clock is recalibrated to match offset and rate
1587         of the master clock.
1588         Update logging a bit.
1589         Add flag so that a clock can state that is cannot be slaved to
1590         another clock.
1591
1592         * gst/gstelement.c: (gst_element_set_clock):
1593         * gst/gstelement.h:
1594         The set clock returns a gboolean for when an element cannot
1595         deal with the selected clock in the pipeline. 
1596
1597         * gst/gstpipeline.c: (gst_pipeline_change_state),
1598         (gst_pipeline_set_clock):
1599         * gst/gstpipeline.h:
1600         Handle the case where the selected clock cannot be set on
1601         the pipeline.
1602
1603         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
1604         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1605         (gst_net_client_clock_set_property),
1606         (gst_net_client_clock_get_property),
1607         (gst_net_client_clock_observe_times):
1608         * gst/net/gstnetclientclock.h:
1609         Use regression code in GstClock parent, remove duplicated
1610         functionality.
1611
1612 2005-11-22  Michael Smith <msmith@fluendo.com>
1613
1614         * gst/gstutils.c: (gst_util_clock_time_scale):
1615         * gst/gstutils.h:
1616         * docs/gst/gstreamer-sections.txt:
1617           Rename method to have extra underscore.
1618
1619 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1620
1621         * gst/elements/Makefile.am:
1622         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
1623         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1624         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1625         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
1626         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
1627         * gst/elements/gstfakesrc.h:
1628         * gst/gstqueue.c: (queue_leaky_get_type):
1629           correctly fix GEnumValues so that nick is the short lowercase
1630           dashed tag
1631         * tools/gst-inspect.c: (print_element_properties_info):
1632           also show the nick, since it's useful to use from parse_launch
1633           syntax
1634           Fixes #322139
1635
1636 2005-11-22  Michael Smith <msmith@fluendo.com>
1637
1638         * gst/gstutils.c: (gst_util_clocktime_scale):
1639         * gst/gstutils.h:
1640         * docs/gst/gstreamer-sections.txt:
1641           Add util method for scaling a clocktime by a fraction. Useful 
1642           implementation is left as an exercise for the reader.
1643
1644 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1645
1646         * gst/gstvalue.c: (gst_value_collect_fraction_range):
1647         If needed, allocate storage in the destination value during
1648         collection.
1649
1650 2005-11-22  Edward Hervey  <edward@fluendo.com>
1651
1652         * docs/gst/gstreamer-sections.txt:
1653         * gst/Makefile.am:
1654         * gst/gst.h:
1655         * gst/gsturitype.c:
1656         * gst/gsturitype.h:
1657         * gst/gstutils.c: (gst_util_set_object_arg):
1658         * tools/gst-compprep.c: (main):
1659         * tools/gst-inspect.c: (print_element_properties_info):
1660         Removed GstURI, closes bug #321061
1661
1662 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1663
1664         * check/gst/gststructure.c: (GST_START_TEST):
1665         * gst/gststructure.c: (gst_structure_parse_value):
1666           Oops, broke automatic string type parsing.
1667           Add a test to catch it in future.
1668
1669 2005-11-22  Andy Wingo  <wingo@pobox.com>
1670
1671         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
1672         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
1673         Actually rename the function implementations. Grr.
1674
1675 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1676
1677         * check/gst/capslist.h:
1678           Comment test cases
1679         * check/gst/gststructure.c: (GST_START_TEST),
1680         (gst_structure_suite):
1681           Test automatic value type detection in gst_structure_from_string.
1682         * gst/gststructure.c: (gst_structure_parse_value):
1683           Add fraction as a type we try and guess automatically in
1684           caps/structure strings.
1685
1686 2005-11-22  Andy Wingo  <wingo@pobox.com>
1687
1688         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
1689
1690         * gst/gsttagsetter.h:
1691         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
1692         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
1693         (gst_tag_setter_add_tag_valist)
1694         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
1695         _add_values, _add_valist, and _add_valist_values. Since this is an
1696         interface the function suffixes should be more explicit so
1697         language binding don't end up with element.add_valist ->
1698         gst_tag_setter_add_valist, for example. Fixes #322069.
1699
1700 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1701
1702         * check/gst/gstcaps.c: (GST_START_TEST):
1703           Extend caps string tests to check that a caps to string
1704           conversion is reversible and produces the same caps.
1705
1706         * gst/gststructure.c: (gst_structure_value_get_generic_type):
1707           Output "fraction" as the generic type fraction range, so caps
1708           serialisation and deserialisation works.
1709         * check/gst/capslist.h:
1710         * gst/gstvalue.c: (gst_value_deserialize_fraction):
1711           Support 'MIN' and 'MAX' for deserialising fractions.
1712
1713 2005-11-22  Andy Wingo  <wingo@pobox.com>
1714
1715         * gst/gstevent.h (gst_event_new_new_segment)
1716         (gst_event_parse_new_segment, gst_event_new_buffer_size)
1717         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
1718         Renamed from *_newsegment, *_buffersize, *_notarget.
1719
1720         * scripts/update-funcnames: New script, performs the changes
1721         listed above.
1722
1723 2005-11-22  Wim Taymans  <wim@fluendo.com>
1724
1725         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1726         Make sure the GstFlowReturn is returned.
1727
1728         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
1729         (gst_bus_add_signal_watch):
1730         * gst/gstbus.h:
1731         add gst_bus_add_signal_watch_full.
1732
1733         * gst/gstplugin.c: (gst_plugin_load_file):
1734         Small style cleanup.
1735
1736 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1737
1738         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
1739           Block the fakesrc srcpad when we send an event, to avoid
1740           contention on the stream_lock causing random test failures.
1741
1742 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1743
1744         * check/gst/gstvalue.c: (GST_START_TEST):
1745         * gst/gstvalue.c: (gst_value_fraction_subtract):
1746           Fix subtraction.
1747
1748 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
1749
1750         * gst/gst.h:
1751           include "gstchildproxy.h"
1752         * gst/gstchildproxy.h:
1753         * libs/gst/controller/gstcontroller.h:
1754           use G_GNUC_NULL_TERMINATED
1755
1756 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1757
1758         * check/gst/capslist.h:
1759         * check/gst/gstcaps.c: (GST_START_TEST):
1760         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1761         * gst/gststructure.c: (gst_structure_parse_range),
1762         (gst_structure_fixate_field_nearest_fraction):
1763         * gst/gststructure.h:
1764         * gst/gstvalue.c: (gst_value_init_fraction_range),
1765         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
1766         (gst_value_collect_fraction_range),
1767         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
1768         (gst_value_set_fraction_range_full),
1769         (gst_value_get_fraction_range_min),
1770         (gst_value_get_fraction_range_max),
1771         (gst_value_serialize_fraction_range),
1772         (gst_value_transform_fraction_range_string),
1773         (gst_value_compare_fraction_range),
1774         (gst_value_deserialize_fraction_range),
1775         (gst_value_intersect_fraction_fraction_range),
1776         (gst_value_intersect_fraction_range_fraction_range),
1777         (gst_value_subtract_fraction_fraction_range),
1778         (gst_value_subtract_fraction_range_fraction),
1779         (gst_value_subtract_fraction_range_fraction_range),
1780         (gst_value_collect_fraction), (gst_value_fraction_multiply),
1781         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
1782         (gst_value_transform_string_fraction), (_gst_value_initialize):
1783         * gst/gstvalue.h:
1784           Implement fraction ranges and extend GstFraction to support
1785           arithmetic subtraction, as well as deserialization from integer
1786           strings such as "100"
1787           Add a testsuite as for int and double range set operations
1788
1789 2005-11-21  Andy Wingo  <wingo@pobox.com>
1790
1791         * gst/gsttaglist.h: 
1792         * gst/gstcaps.h: 
1793         * gst/gststructure.h: Add glib-compat.h.
1794
1795 2005-11-21  Wim Taymans  <wim@fluendo.com>
1796
1797         * gst/gstbin.c: (gst_bin_change_state_func):
1798         Fix for #321595
1799
1800 2005-11-21  Wim Taymans  <wim@fluendo.com>
1801
1802         * gst/gstsegment.h:
1803         And add a nice define too.
1804
1805 2005-11-21  Wim Taymans  <wim@fluendo.com>
1806
1807         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
1808         (gst_segment_new), (gst_segment_free), (gst_segment_init),
1809         (gst_segment_set_duration), (gst_segment_set_last_stop),
1810         (gst_segment_set_seek), (gst_segment_set_newsegment),
1811         (gst_segment_to_stream_time), (gst_segment_to_running_time),
1812         (gst_segment_clip):
1813         * gst/gstsegment.h:
1814         Make binding friendly.
1815
1816 2005-11-21  Andy Wingo  <wingo@pobox.com>
1817
1818         * gst/gsttagsetter.h: 
1819         * gst/gsttaglist.h: 
1820         * gst/gststructure.h: 
1821         * gst/gstcaps.h: 
1822         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
1823         #319940.
1824
1825         * gst/gsterror.c (_gst_core_errors_init):
1826         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
1827         category.
1828
1829         * gst/Makefile.am (gst_headers): Add glib-compat.h.
1830         (noinst_HEADERS): noinst the -private.
1831
1832 2005-11-21  Michael Smith <msmith@fluendo.com>
1833
1834         * gst/gstplugin.h:
1835         * gst/gstregistry.h:
1836           Remove unimplemented declarations for which we can see no sensible
1837           use.
1838
1839 2005-11-21  Andy Wingo  <wingo@pobox.com>
1840
1841         * gst/gst.h: Include glib-compat.h.
1842
1843         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
1844
1845         * gst/glib-compat.c: Include the public and the private header.
1846
1847         * gst/glib-compat-private.h: Copied here from glib-compat.h.
1848
1849         * gst/gstvalue.c: 
1850         * gst/gstpad.c: 
1851         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
1852
1853         * check/gst/gstevent.c (create_custom_events): Check that
1854         FLUSH_STOP is serialized.
1855
1856         * check/elements/identity.c (event_func): 
1857         * check/elements/fakesrc.c (event_func): No stream lock, the core
1858         takes it.
1859
1860         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
1861         stream lock taking, yay.
1862
1863         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
1864         ensure that core takes the stream lock.
1865
1866         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
1867         lock name change.
1868
1869         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
1870         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
1871         it already. For the flush start we do take it though so we get the
1872         right preroll state change messages.
1873
1874         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
1875         the stream lock here, the core does it for us.
1876
1877         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
1878         GST_STREAM_GET_LOCK.
1879         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
1880         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
1881         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
1882         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
1883         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
1884         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
1885
1886         * gst/gstpad.c: Update for stream lock name change.
1887
1888         * gst/base/gstbasesink.c: Update for preroll lock name change.
1889
1890 2005-11-21  Wim Taymans  <wim@fluendo.com>
1891
1892         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
1893         (gst_clock_get_master):
1894         * gst/gstclock.h:
1895         * gst/gstsystemclock.c: (gst_system_clock_init):
1896         Convert Clock flags to object flags.
1897         Added methods to manage master/slave clocks.
1898
1899 2005-11-21  Wim Taymans  <wim@fluendo.com>
1900
1901         * check/gst/gstsegment.c: (GST_START_TEST):
1902         * docs/design/part-TODO.txt:
1903         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1904         (gst_base_sink_event), (gst_base_sink_do_sync),
1905         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
1906         (gst_base_sink_query), (gst_base_sink_change_state):
1907         * gst/base/gstbasesink.h:
1908         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
1909         (gst_base_src_default_newsegment),
1910         (gst_base_src_configure_segment), (gst_base_src_do_seek),
1911         (gst_base_src_get_range), (gst_base_src_loop),
1912         (gst_base_src_change_state):
1913         * gst/base/gstbasesrc.h:
1914         * gst/base/gstbasetransform.c:
1915         (gst_base_transform_prepare_output_buf),
1916         (gst_base_transform_event), (gst_base_transform_change_state):
1917         * gst/base/gstbasetransform.h:
1918         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
1919         (gst_collect_pads_event):
1920         * gst/base/gstcollectpads.h:
1921         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
1922         (gst_fake_src_create):
1923         * gst/elements/gstfakesrc.h:
1924         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1925         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
1926         (gst_segment_set_last_stop), (gst_segment_set_seek),
1927         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
1928         (gst_segment_to_running_time), (gst_segment_clip):
1929         * gst/gstsegment.h:
1930         More segment updates, replace code in plugins with segment
1931         helper functions.
1932
1933 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
1934
1935         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
1936         Don't ignore sscanf results
1937
1938 2005-11-21  Andy Wingo  <wingo@pobox.com>
1939
1940         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
1941
1942         * *.h:
1943         * *.c: Ran scripts/update-macros. Oh yes.
1944
1945         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
1946         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
1947         GST_GET_LOCK, etc.
1948
1949         * scripts/update-macros: New script. Run it on your files to
1950         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
1951         well.
1952
1953 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1954
1955         * docs/gst/Makefile.am:
1956         * docs/gst/gstreamer-docs.sgml:
1957         * docs/gst/gstreamer-sections.txt:
1958         * docs/gst/gstreamer.types:
1959         * gst/gstinfo.h:
1960           more docs fixes, add new api to the docs
1961
1962 2005-11-21  Andy Wingo  <wingo@pobox.com>
1963
1964         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
1965         state_broadcast call.
1966
1967         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
1968
1969 2005-11-21  Julien MOUTTE  <julien@moutte.net>
1970
1971         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
1972         function calls for arrays.
1973
1974 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
1975
1976         * docs/random/ensonic/media-device-daemon.txt:
1977           wild idea, can this be done?
1978         * docs/gst/gstreamer-sections.txt:
1979         * gst/gsterror.h:
1980         * gst/gstfilter.c:
1981         * gst/gstfilter.h:
1982         * gst/gstplugin.h:
1983         * gst/gstpluginfeature.c:
1984         * gst/gsttrace.c:
1985         * gst/gstvalue.c:
1986         * gst/gstvalue.h:
1987           doc fixes and additions
1988
1989 2005-11-21  Andy Wingo  <wingo@pobox.com>
1990
1991         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
1992         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
1993         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
1994         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
1995         private to the basesrc implementation.
1996
1997         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
1998         behalf of event function if necessary. It should no longer be
1999         necessary to take the stream lock in pad's event functions. Fixes
2000         #320299.
2001
2002 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2003         * docs/gst/gstreamer-sections.txt:
2004         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
2005         (gst_structure_fixate_field_nearest_double),
2006         (gst_structure_fixate_field_boolean):
2007         * gst/gststructure.h:
2008         * win32/common/libgstreamer.def:
2009         * win32/gstreamer.def:
2010
2011         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
2012         (#322027)
2013
2014 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2015
2016         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
2017         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
2018         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
2019         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
2020         (gst_fdsrc_uri_handler_init):
2021         * gst/elements/gstfdsrc.h:
2022           Port fd:// URI handler from 0.8 to fdsrc
2023
2024 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2025
2026         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
2027         (gst_value_serialize_fourcc):
2028         * gst/gstvalue.h:
2029           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
2030           consistent with our other format defines (#320324).
2031
2032 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2033
2034         * gst/gstvalue.c: (gst_value_is_fixed):
2035           Revert previous commit. Value lists are by definition
2036           not fixed, as they are a list of possible values.
2037
2038 2005-11-21  Andy Wingo  <wingo@pobox.com>
2039
2040         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
2041         during the stable series if we need it. Fixes #319178.
2042
2043         * gst/gstevent.c (gst_event_new_filler): Removed.
2044
2045         * check/gst/gstevent.c: Update comment about filler events.
2046
2047 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2048
2049         * gst/gstvalue.c: (gst_value_is_fixed):
2050           Should handle both value arrays and value lists.
2051
2052 2005-11-21  Andy Wingo  <wingo@pobox.com>
2053
2054         patch by: Alessandro Dessina <alessandro nnva org>
2055
2056         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
2057         functions to access arrays. Fixes #321962.
2058
2059 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2060
2061         * docs/gst/gstreamer.types:
2062           gst_collectpads_get_type => gst_collect_pads_get_type.
2063           
2064         * gst/base/gstbasetransform.c:
2065           Remove unused SIGNAL_HANDOFF enum.
2066
2067 2005-11-21  Andy Wingo  <wingo@pobox.com>
2068
2069         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
2070         the event type (upstream, downstream, serialized). Renamed
2071         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
2072         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
2073         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
2074
2075         * gst/gstevent.c: Update for new CUSTOM event names.
2076
2077         * check/gst/gstevent.c: Update check for new CUSTOM event names.
2078
2079         * gst/gstevent.h:
2080         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
2081         bug #319392.
2082
2083 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2084
2085         * docs/gst/gstreamer-sections.txt:
2086         * win32/common/libgstbase.def:
2087         * win32/libgstbase.def:
2088         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2089         (gst_collect_pads_class_init), (gst_collect_pads_init),
2090         (gst_collect_pads_finalize), (gst_collect_pads_new),
2091         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
2092         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
2093         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
2094         (gst_collect_pads_start), (gst_collect_pads_stop),
2095         (gst_collect_pads_peek), (gst_collect_pads_pop),
2096         (gst_collect_pads_available), (gst_collect_pads_read),
2097         (gst_collect_pads_flush), (gst_collect_pads_event),
2098         (gst_collect_pads_chain):
2099         * gst/base/gstcollectpads.h:
2100           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
2101           unimplemented functions as unimplemented. Add padding to
2102           GstCollectData. (#320766, #320423)
2103
2104 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2105
2106         * gst/gstmessage.c:
2107           Improve docs for DURATION message (usage of duration parameter)
2108           (#320113)
2109
2110 2005-11-20  Wim Taymans  <wim@fluendo.com>
2111
2112         * check/Makefile.am:
2113         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
2114         (main):
2115         * gst/Makefile.am:
2116         * gst/gst.h:
2117         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2118         (gst_segment_set_seek), (gst_segment_set_newsegment),
2119         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2120         (gst_segment_clip):
2121         * gst/gstsegment.h:
2122         Added segment helper structure and methods. Not fully implemented
2123         yet.
2124         Added segment check.
2125
2126 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
2127
2128         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2129           Add a deserialisation test for fractions
2130         * examples/metadata/read-metadata.c: (message_loop),
2131         (make_pipeline), (main):
2132           Fix up metadata reading sample.
2133         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2134           Debug format fix
2135         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2136           Don't try and fixate empty caps
2137         * gst/gst_private.h:
2138           Wrap in G_BEGIN_DECLS/G_END_DECLS
2139         * gst/gstvalue.c: (gst_value_collect_fraction),
2140         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
2141         (gst_value_transform_string_fraction),
2142         (gst_value_compare_fraction):
2143           Add some extra guards to ensure that we don't end up 
2144           with an invalid denominator of 0 in a gstfraction and
2145           that fractions always get reduced.
2146
2147 2005-11-20  Wim Taymans  <wim@fluendo.com>
2148
2149         * docs/gst/gstreamer-sections.txt:
2150         * gst/gstbuffer.h:
2151         * gst/gstelement.c:
2152         * gst/gstformat.c:
2153         * gst/gstformat.h:
2154         * gst/gstindex.h:
2155         * gst/gstquery.c:
2156         * gst/gstquery.h:
2157         * gst/gstvalue.c:
2158         Doc fixes.
2159
2160 2005-11-20  Wim Taymans  <wim@fluendo.com>
2161
2162         * docs/design/part-TODO.txt:
2163         * gst/gstcaps.h:
2164         Make a proper enum of the flag.
2165
2166 2005-11-19  Wim Taymans  <wim@fluendo.com>
2167
2168         * docs/design/part-TODO.txt:
2169         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
2170         (gst_format_to_quark), (gst_format_register):
2171         * gst/gstformat.h:
2172         * gst/gstquery.c: (_gst_query_initialize),
2173         (gst_query_type_get_name), (gst_query_type_to_quark),
2174         (gst_query_type_register):
2175         * gst/gstquery.h:
2176         Add type to quark and type to string conversions.
2177
2178 2005-11-19  Andy Wingo  <wingo@pobox.com>
2179
2180         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
2181         #320097.
2182
2183 2005-11-19  Wim Taymans  <wim@fluendo.com>
2184
2185         * docs/design/part-TODO.txt:
2186         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
2187         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
2188         (gst_bin_handle_message_func):
2189         * gst/gstbin.h:
2190         Make message handling overridable.
2191
2192 2005-11-19  Andy Wingo  <wingo@pobox.com>
2193
2194         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
2195
2196         * gst/gstclock.h:
2197         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
2198         be a GstClockTime.
2199         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
2200         is a GstClockTime. Fixes #321710.
2201
2202         * gst/gstclock.h (GstClock): Remove offset property. Add
2203         internal_calibration and external_calibration. Fix padding. Pad
2204         also by GstClockTime so we don't run into problems.
2205
2206         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
2207         (gst_clock_get_rate_offset): Remove.
2208         (gst_clock_set_time_adjust): Remove. Fixes #321712.
2209
2210         * gst/gstutils.h:
2211         * gst/gstutils.c (g_static_rec_cond_wait)
2212         (g_static_rec_cond_timed_wait): Removed, no longer needed.
2213
2214         * gst/gstbin.c: Remove terrible continue_state prototype.
2215
2216         * gst/gstelement.h (gst_element_continue_state): Make public.
2217
2218         * gst/gstelement.h:
2219         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
2220         by continue_state. Fixes #319389.
2221
2222         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
2223         Really fixes #168438. However I don't see anywhere where the
2224         filter function is called... stupid GStreamer...
2225         
2226         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
2227         don't have a dispose function, so it won't get called when the
2228         object is unreffed, but oh well!
2229
2230         * gst/gstindex.c (gst_index_set_filter_full): New API function,
2231         allows a destroy function to be set so user_data can be freed.
2232         Fixes #168438.
2233         (gst_index_set_filter): Call gst_index_set_filter_full.
2234
2235         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
2236
2237         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
2238         string should produce an error, given the lack of a way to
2239         represent NULL strings. Fixes #165650.
2240         
2241         * gst/gstvalue.h: 
2242         * gst/gstvalue.c (gst_value_array_append_value) 
2243         (gst_value_array_prepend_value, gst_value_array_get_size) 
2244         (gst_value_array_get_value): New API, copied from
2245         gst_value_list_*, only operates on arrays.
2246         (gst_value_list_append_value, gst_value_list_prepend_value) 
2247         (gst_value_list_concat, gst_value_list_get_size) 
2248         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
2249
2250         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
2251         init_list, because it works on both.
2252         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
2253         (gst_value_copy_list_or_array): Renamed from copy_list.
2254         (gst_value_free_list_or_array): Renamed from free_list.
2255         (gst_value_collect_list_or_array): Renamed from collect_list.
2256         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
2257         (gst_value_list_or_array_peek_pointer): Renamed from
2258         list_peek_pointer.
2259         (_gst_value_array_value_table, _gst_value_list_value_table):
2260         Update value table functions.
2261         (gst_value_compare_list_or_array): Renamed from compare_list.
2262
2263         * gsttaglist.h: Whoops, foreach function returns void. Also fix
2264         some constness.
2265
2266         * gst/gsttaglist.c:
2267         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
2268         GstTagList*. Fixes #143472.
2269
2270         * gst/gststructure.h: Clarify what the foreach/map functions can
2271         or can't do to their arguments.
2272
2273 2005-11-18  Wim Taymans  <wim@fluendo.com>
2274
2275         * gst/gstclock.c: (gst_clock_set_calibration),
2276         (gst_clock_get_calibration):
2277         Doc and API fixes.
2278         Calibration can be set with internal time equal to current
2279         internal time too.
2280
2281 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2282
2283         * gst/gsterror.c:
2284         * gst/gsterror.h:
2285           document
2286
2287 2005-11-18  Andy Wingo  <wingo@pobox.com>
2288
2289         * configure.ac: 
2290         * pkgconfig/gstreamer-net.pc.in:
2291         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2292         * pkgconfig/Makefile.am: Add net pkgconfig files.
2293
2294 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
2295
2296         * gst/gstcaps.c:
2297         * gst/gstghostpad.c:
2298         * gst/gsttrace.c:
2299         * gst/gstvalue.c:
2300         * gst/gstvalue.h:
2301           docs fixes
2302
2303 2005-11-18  Andy Wingo  <wingo@pobox.com>
2304
2305         * gst/net/gstnetclientclock.c: Turn off debugging.
2306
2307         * check/net/gstnetclientclock.c (test_functioning): Assert that the
2308         times connverge somewhat. Can't make a real test.
2309
2310         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
2311         integer arithmetic. Return the minimum of the domain, which can be
2312         set as "internal" for gst_clock_set_calibration.
2313         (gst_net_client_clock_observe_times): Call _set_calibration.
2314         (gst_net_client_clock_new): Call _set_calibration instead of
2315         rate_offset.
2316
2317         * check/net/gstnetclientclock.c (test_functioning): Use the right
2318         adjustment api.
2319
2320         * gst/gstclock.h:
2321         * gst/gstclock.c (gst_clock_get_calibration) 
2322         (gst_clock_set_calibration): New functions, obsolete the ones I
2323         added yesterday. Doh. Precision issues mean we have to extrapolate
2324         from a point in the more recent past than 1970.
2325         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
2326         obsolete.
2327         (gst_clock_adjust_unlocked): Use the right calibration data.
2328
2329 2005-11-18  Edward Hervey  <edward@fluendo.com>
2330
2331         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
2332         Also reset the ->current_* values in READY->PAUSED
2333
2334 2005-11-18  Andy Wingo  <wingo@pobox.com>
2335
2336         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
2337         Whoops, check the right fd. Also add some debugging.
2338         (gst_net_client_clock_observe_times): Adjust for int64 offset.
2339         (do_linear_regression): Add a crapload of debugging. Subtract off
2340         the minimum values from the input series to discard unneeded bits.
2341         Use only int arithmetic. There is still double arithmetic when
2342         calculating the intercept that needs fixing. Return boolean to
2343         indicate success; FALSE would mean the domain or range is too
2344         great. Still needs fixes.
2345
2346 2005-11-18  Wim Taymans  <wim@fluendo.com>
2347
2348         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2349         For the current position in stream time, we need to subtract
2350         accumulated time.
2351         
2352         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2353         Release lock before calling the callback function of async
2354         entries.
2355
2356 2005-11-18  Andy Wingo  <wingo@pobox.com>
2357
2358         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
2359         Port goes all the way to MAXUINT16.
2360
2361         * gst/net/gstnettimeprovider.c: Make the port range the same as
2362         for the kernel: 0 assigns, otherwise ports are less than
2363         MAXUINT16.
2364
2365         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
2366         port change.
2367
2368         * check/net/gstnetclientclock.c (test_functioning): Add the start
2369         of another test. 
2370
2371 2005-11-18  Wim Taymans  <wim@fluendo.com>
2372
2373         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2374         (gst_bin_remove_func), (bin_bus_handler):
2375         * gst/gstbin.h:
2376         Removing a clock provider from a bin, triggers a clock lost message
2377         so that a new clock will be selected.
2378         Adding a clock to a bin triggers a clock provider message.
2379         Make sure we reselect a clock when we received a clock lost message.
2380         Keep a reference to the element that provided the clock.
2381
2382 2005-11-18  Andy Wingo  <wingo@pobox.com>
2383
2384         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2385         the clock initially so it produces values around the base time.
2386         (gst_net_client_clock_class_init): Typo fix.
2387         (gst_net_client_clock_thread): Add note on when the socket gets
2388         closed.
2389
2390 2005-11-17  Wim Taymans  <wim@fluendo.com>
2391
2392         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2393         Free remote and local time arrays.
2394
2395 2005-11-17  Wim Taymans  <wim@fluendo.com>
2396
2397         * gst/net/gstnetclientclock.c: (do_linear_regression),
2398         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2399         Fix compilation, uninitialized vars and a forgotten continue.
2400
2401 2005-11-17  Andy Wingo  <wingo@pobox.com>
2402
2403         * check/Makefile.am (check_PROGRAMS): 
2404         * check/net/gstnetclientclock.c: Add a most minimal test for the
2405         net client clock. More to come later.
2406
2407         * gst/net/gstnet.h: 
2408         * gst/net/Makefile.am: Add netclientclock.
2409
2410         * gst/net/gstnetclientclock.h:
2411         * gst/net/gstnetclientclock.c: New files, implement an untested
2412         GstClock that takes its time from a network time provider.
2413         Implements the algorithm in network-clock.scm.
2414
2415         * tests/network-clock.scm (*window-size*): Rename from
2416         *queue-length*.
2417         * tests/network-clock.scm (network-time): 
2418         * tests/network-clock-utils.scm (q-push): Update callers.
2419
2420 2005-11-17  Wim Taymans  <wim@fluendo.com>
2421
2422         * gst/gstbin.c: (gst_bin_provide_clock_func),
2423         (gst_bin_sort_iterator_new):
2424         And unref the child too..
2425
2426 2005-11-17  Wim Taymans  <wim@fluendo.com>
2427
2428         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2429         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2430         Refactor the sort iterator so it can be used while holding the
2431         LOCK too.
2432         Make clock selection select a clock closest to the source.
2433
2434 2005-11-17  Michael Smith <msmith@fluendo.com>
2435
2436         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2437         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2438         * gst/gstclock.h:
2439           Anonymous structs are a gcc (and some other compilers) extension, so
2440           don't use them. Since this is only for ABI-compatibility, and our
2441           API/ABI freeze is over in a few days, this whole thing will only
2442           last a few days, so don't bother trying to think up a meaningful
2443           name for the struct.
2444
2445 2005-11-17  Andy Wingo  <wingo@pobox.com>
2446
2447         * gst/gstclock.h (GstClock): Add rate and offset properties,
2448         preserving ABI stability. Add rate/offset accessors. Will file bug
2449         for the freeze break.
2450
2451         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2452         and offset, trying to keep precision and avoiding
2453         underflow/overflow.
2454         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2455         functions. Make gst_clock_set_time_adjust obsolete.
2456         (gst_clock_set_time_adjust): Note that this function is obsolete.
2457         Will file bug soon.
2458
2459         * gst/base/gstbasetransform.h: Make the ABI-stability hack
2460         greppable by using GST_PADDING-1+1.
2461
2462 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
2463
2464         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2465
2466         * gst/gstmessage.c: (gst_message_parse_clock_lost):
2467           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2468
2469         * gst/gstpadtemplate.h:
2470         * gst/gstpluginfeature.h:
2471           Don't use c++ style comments in headers (#321638).
2472
2473 2005-11-16  Andy Wingo  <wingo@pobox.com>
2474
2475         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2476         buffer.
2477
2478         * check/net/gstnettimeprovider.c: Check to see that the time
2479         provider actually provides times. Works, yo!
2480
2481 2005-11-16  Wim Taymans  <wim@fluendo.com>
2482
2483         * check/Makefile.am:
2484         Enable more tests.
2485
2486         * check/elements/fakesrc.c: (GST_START_TEST):
2487         Set element to NULL before disposing it.
2488
2489 2005-11-16  Andy Wingo  <wingo@pobox.com>
2490
2491         * gst/net/Makefile.am:
2492         * gst/net/gstnet.h:
2493         * gst/net/gstnettimeprovider.c: 
2494         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2495         provider, include it from gstnet.h, and add it to the build.
2496
2497         * gst/net/gstnettimepacket.h: 
2498         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2499         sending and receiving.
2500
2501 2005-11-16  Wim Taymans  <wim@fluendo.com>
2502
2503         * check/Makefile.am:
2504         Enable valgrind check.
2505
2506         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2507         (gst_fake_src_alloc_buffer):
2508         Fix memleak.
2509
2510 2005-11-16  Wim Taymans  <wim@fluendo.com>
2511
2512         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2513         Call parent finalize too.
2514
2515 2005-11-16  Wim Taymans  <wim@fluendo.com>
2516
2517         * check/Makefile.am:
2518         Enable valgrind check that should work fine now.
2519
2520         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2521         * gst/gstqueue.c: (gst_queue_init):
2522         Fix memleaks in pad allocation.
2523
2524 2005-11-16  Andy Wingo  <wingo@pobox.com>
2525
2526         * gst/net/Makefile.am:
2527         * gst/net/gstnet.h: New part of core to hold network elements and
2528         objects. Put in core because it exposes API that applications want
2529         to use. The library is named libgstnet-tempname right now because
2530         of the existing libgstnet in gst-plugins-base. Solution is
2531         probably to rename the one in plugins-base; will file a bug for
2532         the freeze break.
2533
2534         * gst/net/gstnettimeprovider.c: 
2535         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2536         get_time call over the network.
2537
2538         * configure.ac: 
2539         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2540
2541         * check/Makefile.am:
2542         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2543         get additions shortly.
2544
2545 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2546
2547         * gst/gstpad.c: (gst_pad_new_from_static_template):
2548         * gst/gstpad.h:
2549           add gst_pad_new_from_static_template functions
2550         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2551         (gst_check_setup_sink_pad):
2552         * gst/elements/gsttee.c: (gst_tee_init):
2553           and use them
2554
2555 2005-11-16  Wim Taymans  <wim@fluendo.com>
2556
2557         * gst/gstpad.c: (gst_pad_pause_task):
2558         Removed warning, it's not really an error either.
2559
2560 2005-11-16  Wim Taymans  <wim@fluendo.com>
2561
2562         * gst/base/gstbasetransform.c:
2563         (gst_base_transform_prepare_output_buf),
2564         (gst_base_transform_event):
2565         Check if the caps are NULL, this can happen if the element
2566         is shutting down and the pad caps are set to NULL.
2567
2568 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2569
2570         * gst/elements/gsttee.c: (gst_tee_init):
2571           fix pad template leak in tee
2572
2573 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2574
2575         * gst/glib-compat.c: (g_value_dup_gst_object):
2576         * gst/glib-compat.h:
2577         * gst/gstpad.c: (gst_pad_set_property):
2578           use gst_object_ref when setting the pad template; this will
2579           trigger the pad template leaks on GLib 2.6 and the slaves
2580
2581 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2582
2583         * gst/glib-compat.c: (gst_flags_get_first_value):
2584         * gst/glib-compat.h:
2585         * gst/gstregistryxml.c:
2586           remove functions copied from GLib 2.6
2587
2588 2005-11-16  Michael Smith <msmith@fluendo.com>
2589
2590         * gst/Makefile.am:
2591           Don't link against VALGRIND_LIBS. That was always the wrong thing to
2592           do, but only breaks with newer valgrind versions. We're not a
2593           valgrind tool, we have no link-time dependencies on libcoregrind.
2594
2595 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2596
2597         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2598           some debug changes
2599         * gst/gstmessage.h:
2600           typo fixes
2601
2602 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2603
2604         * gst/base/gstbasesrc.c: (gst_base_src_init):
2605         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2606         * gst/gstqueue.c: (gst_queue_init):
2607         * gst/gstregistryxml.c: (load_feature):
2608           Revert all these unrefs, they don't even pass make check !
2609
2610 2005-11-15  Johan Dahlin  <johan@gnome.org>
2611
2612         * gst/base/gstbasesrc.c: (gst_base_src_init):
2613         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2614         * gst/gstqueue.c: (gst_queue_init): 
2615         Free pad templates, fixes a couple of leaks.
2616
2617 2005-11-15  Daniel Fischer  <dan at f3c dot com>
2618
2619         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2620
2621         * gst/gstpad.c: (gst_pad_get_property):
2622           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
2623           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
2624           (#321452)
2625
2626 2005-11-15  Wim Taymans  <wim@fluendo.com>
2627
2628         * gst/gstevent.c:
2629         Small doc update.
2630
2631 2005-11-15  Andy Wingo  <wingo@pobox.com>
2632
2633         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
2634
2635         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
2636         using GST_CLOCK_TIME_NONE to disable base time management.
2637         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
2638         time if it was NONE before.
2639         (gst_pipeline_change_state): Only munge the base time if
2640         stream_time != GST_CLOCK_TIME_NONE.
2641
2642         * check/gst/gstpipeline.c (test_base_time): Punt around the
2643         problem of the probe not being called, because that's not the
2644         issue I'm looking at. Add a check that setting stream_time to NONE
2645         disables base time management.
2646         
2647 2005-11-15  Wim Taymans  <wim@fluendo.com>
2648
2649         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2650         segment_stop == -1 at startup.
2651
2652         * gst/base/gstbasetransform.c: (gst_base_transform_event),
2653         (gst_base_transform_change_state):
2654         Init segment values at start.
2655
2656 2005-11-15  Wim Taymans  <wim@fluendo.com>
2657
2658         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2659         0 segment values are 0 in any format.
2660
2661         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2662         * gst/base/gstbasetransform.h:
2663         Parse newsegment correctly in basetransform
2664
2665         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2666         Sync to clock using updated segment values.
2667
2668 2005-11-15  Andy Wingo  <wingo@pobox.com>
2669
2670         * check/gst/gstpipeline.c (test_base_time): Add check that the
2671         base time and stream time are reset correctly.
2672
2673 2005-11-15  Wim Taymans  <wim@fluendo.com>
2674
2675         * docs/design/part-TODO.txt:
2676         Some more TODO items.
2677
2678 2005-11-15  Andy Wingo  <wingo@pobox.com>
2679
2680         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
2681         error if the user selected "no clock" as the clocking method.
2682
2683         * check/gst/gstpipeline.c (test_base_time): New test for buffer
2684         timestamps with live capture.
2685
2686         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
2687         is 0 but we are a live source, timestamp the buffers using the
2688         element's clock.
2689
2690 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
2691
2692         * docs/gst/gstreamer-sections.txt:
2693         * gst/gsterror.c:
2694         * gst/gstghostpad.c:
2695         * gst/gstobject.h:
2696         * gst/gstxml.c:
2697           more section docs
2698
2699 2005-11-14  Wim Taymans  <wim@fluendo.com>
2700
2701         * common/gst.supp:
2702           add suppressions from Wim's Debian machine
2703
2704 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2705
2706         * common/gst.supp:
2707           add suppressions from Andy's AMD64 Ubuntu machine
2708
2709 2005-11-14  Andy Wingo  <wingo@pobox.com>
2710
2711         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
2712         STATE_LOCK not necessary. Fixes #311489.
2713
2714         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
2715         #305291.
2716
2717         * gst/gstindex.c (gst_index_add_object): Note in the docs that
2718         this function is not implemented.
2719
2720 2005-11-14  Julien MOUTTE  <julien@moutte.net>
2721
2722         * gst/base/gstbasetransform.c:
2723         (gst_base_transform_prepare_output_buf):
2724         Ref the source pad caps while we need them.
2725         Fixes (#321386)
2726
2727 2005-11-11  Wim Taymans  <wim@fluendo.com>
2728
2729         * docs/gst/gstreamer-sections.txt:
2730         Added some docs for GstCollectData.
2731
2732         * gst/base/gstadapter.c:
2733         Some small code example fix.
2734
2735         * gst/base/gstcollectpads.c:
2736         * gst/base/gstcollectpads.h:
2737         Document some more.
2738
2739 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2740
2741         * configure.ac: back to HEAD
2742
2743 === release 0.9.5 ===
2744
2745 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
2746
2747         * configure.ac:
2748           releasing 0.9.5, "Bike Lunch Day"
2749
2750 2005-11-11  Wim Taymans  <wim@fluendo.com>
2751
2752         * gst/gstbuffer.c: (_gst_buffer_copy):
2753         Copy more flags.
2754
2755         * gst/gstcaps.c: (gst_caps_is_equal):
2756         Fix some docs.
2757         Make _is_equal fast in the trivial cases.
2758
2759         * gst/gstminiobject.c:
2760         * gst/gstminiobject.h:
2761         More docs. Spifify .h file.
2762
2763         * gst/gstutils.c:
2764         Small doc update.
2765
2766 2005-11-11  Wim Taymans  <wim@fluendo.com>
2767
2768         * gst/base/gstbasetransform.c:
2769         (gst_base_transform_prepare_output_buf),
2770         (gst_base_transform_handle_buffer):
2771         Small cleanups.
2772         If we're processing a buffer and need to allocate an output
2773         buffer, we cannot accept a format change. If we did get a 
2774         format change, we have to alloc a buffer ourselves of the 
2775         right size.
2776
2777 2005-11-11  Wim Taymans  <wim@fluendo.com>
2778
2779         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
2780         While checking the flag for reentrancy in the gstcaps function
2781         is nice to detect recursive invocations, it also makes it 
2782         impossible to call getcaps from multiple threads, which must be
2783         possible. So, checking for recursive calls has to go.
2784
2785 2005-11-11  Michael Smith <msmith@fluendo.com>
2786
2787         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2788           Don't sync on buffers that fall partially outside our current
2789           segment. Prevents an assertion failure/abort playing some files.
2790
2791 2005-11-10  Andy Wingo  <wingo@pobox.com>
2792
2793         * check/gst/gstbin.c (test_message_state_changed_children): Style
2794         fix..
2795
2796         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
2797         gst_bus_poll with the signal watch. Ensures that poll and a signal
2798         watch see the same messages.
2799
2800         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
2801         a poll and a watch at the same time get the same messages.
2802
2803 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2804
2805         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
2806         * gst/gstcaps.c: (gst_caps_intersect):
2807           Don't call gst_caps_do_simplify - it doesn't respect order of caps
2808           and it's not needed.
2809
2810 2005-11-10  Wim Taymans  <wim@fluendo.com>
2811
2812         * docs/design/part-TODO.txt:
2813         Updated todo.
2814
2815 2005-11-10  Wim Taymans  <wim@fluendo.com>
2816
2817         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2818         * gst/base/gstbasesrc.c: (gst_base_src_wait),
2819         (gst_base_src_do_sync), (gst_base_src_get_range):
2820         Implement clock sync in base class.
2821
2822 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2823
2824         patch by: Tim-Philipp Müller <tim at centricular dot net>
2825
2826         * gst/gststructure.c: (gst_structure_parse_field),
2827         (gst_structure_from_string):
2828           Forward-port a 0.8 patch to handle escaped spaces in structure string,
2829           so that gst_parse_launch() can deal with spaces in filtered link
2830           caps (fixes #164479)
2831         * check/gst/capslist.h:
2832         * check/gst/gststructure.c: (GST_START_TEST):
2833           add unit tests for this change
2834
2835 2005-11-10  Wim Taymans  <wim@fluendo.com>
2836
2837         * docs/gst/gstreamer-sections.txt:
2838         * gst/gstelement.c:
2839         * gst/gstelement.h:
2840         Fix docs, move some STATE macros to private.
2841
2842 2005-11-10  Wim Taymans  <wim@fluendo.com>
2843
2844         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
2845         Added check for bug #317341
2846
2847         * gst/gstbuffer.c:
2848         * gst/gstbuffer.h:
2849         Some more spiffifying.
2850
2851         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
2852         Call peer linkfunction if we are a source pad. Totally fixes
2853         #317341
2854
2855         * gst/gstpad.c:
2856         Update docs, source pads should call the peer linkfunction
2857         so they can atomically perform the pad link.
2858
2859 2005-11-09  Wim Taymans  <wim@fluendo.com>
2860
2861         * gst/gstbuffer.c:
2862         * gst/gstbuffer.h:
2863         Uber-spiffy-spiffify some more.
2864
2865 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
2866
2867         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
2868         * gst/elements/gstfilesink.c: (gst_file_sink_init):
2869         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2870         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
2871         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
2872         * gst/gstpad.c: (gst_pad_init):
2873           Use GST_DEBUG_FUNCPTR() more extensively.
2874
2875 2005-11-09  Wim Taymans  <wim@fluendo.com>
2876
2877         * gst/gstobject.c: (gst_object_class_init):
2878         * gst/gstobject.h:
2879         Documentation fixes.
2880
2881 2005-11-09  Edward Hervey  <edward@fluendo.com>
2882
2883         * gst/gsttypefindfactory.c:
2884         Fix docs.
2885         
2886 2005-11-09  Edward Hervey  <edward@fluendo.com>
2887
2888         * gst/base/gsttypefindhelper.c:
2889         * gst/gsttypefind.c:
2890         * gst/gsttypefind.h:
2891         Fix docs.
2892
2893 2005-11-09  Wim Taymans  <wim@fluendo.com>
2894
2895         * gst/gstiterator.c:
2896         Fix revision data.
2897
2898         * gst/gsttask.c:
2899         * gst/gsttask.h:
2900         Fix docs.
2901
2902 2005-11-09  Wim Taymans  <wim@fluendo.com>
2903
2904         * gst/gstevent.h:
2905         * gst/gsturi.h:
2906         Fix docs.
2907
2908 2005-11-09  Wim Taymans  <wim@fluendo.com>
2909
2910         * docs/gst/gstreamer-sections.txt:
2911         Moved the message async delivery private lock and cond
2912         to the private section.
2913
2914         * gst/gstmessage.c:
2915         * gst/gstmessage.h:
2916         Fixed docs.
2917
2918 2005-11-09  Edward Hervey  <edward@fluendo.com>
2919
2920         * docs/gst/gstreamer-sections.txt:
2921         * gst/gsturi.c:
2922         * gst/gsturi.h:
2923         Document GstURIHandler
2924
2925 2005-11-09  Wim Taymans  <wim@fluendo.com>
2926
2927         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
2928         (gst_iterator_find_custom):
2929         * gst/gstiterator.h:
2930         Fix iterator docs.
2931
2932 2005-11-09  Wim Taymans  <wim@fluendo.com>
2933
2934         * gst/gstbin.h:
2935         Document another field.
2936
2937         * gst/gststructure.c:
2938         * gst/gststructure.h:
2939         Document.
2940
2941 2005-11-09  Wim Taymans  <wim@fluendo.com>
2942
2943         * gst/gstbin.h:
2944         Documented structs.
2945
2946 2005-11-09  Wim Taymans  <wim@fluendo.com>
2947
2948         * docs/gst/gstreamer-sections.txt:
2949         Added some new macros.
2950
2951         * gst/gstclock.c:
2952         * gst/gstclock.h:
2953         * gst/gstobject.h:
2954         Docs updates.
2955
2956 2005-11-09  Wim Taymans  <wim@fluendo.com>
2957
2958         * docs/design/part-TODO.txt:
2959         Some more items for the TODO
2960
2961         * gst/gstcaps.c:
2962         * gst/gstcaps.h:
2963         Document GstCaps.
2964
2965 2005-11-09  Andy Wingo  <wingo@pobox.com>
2966
2967         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
2968         to work on something else now tho...
2969
2970         * gst/base/gstadapter.c: More adapter docs.
2971
2972         * gst/elements/gstfilesink.c (gst_file_sink_start) 
2973         (gst_file_sink_stop): New functions, replace the state change
2974         handler.
2975         (gst_file_sink_class_init): Hook up the start and stop functions.
2976         (gst_file_sink_base_init): Don't set the state change handler any
2977         more. It was a bit ugly too, being set from here...
2978         (gst_file_sink_get_property, gst_file_sink_set_property):
2979         Cleanups...
2980         (gst_file_sink_set_location): More robust check that doesn't call
2981         GST_STATE. Ugggggg.
2982
2983 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
2984
2985         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2986           Hold STREAM_LOCK while pushing newsegment or tag events as well.
2987
2988 2005-11-08  Wim Taymans  <wim@fluendo.com>
2989
2990         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2991         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
2992         (gst_base_sink_chain), (gst_base_sink_change_state):
2993         * gst/base/gstbasesink.h:
2994         * gst/base/gstbasesrc.h:
2995         * gst/gstelement.h:
2996         * gst/gstevent.h:
2997         Avoid excessive typechecking in macros.
2998
2999         * gst/gstminiobject.c: (gst_mini_object_get_type),
3000         (gst_mini_object_init), (gst_mini_object_new),
3001         (gst_mini_object_free):
3002         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
3003         (gst_object_finalize):
3004         Remove cruft code, optimize alloc_trace.
3005
3006 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3007
3008         * docs/faq/gst-uninstalled:
3009           fix up PS1 for systems that try to reset it
3010
3011 2005-11-07  Wim Taymans  <wim@fluendo.com>
3012
3013         * gst/base/gstbasesrc.c: (gst_base_src_init),
3014         (gst_base_src_get_range):
3015         Set the segment_end to -1 initially. Fixed typefind.
3016
3017 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
3018
3019         * gst/base/gstadapter.c:
3020           Debug category should be 'adapter', not 'GstAdapter'.
3021           
3022         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
3023         (gst_collectpads_class_init), (gst_collectpads_init),
3024         (gst_collectpads_peek), (gst_collectpads_pop),
3025         (gst_collectpads_event), (gst_collectpads_chain):
3026           Add debug category and some debugging output. Use boilerplate
3027           macros. Remove some extraneous words from docs.
3028
3029 2005-11-05  Andy Wingo  <wingo@pobox.com>
3030
3031         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
3032         macro.
3033
3034 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3035
3036         * docs/gst/gstreamer-sections.txt:
3037         * gst/gstcaps.h:
3038         * gst/gstinfo.c:
3039         * gst/gstminiobject.h:
3040         * gst/gstobject.h:
3041         * gst/gstutils.h:
3042           more docs added
3043
3044 2005-11-04  Wim Taymans  <wim@fluendo.com>
3045
3046         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3047         Small update to stop at the configured segment_end
3048         position.
3049
3050 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3051
3052         * gst/gstregistry.c:
3053         * gst/gstregistry.h:
3054           added missing docs
3055
3056 2005-11-04  Edward Hervey  <edward@fluendo.com>
3057
3058         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3059         Check if we are doing a segment seek and have arrived at the
3060         end of that segment.
3061
3062 2005-11-04  Wim Taymans  <wim@fluendo.com>
3063
3064         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
3065         Don't leak a mutex unlock in case of an error.
3066
3067         * gst/gstbus.h:
3068         Doc fixes.
3069
3070 2005-11-04  Wim Taymans  <wim@fluendo.com>
3071
3072         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
3073         (gst_bus_post):
3074         Get the context to wake up only once.
3075
3076 2005-11-03  Wim Taymans  <wim@fluendo.com>
3077
3078         * check/states/sinks.c: (GST_START_TEST):
3079         Uncomment fixed check.
3080
3081         * docs/design/part-TODO.txt:
3082         Updated TODO.
3083
3084         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3085         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3086         (gst_base_sink_get_position):
3087         If we are going to PLAYING, post the right pending state
3088         when we post the intermediate paused message.
3089
3090         * gst/gstelement.c: (gst_element_continue_state),
3091         (gst_element_set_state_func), (gst_element_change_state):
3092         Don't post state changes that were between the same state
3093         and were not ASYNC.
3094
3095 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3096
3097         * docs/gst/gstreamer-sections.txt:
3098         * gst/gstcaps.h:
3099         * gst/gstinfo.c:
3100         * gst/gstminiobject.h:
3101         * gst/gstobject.h:
3102         * gst/gstutils.h:
3103           more docs and doc style fixes
3104
3105 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3106
3107         * docs/gst/gstreamer-sections.txt:
3108         * gst/gstelement.c:
3109         * gst/gstminiobject.c:
3110         doc fixes
3111
3112 2005-11-03  Andy Wingo  <wingo@pobox.com>
3113
3114         * check/states/sinks.c (test_livesrc_sink): Add checks that the
3115         state-changed messages actually have the right order and the right
3116         values.
3117
3118 2005-11-03  Wim Taymans  <wim@fluendo.com>
3119
3120         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3121         Added some more checks. Specifically the case where NO_PREROLL
3122         elements are in the pipeline.
3123
3124         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3125         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3126         (gst_base_sink_get_position):
3127         Post READY->PAUSED state change messages too.
3128         Fix bug where VOID was posted as pending state...
3129
3130         * gst/gstbin.c: (gst_bin_recalc_state):
3131         use _element_continue_state() to continue the state change.
3132
3133         * gst/gstelement.c: (gst_element_continue_state),
3134         (gst_element_commit_state), (gst_element_set_state_func),
3135         (gst_element_change_state), (gst_element_change_state_func):
3136         Lots of state change cleanups, assign the STATE_RETURN in
3137         a new continue_state() function that also propagates the
3138         last return value from a state change to the app.
3139         Update some debug statements with proper category.
3140
3141 2005-11-03  Wim Taymans  <wim@fluendo.com>
3142
3143         * docs/design/part-events.txt:
3144         * docs/design/part-gstpipeline.txt:
3145         * docs/design/part-messages.txt:
3146         * docs/design/part-overview.txt:
3147         * docs/design/part-seeking.txt:
3148         * docs/design/part-states.txt:
3149         * docs/design/part-trickmodes.txt:
3150         * docs/manual/advanced-position.xml:
3151         Small docs updates.
3152
3153         * gst/gstobject.h:
3154         People think !! is ugly, this looks better.
3155
3156         * gst/gstpad.c: (gst_pad_set_blocked_async):
3157         Remove !! since it's fixed elsewhere now.
3158
3159 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3160
3161         * gst/gstminiobject.h:
3162         * gst/gstobject.h:
3163           Add !! to _FLAG_IS_SET macros to make the result boolean.
3164
3165 2005-11-03  Edward Hervey  <edward@fluendo.com>
3166
3167         * gst/gstpad.c: (gst_pad_set_blocked_async):
3168         comparing a flag and a gboolean rarely returns coherent results...
3169         Added two characters (!!) to make that work correctly.
3170         
3171 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3172
3173         * gst/gstbus.c: (gst_bus_class_init):
3174           Fix some typos.
3175           
3176         * gst/gstqueue.c: (gst_queue_loop):
3177           Don't assume a miniobject that isn't a buffer is an
3178           event (it could be that there is a refcounting
3179           problem somewhere and the pointer is stale and
3180           refers to an already destroyed miniobject).
3181
3182 2005-11-03  Julien MOUTTE  <julien@moutte.net>
3183
3184         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
3185
3186 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3187
3188         * docs/manual/advanced-position.xml:
3189           Update seek example and explanations to current 0.9 API.
3190
3191         * gst/elements/gsttypefindelement.c:
3192         (gst_type_find_element_activate):
3193           Remove FIXME comment now that the found caps
3194           are unreffed.
3195
3196 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3197
3198         * gst/gstregistryxml.c: (load_feature):
3199           Add another GST_STR_NULL instance
3200
3201 2005-11-02  Edward Hervey  <edward@fluendo.com>
3202
3203         * gst/gstpad.c: (handle_pad_block):
3204         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
3205         
3206 2005-11-02  Wim Taymans  <wim@fluendo.com>
3207
3208         * gst/gstbin.c:
3209         Fix typo in docs.
3210
3211         * gst/gstelement.c: (gst_element_commit_state):
3212         Remove unused value.
3213
3214         * gst/gstiterator.c:
3215         Mention that the returned element is reffed in the docs.
3216
3217 2005-11-02  Wim Taymans  <wim@fluendo.com>
3218
3219         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
3220         (gst_pad_push), (gst_pad_push_event):
3221         Unlock blocked pads when they are flushed.
3222
3223 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3224
3225         * docs/README:
3226         * docs/gst/gstreamer-sections.txt:
3227         * gst/gstbin.c:
3228           doc updates
3229         * gst/gstregistry.c: (gst_registry_scan_path_level):
3230           fix for a nasty little missed situation where an installed plug-in
3231           which was in the cache did not get overridden by an uninstalled one
3232           which was earlier in the plugin path because the newly created plugin
3233           for the uninstalled one (not in the registry) didn't get its
3234           ->registered set to TRUE
3235
3236 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3237
3238         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
3239         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
3240         (gst_collectpads_is_active), (gst_collectpads_collect),
3241         (gst_collectpads_collect_range), (gst_collectpads_start),
3242         (gst_collectpads_stop), (gst_collectpads_peek),
3243         (gst_collectpads_pop), (gst_collectpads_available),
3244         (gst_collectpads_read), (gst_collectpads_flush):
3245           Guard public API with assertions.
3246         
3247         * gst/gstpad.c:
3248           Fix docs for gst_pad_set_link_function().
3249
3250 2005-11-02  Johan Dahlin  <johan@gnome.org>
3251
3252         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
3253         Unref found_caps after we used it.
3254
3255 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3256
3257         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
3258           Don't try to ref NULL.
3259
3260 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3261
3262         * win32/common/config.h.in:
3263           provide a GST_FUNCTION that just gives a string for now
3264
3265 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3266
3267         * win32/common/gstenumtypes.c: (register_gst_object_flags),
3268         (gst_object_flags_get_type), (register_gst_bin_flags),
3269         (gst_bin_flags_get_type), (register_gst_buffer_flag),
3270         (gst_buffer_flag_get_type), (register_gst_bus_flags),
3271         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3272         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
3273         (gst_clock_return_get_type), (register_gst_clock_entry_type),
3274         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3275         (gst_clock_flags_get_type), (register_gst_state),
3276         (gst_state_get_type), (register_gst_state_change_return),
3277         (gst_state_change_return_get_type), (register_gst_state_change),
3278         (gst_state_change_get_type), (register_gst_element_flags),
3279         (gst_element_flags_get_type), (register_gst_core_error),
3280         (gst_core_error_get_type), (register_gst_library_error),
3281         (gst_library_error_get_type), (register_gst_resource_error),
3282         (gst_resource_error_get_type), (register_gst_stream_error),
3283         (gst_stream_error_get_type), (register_gst_event_type),
3284         (gst_event_type_get_type), (register_gst_seek_type),
3285         (gst_seek_type_get_type), (register_gst_seek_flags),
3286         (gst_seek_flags_get_type), (register_gst_format),
3287         (gst_format_get_type), (register_gst_index_certainty),
3288         (gst_index_certainty_get_type), (register_gst_index_entry_type),
3289         (gst_index_entry_type_get_type),
3290         (register_gst_index_lookup_method),
3291         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3292         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3293         (gst_index_resolver_method_get_type), (register_gst_index_flags),
3294         (gst_index_flags_get_type), (register_gst_debug_level),
3295         (gst_debug_level_get_type), (register_gst_debug_color_flags),
3296         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3297         (gst_iterator_result_get_type), (register_gst_iterator_item),
3298         (gst_iterator_item_get_type), (register_gst_message_type),
3299         (gst_message_type_get_type), (register_gst_mini_object_flags),
3300         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3301         (gst_pad_link_return_get_type), (register_gst_flow_return),
3302         (gst_flow_return_get_type), (register_gst_activate_mode),
3303         (gst_activate_mode_get_type), (register_gst_pad_direction),
3304         (gst_pad_direction_get_type), (register_gst_pad_flags),
3305         (gst_pad_flags_get_type), (register_gst_pad_presence),
3306         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3307         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3308         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3309         (gst_plugin_error_get_type), (register_gst_plugin_flags),
3310         (gst_plugin_flags_get_type), (register_gst_rank),
3311         (gst_rank_get_type), (register_gst_query_type),
3312         (gst_query_type_get_type), (register_gst_tag_merge_mode),
3313         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3314         (gst_tag_flag_get_type), (register_gst_task_state),
3315         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3316         (gst_alloc_trace_flags_get_type),
3317         (register_gst_type_find_probability),
3318         (gst_type_find_probability_get_type), (register_gst_uri_type),
3319         (gst_uri_type_get_type), (register_gst_parse_error),
3320         (gst_parse_error_get_type):
3321         * win32/common/gstversion.h:
3322           update win32 copies
3323
3324 2005-11-01  Luca Ognibene  <luogni@tin.it>
3325
3326         * gst/gst.c:
3327           fix docs. popt is dead, long live GOption.
3328
3329 2005-10-31  Wim Taymans  <wim@fluendo.com>
3330
3331         * gst/gstbuffer.h:
3332         Small doc fix.
3333
3334 2005-10-31  Andy Wingo  <wingo@pobox.com>
3335
3336         * Boo!
3337
3338         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
3339
3340         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
3341         need to serialize property notifications on GLib 2.8. GLib 2.6 has
3342         the possibility of deadlocks here if code calling notify() or
3343         set() has a lock that can be taken in another notify handler (ABBA
3344         with class lock and e.g. python GIL state lock).
3345
3346 2005-10-28  Julien MOUTTE  <julien@moutte.net>
3347
3348         * gst/gstbus.c: Doc updates.
3349
3350 2005-10-28  Wim Taymans  <wim@fluendo.com>
3351
3352         * docs/design/part-TODO.txt:
3353         * gst/gstiterator.c:
3354         * gst/gstsystemclock.c:
3355         * gst/gstsystemclock.h:
3356         Doc updates.
3357
3358 2005-10-28  Edward Hervey  <edward@fluendo.com>
3359
3360         * docs/gst/gstreamer-docs.sgml:
3361         * docs/gst/gstreamer-sections.txt:
3362         the GstURIType documentation page is private, it only defines GstURIType
3363         which should be defined in the GstURIHandler page
3364         
3365 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3366
3367         * gst/gstbin.c: (gst_bin_class_init):
3368         * gst/gstbin.h:
3369         * gst/gstutils.c:
3370         Documentation updates.
3371
3372 2005-10-28  Wim Taymans  <wim@fluendo.com>
3373
3374         * docs/gst/gstreamer-sections.txt:
3375         * gst/gstclock.c:
3376         * gst/gstclock.h:
3377         Documented the clocks.
3378
3379 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
3380
3381         * docs/gst/gstreamer-sections.txt:
3382           move some macros to private sections
3383         * gst/gstminiobject.c:
3384         * gst/gstminiobject.h:
3385           add descriptions provided by ds and some more
3386         * gst/gstpad.h:
3387           mark macro as to be removed
3388
3389 2005-10-28  Wim Taymans  <wim@fluendo.com>
3390
3391         * docs/design/part-TODO.txt:
3392         Add an item to TODO.
3393
3394         * gst/gstiterator.c: (gst_iterator_fold),
3395         (gst_iterator_find_custom):
3396         * gst/gstiterator.h:
3397         Add iterator docs.
3398
3399 2005-10-28  Wim Taymans  <wim@fluendo.com>
3400
3401         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3402         (gst_base_transform_init):
3403         Don't leak class.
3404
3405         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3406         An EOS event marks the queue as completely filled.
3407
3408 2005-10-27  Wim Taymans  <wim@fluendo.com>
3409
3410         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3411         (gst_base_sink_do_sync), (gst_base_sink_get_position):
3412         Some more debugging.
3413
3414         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3415         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3416         (gst_base_transform_event), (gst_base_transform_getrange),
3417         (gst_base_transform_chain):
3418         * gst/base/gstbasetransform.h:
3419         Fix debugging,
3420         Protect transform and concurrent buffer alloc with a new lock.
3421         Try not to break ABI/API.
3422
3423 2005-10-27  Wim Taymans  <wim@fluendo.com>
3424
3425         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3426         (gst_base_src_init), (gst_base_src_query),
3427         (gst_base_src_default_newsegment),
3428         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3429         (gst_base_src_send_event), (gst_base_src_event_handler),
3430         (gst_base_src_pad_get_range), (gst_base_src_loop),
3431         (gst_base_src_unlock), (gst_base_src_default_negotiate),
3432         (gst_base_src_start), (gst_base_src_deactivate),
3433         (gst_base_src_activate_push), (gst_base_src_change_state):
3434         Move some stuff around and cleanup things.
3435
3436 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
3437
3438         * gst/base/gstbasesrc.c: (gst_base_src_query):
3439           Add missing break statements.
3440
3441 2005-10-27  Wim Taymans  <wim@fluendo.com>
3442
3443         * check/gst/gstbin.c: (GST_START_TEST):
3444         An extra refcount is taken in basesrc.
3445
3446         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3447         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3448         (gst_base_src_loop):
3449         Small cleanups, check for flushing after being unlocked from the 
3450         LIVE_LOCK. take refcounts correctly (not yet everywhere).
3451         Don't send out EOS when going to READY.
3452
3453 2005-10-27  Wim Taymans  <wim@fluendo.com>
3454
3455         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3456         (gst_base_sink_get_position):
3457         Some more debug.
3458
3459         * gst/gstbin.c: (message_check), (bin_replace_message),
3460         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3461         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3462         (bin_query_duration_init), (bin_query_duration_fold),
3463         (bin_query_duration_done), (bin_query_generic_fold),
3464         (gst_bin_query):
3465         * tools/gst-launch.c: (main):
3466         Remove old option.
3467
3468 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
3469
3470         * examples/controller/audio-example.c: (main):
3471         * examples/queue/queue.c: (event_loop):
3472         * gst/base/gstbasetransform.h:
3473         * gst/gstelement.c: (gst_element_send_event):
3474         * gst/gstevent.h:
3475         * gst/gstpad.c: (gst_pad_send_event):
3476           fixing examples
3477           fixing docs typos
3478           changing log priority in error situations
3479
3480 2005-10-25  Wim Taymans  <wim@fluendo.com>
3481
3482         * gst/gstbin.c: (message_check), (bin_replace_message),
3483         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3484         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3485         (bin_query_duration_init), (bin_query_duration_fold),
3486         (bin_query_duration_done), (bin_query_generic_fold),
3487         (gst_bin_query):
3488         Some doc and debug updates.
3489         Cache previously requested query DURATION for speed. invalidate
3490         cached duration if element posts a DURATION message.
3491
3492 2005-10-25  Wim Taymans  <wim@fluendo.com>
3493
3494         * docs/design/part-TODO.txt:
3495         Update TODO.
3496
3497         * gst/gstbin.c: (message_check), (bin_replace_message),
3498         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3499         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3500         (bin_query_duration_init), (bin_query_duration_fold),
3501         (bin_query_duration_done), (bin_query_generic_fold),
3502         (gst_bin_query):
3503         Handle SEGMENT_START/DONE messages correctly.
3504         More evolved query algorithm that handles duration queries
3505         correctly.
3506
3507         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3508         (gst_element_get_state_func), (gst_element_abort_state),
3509         (gst_element_commit_state), (gst_element_lost_state):
3510         Some more debugging.
3511
3512         * gst/gstmessage.h:
3513         Added doc.
3514
3515 2005-10-25  Wim Taymans  <wim@fluendo.com>
3516
3517         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3518         Don't use invalid stream_time.
3519
3520         * gst/gstevent.c: (gst_event_new_newsegment):
3521         stream_time in newsegment cannot be undefined.
3522
3523 2005-10-24  Wim Taymans  <wim@fluendo.com>
3524
3525         * gst/gstbus.c:
3526         Doc fix.
3527
3528         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3529         (gst_queue_loop):
3530         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3531
3532 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
3533
3534         * docs/libs/tmpl/gstdparam.sgml:
3535         * docs/libs/tmpl/gstdplinint.sgml:
3536         * docs/libs/tmpl/gstdpman.sgml:
3537         * docs/libs/tmpl/gstdpsmooth.sgml:
3538         * docs/libs/tmpl/gstunitconvert.sgml:
3539           these are obsolete
3540
3541 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3542
3543         * configure.ac:
3544           back to HEAD
3545
3546 === release 0.9.4 ===
3547
3548 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3549
3550         * configure.ac:
3551           releasing 0.9.4, "Tyrannosaurus Rex"
3552
3553 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
3554
3555         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3556         (gst_file_sink_get_current_offset):
3557           Use fseeko() and ftello() if available. When falling back on
3558           lseek() to get the current offset, fflush() first to make sure
3559           everything is up-to-date and we get the right offset.
3560
3561 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3562
3563         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3564         * gst/base/gstbasesrc.c: (gst_base_src_loop):
3565         * gst/gsterror.c: (_gst_stream_errors_init):
3566         * gst/gsterror.h:
3567         * gst/gstqueue.c: (gst_queue_loop):
3568         * po/POTFILES.in:
3569           remove prematurely added error category and clean up the instances
3570
3571 2005-10-21  Wim Taymans  <wim@fluendo.com>
3572
3573         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3574         (gst_base_sink_get_position), (gst_base_sink_query),
3575         (gst_base_sink_change_state):
3576         Simply set the right flag when going to playing, that's all
3577         we need to do instead of calling a function inside the object
3578         lock (that could take the lock as well and deadlock)
3579
3580 2005-10-21  Wim Taymans  <wim@fluendo.com>
3581
3582         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
3583         (gst_base_src_loop):
3584         Don't warn, the peer element knows what to do best when
3585         the seek failed, it might try something else.
3586
3587 2005-10-21  Wim Taymans  <wim@fluendo.com>
3588
3589         * gst/base/gstbasesrc.c: (gst_base_src_init),
3590         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3591         Fix seeking.
3592
3593 2005-10-21  Wim Taymans  <wim@fluendo.com>
3594
3595         * docs/design/part-segments.txt:
3596         More docs.
3597
3598         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3599         Correctly set caps, even on the subbufer.
3600
3601 2005-10-21  Wim Taymans  <wim@fluendo.com>
3602
3603         * docs/gst/gstreamer-docs.sgml:
3604         * docs/gst/gstreamer-sections.txt:
3605         * gst/gstelement.h:
3606         * gst/gstevent.c:
3607         * gst/gstevent.h:
3608         * gst/gstmessage.h:
3609         * gst/gstpad.h:
3610         * gst/gstparse.h:
3611         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
3612         * gst/gsttask.h:
3613         * gst/gstutils.c:
3614         * gst/gstutils.h:
3615         And 2% more doc coverage.
3616
3617 2005-10-21  Andy Wingo  <wingo@pobox.com>
3618
3619         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
3620         position reporting.
3621
3622 2005-10-20  Wim Taymans  <wim@fluendo.com>
3623
3624         * gst/gsterror.c: (gst_error_get_message):
3625         * gst/gstparse.h:
3626         * gst/gstquery.h:
3627         * gst/gststructure.c:
3628         * gst/gsttrace.c:
3629         * gst/gstutils.c:
3630         More docs.
3631
3632 2005-10-20  Wim Taymans  <wim@fluendo.com>
3633
3634         * gst/gstbuffer.h:
3635         * gst/gstpad.c:
3636         * gst/gstparse.c:
3637         Another 1% more coverage.
3638
3639 2005-10-20  Wim Taymans  <wim@fluendo.com>
3640
3641         * docs/gst/gstreamer-sections.txt:
3642         * gst/gstelement.c: (gst_element_get_state_func),
3643         (gst_element_abort_state), (gst_element_commit_state),
3644         (gst_element_lost_state):
3645         * gst/gstevent.h:
3646         * gst/gstquery.c: (gst_query_set_position),
3647         (gst_query_parse_position), (gst_query_set_duration),
3648         (gst_query_parse_duration), (gst_query_new_convert):
3649         * gst/gstutils.c:
3650         Yay! 1% more docs coverage.
3651
3652 2005-10-20  Wim Taymans  <wim@fluendo.com>
3653
3654         * gst/gstpad.h:
3655         * gst/gstquery.c: (gst_query_set_position),
3656         (gst_query_parse_position), (gst_query_set_duration),
3657         (gst_query_parse_duration), (gst_query_new_convert):
3658         * gst/gstquery.h:
3659         * gst/gstutils.c: (gst_element_query_convert):
3660         * gst/gstutils.h:
3661         Docs and consistency fixes.
3662
3663 2005-10-20  Wim Taymans  <wim@fluendo.com>
3664
3665         * gst/gsttask.c:
3666         * gst/gsttask.h:
3667         More docs.
3668
3669 2005-10-20  Wim Taymans  <wim@fluendo.com>
3670
3671         * gst/gstbin.c: (message_check), (bin_replace_message),
3672         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3673         (update_degree), (gst_bin_sort_iterator_next),
3674         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
3675         Reworked the message handling a bit, cache the messages instead of
3676         only the senders. alows us to do more in the future.
3677
3678 2005-10-20  Wim Taymans  <wim@fluendo.com>
3679
3680         * docs/design/part-TODO.txt:
3681         Update TODO
3682
3683         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3684         (gst_base_sink_query):
3685         Don't use clock time to report position when in EOS.
3686
3687 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
3688
3689         * tools/gst-inspect.c: (print_interfaces),
3690         (print_element_properties_info), (print_element_info):
3691           Fix interface output with gst-inspect -a; don't print
3692           newlines after double/float properties.
3693
3694 2005-10-20  Wim Taymans  <wim@fluendo.com>
3695
3696         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3697         (gst_base_sink_query):
3698         Speed up current position calculation.
3699
3700         * gst/base/gstbasesrc.c: (gst_base_src_query),
3701         (gst_base_src_default_newsegment):
3702         Correctly set stream position in newsegment.
3703
3704         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
3705         (update_degree), (gst_bin_sort_iterator_next),
3706         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
3707         * gst/gstmessage.c: (gst_message_new_custom):
3708         Clean up debugging info
3709
3710         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
3711         (gst_queue_loop), (gst_queue_handle_src_query):
3712         Pause task faster.
3713
3714 2005-10-19  Wim Taymans  <wim@fluendo.com>
3715
3716         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3717         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3718         Fix query handling again.
3719
3720 2005-10-19  Wim Taymans  <wim@fluendo.com>
3721
3722         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3723         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
3724         * gst/base/gstbasesrc.c: (gst_base_src_query):
3725         * gst/elements/gstfilesink.c: (gst_file_sink_query):
3726         * gst/elements/gsttypefindelement.c:
3727         (gst_type_find_handle_src_query), (find_element_get_length),
3728         (gst_type_find_element_activate):
3729         API change fix.
3730
3731         * gst/gstquery.c: (gst_query_new_position),
3732         (gst_query_set_position), (gst_query_parse_position),
3733         (gst_query_new_duration), (gst_query_set_duration),
3734         (gst_query_parse_duration), (gst_query_set_segment),
3735         (gst_query_parse_segment):
3736         * gst/gstquery.h:
3737         Bundling query position/duration is not a good idea since duration
3738         does not change much and we don't want to recalculate it for every
3739         position query, so they are separated again..
3740         Base value in segment query is not needed.
3741
3742         * gst/gstqueue.c: (gst_queue_handle_src_query):
3743         * gst/gstutils.c: (gst_element_query_position),
3744         (gst_element_query_duration), (gst_pad_query_position),
3745         (gst_pad_query_duration):
3746         * gst/gstutils.h:
3747         Updates for query API change.
3748         Added some docs here and there.
3749
3750 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3751
3752         * check/gst/gstbin.c: (GST_START_TEST):
3753         * check/gst/gstghostpad.c: (GST_START_TEST):
3754         * check/pipelines/cleanup.c: (GST_START_TEST):
3755           wait on thread to die so we can check refcount correctly
3756
3757 2005-10-18  Wim Taymans  <wim@fluendo.com>
3758
3759         * check/pipelines/stress.c: (GST_START_TEST):
3760         Make check a little more time consuming.
3761
3762 2005-10-18  Wim Taymans  <wim@fluendo.com>
3763
3764         * check/Makefile.am:
3765         * check/pipelines/stress.c: (GST_START_TEST),
3766         (simple_launch_lines_suite), (main):
3767         Small state change torture test.
3768
3769         * docs/design/part-states.txt:
3770         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3771         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
3772         (gst_base_sink_change_state):
3773         Never take state lock from streaming thread, clean up ugly
3774         hacks. Unfortunatly core does not yet support nice ways to
3775         async commit state.
3776         
3777         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
3778         (bin_bus_handler):
3779         Start state recalc if a STATE_DIRTY message is posted, but only
3780         on the toplevel bin.
3781
3782         * gst/gstelement.c: (gst_element_sync_state_with_parent),
3783         (gst_element_get_state_func), (gst_element_abort_state),
3784         (gst_element_commit_state), (gst_element_lost_state),
3785         (gst_element_set_state_func), (gst_element_change_state):
3786         * gst/gstelement.h:
3787         State variables are now protected with the LOCK, the state
3788         lock is only used to serialize _set_state().
3789
3790 2005-10-18  Wim Taymans  <wim@fluendo.com>
3791
3792         * check/gst/gstbin.c: (GST_START_TEST):
3793         * check/gst/gstmessage.c: (GST_START_TEST):
3794         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3795         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
3796         (bin_bus_handler):
3797         * gst/gstelement.c: (gst_element_abort_state),
3798         (gst_element_commit_state), (gst_element_lost_state):
3799         * gst/gstmessage.c: (gst_message_new_state_changed),
3800         (gst_message_new_state_dirty), (gst_message_new_segment_start),
3801         (gst_message_new_segment_done), (gst_message_new_duration),
3802         (gst_message_parse_state_changed),
3803         (gst_message_parse_segment_start),
3804         (gst_message_parse_segment_done), (gst_message_parse_duration):
3805         * gst/gstmessage.h:
3806         * tools/gst-launch.c: (event_loop):
3807         Seriously, this is better than a previous commit as we only need
3808         to notify the fact that an element changed state in a streaming
3809         thread, marking the state of the parents dirty, hence the 
3810         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
3811         message.
3812
3813 2005-10-18  Wim Taymans  <wim@fluendo.com>
3814
3815         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
3816         (gst_bin_recalc_func):
3817         * gst/gstelement.c: (gst_element_set_clock),
3818         (gst_element_abort_state), (gst_element_lost_state):
3819         Cleanups, prepare for state change fixes.
3820
3821 2005-10-18  Wim Taymans  <wim@fluendo.com>
3822
3823         * gst/gstbin.h:
3824         * gst/gstelement.c: (gst_element_class_init),
3825         (gst_element_set_state), (gst_element_set_state_func):
3826         * gst/gstelement.h:
3827         Pending ABI changes.
3828         GThreadPool in GstBinClass to monitor async state changes.
3829         state_cookie in GstElement to detect concurrent gst/set state.
3830         set_state is now virtual too in case a very complicated element
3831         has to be constructed.
3832
3833 2005-10-18  Wim Taymans  <wim@fluendo.com>
3834
3835         * check/gst/gstbin.c: (GST_START_TEST):
3836         * check/gst/gstmessage.c: (GST_START_TEST):
3837         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
3838         * gst/gstbin.c: (bin_bus_handler):
3839         * gst/gstelement.c: (gst_element_commit_state),
3840         (gst_element_lost_state):
3841         * gst/gstmessage.c: (gst_message_new_state_changed),
3842         (gst_message_new_segment_start), (gst_message_new_segment_done),
3843         (gst_message_new_duration), (gst_message_parse_state_changed),
3844         (gst_message_parse_segment_start),
3845         (gst_message_parse_segment_done), (gst_message_parse_duration):
3846         * gst/gstmessage.h:
3847         * tools/gst-launch.c: (event_loop):
3848         Make messages future proof.
3849         state-change gets a flag if it was a message comming from the
3850         streaming thread.
3851         segment-start/stop can also be specified in other formats.
3852         A message to notify an app that a pipeline changed playback 
3853         duration.
3854         Also fix a GstMessage leak in -launch
3855
3856 2005-10-18  Andy Wingo  <wingo@pobox.com>
3857
3858         * gst/gstelement.c (gst_element_dispose): More helpful message.
3859
3860 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3861
3862         reviewed by: <delete if not using a buddy>
3863
3864         * common/gtk-doc.mak:
3865
3866 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3867
3868         * gst/gstregistry.c: (gst_registry_scan_path_level):
3869           unref a plug-in we get that was already initialized
3870
3871 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
3872
3873         * docs/gst/gstreamer-sections.txt:
3874         * docs/libs/gstreamer-libs-sections.txt:
3875         * gst/gstelement.h:
3876           add new api entries
3877           hide internal macro
3878
3879 2005-10-17  Andy Wingo  <wingo@pobox.com>
3880
3881         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
3882         cleanup.
3883
3884         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
3885
3886         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
3887
3888         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
3889         (gst_element_get_state_func): Better debug message.
3890         (gst_element_commit_state): s/INFO/DEBUG/.
3891         (gst_element_lost_state, gst_element_change_state): 
3892
3893         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
3894         (gst_message_new_custom): s/INFO/LOG/.
3895
3896 2005-10-17  Michael Smith <msmith@fluendo.com>
3897
3898         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3899           Check if end time is valid using end time, not start time.
3900
3901 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
3902
3903         * check/gst-libs/controller.c: (GST_START_TEST),
3904         (gst_controller_suite):
3905         * libs/gst/controller/gstcontroller.c:
3906         (gst_controlled_property_set_interpolation_mode):
3907         * libs/gst/controller/gstcontroller.h:
3908         * libs/gst/controller/gstinterpolation.c:
3909         * testsuite/controller/.cvsignore:
3910         * testsuite/controller/Makefile.am:
3911         * testsuite/controller/interpolator.c:
3912           merge controller testsuites
3913           fix broken tests
3914           remove mem-chunk from docs
3915
3916 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3917
3918         * gst/gstmemchunk.c:
3919         * gst/gstmemchunk.h:
3920         * gst/gsttrashstack.c:
3921         * gst/gsttrashstack.h:
3922           out.  get out.  you're fired.  to the Attic !
3923
3924 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3925
3926         * gst/gstcaps.c: (gst_caps_intersect):
3927           fix signedness issues in a (hopefully) correct way
3928         * gst/gstelement.c: (gst_element_pads_activate):
3929           some debugging
3930         * gst/gstobject.c: (gst_object_set_parent):
3931           some debugging
3932
3933 2005-10-17  Julien MOUTTE  <julien@moutte.net>
3934
3935         * gst/gstvalue.h: Fix prototypes.
3936
3937 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3938
3939         * docs/gst/gstreamer-sections.txt:
3940         * gst/gst.c: (gst_version_string):
3941         * gst/gst.h:
3942         * gst/gstversion.h.in:
3943         * win32/common/libgstreamer.def:
3944           add gst_version_string ()
3945
3946 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3947
3948         * configure.ac:
3949           clean up further
3950         * gst/gst.c: (init_post):
3951         * win32/common/config.h.in:
3952           it's PLUGINDIR now
3953         * gst/gstcaps.c: (gst_caps_intersect):
3954           use gint64, the range could be bigger than a guint
3955
3956 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3957
3958         * gst/gstclock.h:
3959           document potential problem in 2038
3960
3961 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3962
3963         * gst/gstcaps.c: (gst_caps_intersect):
3964           Fix guint j diving under 0
3965
3966 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3967
3968         * configure.ac:
3969         * win32/common/config.h:
3970         * win32/common/config.h.in:
3971           check for process.h, declares getpid() on Windows
3972         * gst/gstinfo.c:
3973           include process.h if we have it
3974         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
3975         * gst/gstmemchunk.h:
3976           fix signedness issues
3977         * win32/common/libgstreamer.def:
3978           fix get_type's
3979
3980 2005-10-16  Julien MOUTTE  <julien@moutte.net>
3981
3982         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
3983         fix. Because of unsigned ints, caps intersection was going nuts and
3984         trying to access structures with G_MAXUINT index. That fixes
3985         videotestsrc ! ffmpegcolorspace ! fakesink
3986         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
3987         consistency.
3988
3989 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3990
3991         * configure.ac:
3992           use the gettext macro
3993         * gst/elements/gstelements.c:
3994         * gst/gst.c:
3995         * gst/indexers/gstindexers.c:
3996           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
3997         * win32/common/config.h:
3998           updated config.h
3999         * win32/common/config.h.in:
4000           add the template to generate config.h
4001         * win32/common/gstenumtypes.c:
4002         * win32/common/gstversion.h:
4003           updated copies
4004
4005 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4006
4007         * gst/gst.c: (gst_version):
4008         * gst/gstversion.h.in:
4009           add the nano
4010
4011 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4012
4013         * gst/gstevent.h:
4014           Oops, add missing closing bracket.
4015
4016 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4017
4018         * configure.ac:
4019           use common m4's for argument checking
4020
4021 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4022
4023         * docs/gst/gstreamer-sections.txt:
4024         * gst/gstevent.h:
4025           Add GST_EVENT_TYPE_NAME() macro.
4026
4027 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4028
4029         * gst/gstinfo.c:
4030         * gst/gstpluginfeature.c:
4031         * gst/gsttask.c:
4032           privatize more symbols
4033
4034 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4035
4036         * configure.ac:
4037           add srcdir, builddir includes to GST_ALL_CFLAGS, since
4038           everything that uses GStreamer API should have the includes
4039
4040 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4041
4042         * docs/gst/gstreamer-sections.txt:
4043         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
4044         * gst/gstvalue.h:
4045           give each value a _get_type, removes the DATA exports
4046
4047 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4048
4049         * gst/gst.c:
4050         * gst/gst.h:
4051           remove _gst_registry_auto_load, not used anymore
4052         * gst/gstbin.c: (gst_bin_get_type):
4053         * gst/gstbin.h:
4054         * gst/gstelement.c: (gst_element_get_type):
4055         * gst/gstelement.h:
4056         * gst/gstobject.c: (gst_object_get_type):
4057         * gst/gstobject.h:
4058         * gst/gstpad.c: (gst_pad_get_type):
4059         * gst/gstpad.h:
4060           make _get_type functions similar, fixes data export from library
4061
4062 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4063
4064         * configure.ac:
4065           correctly make conditionals
4066         * gst/elements/Makefile.am:
4067         * gst/elements/gstelements.c:
4068           fix typo causing fdsrc not to build
4069
4070 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4071
4072         * testsuite/Makefile.am:
4073         * testsuite/bytestream/.cvsignore:
4074         * testsuite/bytestream/Makefile.am:
4075         * testsuite/bytestream/filepadsink.c:
4076         * testsuite/bytestream/gstbstest.c:
4077         * testsuite/bytestream/test1.c:
4078         * testsuite/bytestream/testfile1:
4079         * testsuite/caps/normalisation.c:
4080         * testsuite/caps/random.c: (main):
4081         * testsuite/cleanup/.cvsignore:
4082         * testsuite/cleanup/Makefile.am:
4083         * testsuite/cleanup/cleanup1.c:
4084         * testsuite/cleanup/cleanup2.c:
4085         * testsuite/cleanup/cleanup3.c:
4086         * testsuite/cleanup/cleanup4.c:
4087         * testsuite/cleanup/cleanup5.c:
4088         * testsuite/controller/interpolator.c:
4089         * testsuite/debug/printf_extension.c: (main):
4090         * testsuite/elements/tee.c:
4091         * testsuite/negotiation/.cvsignore:
4092         * testsuite/negotiation/Makefile.am:
4093         * testsuite/negotiation/pad_link.c:
4094         * testsuite/pad/Makefile.am:
4095         * testsuite/pad/chainnopull.c:
4096         * testsuite/pad/getnopush.c:
4097         * testsuite/pad/link.c:
4098         * testsuite/refcounting/sched.c: (create_pipeline):
4099         * testsuite/registry/Makefile.am:
4100         * testsuite/registry/gst-print-formats.c:
4101         * testsuite/schedulers/.cvsignore:
4102         * testsuite/schedulers/142183-2.c:
4103         * testsuite/schedulers/142183.c:
4104         * testsuite/schedulers/143777-2.c:
4105         * testsuite/schedulers/143777.c:
4106         * testsuite/schedulers/147713.c:
4107         * testsuite/schedulers/147819.c:
4108         * testsuite/schedulers/147894-2.c:
4109         * testsuite/schedulers/147894.c:
4110         * testsuite/schedulers/Makefile.am:
4111         * testsuite/schedulers/group_link.c:
4112         * testsuite/schedulers/queue_link.c:
4113         * testsuite/schedulers/relink.c:
4114         * testsuite/schedulers/unlink.c:
4115         * testsuite/schedulers/unref.c:
4116         * testsuite/schedulers/useless_iteration.c:
4117         * testsuite/states/bin.c:
4118           clean out/remove some stuff from the testsuite directories
4119
4120 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4121
4122         * configure.ac:
4123           check for some headers
4124         * gst/elements/Makefile.am:
4125         * gst/elements/gstelements.c:
4126           don't compile fdsrc without sys/socket.h
4127         * gst/indexers/Makefile.am:
4128         * gst/indexers/gstindexers.c: (plugin_init):
4129           don't compile fileindex without mmap
4130
4131 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4132
4133         * configure.ac:
4134           reorganize
4135           clean up
4136           document more
4137           remove cruft
4138         * check/Makefile.am:
4139         * docs/gst/Makefile.am:
4140         * examples/helloworld/Makefile.am:
4141         * gst/Makefile.am:
4142         * gst/base/Makefile.am:
4143         * gst/check/Makefile.am:
4144         * gst/elements/Makefile.am:
4145         * gst/indexers/Makefile.am:
4146         * gst/parse/Makefile.am:
4147         * libs/gst/controller/Makefile.am:
4148         * libs/gst/dataprotocol/Makefile.am:
4149         * examples/helloworld/helloworld.c: (event_loop):
4150           compile fixes, though it's not being compiled currently
4151
4152 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4153
4154         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
4155           Add some simple tests for the new taglist date API.
4156
4157 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4158
4159         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
4160         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
4161           Beautify 'last-message' output: print 'none' for buffer timestamps
4162           and durations if none is set; improve alignment with next messages.
4163
4164 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4165
4166         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
4167         * gst/gstpluginfeature.h:
4168         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
4169         * gst/gstregistry.h:
4170         * docs/gst/gstreamer-sections.txt:
4171           Add new API to check plugin feature version requirements.
4172
4173         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
4174           Some basic tests for the above.         
4175
4176 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4177
4178         * gst/gststructure.c: (gst_structure_to_string):
4179           guard against NULL printf - happens when for example
4180           a message structure with GstClock gets serialized
4181
4182 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4183
4184         * gst/base/gstcollectpads.c: (gst_collectpads_event):
4185           Fix presumable copy'n'pasto.
4186
4187 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4188
4189         * gst/elements/gstfakesrc.h:
4190         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
4191         * gst/elements/gsttypefindelement.c:
4192           fix some signedness
4193         * gst/elements/gstfilesink.c: (gst_file_sink_render):
4194           I wonder if this could actually write +2GB files before
4195
4196 2005-10-13  Andy Wingo  <wingo@pobox.com>
4197
4198         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
4199         Fix Timmeke Waymans bug.
4200         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
4201         string of the proper length to gst_caps_from_string. There's a
4202         potential for, before this fix, that this could cause someone
4203         connecting over the network to cause a segfault if the payload is
4204         not NUL-terminated.
4205
4206 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4207
4208         * docs/design/draft-push-pull.txt:
4209         * docs/design/part-overview.txt:
4210         * docs/random/TODO-pre-0.9:
4211         * docs/random/old/ChangeLog.gstreamer:
4212         * gst/base/gstpushsrc.c:
4213         * gst/gstclock.c:
4214           fixed typos
4215
4216 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4217
4218         * gst/glib-compat.c: (gst_flags_get_first_value):
4219         * gst/glib-compat.h:
4220         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
4221         (gst_value_compare_double), (gst_value_serialize_flags):
4222           GLib 2.6 g_flags_get_first_value has a bug that triggers an
4223           infinite loop
4224
4225 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4226
4227         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4228         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4229           fix up debugging
4230         * tools/gst-launch.c: (event_loop):
4231           print out clock nicely
4232
4233 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4234
4235         * docs/gst/gstreamer-sections.txt:
4236         * gst/gsttaglist.h:
4237         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
4238         (gst_tag_list_get_date_index):
4239           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
4240           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
4241
4242 2005-10-13  Julien MOUTTE  <julien@moutte.net>
4243
4244         * gst/base/gstcollectpads.c: (gst_collectpads_event),
4245         (gst_collectpads_chain):
4246         * gst/base/gstcollectpads.h: Handle newsegment and store informations
4247         in CollectData.
4248
4249 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4250
4251         * docs/gst/gstreamer-sections.txt:
4252         * gst/gst.c:
4253         * gst/gsterror.h:
4254         * tools/gst-inspect.c: (main):
4255         * tools/gst-launch.c: (main):
4256         * tools/gst-run.c: (main):
4257         * tools/gst-xmlinspect.c: (main):
4258           fix GOption context leaks
4259           doc fixes
4260
4261 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4262
4263         * gst/gstbus.c:
4264           use HAVE_UNISTD_H
4265         * win32/common/config.h:
4266           update config
4267         * win32/vs6/grammar.dsp:
4268         * win32/vs6/libgstelements.dsp:
4269         * win32/vs6/libgstreamer.dsp:
4270           update vs6 files
4271
4272 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4273
4274         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4275         * gst/base/gstbasesrc.c: (gst_base_src_query):
4276           fix more guint64<->gdouble conversions
4277
4278 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4279
4280         * Makefile.am:
4281           add win32-update target
4282         * win32/common/gstconfig.h:
4283         * win32/common/gstenumtypes.c:
4284         * win32/common/gstenumtypes.h:
4285         * win32/common/gstversion.h:
4286           add files that visual studio can't generate
4287
4288 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4289
4290         * Makefile.am:
4291           add a win32-update target
4292         * configure.ac:
4293
4294 2005-10-12  Wim Taymans  <wim@fluendo.com>
4295
4296         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4297         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
4298         * gst/gstelement.c: (gst_element_commit_state),
4299         (gst_element_set_state):
4300         Protect flags with proper lock.
4301         unref provided cached clock in dispose.
4302
4303 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4304
4305         * gst/gst.c:
4306         * gst/gstminiobject.h:
4307         * gst/gstpad.h:
4308         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
4309           removed unused flags from miniobject
4310           doc fixes
4311
4312 2005-10-12  Wim Taymans  <wim@fluendo.com>
4313
4314         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4315         (gst_file_sink_event), (gst_file_sink_render):
4316         Flush before seeking.
4317
4318 2005-10-12  Andy Wingo  <wingo@pobox.com>
4319
4320         * gst/gst.c (gst_init_check): Ignore unknown options, as has
4321         always been the case.
4322
4323 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4324
4325         * check/gst/gstbin.c: (GST_START_TEST):
4326         * docs/gst/gstreamer-sections.txt:
4327         * gst/base/gstbasesink.c: (gst_base_sink_init):
4328         * gst/base/gstbasesrc.c: (gst_base_src_init),
4329         (gst_base_src_get_range), (gst_base_src_check_get_range),
4330         (gst_base_src_start), (gst_base_src_stop):
4331         * gst/base/gstbasesrc.h:
4332         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
4333         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4334         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
4335         (bin_bus_handler):
4336         * gst/gstbin.h:
4337         * gst/gstbuffer.h:
4338         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
4339         * gst/gstbus.h:
4340         * gst/gstelement.c: (gst_element_is_locked_state),
4341         (gst_element_set_locked_state), (gst_element_commit_state),
4342         (gst_element_set_state):
4343         * gst/gstelement.h:
4344         * gst/gstindex.c: (gst_index_init):
4345         * gst/gstindex.h:
4346         * gst/gstminiobject.h:
4347         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
4348         (gst_object_set_parent):
4349         * gst/gstobject.h:
4350         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4351         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4352         * gst/gstpad.h:
4353         * gst/gstpadtemplate.h:
4354         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4355         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4356         * gst/gstpipeline.h:
4357         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4358         (gst_file_index_commit):
4359         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4360         * testsuite/pad/link.c: (gst_test_src_init),
4361         (gst_test_filter_init), (gst_test_sink_init):
4362         * testsuite/states/locked.c: (main):
4363           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
4364           moved bitshift from macro to enum definition
4365
4366 2005-10-12  Wim Taymans  <wim@fluendo.com>
4367
4368         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
4369         * gst/elements/gstfilesink.c: (gst_file_sink_event),
4370         (gst_file_sink_render):
4371         Some more debugging info.
4372
4373 2005-10-12  Wim Taymans  <wim@fluendo.com>
4374
4375         * docs/design/part-states.txt:
4376         * tools/gst-launch.c: (main):
4377         Some doc updates.
4378         Revert non-intentional change.
4379
4380 2005-10-12  Wim Taymans  <wim@fluendo.com>
4381
4382         * check/gst/gstbin.c: (GST_START_TEST):
4383         * check/gst/gstelement.c: (GST_START_TEST):
4384         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4385         * check/gst/gstghostpad.c: (GST_START_TEST):
4386         * check/gst/gstpipeline.c: (GST_START_TEST):
4387         * check/pipelines/simple_launch_lines.c: (run_pipeline):
4388         * check/states/sinks.c: (GST_START_TEST):
4389         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4390         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4391         (gst_bin_remove_func), (gst_bin_get_state_func),
4392         (gst_bin_recalc_state), (gst_bin_change_state_func),
4393         (bin_bus_handler):
4394         * gst/gstelement.c: (gst_element_get_state_func),
4395         (gst_element_get_state), (gst_element_abort_state),
4396         (gst_element_commit_state), (gst_element_set_state),
4397         (gst_element_change_state), (gst_element_change_state_func):
4398         * gst/gstelement.h:
4399         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4400         (gst_pipeline_provide_clock_func):
4401         * gst/gstutils.c: (gst_element_link_pads_filtered):
4402         * tools/gst-launch.c: (main):
4403         * tools/gst-typefind.c: (main):
4404         Use GstClockTime in _get_state() instead of GTimeVal.
4405         Remove old code in gstutils.c
4406
4407 2005-10-12  Andy Wingo  <wingo@pobox.com>
4408
4409         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4410         removed.
4411
4412         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4413         there is no task. Shouldn't affect any code, as nothing in our
4414         plugins checks this return value.
4415         (gst_pad_stop_task): Also take the stream lock if the pad has no
4416         task. Docs updated.
4417
4418 2005-10-12  Wim Taymans  <wim@fluendo.com>
4419
4420         * gst/gstpad.c: (pre_activate), (post_activate),
4421         (gst_pad_activate_pull), (gst_pad_activate_push):
4422         Cleanup activation code. Reset old state if
4423         activation failed.
4424
4425 2005-10-12  Wim Taymans  <wim@fluendo.com>
4426
4427         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4428         (gst_base_sink_change_state):
4429         No need to prerol after receiving EOS.
4430
4431         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4432         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4433         * gst/elements/gstidentity.c: (gst_identity_event):
4434         Print events more verbosely.
4435
4436 2005-10-12  Wim Taymans  <wim@fluendo.com>
4437
4438         * check/Makefile.am:
4439         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4440         * check/states/sinks2.c:
4441         Moved sinks2 testcode in sinks check.
4442
4443         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4444         (gst_bin_remove_func), (gst_bin_recalc_state),
4445         (gst_bin_change_state_func), (bin_bus_handler):
4446         Fix potential race condition when _get_state() iterated over an
4447         ASYNC element right before it posted a state completion.
4448
4449         * gst/gstclock.h:
4450         Do proper cast here.
4451
4452         * gst/gstevent.c: (gst_event_new_newsegment),
4453         (gst_event_parse_newsegment):
4454         A playback rate of 0.0 is not allowed.
4455
4456 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4457
4458         * win32/common/config.h:
4459         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4460         (_trewinddir), (_ttelldir), (_tseekdir):
4461         * win32/common/dirent.h:
4462         * win32/common/gtchar.h:
4463         * win32/common/libgstbase.def:
4464         * win32/common/libgstreamer.def:
4465         * win32/vs6/grammar.dsp:
4466         * win32/vs6/gst_inspect.dsp:
4467         * win32/vs6/gst_launch.dsp:
4468         * win32/vs6/gstreamer.dsw:
4469         * win32/vs6/libgstbase.dsp:
4470         * win32/vs6/libgstelements.dsp:
4471         * win32/vs6/libgstreamer.dsp:
4472           Visual Studio 6 project files, and a new common directory.
4473           Phear.
4474
4475 2005-10-11  Wim Taymans  <wim@fluendo.com>
4476
4477         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4478         (gst_base_sink_do_sync), (gst_base_sink_query),
4479         (gst_base_sink_change_state):
4480         * gst/base/gstbasesink.h:
4481         Correctly parse newsegment info.
4482
4483 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4484
4485         * gst/gst.c: (init_post):
4486           split plugin paths correctly
4487
4488 2005-10-11  Wim Taymans  <wim@fluendo.com>
4489
4490         * check/gst/gstevent.c: (GST_START_TEST):
4491         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4492         (gst_base_sink_change_state):
4493         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4494         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4495         * gst/elements/gstfilesink.c: (gst_file_sink_event):
4496         * gst/gstevent.c: (gst_event_new_newsegment),
4497         (gst_event_parse_newsegment):
4498         * gst/gstevent.h:
4499         Added extra flag to newsegment for future API freeze.
4500         Updated check and base elements.
4501
4502 2005-10-11  Julien MOUTTE  <julien@moutte.net>
4503
4504         * gst/base/gstcollectpads.c: (gst_collectpads_init),
4505         (gst_collectpads_add_pad), (gst_collectpads_pop),
4506         (gst_collectpads_event), (gst_collectpads_chain):
4507         * gst/base/gstcollectpads.h: Handle EOS correctly.
4508
4509 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4510
4511         * tools/gst-launch.c: (main):
4512           more null protecting
4513
4514 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4515
4516         * gst/gst-i18n-lib.h:
4517           check for ENABLE_NLS, not GETTEXT_PACKAGE
4518         * gst/gstregistry.c: (gst_registry_add_plugin),
4519         (gst_registry_scan_path_level),
4520         (_gst_registry_remove_cache_plugins):
4521           protect possibly NULL strings
4522         * gst/parse/types.h:
4523           config.h already included before
4524         * tools/gst-inspect.c: (main):
4525           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4526           check for ENABLE_NLS, not GETTEXT_PACKAGE
4527         * tools/gst-launch.c: (main):
4528           check for ENABLE_NLS, not GETTEXT_PACKAGE
4529
4530 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4531
4532         * configure.ac:
4533           if we don't have glib, fail before testing 2.8
4534         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4535           fix a leak, should fix plugins-base testsuite
4536
4537 2005-10-11  Andy Wingo  <wingo@pobox.com>
4538
4539         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4540         take the mode we're going to as an arg. Go head and set the mode
4541         and flushing flags now, so that if the activate function starts a
4542         thread all the flags will be in the right state.
4543         (post_activate): Renamed also. Just handle making sure streaming
4544         finishes for the deactivation case, and setting the deactivated
4545         mode.
4546         (gst_pad_set_active): Complain loudly if deactivation fails.
4547         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4548         (gst_pad_activate_push): Adapt to pre/post_activate changes,
4549         remove the terrible hack.
4550
4551 2005-10-11  Wim Taymans  <wim@fluendo.com>
4552
4553         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4554         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4555         (gst_bin_recalc_state), (gst_bin_change_state_func),
4556         (gst_bin_dispose), (bin_bus_handler):
4557         * gst/gstbin.h:
4558         Prepare to make current EOS message queue more generic.
4559         Fix some typos.
4560
4561         * gst/gstevent.c: (gst_event_new_newsegment),
4562         (gst_event_parse_newsegment):
4563         * gst/gstevent.h:
4564         Rename base to stream_time.
4565
4566         * gst/gstmessage.h:
4567         Fix typo in docs.
4568
4569 2005-10-11  Wim Taymans  <wim@fluendo.com>
4570
4571         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4572         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
4573         (gst_bin_change_state_func), (bin_bus_handler):
4574         * gst/gstbin.h:
4575         Work on proper clock selection.
4576
4577 2005-10-11  Edward Hervey  <edward@fluendo.com>
4578
4579         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
4580         * libs/gst/controller/gstcontroller.h:
4581         Added GList* version of _remove_properties() in order to be able to wrap
4582         it in bindings.
4583
4584 2005-10-11  Wim Taymans  <wim@fluendo.com>
4585
4586         * docs/design/part-states.txt:
4587         Some more docs.
4588
4589         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
4590         (gst_bin_change_state_func), (bin_bus_handler):
4591         Doc updates. Don't distribute the same clock over and over again.
4592
4593         * gst/gstclock.c:
4594         * gst/gstclock.h:
4595         Doc updates.
4596
4597         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
4598         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
4599         (gst_pad_send_event):
4600         * gst/gstpad.h:
4601         Make probe emission threadsafe again.
4602         Register quarks and move _get_name() from utils.
4603         Doc updates.
4604
4605         * gst/gstpipeline.c: (gst_pipeline_class_init),
4606         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4607         Only redistribute the clock of it changed.
4608
4609         * gst/gstsystemclock.h:
4610         Doc updates. 
4611
4612         * gst/gstutils.c:
4613         * gst/gstutils.h:
4614         Moved the _flow_get_name() to GstPad.
4615
4616 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4617
4618         * check/gst-libs/gdp.c: (GST_START_TEST):
4619         * check/gst/gstcaps.c: (GST_START_TEST):
4620         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
4621         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
4622         (gst_dp_packet_from_caps):
4623           fix more valgrind warnings before turning up the heat
4624
4625 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4626
4627         * gst/parse/grammar.y:
4628           some cleanup before the hacking
4629
4630 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4631
4632         * gst/base/gstbasesrc.c: (gst_base_src_query):
4633           use conversions
4634         * gst/gstutils.c: (gst_guint64_to_gdouble),
4635         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
4636         * gst/gstutils.h:
4637           externalize, basesrc uses it
4638           obviously the implementation needs testing
4639
4640 2005-10-10  Wim Taymans  <wim@fluendo.com>
4641
4642         * tests/sched/Makefile.am:
4643         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
4644         (make_pipeline3), (make_pipeline4), (print_elem), (main):
4645
4646 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4647
4648         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
4649           apparently converting from guint64 to double is not implemented
4650           on MSVC
4651
4652 2005-10-10  Wim Taymans  <wim@fluendo.com>
4653
4654         * check/Makefile.am:
4655         * check/generic/states.c: (GST_START_TEST):
4656         * check/gst/gstbin.c: (GST_START_TEST):
4657         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4658         * check/states/sinks.c: (GST_START_TEST):
4659         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
4660         (main):
4661         Check fixes, use API as stated in design docs, remove hacks.
4662
4663         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4664         (gst_base_sink_change_state):
4665         Catch stopping our task while we're shutting down.
4666
4667         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
4668         (gst_bin_remove_func), (gst_bin_get_state_func),
4669         (gst_bin_recalc_state), (gst_bin_change_state_func),
4670         (bin_bus_handler):
4671         * gst/gstbin.h:
4672         * gst/gstelement.c: (gst_element_init),
4673         (gst_element_get_state_func), (gst_element_abort_state),
4674         (gst_element_commit_state), (gst_element_lost_state),
4675         (gst_element_set_state), (gst_element_change_state),
4676         (gst_element_change_state_func):
4677         * gst/gstelement.h:
4678         New state change algorithm (see #318116)
4679
4680         * gst/gstpipeline.c: (gst_pipeline_class_init),
4681         (gst_pipeline_init), (gst_pipeline_set_property),
4682         (gst_pipeline_get_property), (do_pipeline_seek),
4683         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4684         * gst/gstpipeline.h:
4685         Remove crude state change hacks.
4686
4687         * gst/gstutils.h:
4688         Remove crude hacks.
4689
4690         * tools/gst-launch.c: (main):
4691         Fixes for state change. Needs some more work to fully use the
4692         new stuff.
4693
4694 2005-10-10  Andy Wingo  <wingo@pobox.com>
4695
4696         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
4697
4698         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
4699         this flag, but it's not even in GLib 2.6. Odd. Hack around the
4700         issue.
4701
4702 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4703
4704         * gst/gstiterator.c: (gst_iterator_new):
4705           Fix my previous commit: GTypes passed to gst_iterator_new()
4706           can be fundamental types.
4707
4708 2005-10-10  Wim Taymans  <wim@fluendo.com>
4709
4710         * gst/gstelement.c: (gst_element_iterate_pad_list),
4711         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
4712         (gst_element_iterate_sink_pads):
4713         Use src/sink pads lists for the respective iterators instead
4714         of filtering.
4715
4716 2005-10-10  Andy Wingo  <wingo@pobox.com>
4717
4718         Merged in popt removal + GOption addition patch from Ronald, bug
4719         #169772.
4720
4721         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
4722         GstElement macros around, remove popt-related symbols, add goption
4723         stuff.
4724
4725         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
4726         
4727         * docs/gst/Makefile.am:
4728         * docs/libs/Makefile.am: No POPT_CFLAGS.
4729         
4730         * examples/manual/Makefile.am:
4731         * docs/manual/basics-init.xml: Doc updates with an example.
4732         
4733         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4734         (gst_init), (parse_one_option), (parse_goption_arg):
4735         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
4736         bit of hand merging and debugging to get the GOption stuff working
4737         tho.
4738         
4739         * tests/Makefile.am:
4740         * tools/Makefile.am:
4741         * tools/gst-inspect.c: (main):
4742         * tools/gst-launch.c: (main):
4743         * tools/gst-run.c: (main):
4744         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
4745
4746 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4747
4748         * gst/gstiterator.c: (gst_iterator_new):
4749           Add assertions to make sure passed GType is likely to really
4750           be a GType (as the compiler won't catch it if the size and
4751           GType arguments get mixed up, see #318447).
4752
4753 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
4754
4755         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4756
4757         * gst/gstbin.c: (gst_bin_iterate_sorted):
4758           Pass GType and size arguments to gst_iterator_new() in the right
4759           order (maybe we should make _new() take the GType as first argument
4760           just like _new_list()?) (#318447).
4761           
4762
4763 2005-10-10  Wim Taymans  <wim@fluendo.com>
4764
4765         * gst/gstelement.c: (gst_element_finalize):
4766         And free the GStaticRecMutex too
4767
4768 2005-10-10  Andy Wingo  <wingo@pobox.com>
4769
4770         * gst/gstelement.c (gst_element_init, gst_element_finalize):
4771         Allocate and free the mutex properly.
4772
4773         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
4774         New macros.
4775         (GstElement): The state_lock is now recursive. Rebuild your
4776         plugins, suckers. Old macros adapted.
4777
4778         * docs/gst/gstreamer-sections.txt: Doc updates.
4779
4780         * gst/gstutils.h:
4781         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
4782         (g_static_rec_cond_wait): Ported from state changes patch, while
4783         we wait on bug #317802 to be solved in a well-distributed GLib.
4784
4785         * gst/gstelement.c (gst_element_change_state_func): Renamed from
4786         gst_element_change_state, variable name changes.
4787         (gst_element_change_state): Split out of gst_element_set_state in
4788         preparation for the state change merge. Doesn't pay attention to
4789         the 'transition' argument.
4790         (gst_element_set_state): Updates, hopefully purely cosmetic.
4791         (gst_element_sync_state_with_parent): MT-safety. Ported from the
4792         state change patch.
4793         (gst_element_get_state_func): Renamed from get_state, cosmetic
4794         changes.
4795
4796 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4797
4798         * gst/elements/gstelements.c:
4799         * win32/GStreamer.vcproj:
4800         * win32/config.h:
4801         * win32/dirent.c: (_tseekdir):
4802         * win32/gst-inspect.vcproj:
4803         * win32/gst-launch.vcproj:
4804         * win32/gstconfig.h:
4805         * win32/gstelements.vcproj:
4806         * win32/gstenumtypes.c: (gst_object_flags_get_type):
4807         * win32/gstreamer.def:
4808         * win32/msvc71.sln:
4809           updates for the win32 build (patch from Sebastien Moutte)
4810
4811 2005-10-10  Andy Wingo  <wingo@pobox.com>
4812
4813         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
4814         gst_bin_get_state, cleaned up (but no logic changes).
4815         (bin_element_is_sink): Comment updates.
4816         (sink_iterator_filter): Remove needless cast.
4817         (gst_bin_iterate_sinks): Doc update.
4818         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
4819         cleaned up (but no logic changes).
4820
4821         * check/states/sinks.c (test_src_sink): Cleanups from the state
4822         change patch.
4823         (test_livesrc_sink): Sync on the state.
4824
4825         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
4826         the state change patch.
4827
4828         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
4829         change patch.
4830
4831         * check/gst/gstbin.c: Merge in some style fixes and additional
4832         checks from Wim's state change patch.
4833
4834 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4835
4836         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4837         (gst_type_find_helper):
4838           Check whether we have the requested data already in our list of
4839           cached buffers before pulling a new buffer; also make the buffer
4840           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
4841
4842 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4843
4844         * gst/gstcaps.c:
4845         * gst/gstevent.c:
4846           doc updates
4847         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
4848           don't use long long, it's not portable.  Replacing with
4849           gint64 seems to work; let's hope no skeletons fall out of the closet.
4850
4851 2005-10-10  Andy Wingo  <wingo@pobox.com>
4852
4853         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
4854
4855 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
4856
4857         * docs/gst/gstreamer-sections.txt:
4858         * gst/gstevent.c:
4859         * gst/gstevent.h:
4860         * gst/gstinfo.c:
4861         * gst/gstinfo.h:
4862         * gst/gstmessage.c: (gst_message_parse_state_changed):
4863         * gst/gstpad.c:
4864         * gst/gstpad.h:
4865           more docs, fix compilation
4866
4867 2005-10-09  Philippe Khalaf <burger@speedy.org>
4868         * gst/gstmessage.c:
4869           Fixed a few forgotten variables on previous commit
4870
4871 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4872
4873         * gst/base/gsttypefindhelper.c: (helper_find_peek):
4874           Fix evil typefind crasher: getrange() might return a short
4875           buffer at the end of a file, but gst_type_find_peek() must
4876           either return the full data as requested or NULL, but
4877           never a short buffer.
4878
4879 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4880
4881         * gst/gstmessage.c: (gst_message_new_state_changed),
4882         (gst_message_parse_state_changed):
4883         * gst/gstmessage.h:
4884           don't use "new", it's a C++ keyword
4885
4886 2005-10-08  Wim Taymans  <wim@fluendo.com>
4887
4888         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
4889         * gst/gstelement.c: (gst_element_post_message):
4890         * gst/gstpipeline.c: (gst_pipeline_change_state):
4891         Small docs and debug updates.
4892
4893 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4894
4895         * docs/gst/gstreamer-sections.txt:
4896         * gst/gstelementfactory.c:
4897         * gst/gstevent.c:
4898         * gst/gsttaglist.c:
4899           more docs
4900
4901 2005-10-08  Wim Taymans  <wim@fluendo.com>
4902
4903         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
4904         (gst_bin_dispose), (bin_bus_handler):
4905         Fix typos, add comments.
4906         Clear EOS list when going to PAUSED from any direction and do it
4907         in a threadsafe way.
4908         Get base time in a threadsafe way too.
4909         Fix confusing debug in the change_state function.
4910         Various other small cleanups.
4911         
4912         * gst/gstelement.c: (gst_element_post_message):
4913         Fix very verbose bus posting code.
4914
4915         * gst/gstpipeline.c: (gst_pipeline_class_init),
4916         (gst_pipeline_set_property), (gst_pipeline_get_property),
4917         (gst_pipeline_change_state):
4918         Small ARG_ -> PROP_ cleanup
4919
4920 2005-10-08  Wim Taymans  <wim@fluendo.com>
4921
4922         * gst/gstbin.c: (is_eos), (bin_bus_handler):
4923         Do a less CPU demanding EOS check because we can.
4924
4925 2005-10-08  Wim Taymans  <wim@fluendo.com>
4926
4927         * libs/gst/dataprotocol/dataprotocol.c:
4928         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
4929         (gst_dp_packet_from_event):
4930         * libs/gst/dataprotocol/dataprotocol.h:
4931         * libs/gst/dataprotocol/dp-private.h:
4932         It's about time we bump the version number.
4933         Since event types don't fit in the guint8 anymore describing
4934         the payload type, make payload type 16 bits wide.
4935
4936 2005-10-08  Wim Taymans  <wim@fluendo.com>
4937
4938         * docs/design/part-TODO.txt:
4939         * docs/design/part-clocks.txt:
4940         * docs/design/part-events.txt:
4941         * docs/design/part-gstbin.txt:
4942         * docs/design/part-gstelement.txt:
4943         * docs/design/part-gstpipeline.txt:
4944         * docs/design/part-live-source.txt:
4945         * docs/design/part-messages.txt:
4946         * docs/design/part-overview.txt:
4947         * docs/design/part-states.txt:
4948         Many doc updates.
4949
4950 2005-10-08  Wim Taymans  <wim@fluendo.com>
4951
4952         * gst/gstevent.c:
4953         * gst/gstevent.h:
4954         Fix event quark registration.
4955         Add some space between events so we can insert them in the
4956         right groups.
4957
4958 2005-10-08  Wim Taymans  <wim@fluendo.com>
4959
4960         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4961         (gst_base_sink_handle_buffer):
4962         Better log message.
4963
4964         * gst/gstbus.h:
4965         * gst/gstelement.h:
4966         More docs.
4967
4968         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4969         (gst_queue_set_property), (gst_queue_get_property):
4970         * gst/gstqueue.h:
4971         Remove old unused properties.
4972
4973 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
4974         * docs/gst/gstreamer-sections.txt:
4975         * gst/gstmessage.c:
4976         * gst/gstmessage.h:
4977         * gst/gstminiobject.c:
4978         * gst/gstminiobject.h:
4979         * gst/gstobject.h:
4980         * gst/gstpad.h:
4981         * gst/gstutils.h:
4982           lots of new docs and doc fixes
4983
4984 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4985
4986         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
4987         * gst/gstplugin.h:
4988         * gst/gstregistry.c: (gst_registry_lookup_locked),
4989         (gst_registry_scan_path_level):
4990         * gst/gstregistryxml.c: (load_plugin):
4991           Only ever load one plugin for a given plugin basename.
4992           This ensures correct overriding of GST_PLUGIN_PATH over
4993           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
4994           system installed plugins.
4995
4996 2005-10-08  Wim Taymans  <wim@fluendo.com>
4997
4998         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4999         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
5000         Prepare for doing QOS.
5001
5002 2005-10-08  Wim Taymans  <wim@fluendo.com>
5003
5004         * check/gst/gstbin.c: (GST_START_TEST):
5005         * check/pipelines/cleanup.c: (GST_START_TEST):
5006         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
5007         Allow new clock message too.
5008
5009 2005-10-08  Wim Taymans  <wim@fluendo.com>
5010
5011         * gst/gstmessage.c: (gst_message_new_error),
5012         (gst_message_new_warning), (gst_message_new_tag),
5013         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5014         (gst_message_new_clock_lost), (gst_message_new_new_clock),
5015         (gst_message_new_segment_start), (gst_message_new_segment_done),
5016         (gst_message_parse_state_changed),
5017         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
5018         (gst_message_parse_new_clock):
5019         * gst/gstmessage.h:
5020         Also carry the clock in question.
5021
5022 2005-10-08  Wim Taymans  <wim@fluendo.com>
5023
5024         * gst/gstmessage.c: (gst_message_new_custom),
5025         (gst_message_new_eos), (gst_message_new_error),
5026         (gst_message_new_warning), (gst_message_new_tag),
5027         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5028         (gst_message_new_new_clock), (gst_message_new_segment_start),
5029         (gst_message_new_segment_done), (gst_message_parse_state_changed),
5030         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
5031         * gst/gstmessage.h:
5032         Clean up.
5033         Added clock related messages.
5034
5035         * gst/gstpipeline.c: (gst_pipeline_change_state):
5036         Post message when the clock changed.
5037
5038         * tools/gst-launch.c: (event_loop):
5039         Print new clock.
5040
5041 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
5042
5043         * tools/gst-inspect.c: (print_element_properties_info):
5044           Can't pass NULL strings to g_print() on windows.
5045
5046 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5047
5048         * docs/Makefile.am:
5049         * docs/gst/Makefile.am:
5050         * docs/gst/gstreamer-docs.sgml:
5051         * docs/gst/running.xml:
5052         * docs/version.entities.in:
5053           add a chapter on running GStreamer.
5054           document GST_DEBUG and GST_PLUGIN* env vars
5055
5056 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5057
5058         * Makefile.am:
5059           remove include dir
5060         * configure.ac:
5061           remove PLUGINS_BUILDDIR stuff
5062         * gst/gst.c: (init_post):
5063           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
5064         * idiottest.mak:
5065           remove, it was condescending and not needed
5066
5067 2005-10-08  Wim Taymans  <wim@fluendo.com>
5068
5069         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5070         (gst_base_sink_handle_object), (gst_base_sink_event),
5071         (gst_base_sink_wait), (gst_base_sink_handle_event),
5072         (gst_base_sink_change_state):
5073         * gst/base/gstbasesink.h:
5074         Repost EOS message while going to PLAYING if still EOS.
5075         Make sure that when receiving a FLUSH_START we don't attempt
5076         to sync on the clock anymore.
5077
5078 2005-10-08  Wim Taymans  <wim@fluendo.com>
5079
5080         * tools/gst-launch.c: (event_loop):
5081         Better message printout.
5082
5083 2005-10-08  Wim Taymans  <wim@fluendo.com>
5084
5085         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
5086         (gst_bin_child_proxy_get_children_count):
5087         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
5088         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
5089         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
5090         (gst_child_proxy_set_valist):
5091         * gst/parse/grammar.y:
5092         Make ChildProxy threadsafe and fix mem leaks.
5093
5094 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5095
5096         * gst/gst.c: (init_post):
5097           debug the GST_PLUGIN_ env vars
5098
5099 2005-10-08  Wim Taymans  <wim@fluendo.com>
5100
5101         * check/gst/gstbin.c: (GST_START_TEST):
5102         * check/gst/gstmessage.c: (GST_START_TEST):
5103         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5104         * gst/gstelement.c: (gst_element_commit_state),
5105         (gst_element_lost_state):
5106         * gst/gstmessage.c: (gst_message_new_state_changed),
5107         (gst_message_parse_state_changed):
5108         * gst/gstmessage.h:
5109         * tools/gst-launch.c: (event_loop):
5110         Added extra field to STATE_CHANGE message with the pending
5111         state, which will be different from the new state soon.
5112
5113 2005-10-08  Wim Taymans  <wim@fluendo.com>
5114
5115         * gst/gstbus.c: (gst_bus_pop):
5116         * gst/gstclock.c:
5117         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
5118         Small cleanups and doc updates.
5119
5120 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5121
5122         * gst/gst.c: (init_pre):
5123         * gst/gstbin.c: (gst_bin_add_func):
5124           log distributing clocks and base time
5125         * gst/gstregistry.c: (gst_registry_add_plugin),
5126         (gst_registry_scan_path_level), (gst_registry_scan_path):
5127           clean up the debugging output a little
5128         * gst/gstutils.c: (gst_element_state_get_name):
5129           warn about a memleak (I've actually seen this be used, though
5130           it was probably a bug)
5131
5132 2005-10-07  Wim Taymans  <wim@fluendo.com>
5133
5134         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5135         (gst_base_src_init), (gst_base_src_default_newsegment),
5136         (gst_base_src_newsegment), (gst_base_src_do_seek),
5137         (gst_base_src_loop), (gst_base_src_start):
5138         * gst/base/gstbasesrc.h:
5139         Make the newsegment event customizable by subclasses.
5140
5141 2005-10-07  Wim Taymans  <wim@fluendo.com>
5142
5143         * gst/gstevent.c: (gst_event_new_buffersize),
5144         (gst_event_parse_buffersize):
5145         * gst/gstevent.h:
5146         New event for future idea.
5147
5148 2005-10-07  Andy Wingo  <wingo@pobox.com>
5149
5150         * gst/gstelement.c (gst_element_post_message): Doc update.
5151
5152         * docs/gst/gstreamer-sections.txt: Update.
5153
5154         * gst/gstmessage.c (gst_message_new_application): Made into a
5155         function like honest API calls.
5156         (gst_message_new_element): New message type.
5157
5158         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
5159
5160         * check/elements/fakesrc.c (test_no_preroll): New check, checks
5161         that setting a live fakesrc to PAUSED returns NO_PREROLL both
5162         times.
5163
5164         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
5165         NO_PREROLL from gst_element_change_state to fall through.
5166
5167 2005-10-07  Wim Taymans  <wim@fluendo.com>
5168
5169         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
5170         (gst_ghost_pad_do_activate_push):
5171         Activating a ghostpad with no internal pad in push mode
5172         is ok.
5173
5174 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5175
5176         * gst/gstobject.h:
5177           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
5178           Fixes compilation on Windows.
5179
5180 2005-10-07  Michael Smith <msmith@fluendo.com>
5181
5182         * tools/gst-inspect.c:
5183           Print out feature and plugin count at the end when printing out
5184           all features.
5185
5186 2005-10-04  Michael Smith <msmith@fluendo.com>
5187
5188         * gst/gsterror.c: (_gst_stream_errors_init):
5189           Add another error string used in a few existing plugins.
5190
5191         * gst/gstplugin.c:
5192         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5193         * tools/gst-inspect.c: (print_element_info):
5194           When a feature disappears from a plugin (and the feature exists in
5195           the cached registry file), things went horribly wrong. This isn't a
5196           complete fix, we should actually be removing the 'missing' features
5197           from the features list when we load the actual plugin. That's not
5198           yet implemented. 
5199
5200 2005-10-04  Johan Dahlin  <johan@gnome.org>
5201
5202         * check/gst/gstiterator.c: (GST_START_TEST):
5203         * gst/gstbin.c: (gst_bin_iterate_elements),
5204         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
5205         * gst/gstelement.c: (gst_element_iterate_pads):
5206         * gst/gstformat.c: (gst_format_iterate_definitions):
5207         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5208         (gst_iterator_new_list), (gst_iterator_filter):
5209         * gst/gstiterator.h:
5210         * gst/gstquery.c: (gst_query_type_iterate_definitions):
5211         Add a GType to GstIterator, update callsites and tests.
5212
5213 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5214
5215         * gst/gstpad.c: (gst_pad_event_default_dispatch):
5216           give events a chance to be handled by event probes when the pad
5217           is not linked
5218
5219 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5220
5221         * gst/gstevent.c: (gst_event_type_get_name),
5222         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
5223         * gst/gstevent.h:
5224           add string representations for event types
5225
5226 2005-10-06  Wim Taymans  <wim@fluendo.com>
5227
5228         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
5229         Don't use NULL pointers.
5230
5231 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5232
5233         * gst/gst_private.h:
5234         * gst/gstbus.c:
5235         * gst/gstelement.c:
5236         * gst/gstinfo.c:
5237         * gst/gstpluginfeature.c:
5238           widen the debug category in output to fit the biggest one we have
5239           add a bus category and use it
5240           play with the colors
5241           fix up some categories
5242
5243 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5244
5245         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
5246           add push activation of sink ghost pads.
5247           Andye, please verify
5248
5249 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5250
5251         * gst/gstutils.c: (gst_element_link_pads):
5252           fix a bug in the case where neither element has a pad
5253         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5254           add a test for that case
5255
5256 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5257
5258         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
5259           emit have-data before checking for peers.  This allows
5260           for probe handlers to connect elements.  This helps autopluggers.
5261         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
5262         (gst_pad_suite):
5263           add six checks, linked/unlinked with no/true/false probe
5264
5265 2005-10-04  Wim Taymans  <wim@fluendo.com>
5266
5267         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
5268         (gst_fake_sink_event), (gst_fake_sink_preroll),
5269         (gst_fake_sink_render), (gst_fake_sink_change_state):
5270         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
5271         (gst_fake_src_get_property), (gst_fake_src_create),
5272         (gst_fake_src_stop):
5273         * gst/elements/gstidentity.c: (gst_identity_stop):
5274         Protect last_message with lock.
5275
5276 2005-10-04  Edward Hervey  <edward@fluendo.com>
5277
5278         * gst/gstformat.h: 
5279         Added precision in the comments for GST_FORMAT_DEFAULT
5280
5281 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
5282
5283         * tools/gst-launch.c: (main):
5284           Don't try to run erroneous pipelines.
5285
5286 2005-10-04  Julien MOUTTE  <julien@moutte.net>
5287
5288         * gst/gstbus.c: We don't need this header.
5289
5290 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5291
5292         * configure.ac:
5293           back to development
5294
5295 === release 0.9.3 ===
5296
5297 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5298
5299         * README:
5300         * configure.ac:
5301           Releasing 0.9.3, "Unregistered"
5302
5303 2005-10-03  Andy Wingo  <wingo@pobox.com>
5304
5305         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
5306         whereby calling a pad's activatepush() function can start a thread
5307         that starts to push or pull before the pad gets the FLUSHING flag
5308         unset. Hack around it by holding the stream lock until the flag is
5309         set. Need to replace this with a proper solution. Together with
5310         the ghost pad fixes, this fixes mp3 playing/tagreading.
5311
5312         * docs/design/part-gstghostpad.txt: Add a note about activation of
5313         proxy pads outside of ghost pads.
5314
5315         * gst/gstghostpad.c: Implement the ghost pad activation design.
5316
5317 2005-10-02  Andy Wingo  <wingo@pobox.com>
5318
5319         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
5320         It is volatile, after all.
5321
5322         * docs/design/part-gstghostpad.txt: Flesh out activation with
5323         ghost pads.
5324
5325         * gst/base/gstbasesrc.c (gst_base_src_init): Use
5326         GST_DEBUG_FUNCPTR.
5327
5328 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5329
5330         * configure.ac:
5331           Fix (unused) AM_CONDITIONAL tests.
5332
5333 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
5334
5335         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5336
5337         * gst/gstutils.c: (gst_pad_query_convert):
5338           Add assertion that makes sure src_val is >=0, just like
5339           gst_query_new_convert() has. (#315895)
5340
5341 2005-09-30  Edward Hervey  <edward@fluendo.com>
5342
5343         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
5344         Let's not iterate pads we're not interested in, it avoids getting 
5345         sky-high refcounts on sinkpad.
5346
5347 2005-09-30  Wim Taymans  <wim@fluendo.com>
5348
5349         * gst/gstelement.c: (gst_element_set_state),
5350         (gst_element_change_state):
5351         Small tweak, element in ASYNC remains ASYNC.
5352
5353 2005-09-30  Wim Taymans  <wim@fluendo.com>
5354
5355         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5356         Only error is an error.
5357
5358         * gst/gstbin.c: (gst_bin_change_state):
5359         Better debugging.
5360
5361         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
5362         Also call pad_block in pad alloc.
5363
5364         * gst/gstutils.c: (gst_flow_get_name):
5365         Better debugging.
5366
5367 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5368
5369         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5370         (gst_base_src_get_range):
5371           Fix documentation typos. Add some more debug info.
5372
5373 2005-09-29  David Schleef  <ds@schleef.org>
5374
5375         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5376           more end-user friendly.
5377         * tools/gst-inspect.c: (main): Check if command-line argument is
5378           a file and attempt to load that file as a plugin.
5379
5380 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5381
5382         * check/gst/gstbin.c:
5383         * check/states/sinks.c:
5384           fix tests for the new warning
5385         * check/gst/gstpipeline.c:
5386           add a test for pipeline and bus interaction
5387         * gst/gstelement.c:
5388           elements should be NULL if they get disposed; add a warning if not
5389
5390 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5391
5392         * gst/gstobject.c:
5393           for 2.6 refcounting, make debug log more correct by printing
5394           the actual refcounts at the time of swap (Wim)
5395
5396 2005-09-29  Andy Wingo  <wingo@pobox.com>
5397
5398         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5399         removes signal watches previously added via
5400         gst_bus_add_signal_watch.
5401         (gst_bus_add_signal_watch): Don't return the source id, just store
5402         it on the bus if there wasn't an id already.
5403
5404         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5405         add_signal_watch and remove_signal_watch.
5406
5407 2005-09-29  Edward Hervey  <edward@fluendo.com>
5408
5409         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
5410         Better if we actually iterate the list :)
5411
5412 2005-09-29  Wim Taymans  <wim@fluendo.com>
5413
5414         * check/gst/gstbin.c: (GST_START_TEST):
5415         Change for new bus API.
5416
5417         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5418         (send_messages), (GST_START_TEST), (gstbus_suite):
5419         Change for new bus signal API.
5420
5421         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5422         (gst_bus_source_prepare), (gst_bus_source_check),
5423         (gst_bus_create_watch), (gst_bus_add_watch_full),
5424         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5425         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5426         * gst/gstbus.h:
5427         Remove support for multiple GSources operating on different
5428         message types as it is too complex and unneeded when using
5429         signals.
5430         Added support for receiving signals from the bus.
5431
5432 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5433
5434         * docs/libs/tmpl/gstdataprotocol.sgml:
5435         * docs/manual/advanced-dataaccess.xml:
5436         * gst/elements/gstcapsfilter.c:
5437         * gst/gstutils.c:
5438           rename filter-caps to caps property
5439
5440 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5441
5442         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5443           More robust fraction string parsing.
5444
5445         * docs/pwg/appendix-porting.xml:
5446           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5447
5448 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5449
5450         * gst/gstcaps.c: (gst_caps_do_simplify):
5451           Thou shalt not free a structure and then continue using it
5452           in the next loop iteration.
5453
5454         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5455         (gst_caps_suite):
5456           Add test case for caps simplification.
5457
5458 2005-09-29  Wim Taymans  <wim@fluendo.com>
5459
5460         * check/gst/gstbin.c: (GST_START_TEST):
5461         Oops.
5462
5463 2005-09-29  Wim Taymans  <wim@fluendo.com>
5464
5465         * check/gst/gstbin.c: (GST_START_TEST):
5466         Add bus to bin.
5467
5468         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5469         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5470         (find_element), (gst_bin_sort_iterator_next),
5471         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5472         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5473         (gst_bin_change_state), (gst_bin_dispose):
5474         A bin does not have a bus, it gets the bus from the parent.
5475
5476         * gst/gstelement.c: (gst_element_requires_clock),
5477         (gst_element_provides_clock), (gst_element_is_indexable),
5478         (gst_element_is_locked_state), (gst_element_change_state),
5479         (gst_element_set_bus_func):
5480         Small cleanups.
5481
5482         * gst/gstpipeline.c: (gst_pipeline_class_init),
5483         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5484         The pipeline provides a bus.
5485
5486 2005-09-28  Johan Dahlin  <johan@gnome.org>
5487
5488         * gst/gstmessage.c (gst_message_parse_state_changed): Use
5489         gst_structure_get_enum instead of gst_structure_get_int
5490
5491         * gst/gststructure.c (gst_structure_get_enum): Impl.
5492
5493         * gst/gststructure.h (gst_structure_get_enum): Add
5494
5495         * docs/gst/gstreamer-sections.txt: Ditto
5496
5497         * gst/gstmessage.c (gst_message_new_state_changed): Use
5498         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5499         which does introspection.
5500         Reviewed by Christian Schaller
5501
5502 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5503
5504         * gst/gstinfo.c: (gst_debug_log_default):
5505           don't do dummy g_strdup()s
5506         * libs/gst/controller/gstcontroller.c:
5507         (on_object_controlled_property_changed),
5508         (gst_controlled_property_new), (gst_controller_new_valist),
5509         (gst_controller_new_list),
5510         (gst_controller_remove_properties_valist), (gst_controller_set),
5511         (gst_controller_get), (gst_controller_sync_values),
5512         (gst_controller_get_value_array), (_gst_controller_class_init),
5513         (gst_controller_get_type):
5514         * libs/gst/controller/gstcontroller.h:
5515         * libs/gst/controller/gstinterpolation.c:
5516         (gst_controlled_property_find_timed_value_node):
5517           convert // to /**/ comments
5518
5519 2005-09-28  Wim Taymans  <wim@fluendo.com>
5520
5521         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5522         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5523         (gst_bus_sync_signal_handler):
5524         * gst/gstbus.h:
5525         Added async-message and sync-message signals to the bus.
5526         Added helper BusFunc to emit signals for all posted messages.
5527
5528         * gst/gstmessage.c: (gst_message_type_get_name),
5529         (gst_message_type_to_quark), (gst_message_get_type):
5530         * gst/gstmessage.h:
5531         Register quarks for message names.
5532
5533 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5534
5535         * docs/libs/gstreamer-libs-sections.txt:
5536         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5537         (gst_controller_new_list):
5538         * libs/gst/controller/gstcontroller.h:
5539           added another constructor for language bindings
5540
5541 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5542
5543         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5544           add another check
5545         * gst/gstbus.c:
5546           add some doc
5547         * gst/gstinfo.c: (_gst_debug_init):
5548           slightly more readable color for refcount debugging
5549
5550 2005-09-28  Wim Taymans  <wim@fluendo.com>
5551
5552         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5553         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5554         (find_element), (gst_bin_sort_iterator_next),
5555         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5556         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5557         (gst_bin_change_state), (gst_bin_dispose):
5558         Small doc fixes. get_clock -> provide_clock.
5559
5560         * gst/gstelement.c: (gst_element_class_init),
5561         (gst_element_provides_clock), (gst_element_provide_clock),
5562         (gst_element_get_clock), (gst_element_commit_state),
5563         (gst_element_lost_state):
5564         * gst/gstelement.h:
5565         Make get/set_clock() symetric. Add provide_clock vmethod since
5566         that is actually what this function does.
5567
5568         * gst/gstpipeline.c: (gst_pipeline_class_init),
5569         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
5570         (gst_pipeline_get_clock):
5571         get_clock -> provide_clock.
5572
5573 2005-09-28  Andy Wingo  <wingo@pobox.com>
5574
5575         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
5576         lieu of real docs...
5577
5578         * gst/elements/gstfdsrc.c: Cleaned up a bit.
5579
5580 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
5581
5582         * gst/elements/gstcapsfilter.c:
5583         * gst/elements/gstfakesink.c:
5584         * gst/elements/gstfakesrc.c:
5585         * gst/elements/gstfdsink.c:
5586         * gst/elements/gstfdsrc.c:
5587         * gst/elements/gstfilesink.c:
5588         * gst/elements/gstfilesrc.c:
5589         * gst/elements/gstidentity.c:
5590         * gst/elements/gsttee.c:
5591         * gst/elements/gsttypefindelement.c:
5592           Make element details static.
5593
5594 2005-09-28  Wim Taymans  <wim@fluendo.com>
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), (gst_bin_dispose):
5601         Some documentation updates.
5602         Clean up dispose handlers.
5603
5604         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
5605         * gst/gstpad.c: (gst_pad_dispose):
5606         Clean up dispose handler.
5607
5608         * gst/gstpipeline.c: (gst_pipeline_change_state):
5609         Removed spurious UNLOCK.
5610
5611 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
5612
5613         * docs/gst/gstreamer-sections.txt:
5614         * gst/base/gstbasesrc.h:
5615         * gst/gstelement.h:
5616         * gst/gstevent.h:
5617         * gst/gstobject.h:
5618         * gst/gstpad.h:
5619         * gst/gstpipeline.c:
5620         * gst/gstpipeline.h:
5621         * gst/gstutils.h:
5622         * gst/gstxml.h:
5623           added two new functions to the docs
5624                 documents all undocumented GstXXXFlags
5625                 completed some incomplete docs 
5626
5627 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5628
5629         * gst/gstbin.c: (gst_bin_dispose):
5630         * gst/gstelement.c: (gst_element_dispose):
5631           remove now useless and leaky resurrection code in dispose
5632         * gst/base/gstbasesrc.c: (gst_base_src_init):
5633         * gst/gstelementfactory.c: (gst_element_factory_create):
5634         * gst/gstobject.c: (gst_object_set_parent):
5635           add some debugging
5636
5637 2005-09-27  Wim Taymans  <wim@fluendo.com>
5638
5639         * docs/design/part-TODO.txt:
5640         Update TODO.
5641
5642         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5643         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5644         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5645         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5646         (gst_bin_change_state):
5647         * gst/gstelement.h:
5648         Remove element variable, we keep element info in the iterator now.
5649
5650 2005-09-27  Andy Wingo  <wingo@pobox.com>
5651
5652         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
5653         values.
5654
5655 2005-09-27  Wim Taymans  <wim@fluendo.com>
5656
5657         * check/gst/gstbin.c: (GST_START_TEST):
5658         Enable check that works now.
5659
5660         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5661         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5662         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5663         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5664         (gst_bin_change_state):
5665         * gst/gstbin.h:
5666         Redid the state change algorithm using a topological sort algo.
5667         Handles all cases correctly.
5668         Exposed iterator for state change order.
5669
5670         * gst/gstelement.h:
5671         Temp storage for state changes. Need to get rid of this soon.
5672
5673 2005-09-27  Wim Taymans  <wim@fluendo.com>
5674
5675         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
5676         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
5677         (link_fold_func), (gst_pad_proxy_setcaps):
5678         Leak fixes, the fold functions need to unref the passed object and
5679         _get_parent_*() returns ref to parent.
5680
5681 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5682
5683         * check/gst/gstbuffer.c: (test_make_writable):
5684           Plug leak in test case and fix 'make check-valgrind'
5685
5686 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5687
5688         * gst/gstbuffer.c: (gst_subbuffer_init):
5689           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
5690           works correctly in all circumstances (we could have just copied
5691           the parent buffer's readonly flag, but conceptually it seems
5692           cleaner to mark all subbuffers as read-only). (based on patch
5693           by Alessandro Decina, #314710).
5694         
5695         * check/gst/gstbuffer.c: (create_read_only_buffer),
5696         (test_make_writable), (test_subbuffer_make_writable),
5697         (gst_test_suite):
5698           Add some tests for gst_buffer_make_writable().
5699
5700 2005-09-27  Wim Taymans  <wim@fluendo.com>
5701
5702         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
5703         use gst_object_has_ancestor().
5704
5705         * gst/gstobject.c: (gst_object_has_ancestor):
5706         * gst/gstobject.h:
5707         gst_object_has_ancestor() copied from gstbin.c as it is a
5708         usefull function.
5709
5710         * tests/instantiate/create.c: (create_all_elements):
5711         * tests/lat.c: (handoff_src), (handoff_sink):
5712         * tests/sched/runxml.c: (main):
5713         * tests/seeking/seeking1.c: (main):
5714         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
5715         (main):
5716         Fix compilation of some tests.
5717
5718 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5719
5720         * gst/gsterror.h:
5721           Remove comment. GST_TYPE_G_ERROR is here to stay,
5722           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
5723           (#316961, #300610).
5724
5725 2005-09-26  Wim Taymans  <wim@fluendo.com>
5726
5727         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5728         Added check that shows error in state change order.
5729
5730 2005-09-26  Wim Taymans  <wim@fluendo.com>
5731
5732         * gst/gstbin.c: (gst_bin_change_state):
5733         Make state change function use 3 queues again, we were
5734         adding elements in the wrong order.
5735
5736         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
5737         Some debug info,
5738
5739         * gst/gstpad.c: (gst_pad_dispose):
5740         Added some debug info first.
5741
5742 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
5743
5744         * docs/design/draft-push-pull.txt:
5745         * docs/design/part-events.txt:
5746         * docs/design/part-overview.txt:
5747         * docs/design/part-scheduling.txt:
5748           Replace all _pull_region() with _pull_range()
5749           
5750 2005-09-26  Andy Wingo  <wingo@pobox.com>
5751
5752         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
5753
5754         * check/gst-libs/controller.c: Update for controller api change.
5755
5756         * configure.ac: 
5757         * tests/Makefile.am:
5758         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
5759         over by GLib bug 118439.
5760         
5761         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
5762         routines to a function.
5763
5764         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
5765
5766         * libs/gst/controller/gsthelper.c:
5767         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
5768         (gst_object_sync_values): Renamed from sink_values. Ugh.
5769
5770         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
5771
5772         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
5773         Renamed from controller_key, as it is exported.
5774
5775         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
5776
5777 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5778
5779         * gst/Makefile.am:
5780         * gst/gst.h:
5781         * gst/gstpad.h:
5782         * gst/gstpadtemplate.h:
5783         * gst/gstquery.c:
5784         * gst/gstquery.h:
5785         * gst/gstqueryutils.c:
5786         * gst/gstqueryutils.h:
5787           remove queryutils headers after moving the two used functions
5788           to gstquery.  also fixes build problem for gstsiddec
5789
5790 2005-09-26  Michael Smith <msmith@fluendo.com>
5791
5792         * tools/gst-launch.1.in:
5793         Correct documentation in manpage of debug syntax
5794
5795 2005-09-26  Wim Taymans  <wim@fluendo.com>
5796
5797         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
5798         (gst_base_src_is_seekable), (gst_base_src_change_state):
5799         Some more debugging info.
5800
5801 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5802
5803         * docs/gst/gstreamer-sections.txt:
5804         * gst/base/gstbasetransform.h:
5805         * gst/gstindex.h:
5806           added more docs
5807
5808 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5809
5810         * docs/gst/.cvsignore:
5811         * docs/gst/tmpl/.cvsignore:
5812         * docs/gst/tmpl/gstpipeline.sgml:
5813         * docs/gst/tmpl/gstplugin.sgml:
5814         * gst/gstpipeline.c:
5815         * gst/gstplugin.c:
5816         * gst/gstplugin.h:
5817           inlined the last two docs files
5818           removed the tmpl directory from cvs (no more conflicts here!)
5819
5820 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
5821
5822         * docs/gst/gstreamer-sections.txt:
5823         * docs/gst/tmpl/.cvsignore:
5824         * docs/gst/tmpl/gstpad.sgml:
5825         * docs/gst/tmpl/gstpadtemplate.sgml:
5826         * gst/Makefile.am:
5827         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
5828         (gst_pad_finalize), (gst_pad_set_pad_template):
5829         * gst/gstpad.h:
5830         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5831         (gst_pad_template_class_init), (gst_pad_template_init),
5832         (gst_pad_template_dispose), (name_is_valid),
5833         (gst_static_pad_template_get), (gst_pad_template_new),
5834         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
5835         (gst_pad_template_pad_created):
5836         * gst/gstpadtemplate.h:
5837           inlined two more docs
5838           factored gstpadtemplate out of gstpad
5839
5840 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
5841
5842         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5843         (test_children_state_change_order_semi_sink):
5844           Fix test case: we can't rely on a fixed state change order when
5845           going from READY => PAUSED because the sink might commit its 
5846           new state first when the first buffer created by the source 
5847           reaches the sink before the source has finished its change state.
5848           (Test case still fails at times, see #316856, comment 5 onwards)
5849
5850 2005-09-24  Wim Taymans  <wim@fluendo.com>
5851
5852         * docs/design/part-events.txt:
5853         * docs/design/part-gstbus.txt:
5854         * docs/design/part-gstpipeline.txt:
5855         * docs/design/part-messages.txt:
5856         * docs/design/part-overview.txt:
5857         * docs/design/part-segments.txt:
5858         * gst/gstbin.c:
5859         * gst/gstbuffer.c:
5860         * gst/gstclock.c:
5861         * gst/gstelement.c:
5862         * gst/gstevent.c:
5863         * gst/gstfilter.c:
5864         * gst/gstiterator.c:
5865         Various documentation updates.
5866
5867 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5868
5869         * gst/gstclock.h:
5870           Well, that's embarassing.  Luckily we weren't using
5871           GST_CLOCK_DIFF anywhere.
5872
5873 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5874
5875         * common/gtk-doc.mak:
5876           don't fail on building XML, FC4 slave shows a bunch of doc
5877           missing bits that I don't get
5878         * gst/gstpad.c:
5879         * gst/gstpipeline.c:
5880         * gst/gststructure.c:
5881           some doc updates
5882
5883 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5884
5885         * docs/design/part-gstbin.txt:
5886         * docs/design/part-gstbus.txt:
5887         * gst/gstbus.c:
5888           Add blurb about how the bus goes into flushing mode and
5889           drops all messages when its bin goes from READY into NULL 
5890           state.
5891
5892 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5893
5894         * docs/gst/gstreamer-sections.txt:
5895         * gst/gststructure.c: (gst_structure_get_clock_time):
5896         * gst/gststructure.h:
5897           add a method to get a GstClockTime out of a structure
5898
5899 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5900
5901         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
5902         (test_children_state_change_order_semi_sink), (gst_bin_suite):
5903           Added test to check state change order in bins (can still be made
5904           to fail here under heavy disk load; bails out with 'Push on pad
5905           fakesink:sink0, but it was not activated in push mode').
5906
5907         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
5908           Fix state change order when there is only a semi sink (#316856)
5909
5910         * gst/gstbus.c: (gst_bus_class_init):
5911           Use _class_peek_parent(), not _class_ref(); fix docs to say
5912           'default main context' instead of 'mainloop' where that is
5913           what's meant.
5914
5915         * gst/gstelement.c: (gst_element_commit_state),
5916         (gst_element_set_state):
5917           Fix typos in debug messages
5918
5919 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5920
5921         * docs/README:
5922         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
5923         * gst/gstpluginfeature.c:
5924         * gst/gstutils.c:
5925           various doc updates
5926         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5927           change an assert into an error until it gets fixed properly
5928
5929 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
5930
5931         * docs/gst/gstreamer-sections.txt:
5932         * docs/gst/tmpl/.cvsignore:
5933         * docs/gst/tmpl/gstelement.sgml:
5934         * docs/gst/tmpl/gstinfo.sgml:
5935         * docs/gst/tmpl/gstobject.sgml:
5936         * gst/gstelement.c:
5937         * gst/gstelement.h:
5938         * gst/gstinfo.c:
5939         * gst/gstinfo.h:
5940         * gst/gstobject.c: (gst_object_class_init):
5941         * gst/gstobject.h:
5942           inlined 3 more biiiig doc files and added some missing docs on the fly
5943
5944 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5945
5946         * check/gst/.cvsignore:
5947         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
5948         * gst/gstregistryxml.c: (load_plugin),
5949         (gst_registry_xml_save_plugin):
5950           put back source in registry.  add checks for find_plugin.
5951         * testsuite/states/bin.c: (assert_state), (empty_bin),
5952         (test_adding_one_element), (main):
5953         * testsuite/states/locked.c: (main):
5954           some compile/run fixes
5955
5956 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5957
5958         * check/gst/gstvalue.c: (GST_START_TEST):
5959           fix leaks in the test itself
5960
5961 2005-09-22  Wim Taymans  <wim@fluendo.com>
5962
5963         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5964         (gst_base_sink_send_event), (gst_base_sink_peer_query),
5965         (gst_base_sink_query):
5966         Prepare for more accurate position reporting and query
5967         handling.
5968
5969         * gst/gstelement.c: (gst_element_send_event),
5970         (gst_element_set_state):
5971         Add some comment.
5972
5973 2005-09-22  Wim Taymans  <wim@fluendo.com>
5974
5975         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
5976         (gst_query_parse_segment):
5977         * gst/gstquery.h:
5978         More documentation.
5979         Add segment query for future use.
5980
5981 2005-09-22  Wim Taymans  <wim@fluendo.com>
5982
5983         * gst/gstbin.c: (gst_bin_add_func):
5984         Some more debug info.
5985
5986         * gst/gstelement.c: (gst_element_send_event):
5987         Simplify send_event
5988
5989         * gst/gstelement.h:
5990         Don't know how flags got broken.
5991
5992         * gst/gstquery.h:
5993         Added new query.
5994
5995 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
5996
5997         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
5998           Add simplistic test suite for GST_TYPE_DATE serialisation and
5999           deserialisation.
6000
6001 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6002
6003         * docs/gst/gstreamer-sections.txt:
6004         * gst/gststructure.c: (gst_structure_set_valist),
6005         (gst_structure_get_date):
6006         * gst/gststructure.h:
6007         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
6008         (gst_date_copy), (gst_value_compare_date),
6009         (gst_value_serialize_date), (gst_value_deserialize_date),
6010         (gst_value_transform_date_string),
6011         (gst_value_transform_string_date), (_gst_value_initialize):
6012         * gst/gstvalue.h:
6013           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
6014           bunch of utility functions along with a hack that checks that
6015           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
6016           is required. Part of the grand scheme in #170777.
6017
6018 2005-09-22  Andy Wingo  <wingo@pobox.com>
6019
6020         * gst/gstconfig.h.in: Psych out gtk-doc.
6021
6022         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
6023
6024         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
6025
6026         * tools/gst-inspect.c (print_element_list): Plug some
6027         inconsequential leaks.
6028
6029         * gst/gstregistry.c (gst_registry_get_default): Doc.
6030
6031         * check/gst/gstplugin.c: 
6032         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
6033         * gst/gstelementfactory.c (gst_element_factory_create): 
6034         * gst/gstindexfactory.c (gst_index_factory_create): Update for
6035         refcount changes.
6036
6037         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
6038         (gst_plugin_feature_load): Doc, don't eat refs.
6039
6040         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
6041         (gst_plugin_list_free): Doc.
6042         (gst_plugin_load_file): Doc updates.
6043
6044         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
6045         accessors returning refcounted objects, return a ref.
6046
6047         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
6048         accessor for caps. IDEMPOTENCE. Oh yes.
6049
6050 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
6051
6052         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6053
6054         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
6055         (_gst_debug_register_funcptr):
6056           Add mutex to serialise access to the hash table with
6057           the function pointer => function name string mapping;
6058           make that hash table static scope (#316809).
6059
6060         * gst/registries/.cvsignore:
6061           Remove left-over file.
6062
6063 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6064
6065         * docs/pwg/appendix-porting.xml:
6066           And something about newsegment events and caps-on-buffers to
6067           the porting guide (feel free to improve).
6068
6069 2005-09-21  Andy Wingo  <wingo@pobox.com>
6070
6071         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
6072         data and event probes on the same pad.
6073         (test_buffer_probe_once): Test that removing probes from within
6074         the probe functions works.
6075
6076 2005-09-21  Andy Wingo  <wingo@pobox.com>
6077
6078         * check/gst/gstutils.c: New file.
6079         (test_buffer_probe_n_times): A simple buffer probe test. More to
6080         come, foolios.
6081
6082         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
6083         have-data::buffer, not have-data.
6084         (gst_pad_add_event_probe): Likewise for have-data::event.
6085         (gst_pad_add_data_probe): More docs. The part about 'resolving the
6086         peer' isn't quite right yet though.
6087         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
6088         (gst_pad_remove_data_probe): Change to take the guint handler_id
6089         as their arg, not the function+data, which is more glib-like.
6090
6091         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
6092         the signal emission to indicate if the data is a buffer or an
6093         event.
6094         (gst_pad_get_type): Initialize buffer and event quarks.
6095         (gst_pad_class_init): have-data is now a detailed signal, yes it
6096         is.
6097
6098 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6099
6100         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6101         * gst/gstutils.c: (gst_util_set_value_from_string),
6102         (gst_util_set_object_arg):
6103           Don't put functional code in g_return_if_fail() or
6104           g_return_val_if_fail() statements, otherwise things will 
6105           break when G_DISABLE_CHECKS is defined during compilation.
6106
6107 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6108
6109         * docs/gst/tmpl/.cvsignore:
6110         * docs/gst/tmpl/gstvalue.sgml:
6111         * gst/gstvalue.c:
6112         * gst/gstvalue.h:
6113           inlied another one and added  some obvious docs
6114
6115 2005-09-21  Wim Taymans  <wim@fluendo.com>
6116
6117         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6118         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
6119         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
6120         (gst_fdsrc_get_property), (gst_fdsrc_create):
6121         * gst/elements/gstfdsrc.h:
6122         Properly implement fdsrc. Removed signal and timeout,
6123         better implemented somewhere else.
6124
6125 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6126
6127         * docs/gst/tmpl/.cvsignore:
6128         * docs/gst/tmpl/gstimplementsinterface.sgml:
6129         * gst/gstinterface.c:
6130           inlined more docs
6131
6132 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6133
6134         * docs/gst/gstreamer-sections.txt:
6135         * docs/gst/tmpl/.cvsignore:
6136         * docs/gst/tmpl/gstenumtypes.sgml:
6137           remove obsolete doc file
6138
6139 2005-09-21  David Schleef  <ds@schleef.org>
6140
6141         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
6142         little beer, fix a little leak.
6143
6144 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6145
6146         * docs/gst/gstreamer-docs.sgml:
6147         * docs/gst/gstreamer-sections.txt:
6148         * docs/gst/tmpl/.cvsignore:
6149         * gst/Makefile.am:
6150         * gst/gst.h:
6151         * gst/gstbin.c:
6152         * gst/gstelement.h:
6153         * gst/gstindex.c: (gst_index_class_init):
6154         * gst/gstindex.h:
6155         * gst/gstindexfactory.c: (gst_index_factory_get_type),
6156         (gst_index_factory_class_init), (gst_index_factory_init),
6157         (gst_index_factory_finalize), (gst_index_factory_new),
6158         (gst_index_factory_destroy), (gst_index_factory_find),
6159         (gst_index_factory_create), (gst_index_factory_make):
6160         * gst/gstindexfactory.h:
6161         * gst/gstpluginfeature.c:
6162         * gst/gstpluginfeature.h:
6163         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6164           more docs inlined, splitted gstindex.{c,h}
6165
6166 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6167
6168         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6169           fix a leak
6170
6171 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6172
6173         * gst/elements/gstfilesink.c: (gst_file_sink_init):
6174           Set sync to FALSE by default.
6175
6176 2005-09-20  Wim Taymans  <wim@fluendo.com>
6177
6178         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6179         (gst_base_sink_init):
6180         Make sync property settable from subclass.
6181
6182         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6183         (gst_fake_sink_change_state):
6184         Set sync to FALSE by default.
6185
6186 2005-09-20  Wim Taymans  <wim@fluendo.com>
6187
6188         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
6189         * tools/gst-launch.c: (main):
6190         The timeout handler should have lower priority than the source
6191         so we don't timeout before popping a message with 0 timeout.
6192         Dump error messages after failed state change.
6193
6194 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6195
6196         * tools/gst-inspect.c: (print_element_properties_info):
6197           Fix two typos.
6198
6199 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6200
6201         * check/gst/gstevent.c:
6202         * gst/elements/gstfakesink.c:
6203         * gst/elements/gstfakesink.h:
6204           remove the sync property from fakesink.
6205           has the side effect of setting sync TRUE
6206           for fakesink, which is a change.  Anyone who knows how
6207           to fix this nicely in a GObject-y way, feel free.
6208
6209 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6210
6211         * docs/gst/gstreamer-docs.sgml:
6212           remove probe refsection
6213
6214 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6215
6216         * check/Makefile.am:
6217           disable valgrinding the controller test again
6218         * docs/gst/gstreamer-sections.txt:
6219           update for api-changes
6220
6221 2005-09-20  Wim Taymans  <wim@fluendo.com>
6222
6223         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6224         (gst_base_sink_set_property), (gst_base_sink_get_property),
6225         (gst_base_sink_do_sync):
6226         * gst/base/gstbasesink.h:
6227         Added sync property to basesink to disable clock sync.
6228
6229 2005-09-20  Andy Wingo  <wingo@pobox.com>
6230
6231         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
6232         eating the caller's refcount.
6233
6234         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
6235         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
6236         refcount.
6237
6238         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
6239         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
6240         of GLib 2.8 public, so we can know which refcount to check in
6241         tests.
6242
6243         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
6244         (gst_object_init): Only set the gst refcount if we're going ahead
6245         with the refcount hack.
6246
6247 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6248
6249         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6250         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6251           more leaks plumbed, added more debug-logging
6252         * gst/gstmacros.h:
6253           whitespace fix
6254
6255 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6256
6257         * gst/gstmessage.c:
6258           remove include of gstmemchunk.h
6259
6260 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6261
6262         * gst/gstclock.c: (_gst_clock_id_free):
6263           Commit from the Political Party For More Atomic CVS Commits,
6264           so that people don't waste too much of their day fishing
6265           out obvious leaks out of massive commits.
6266           Oh, and fix a pretty damn obvious leak in the memchunk
6267           removal code.
6268
6269 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6270
6271         * check/Makefile.am:
6272         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6273           plug mem-leak, re-add to valgrindable tests
6274
6275 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6276
6277         * gst/gstplugin.h:
6278           unbreak the build for those who have chronic arthritis
6279           and typing "make check" is just too taxing on the hands
6280
6281 2005-09-20  Andy Wingo  <wingo@pobox.com>
6282
6283         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
6284         really want it out, you should fix plugins at the same time.
6285
6286 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
6287
6288         * configure.ac:
6289         * docs/gst/gstreamer-sections.txt:
6290         * gst/gstobject.c:
6291           added missing symbols to api docs
6292           disable ref-count hack if we have glib >= 2.8
6293
6294 2005-09-19  David Schleef  <ds@schleef.org>
6295
6296         * docs/gst/Makefile.am: Ignore a few more internal headers
6297         * docs/gst/gstreamer-docs.sgml: Remove old sections
6298         * docs/gst/gstreamer-sections.txt: Remove old sections
6299         * docs/gst/tmpl/gstobject.sgml: update
6300         * docs/gst/tmpl/gstplugin.sgml: update
6301         * docs/gst/tmpl/gstpluginfeature.sgml: update
6302         * docs/random/ds/0.9-suggested-changes: update.
6303         * gst/Makefile.am: remove memchunk and trashstack, since they're
6304           not used.
6305         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
6306         * gst/gst.h: don't include some headers
6307         * gst/gstchildproxy.c: add gstmarshal.h
6308         * gst/gstclock.c: Don't use memchunks
6309         * gst/gstminiobject.c: Add some docs
6310         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
6311         * gst/gstobject.h: same
6312         * gst/gstplugin.c: include gstmacros.h
6313         * gst/gstplugin.h: don't include gstmacros.h, since it's private
6314         * gst/gstquery.c: don't use memchunks
6315         * gst/gstregistry.c: rename gst_registry_deinit()
6316         * gst/gstregistry.h: same
6317
6318 2005-09-19  David Schleef  <ds@schleef.org>
6319
6320         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
6321         * docs/libs/gstreamer-libs-sections.txt:
6322         * docs/libs/tmpl/gstgetbits.sgml:
6323         * docs/libs/tmpl/gstputbits.sgml:
6324
6325 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6326
6327         * win32/gstenumtypes.c:
6328         * win32/gstenumtypes.h:
6329           Update.
6330
6331 2005-09-19  Wim Taymans  <wim@fluendo.com>
6332
6333         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
6334         Automatically PAUSE and RESUME a pipeline when a flushing seek
6335         is performed.
6336
6337 2005-09-19  Andy Wingo  <wingo@pobox.com>
6338
6339         * gst/gstregistry.h: Spacing fixen.
6340
6341 2005-09-19  Wim Taymans  <wim@fluendo.com>
6342
6343         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
6344         Handle state change failure more correctly.
6345
6346 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6347
6348         * check/Makefile.am:
6349         * check/pipelines/cleanup.c: (run_pipeline):
6350         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6351         (GST_START_TEST):
6352           enable cleanup again after fixing the leak
6353         * docs/README:
6354           some more info on docs
6355
6356 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6357
6358         * check/Makefile.am:
6359           re-enable tests now that leaks are plugged
6360         * check/gst/gst.c:
6361         * check/gst/gstbin.c:
6362         * check/gst/gstpipeline.c:
6363           add some more tests while fixing leaks
6364         * common/check.mak:
6365           make sure binaries are uptodate when valgrinding/gdbing
6366         * gst/gst.c:
6367         * gst/gstelementfactory.c:
6368           remove a ref too many, and add a FIXME for when we get
6369           round to disposing of classes
6370         * gst/gstplugin.c:
6371           fix the refcounting when loading a plugin from a file and
6372           the code pretends that the pointer is the same even though
6373           of course it can change
6374         * gst/gstpluginfeature.c:
6375           unref plugins marked cached (a bit confusing as a name)
6376           as the docs state should be done
6377           various doc additions to explain refcounting
6378         * gst/gstregistry.c:
6379         * gst/gstregistryxml.c:
6380           debugging
6381
6382 2005-09-19  Wim Taymans  <wim@fluendo.com>
6383
6384         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6385         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6386         (send_messages), (GST_START_TEST), (gstbus_suite):
6387         * check/gst/gstpipeline.c: (GST_START_TEST):
6388         * check/pipelines/cleanup.c: (run_pipeline):
6389         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6390         (GST_START_TEST):
6391         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6392         (gst_bus_source_check), (gst_bus_source_dispatch),
6393         (gst_bus_create_watch), (gst_bus_add_watch_full),
6394         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6395         * gst/gstbus.h:
6396         * tools/gst-launch.c: (event_loop):
6397         * tools/gst-md5sum.c: (event_loop):
6398         GstBusHandler -> GstBusFunc, return value has the same meaning as
6399         any other GSource (FALSE == remove source).
6400         _add_watch() and _add_watch_full() now take a MessageType mask to
6401         only handle specific types of messages.
6402         _poll() returns the GstMessage instead of the message type to avoid
6403         race conditions.
6404         _have_pending() takes a MessageType mask now too.
6405         Added testsuite for multiple bus watches.
6406         Fix testsuites and applications for new bus API.
6407
6408 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6409
6410         * check/Makefile.am:
6411           mark a bunch of the tests as to fix until we fix them
6412
6413 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6414
6415         * common/check.mak:
6416           use GST_PLUGIN settings for valgrind tests as well, so we're
6417           valgrinding the correct thing
6418         * gst/gst.c: (init_post):
6419           plug another leak
6420
6421 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6422
6423         * gst/gst.c: (init_post), (gst_deinit):
6424         * gst/gstelementfactory.c: (gst_element_factory_class_init),
6425         (gst_element_factory_finalize), (gst_element_factory_cleanup):
6426         * gst/gstindex.c: (gst_index_factory_class_init),
6427         (gst_index_factory_finalize):
6428         * gst/gstobject.c: (gst_object_dispose):
6429         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6430         (gst_plugin_load_file), (gst_plugin_desc_free):
6431         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6432         (gst_plugin_feature_finalize):
6433         * gst/gstregistry.c: (gst_registry_class_init),
6434         (gst_registry_init), (gst_registry_finalize),
6435         (gst_registry_get_default), (gst_registry_deinit):
6436         * gst/gstregistry.h:
6437         * gst/gstregistryxml.c: (load_feature), (load_plugin):
6438           various cleanups and memleak plugging.  make valgrind is happy now.
6439
6440 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6441
6442         * common/check.mak:
6443           add a check-valgrind target
6444
6445 2005-09-18  David Schleef  <ds@schleef.org>
6446
6447         * tools/gst-inspect.c: Revert the GOption code.
6448
6449 2005-09-17  David Schleef  <ds@schleef.org>
6450
6451         * check/Makefile.am: Fix environment variables.
6452         * check/gst/gstplugin.c: Fix for API changes.
6453         * tools/gst-inspect.c: Fix for API changes.
6454         * tools/gst-xmlinspect.c: Fix for API changes.
6455         * gst/gstelementfactory.c:
6456         * gst/gstplugin.c:
6457         * gst/gstplugin.h:
6458         * gst/gstpluginfeature.c:
6459         * gst/gstpluginfeature.h:
6460         * gst/gstregistry.c:
6461         * gst/gstregistry.h:
6462         * gst/gstregistryxml.c:
6463         * gst/gsttypefind.c:
6464         * gst/gsttypefindfactory.c:
6465         * gst/indexers/gstfileindex.c:
6466         * gst/indexers/gstmemindex.c:
6467         * gst/schedulers/Makefile.am:
6468           Change registry to keep track of both plugins and features,
6469           removing the feature tracking from plugins themselves.
6470
6471 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6472
6473         * check/Makefile.am:
6474         * tools/gst-register.1.in:
6475           remove gst-register
6476
6477 2005-09-15  David Schleef  <ds@schleef.org>
6478
6479         * check/gst/gstplugin.c:
6480         * gst/gstelementfactory.c:
6481         * gst/gstplugin.c:
6482         * gst/gstpluginfeature.c:
6483         * gst/gstregistry.c:
6484           Getting tired of debugging.  Disabled all the unreffing of
6485           plugins and features, which fixes the segfaults, but of
6486           course leaks like crazy.  At least playbin works.
6487
6488 2005-09-15  David Schleef  <ds@schleef.org>
6489
6490         * check/gst/gstplugin.c: (register_check_elements),
6491         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6492         More testing
6493         * gst/elements/gsttypefindelement.c: Fix refcounting.
6494         * gst/gsttypefind.c:
6495         * gst/gsttypefindfactory.c:
6496         * gst/gsttypefindfactory.h:
6497
6498 2005-09-15  David Schleef  <ds@schleef.org>
6499
6500         * gst/gstindex.c: get refcounting correct.
6501         * gst/gstregistry.c: Handle the case where a feature/plugin is
6502           not found.
6503
6504 2005-09-15  David Schleef  <ds@schleef.org>
6505
6506         * check/Makefile.am:
6507         * check/gst/gstplugin.c: Add test
6508         * gst/gstplugin.c: Fix problems noticed by testsuite
6509         * gst/gstplugin.h:
6510         * gst/gstregistry.c: 
6511         * gst/gstregistry.h:
6512
6513 2005-09-15  David Schleef  <ds@schleef.org>
6514
6515         * gst/gstplugin.c: Implement semi-decent recounting and locking
6516           in plugins and plugin features.
6517         * gst/gstplugin.h:
6518         * gst/gstpluginfeature.c:
6519         * gst/gstpluginfeature.h:
6520         * gst/gstregistry.c:
6521
6522 2005-09-15  Michael Smith <msmith@fluendo.com>
6523
6524         * gst/gstregistry.c: (gst_registry_get_feature_list):
6525           Implement this. Makes oggdemux work; decodebin still broken.
6526
6527 2005-09-14  David Schleef  <ds@schleef.org>
6528
6529         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6530           #316076)
6531         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6532         * gst/check/Makefile.am:
6533         * libs/gst/controller/Makefile.am:
6534         * libs/gst/dataprotocol/Makefile.am:
6535
6536 2005-09-14  David Schleef  <ds@schleef.org>
6537
6538         * configure.ac: Remove getbits library.  Nothing uses it, and
6539           it should be in something like liboil if someone did want
6540           to use it.
6541         * libs/gst/Makefile.am:
6542         * libs/gst/getbits/Makefile.am:
6543         * libs/gst/getbits/gbtest.c:
6544         * libs/gst/getbits/getbits.c:
6545         * libs/gst/getbits/getbits.h:
6546         * libs/gst/getbits/gstgetbits_generic.c:
6547         * libs/gst/getbits/gstgetbits_i386.s:
6548         * libs/gst/getbits/gstgetbits_inl.h:
6549
6550 2005-09-14  David Schleef  <ds@schleef.org>
6551
6552         * gst/Makefile.am: Dist glib-compat.h
6553
6554 2005-09-14  David Schleef  <ds@schleef.org>
6555
6556         * configure.ac: Remove gst/registries, since it's no longer used.
6557         * gst/registries/Makefile.am:
6558         * gst/registries/gstlibxmlregistry.c:
6559         * gst/registries/gstlibxmlregistry.h:
6560         * gst/registries/gstxmlregistry.c:
6561         * gst/registries/gstxmlregistry.h:
6562         * gst/registries/registrytest.c:
6563
6564 2005-09-14  David Schleef  <ds@schleef.org>
6565
6566         * gst/glib-compat.h:
6567         * gst/gstregistryxml.c:
6568           Convergence is near.  Seriously.
6569
6570 2005-09-14  David Schleef  <ds@schleef.org>
6571
6572         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6573         * gst/glib-compat.h:
6574           Attempt #4 to appease the buildbots.
6575
6576 2005-09-14  David Schleef  <ds@schleef.org>
6577
6578         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6579           Attempt #3.
6580
6581 2005-09-14  David Schleef  <ds@schleef.org>
6582
6583         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6584         Attempt #2.
6585
6586 2005-09-14  David Schleef  <ds@schleef.org>
6587
6588         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
6589           the new functions.
6590
6591 2005-09-14  David Schleef  <ds@schleef.org>
6592
6593         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6594         * gst/glib-compat.h: Add some functions that are in newer versions
6595           of glib than we care to require.
6596         * gst/gstregistryxml.c: Use them.
6597
6598 2005-09-14  David Schleef  <ds@schleef.org>
6599
6600         * po/POTFILES.in: remove gst-register.c
6601
6602 2005-09-14  David Schleef  <ds@schleef.org>
6603
6604         * docs/gst/gstreamer-docs.sgml:
6605         * docs/gst/gstreamer-sections.txt:
6606         * docs/gst/gstreamer.types:
6607         * docs/gst/tmpl/gstelement.sgml:
6608         * docs/gst/tmpl/gstplugin.sgml:
6609         * docs/gst/tmpl/gstpluginfeature.sgml:
6610           Documentation updates for registry changes.
6611
6612 2005-09-14  David Schleef  <ds@schleef.org>
6613
6614         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
6615           because we don't require glib-2.8.
6616
6617 2005-09-14  David Schleef  <ds@schleef.org>
6618
6619         * gst/gstregistryxml.c: Added.  Essentially moved out of the
6620           registries directory.
6621
6622 2005-09-14  David Schleef  <ds@schleef.org>
6623
6624         * check/Makefile.am:
6625         * check/generic/states.c:
6626         * gst/Makefile.am:
6627         * gst/gst.c:
6628         * gst/gst.h:
6629         * gst/gst_private.h:
6630         * gst/gstelementfactory.c:
6631         * gst/gstindex.c:
6632         * gst/gstinfo.c:
6633         * gst/gstplugin.c:
6634         * gst/gstplugin.h:
6635         * gst/gstpluginfeature.c:
6636         * gst/gstpluginfeature.h:
6637         * gst/gstregistry.c:
6638         * gst/gstregistry.h:
6639         * gst/gstregistrypool.c: remove
6640         * gst/gstregistrypool.h: remove
6641         * gst/gsttypefind.c:
6642         * gst/gsttypefindfactory.c:
6643         * gst/gsturi.c:
6644         * tools/Makefile.am:
6645         * tools/gst-compprep.c:
6646         * tools/gst-inspect.c:
6647         * tools/gst-register.c: remove
6648         * tools/gst-xmlinspect.c:
6649           Registry rewrite.  Changes registry from being a file created
6650           by a tool into a simple cache file created automatically by 
6651           libgstreamer.  Removed gst-register (because it's no longer
6652           needed).  Remove registry pools, because we only have one
6653           registry implementation (XML).  Fix up other subsystems as
6654           necessary.
6655
6656 2005-09-13  Michael Smith <msmith@fluendo.com>
6657
6658         * gst/gstconfig.h.in:
6659           Don't Use windows linking attributes for MinGW. Fixes #316157
6660
6661 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6662
6663         * gst/gstutils.c: (set_state_async_thread_func),
6664         (gst_element_set_state_async):
6665           Apparently people think it's better if this function doesn't
6666           try to set the state to whatever state was asked for on the first
6667           call to this function for any object.  Seriously.
6668
6669 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6670
6671         * check/gst/gstpipeline.c: (GST_START_TEST):
6672         * docs/gst/gstreamer-sections.txt:
6673         * gst/gstutils.c: (set_state_async_thread_func),
6674         (gst_element_set_state_async):
6675         * gst/gstutils.h:
6676           add a "gst_element_set_state_async" method that
6677           sets the state and starts a thread to make sure the state
6678           change completes as best as it can
6679
6680 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6681
6682         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6683           codify design+behaviour in testsuite after discussion
6684
6685 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6686
6687         * docs/gst/tmpl/gstelement.sgml:
6688         * docs/manual/appendix-quotes.xml:
6689           add a quote
6690         * gst/gstelement.c: (gst_element_set_state):
6691           add some debug
6692
6693 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
6694
6695         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6696         (gst_base_transform_prepare_output_buf),
6697         (gst_base_transform_handle_buffer):
6698         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
6699         (gst_capsfilter_prepare_buf):
6700           Remove the requirement for sub-classes to call the parent
6701           implementation of prepare_output_buffer with a wrapper function.
6702           
6703         * gst/gsttaglist.h:
6704         * gst/gsttagsetter.h:
6705           Fix #define wrapper
6706
6707 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
6708
6709         * docs/gst/gstreamer-sections.txt:
6710           more doc cleanups
6711
6712 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6713
6714         * docs/gst/gstreamer-sections.txt:
6715         * docs/gst/tmpl/gstelement.sgml:
6716         * docs/gst/tmpl/gstplugin.sgml:
6717         * gst/gstminiobject.c:
6718         * gst/gstvalue.h:
6719           docs now stop throwing warnings
6720
6721 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6722
6723         * docs/gst/gstreamer-sections.txt:
6724         * docs/gst/gstreamer.types:
6725         * docs/gst/tmpl/gstpad.sgml:
6726         * docs/gst/tmpl/gsttypes.sgml:
6727         * gst/base/gstadapter.h:
6728         * gst/base/gstbasesink.h:
6729         * gst/base/gstbasesrc.h:
6730         * gst/gstbin.h:
6731         * gst/gstbuffer.h:
6732         * gst/gstbus.h:
6733         * gst/gstcaps.h:
6734         * gst/gstclock.h:
6735         * gst/gstelement.h:
6736         * gst/gstevent.h:
6737         * gst/gstmessage.h:
6738         * gst/gstpad.h:
6739         * gst/gststructure.c:
6740         * gst/registries/gstlibxmlregistry.h:
6741           various documentation fixes
6742
6743 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6744
6745         * docs/gst/gstreamer-sections.txt:
6746         * docs/gst/tmpl/gstvalue.sgml:
6747           rearrange gstvalue section
6748         * gst/gstutils.c: (gst_element_state_get_name):
6749           NONE -> VOID
6750         * gst/gstvalue.c: (_gst_value_initialize):
6751         * gst/gstvalue.h:
6752           doc updates
6753
6754 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
6755
6756         * check/gst-libs/controller.c:
6757           Header include fix.
6758         * gst/base/gstbasetransform.c:
6759         (gst_base_transform_default_prepare_buf),
6760         (gst_base_transform_handle_buffer):
6761         * gst/base/gstbasetransform.h:
6762           Some more basetransform changes and fixes to enable sub-classes
6763           that modify buffer metadata only.
6764         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6765         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
6766         (gst_capsfilter_prepare_buf):
6767           If the output pad has fixed allowed caps and input buffers 
6768           don't have any, set the fixed caps on outgoing buffers.
6769
6770 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
6771         * check/elements/identity.c: (GST_START_TEST):
6772           Make the error a little clearer when the test fails because
6773           identity made a copy of the buffer.
6774         * docs/gst/gstreamer-sections.txt:
6775           New symbols in gstbasetransform.h
6776         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6777         (gst_base_transform_init), (gst_base_transform_transform_size),
6778         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6779         (gst_base_transform_default_prepare_buf),
6780         (gst_base_transform_get_unit_size),
6781         (gst_base_transform_buffer_alloc),
6782         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
6783         (gst_base_transform_change_state),
6784         (gst_base_transform_set_passthrough),
6785         (gst_base_transform_set_in_place),
6786         (gst_base_transform_is_in_place):
6787         * gst/base/gstbasetransform.h:
6788           Change BaseTransform to separate in_place operate from same_caps
6789           output. in_place implies that the element can perform the transform
6790           on incoming buffers in-place, even if the caps on the output are
6791           different.
6792           Sub-class elements can now implement special buffer allocation
6793           methods for outgoing buffers if they wish to.
6794           Big documentation addition.
6795         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
6796         * gst/elements/gstelements.c:
6797           Changes for basetransform modifications.
6798         * gst/elements/Makefile.am:
6799         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
6800           Compile fix. Extra debug output.
6801
6802 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6803
6804         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
6805         (gst_pad_suite):
6806           add tests for valid pad naming
6807         * gst/check/gstcheck.c: (gst_check_log_message_func),
6808         (gst_check_log_critical_func):
6809           add ASSERT_WARNING
6810           remove printing of code, it is fragile when the code contains
6811           % and the line number is enough info
6812         * gst/check/gstcheck.h:
6813         * gst/gstpad.c: (gst_pad_template_new):
6814           fix memleaks
6815
6816 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6817
6818         * configure.ac:
6819           say what CHECK flags we use
6820         * docs/libs/gstreamer-libs.types:
6821         * libs/gst/controller/Makefile.am:
6822         * libs/gst/controller/gst-controller.c:
6823         * libs/gst/controller/gst-controller.h:
6824         * libs/gst/controller/gst-helper.c:
6825         * libs/gst/controller/gst-interpolation.c:
6826         * libs/gst/controller/gstcontroller.c:
6827         * libs/gst/controller/gsthelper.c:
6828         * libs/gst/controller/gstinterpolation.c:
6829         * tools/gst-inspect.c: (print_plugin_info):
6830           we don't use dashes in header names
6831
6832 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6833
6834         * check/Makefile.am:
6835         * check/gst/.cvsignore:
6836         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
6837         (gst_pipeline_suite), (main):
6838           adding a test for pipelines and state changes
6839         * gst/gstutils.c: (get_state_func):
6840           add some debugging
6841         * gstreamer.spec.in:
6842           fix up spec file
6843
6844 2005-09-08  Michael Smith <msmith@fluendo.com>
6845
6846         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
6847         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
6848         (gst_file_src_is_seekable), (gst_file_src_get_size),
6849         (gst_file_src_start):
6850         * gst/elements/gstfilesrc.h:
6851           Various fixes for unseekable, unmmapable, and non-normal files, so
6852           that fallback to read() rather than mmap() works.
6853         * gst/gstevent.c: (gst_event_new_newsegment):
6854           Allow newsegment events with segment_start == segment_end, as will
6855           correctly happen if you use filesrc on a zero-size file, for
6856           example.
6857
6858 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6859
6860         * gst/gstplugin.c: (gst_plugin_load_file):
6861           Call g_module_close when we don't load the module
6862
6863         * gst/registries/gstlibxmlregistry.c:
6864         (gst_xml_registry_get_property):
6865           Port leak fix from 0.8
6866
6867 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6868
6869         * docs/gst/gstreamer-docs.sgml:
6870         * docs/gst/tmpl/.cvsignore:
6871         * docs/gst/tmpl/gsttrace.sgml:
6872         * docs/gst/tmpl/gsttrashstack.sgml:
6873         * gst/Makefile.am:
6874         * gst/gst.h:
6875         * gst/gstelement.h:
6876         * gst/gstevent.h:
6877         * gst/gstmessage.c:
6878         * gst/gstmessage.h:
6879         * gst/gsttag.c:
6880         * gst/gsttag.h:
6881         * gst/gsttaginterface.c:
6882         * gst/gsttaginterface.h:
6883         * gst/gsttaglist.c:
6884         * gst/gsttaglist.h:
6885         * gst/gsttagsetter.c:
6886         * gst/gsttagsetter.h:
6887         * gst/gsttrace.c:
6888         * gst/gsttrace.h:
6889         * gst/gsttrashstack.c:
6890           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
6891           inlined docs for gsttrace, gsttrashstack
6892
6893 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6894
6895         * gst/Makefile.am:
6896         * gst/elements/gstbufferstore.h:
6897         * gst/elements/gsttypefindelement.c:
6898         * gst/elements/gsttypefindelement.h:
6899         * gst/gst.h:
6900         * gst/gsttypefind.c:
6901         * gst/gsttypefind.h:
6902         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
6903         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
6904         (gst_type_find_factory_dispose),
6905         (gst_type_find_factory_unload_thyself),
6906         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
6907         (gst_type_find_factory_get_caps),
6908         (gst_type_find_factory_get_extensions),
6909         (gst_type_find_factory_call_function):
6910         * gst/gsttypefindfactory.h:
6911         * gst/registries/gstlibxmlregistry.c:
6912         * gst/registries/gstxmlregistry.c:
6913           splitted gsttypefind into gsttypefind, gsttypefindfactory
6914
6915 2005-09-07  Andy Wingo  <wingo@pobox.com>
6916
6917         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
6918         condition whereby the pad's task function is entered before the
6919         pad_mode variable was set.
6920
6921 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
6922
6923         * gst/gstpad.c: (gst_pad_alloc_buffer):
6924           Catch misbehaving pad_alloc functions that don't
6925           set up caps and do it for them.
6926
6927 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
6928
6929         * check/pipelines/simple_launch_lines.c: (run_pipeline):
6930           test for pipe!=NULL
6931         * docs/gst/tmpl/.cvsignore:
6932         * docs/gst/tmpl/gstmemchunk.sgml:
6933         * docs/gst/tmpl/gstparse.sgml:
6934         * docs/gst/tmpl/gsttaglist.sgml:
6935         * docs/gst/tmpl/gsttagsetter.sgml:
6936         * docs/gst/tmpl/gsttypefind.sgml:
6937         * docs/gst/tmpl/gsttypefindfactory.sgml:
6938         * gst/gstmemchunk.c:
6939         * gst/gstparse.c:
6940         * gst/gsttag.c:
6941         * gst/gsttaginterface.c:
6942         * gst/gsttypefind.c:
6943         * gst/gsttypefind.h:
6944           inlined more docs
6945
6946 === release 0.9.2 ===
6947
6948 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6949
6950         * NEWS:
6951         * RELEASE:
6952         * configure.ac:
6953           releasing 0.9.2, "South"
6954
6955 2005-09-05  Andy Wingo  <wingo@pobox.com>
6956
6957         * gst/registries/gstxmlregistry.h:
6958         * gst/registries/gstxmlregistry.c: Um... resurrect...
6959         
6960         * gst/registries/gstxmlregistry.h:
6961         * gst/registries/gstxmlregistry.c: and update to newer API.
6962         Incidentally they should be a bit faster now that they don't have
6963         to parse the caps.
6964         
6965 2005-09-05  Andy Wingo  <wingo@pobox.com>
6966
6967         * gst/registries/gstxmlregistry.h:
6968         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
6969         replaced by the libxml registry a while back
6970
6971 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6972
6973         * docs/gst/tmpl/gstplugin.sgml:
6974         * gst/elements/gstelements.c:
6975         * gst/gst.c:
6976         * gst/gstplugin.c: (gst_plugin_register_func),
6977         (gst_plugin_desc_copy), (gst_plugin_desc_free),
6978         (gst_plugin_get_source):
6979         * gst/gstplugin.h:
6980         * gst/registries/gstlibxmlregistry.c: (load_plugin),
6981         (gst_xml_registry_save_plugin):
6982         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
6983         (gst_xml_registry_save_plugin):
6984         * tools/gst-inspect.c: (print_plugin_info):
6985           add a "source" plugin description field, to represent the source
6986           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
6987           will set it to PACKAGE, which is automake's idea of the name of
6988           the source project.
6989
6990 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6991
6992         * Makefile.am:
6993         * autogen.sh:
6994         * configure.ac:
6995         * docs/Makefile.am:
6996         * docs/faq/Makefile.am:
6997         * docs/gst/tmpl/gstelement.sgml:
6998         * docs/gst/tmpl/gsttypes.sgml:
6999         * docs/htmlinstall.mak:
7000         * docs/manual/Makefile.am:
7001         * docs/pwg/Makefile.am:
7002           reorganize doc build a little
7003           split out docbook and gtk-doc stuff
7004           have two separate --enable's and enable them through autogen
7005           but disable by default in configure (to be similar to other
7006           projects)
7007         * gstreamer.spec.in:
7008           clean up docs install
7009         * po/af.po:
7010         * po/az.po:
7011         * po/ca.po:
7012         * po/cs.po:
7013         * po/de.po:
7014         * po/en_GB.po:
7015         * po/fr.po:
7016         * po/it.po:
7017         * po/nb.po:
7018         * po/nl.po:
7019         * po/ru.po:
7020         * po/sq.po:
7021         * po/sr.po:
7022         * po/sv.po:
7023         * po/tr.po:
7024         * po/uk.po:
7025         * po/vi.po:
7026           translation updates
7027
7028 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
7029
7030         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
7031           Add comment.
7032           
7033         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
7034         (gst_fake_sink_change_state):
7035           Make state change function thread-safe.
7036           
7037         * gst/gstpad.c: (gst_pad_alloc_buffer):
7038           Set offset on generic buffer allocated by fallback.
7039
7040 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
7041
7042         * docs/gst/gstreamer-sections.txt:
7043         * docs/gst/tmpl/gstelement.sgml:
7044         * gst/gstpad.c:
7045         * libs/gst/controller/gst-controller.c:
7046         (gst_controlled_property_set_interpolation_mode),
7047         (gst_controlled_property_new),
7048         (gst_controller_find_controlled_property):
7049          run the wingo-magic script against the docs
7050
7051 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7052
7053         * docs/gst/gstreamer-docs.sgml:
7054         * docs/gst/gstreamer-sections.txt:
7055         * docs/gst/tmpl/.cvsignore:
7056         * docs/gst/tmpl/gstelementdetails.sgml:
7057         * docs/gst/tmpl/gstelementfactory.sgml:
7058         * gst/gst.c:
7059         * gst/gstbus.c:
7060         * gst/gstelementfactory.c:
7061         * gst/gstelementfactory.h:
7062           merged elementdetails docs into elementfactory docs
7063           inlined both
7064
7065 2005-09-02  Andy Wingo  <wingo@pobox.com>
7066
7067         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
7068         consider this enum an enum and not a flags.
7069
7070 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7071
7072         * docs/gst/gstreamer-docs.sgml:
7073         * docs/gst/tmpl/.cvsignore:
7074         * docs/gst/tmpl/gstghostpad.sgml:
7075         * docs/gst/tmpl/gstiterator.sgml:
7076         * docs/gst/tmpl/gstmacros.sgml:
7077         * docs/gst/tmpl/gstrealpad.sgml:
7078         * docs/gst/tmpl/gstregistry.sgml:
7079         * docs/gst/tmpl/gstregistrypool.sgml:
7080         * docs/gst/tmpl/gststructure.sgml:
7081         * docs/gst/tmpl/gstsystemclock.sgml:
7082         * docs/gst/tmpl/gsttrace.sgml:
7083         * gst/gstghostpad.c:
7084         * gst/gstmacros.h:
7085         * gst/gstmemchunk.c:
7086         * gst/gstmemchunk.h:
7087         * gst/gstqueue.c:
7088         * gst/gstregistry.c:
7089         * gst/gstregistrypool.c:
7090         * gst/gststructure.c:
7091         * gst/gstsystemclock.c:
7092           more docs inlined
7093
7094 2005-09-02  Andy Wingo  <wingo@pobox.com>
7095
7096         * gst/gstelement.h (GstState): Renamed from GstElementState,
7097         changed to be a normal enum instead of flags.
7098         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
7099         munged to be GST_STATE_CHANGE_*.
7100         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
7101         work with the new state representation.
7102         (GstStateChange): New enumeration of possible state transitions.
7103         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
7104         (GstElementClass::change_state): Pass the GstStateChange along as
7105         an argument. Helps language bindings, so they don't have to use
7106         tricky lock-needing macros like GST_STATE_CHANGE ().
7107
7108         * scripts/update-states (file): New script. Run it on a file to
7109         update it for state naming and API changes. Updates files in
7110         place.
7111
7112         * All files updated for the new API.
7113
7114 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7115
7116         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
7117         * gst/gstutils.c: (gst_util_set_value_from_string),
7118         (gst_util_set_object_arg):
7119           fix a bunch of unchecked return values
7120         * tools/gst-complete.c: (main):
7121         * gstreamer.spec.in:
7122           clean up a little
7123
7124 2005-09-01  Wim Taymans  <wim@fluendo.com>
7125
7126         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7127         (gst_base_sink_event), (gst_base_sink_do_sync),
7128         (gst_base_sink_handle_event):
7129         * gst/base/gstbasesink.h:
7130         Handle newsegments more correctly.
7131
7132         * gst/gstbus.c:
7133         Fix docs.
7134
7135         * gst/gstevent.c: (gst_event_new_newsegment):
7136         A newsegment cannot have a start_time of -1
7137
7138 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
7139
7140         * win32/gstenumtypes.c:
7141         * win32/gstenumtypes.h:
7142           Update
7143
7144 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7145
7146         * libs/gst/controller/gst-controller.c:
7147         (gst_controlled_property_set_interpolation_mode),
7148         (gst_controlled_property_new):
7149          fixed boolean again
7150
7151 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
7152
7153         * docs/faq/gst-uninstalled:
7154           add -good
7155         * gst/gstevent.c:
7156         * gst/gstevent.h:
7157           remove wrong docs
7158         * gst/gstutils.c: (gst_element_link_filtered):
7159         * gst/gstutils.h:
7160           add gst_element_link_filtered
7161
7162 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7163
7164         * docs/gst/gstreamer-docs.sgml:
7165         * docs/gst/gstreamer-sections.txt:
7166         * docs/gst/tmpl/.cvsignore:
7167         * docs/gst/tmpl/gsterror.sgml:
7168         * docs/gst/tmpl/gstfilter.sgml:
7169         * docs/gst/tmpl/gsturihandler.sgml:
7170         * docs/gst/tmpl/gsturitype.sgml:
7171         * docs/gst/tmpl/gstutils.sgml:
7172         * docs/gst/tmpl/gstxml.sgml:
7173         * gst/gsterror.c:
7174         * gst/gsterror.h:
7175         * gst/gstfilter.c:
7176         * gst/gsturi.c:
7177         * gst/gsturitype.c:
7178         * gst/gstutils.c:
7179         * gst/gstxml.c:
7180           inlined more docs, fixed double id-ref
7181
7182 2005-08-31  Wim Taymans  <wim@fluendo.com>
7183
7184         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7185         (gst_base_transform_handle_buffer):
7186         Passthrough elements don't need the caps as they don't care.
7187
7188 2005-08-31  Wim Taymans  <wim@fluendo.com>
7189
7190         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7191         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
7192         Don't leak refcounts on buffers.
7193
7194 2005-08-31  Wim Taymans  <wim@fluendo.com>
7195
7196         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
7197         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
7198         (gst_base_transform_chain), (gst_base_transform_change_state):
7199         * gst/base/gstbasetransform.h:
7200         Handle the case where we are not negotiated more gracefully.
7201
7202 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
7203
7204         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
7205         (gst_file_src_map_region):
7206           Set READONLY flag on mmap'ed buffers, otherwise
7207           gst_buffer_make_writable() won't work properly (#314708).
7208
7209 2005-08-31  Wim Taymans  <wim@fluendo.com>
7210
7211         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
7212         passthrough elements can even do inplace on non writable
7213         buffers (as they don't touch them).
7214
7215 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7216
7217         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7218         (gst_test_mono_source_set_property),
7219         (gst_test_mono_source_class_init), (GST_START_TEST),
7220         (gst_controller_suite):
7221           more tests (hehe I have the most)
7222         * gst/gstbus.c:
7223           describe popping messages whenusing mulltiple sources
7224         * libs/gst/controller/gst-controller.c:
7225         (gst_controlled_property_set_interpolation_mode),
7226         (gst_controlled_property_new):
7227         * libs/gst/controller/gst-controller.h:
7228         * libs/gst/controller/gst-interpolation.c:
7229           implement boolean properties
7230
7231 2005-08-31  Wim Taymans  <wim@fluendo.com>
7232
7233         * gst/gstminiobject.c: (gst_mini_object_ref):
7234         Cannot assert that the refcount has to be positive
7235         since a disposed object can be resurrected.
7236
7237 2005-08-31  Wim Taymans  <wim@fluendo.com>
7238
7239         * gst/gstpad.c: (gst_pad_init):
7240         Revert change, need to first fix badly behaving 
7241         apps.
7242
7243 2005-08-30  Wim Taymans  <wim@fluendo.com>
7244
7245         * check/elements/fakesrc.c: (setup_fakesrc):
7246         * check/elements/identity.c: (setup_identity):
7247         Activate pads before using them.
7248
7249 2005-08-30  Wim Taymans  <wim@fluendo.com>
7250
7251         * gst/base/gstadapter.c: (gst_adapter_flush):
7252         Flushing out 0 bytes is ok for this function.
7253
7254         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7255         no newsegment gives a warning and sets the start/stop to 
7256         invalid.
7257
7258         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
7259         (gst_base_transform_set_passthrough):
7260         Some debug info.
7261
7262         * gst/gstminiobject.c: (gst_mini_object_ref):
7263         Check refcount here too.
7264
7265         * gst/gstpad.c: (gst_pad_init):
7266         Pads are initially flushing and refusing data.
7267
7268         * gst/gstutils.c: (gst_element_link_pads_filtered):
7269         When adding a capsfilter element make sure it has the
7270         same state as the parent bin.
7271
7272 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7273
7274         * docs/gst/tmpl/.cvsignore:
7275         * docs/gst/tmpl/gstformat.sgml:
7276         * docs/gst/tmpl/gstversion.sgml:
7277         * gst/gstbus.h:
7278         * gst/gstformat.c:
7279         * gst/gstformat.h:
7280         * gst/gstversion.h.in:
7281           more docs and two more inlined
7282
7283 2005-08-30  Wim Taymans  <wim@fluendo.com>
7284
7285         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
7286         Don't sync to clock.
7287
7288 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7289
7290         * docs/gst/gstreamer-sections.txt:
7291           ultral33t func10ns deserve to appear in the docs actually
7292         * docs/gst/tmpl/.cvsignore:
7293         * docs/gst/tmpl/gstcompat.sgml:
7294         * docs/gst/tmpl/gstconfig.sgml:
7295         * gst/check/gstcheck.c:
7296         * gst/gstcompat.h:
7297         * gst/gstconfig.h.in:
7298           inlined more docs
7299
7300 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7301
7302         * docs/gst/tmpl/.cvsignore:
7303         * docs/gst/tmpl/gstquery.sgml:
7304         * docs/gst/tmpl/gstutils.sgml:
7305         * gst/gstquery.c:
7306         * gst/gstquery.h:
7307           inlined and extended docs
7308
7309 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7310
7311         * check/gst-libs/controller.c: (GST_START_TEST),
7312         (gst_controller_suite):
7313           more tests
7314         * docs/gst/tmpl/gstutils.sgml:
7315         * docs/libs/gstreamer-libs-sections.txt:
7316         * docs/libs/tmpl/gstdataprotocol.sgml:
7317           include path fixes
7318         * examples/controller/audio-example.c: (main):
7319           controller example works now
7320         * gst/gstclock.h:
7321           doc fixes
7322         * tools/gst-inspect.c: (print_element_properties_info):
7323           show param spec flags
7324
7325 2005-08-29  Andy Wingo  <wingo@pobox.com>
7326
7327         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
7328
7329 2005-08-28  Andy Wingo  <wingo@pobox.com>
7330
7331         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
7332         as having two arguments instead of just one. Allows superclasses
7333         to access information on subclasses -- see the terrible for() loop
7334         in gtype.c:g_type_create_instance for the reason why. All callers
7335         changed.
7336
7337 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7338
7339         * docs/design/part-messages.txt:
7340           update info
7341         * docs/gst/tmpl/.cvsignore:
7342         * docs/gst/tmpl/gstcaps.sgml:
7343         * docs/gst/tmpl/gstclock.sgml:
7344         * gst/gstbus.c:
7345         * gst/gstcaps.c:
7346         * gst/gstcaps.h:
7347         * gst/gstclock.c:
7348         * gst/gstclock.h:
7349         * gst/gstmessage.c:
7350           added descriptions for bus and message
7351           inline caps and clock docs
7352
7353 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7354
7355         * gst/gstmessage.c:
7356         * gst/gstmessage.h:
7357           doc fixes
7358
7359 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7360
7361         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7362           fix div-by-zero
7363
7364 2005-08-26  Andy Wingo  <wingo@pobox.com>
7365
7366         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
7367         element_set_state's return val.
7368         (test_2_elements): Add test that's been disabled for months.
7369
7370         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
7371         can-activate-pull properties.
7372
7373         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
7374         can-activate-pull properties. Implement is_seekable so fakesrc can
7375         operate in pull mode.
7376
7377         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7378         properties.
7379         (gst_base_sink_activate, gst_base_sink_activate_pull)
7380         (gst_base_sink_activate_push): Make activation mode choosing work.
7381         Cleanups.
7382         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7383         is right. Make pull mode work. Post an eos before pausing in pull
7384         mode.
7385         (gst_base_sink_change_state): Pay attention to the core's
7386         change_state() return val.
7387         
7388         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7389         has-getrange properties. Cleanups.
7390         
7391         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7392         has_getrange and replace with can_activate_pull and
7393         can_activate_push.
7394
7395         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7396         locking comments. Remove has_loop, has_chain and replace with
7397         can_activate_pull and can_activate_push.
7398
7399 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
7400
7401         * configure.ac:
7402         * examples/Makefile.am:
7403         * examples/metadata/Makefile.am:
7404         * examples/metadata/read-metadata.c: (message_loop),
7405         (have_pad_handler), (make_pipeline), (print_tag), (main):
7406           Add metadata reading example that loops over a list of filenames,
7407           dumping any tags found.
7408
7409         * gst/gstbus.c: (gst_bus_dispose):
7410         * gst/gstelement.c: (gst_element_dispose):
7411           Release a few potentially-held references in dispose.
7412
7413 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7414
7415         * docs/gst/tmpl/gstminiobject.sgml:
7416           do *not* add tmpl/*.sgml files to CVS!
7417
7418 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7419
7420         * libs/gst/bytestream/.cvsignore:
7421         * libs/gst/bytestream/Makefile.am:
7422         * libs/gst/bytestream/adapter.c:
7423         * libs/gst/bytestream/adapter.h:
7424         * libs/gst/bytestream/bytestream.c:
7425         * libs/gst/bytestream/bytestream.h:
7426         * libs/gst/bytestream/filepad.c:
7427         * libs/gst/bytestream/filepad.h:
7428           removing obsolete files
7429
7430 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7431
7432         * docs/gst/gstreamer-docs.sgml:
7433         * docs/libs/gstreamer-libs-docs.sgml:
7434           disabed additional index entries again, as this makes docs-gen just
7435           slow and they aren't useful yet
7436         * docs/libs/gstreamer-libs-sections.txt:
7437           little -section.txt cleanup for libs
7438
7439 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7440
7441         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7442         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7443           fix up some debugging
7444         (gst_base_transform_get_unit_size),
7445         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7446         (gst_base_transform_handle_buffer):
7447         * gst/base/gstbasetransform.h:
7448           handle and store timed NEWSEGMENT events so that subclasses that
7449           calculate time by counting samples have a segment_start time they
7450           need to add to their timestamps - see audioresample
7451
7452 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7453
7454         * gst/gstbin.h:
7455           removed ';' from the end of macro defs
7456         * docs/gst/gstreamer-docs.sgml:
7457         * docs/gst/gstreamer-sections.txt:
7458         * docs/gst/tmpl/.cvsignore:
7459         * gst/gstbus.h:
7460         * gst/gstelement.c: (gst_element_class_init),
7461         (gst_element_set_state), (activate_pads),
7462         (gst_element_save_thyself):
7463         * gst/gstevent.c: (gst_event_new_newsegment):
7464         * gst/gstevent.h:
7465         * gst/gstiterator.c:
7466         * gst/gstiterator.h:
7467         * gst/gstpad.c:
7468         * gst/gstprobe.h:
7469         * gst/gstutils.c: (gst_pad_query_convert):
7470         * gst/gstutils.h:
7471           fixed parameter name mismatches between source, header and docs
7472           added some more docs, resolved the last batch of unused elements in
7473           docs (now someone needs to doc them)
7474
7475 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7476
7477         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7478         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7479           don't walk through the plugins backwards.  Where is all this
7480           reversed logic coming from ?
7481
7482 2005-08-25  Wim Taymans  <wim@fluendo.com>
7483
7484         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7485         (gst_base_transform_transform_size),
7486         (gst_base_transform_configure_caps),
7487         (gst_base_transform_get_unit_size),
7488         (gst_base_transform_buffer_alloc),
7489         (gst_base_transform_change_state):
7490         * gst/base/gstbasetransform.h:
7491         Cache caps unit_size.
7492         Make sure we cannot negotiate up and downstream at the
7493         same time.
7494
7495 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7496
7497         * gst/gst.c: (init_pre), (init_post):
7498           register the installed plugin path after the env var
7499         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7500         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7501           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7502           directories, so the tests can prefer uninstalled over installed
7503
7504 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7505
7506         * gst/base/gstbasetransform.h:
7507           comment
7508         * gst/gstpad.c:
7509           add to docs
7510
7511 2005-08-25  Wim Taymans  <wim@fluendo.com>
7512
7513         * gst/gstbin.c: (bin_bus_handler):
7514         Be a bit more conservative about the posted message.
7515         
7516         * gst/gstbus.c: (gst_bus_post):
7517         Some cleanups, warn wrong return values.
7518
7519 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
7520
7521         * check/gst/gstbin.c: (GST_START_TEST):
7522         * gst/gstbin.c: (bin_bus_handler):
7523         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7524         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7525         (gst_message_new_warning), (gst_message_new_tag),
7526         (gst_message_new_state_changed), (gst_message_new_segment_start),
7527         (gst_message_new_segment_done), (gst_message_new_custom):
7528         * gst/gstmessage.h:
7529         * tools/gst-launch.c: (event_loop):
7530         * tools/gst-md5sum.c: (event_loop):
7531           Revert unpopular change for GST_MESSAGE_SRC to GObject.
7532
7533 2005-08-25  Wim Taymans  <wim@fluendo.com>
7534
7535         * check/generic/states.c: (GST_START_TEST):
7536         Cleanup can be done at the end.
7537
7538         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7539         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7540         (gst_task_get_state), (gst_task_start), (gst_task_pause):
7541         Oh boy.. Thanks for finding this, Thomas. 
7542
7543 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7544
7545         * docs/gst/gstreamer.types:
7546           added missing types
7547
7548 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7549
7550         * docs/gst/gstreamer-docs.sgml:
7551         * docs/gst/gstreamer-sections.txt:
7552         * docs/gst/tmpl/.cvsignore:
7553         * gst/gstbin.c:
7554         * gst/gstiterator.c:
7555         * gst/gstutils.c:
7556         * gst/registries/gstxmlregistry.h:
7557           added missing classes and symbols (123 more to go)
7558           removed removed symbols from section file
7559           fixed many doc-comments
7560
7561 2005-08-24  Wim Taymans  <wim@fluendo.com>
7562
7563         * check/generic/states.c: (GST_START_TEST):
7564         Make sure all tasks are stopped.
7565
7566         * check/gst/gstbin.c: (GST_START_TEST):
7567         Unref after usage for proper valgrinding.
7568
7569         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
7570         Really wait for the task to stop before destroying the
7571         mutex.
7572
7573         * gst/gstqueue.c: (gst_queue_sink_activate_push),
7574         (gst_queue_src_activate_push):
7575         Small cleanups. Don't stop the task when we did not start
7576         it.
7577
7578         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
7579         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7580         (gst_task_get_state), (gst_task_start), (gst_task_pause),
7581         (gst_task_join):
7582         * gst/gsttask.h:
7583         Protect the stream lock with the object lock.
7584         Disallow setting the stream lock when running.
7585         Add cleanup_all to wait for the threadpool to finish.
7586         Remove code to autoallocate a mutex if none was provided.
7587         Add _join() to wait for a task to stop.
7588         Protect the thread pool with a global lock.
7589
7590 2005-08-24  Wim Taymans  <wim@fluendo.com>
7591
7592         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7593         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7594         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
7595         * gst/base/gstbasesink.h:
7596         Handle newsegment events correctly.
7597         Drop buffers out of the segment range.
7598
7599 2005-08-22  Andy Wingo  <wingo@pobox.com>
7600
7601         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
7602         macro, implements an interface and gstimplementsinterface for a
7603         new type.
7604
7605 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7606
7607         * check/Makefile.am:
7608         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
7609           add a test that does a bunch of state changes on elements
7610           needs some fixing for valgrind
7611         * check/states/sinks.c: (gst_object_suite):
7612           whitespace
7613         * gst/gstcaps.h:
7614           add prototype for gst_caps_is_equal_fixed
7615         * gst/gstplugin.c:
7616         * gst/gstregistrypool.c:
7617           doc fixes
7618
7619 2005-08-24  Andy Wingo  <wingo@pobox.com>
7620
7621         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
7622         convert a negative value. Doesn't make much sense. Mostly this is
7623         here to force callers to ensure -1 maps to -1.
7624
7625 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7626
7627         * docs/pwg/advanced-types.xml:
7628           Well done to Michael for catching my deliberate introduction
7629           of this spelling mistake. 
7630         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
7631         * gst/gstelement.h:
7632           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
7633           unlink pads before removing the element from the bin.
7634
7635 2005-08-24  Andy Wingo  <wingo@pobox.com>
7636
7637         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
7638         the same thing as GST_DEBUG=*:4.
7639         (parse_debug_level, parse_debug_category): New helper parsers.
7640
7641 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7642
7643         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7644         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
7645         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
7646         (gst_base_transform_buffer_alloc),
7647         (gst_base_transform_handle_buffer):
7648           use gboolean return values and pointers to size so we can use the
7649           full GST_BUFFER_SIZE range (guint) for buffer sizes
7650           use GstPadDirection for transform_caps
7651         * gst/base/gstbasetransform.h:
7652           rename get_size to get_unit_size since that's what it is
7653         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
7654           use GstPadDirection for transform_caps
7655         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7656         * gst/gstutils.h:
7657           cleanup and debugging
7658
7659 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7660
7661         * gst/gstelement.c: (gst_element_class_init),
7662         (gst_element_set_state), (activate_pads),
7663         (gst_element_save_thyself):
7664         * tools/gst-compprep.c: (main):
7665         * tools/gst-inspect.c: (print_element_properties_info):
7666         * tools/gst-xmlinspect.c: (print_element_properties):
7667           Fixed long standing mem-leak
7668
7669 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7670
7671         * check/gst/gstbin.c: (GST_START_TEST):
7672         * gst/gstbin.c: (bin_bus_handler):
7673         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7674         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7675         (gst_message_new_warning), (gst_message_new_tag),
7676         (gst_message_new_state_changed), (gst_message_new_segment_start),
7677         (gst_message_new_segment_done), (gst_message_new_custom):
7678         * gst/gstmessage.h:
7679         * tools/gst-launch.c: (event_loop):
7680         * tools/gst-md5sum.c: (event_loop):
7681           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
7682           that applications can sensibly post custom messages with references
7683           to their own objects.
7684
7685 2005-08-24  Andy Wingo  <wingo@pobox.com>
7686
7687         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
7688         already.
7689
7690 2005-08-24  Wim Taymans  <wim@fluendo.com>
7691
7692         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7693         (gst_base_transform_transform_caps),
7694         (gst_base_transform_transform_size),
7695         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7696         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
7697         (gst_base_transform_handle_buffer):
7698         * gst/base/gstbasetransform.h:
7699         Many fixes and new features added by Thomas. Can now also do
7700         transforms with variable sizes and a custom fixate_caps function.
7701
7702 2005-08-24  Wim Taymans  <wim@fluendo.com>
7703
7704         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7705         Some debugging.
7706
7707         * gst/gstclock.h:
7708         Cast to ClockTime before formatting to time.
7709
7710         * gst/gstutils.h:
7711         Cleanups.
7712
7713 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7714
7715         * check/gst-libs/controller.c: (GST_START_TEST),
7716         (gst_controller_suite):
7717         * docs/gst/tmpl/gstcaps.sgml:
7718         * docs/gst/tmpl/gstghostpad.sgml:
7719         * docs/gst/tmpl/gstquery.sgml:
7720         * docs/gst/tmpl/gstutils.sgml:
7721         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
7722         (gst_object_sink_values), (gst_object_get_value_arrays),
7723         (gst_object_get_value_array):
7724           gracefully handle helper method calls to objects that are not beeing
7725           controlled, added test case for that          
7726
7727 2005-08-23  Wim Taymans  <wim@fluendo.com>
7728
7729         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
7730         (gst_event_new_newsegment), (gst_event_parse_newsegment),
7731         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
7732         (gst_event_parse_qos), (gst_event_new_seek),
7733         (gst_event_parse_seek):
7734         * gst/gstevent.h:
7735         Some more debugging output and doc cleanups.
7736
7737         * gst/gstqueue.c: (gst_queue_handle_sink_event):
7738         Fix possible deadlock.
7739
7740 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7741
7742         * docs/gst/gstreamer-docs.sgml:
7743         * docs/gst/gstreamer-sections.txt:
7744         * docs/gst/gstreamer.types:
7745         * docs/gst/tmpl/.cvsignore:
7746         * gst/gstbin.h:
7747         * gst/gstbus.c:
7748         * gst/gstelement.c:
7749         * gst/gstevent.h:
7750           added 100 symbols from gstreamer-unused.txt to the right sections
7751           fixed more broken comments
7752           added GstBus to docs
7753
7754 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7755
7756         * docs/gst/gstreamer-sections.txt:
7757         * docs/gst/tmpl/.cvsignore:
7758         * docs/gst/tmpl/gstbin.sgml:
7759         * docs/gst/tmpl/gstbuffer.sgml:
7760         * gst/base/gstbasesrc.c:
7761         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
7762         * gst/gstbuffer.c:
7763         * gst/gstbuffer.h:
7764         * tools/gst-launch.1.in:
7765           inlined more doc comments, added missing comments and fixed comments
7766           fixed typos
7767
7768 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7769
7770         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7771           some debugging
7772         * gst/gstcaps.h:
7773           whitespace fixes
7774         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
7775           more debugging
7776         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
7777         * gst/gststructure.h:
7778           add a fixate function for booleans; add a FIXME that these func
7779           names should probably be gst_structure_fixate_*
7780
7781 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
7782
7783         * docs/gst/gstreamer-docs.sgml:
7784         * docs/gst/gstreamer-sections.txt:
7785         * gst/Makefile.am:
7786         * gst/gstbin.c: (gst_bin_get_type),
7787         (gst_bin_child_proxy_get_child_by_index),
7788         (gst_bin_child_proxy_get_children_count),
7789         (gst_bin_child_proxy_init):
7790         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
7791         (gst_child_proxy_get_child_by_index),
7792         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
7793         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
7794         (gst_child_proxy_get), (gst_child_proxy_set_property),
7795         (gst_child_proxy_set_valist), (gst_child_proxy_set),
7796         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
7797         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
7798         * gst/gstchildproxy.h:
7799         * gst/parse/grammar.y:
7800         * tools/gst-inspect.c: (print_interfaces),
7801         (print_element_properties_info), (print_element_info):
7802           ported gstchildproxy over from 0.8
7803           ported gst-inspect fixes and enhancements over from 0.8
7804
7805 2005-08-22  Wim Taymans  <wim@fluendo.com>
7806
7807         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7808         (gst_base_transform_handle_buffer):
7809         Also call the transform function if we have ANY caps.
7810
7811         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
7812         Fix debug info.
7813
7814 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7815
7816         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
7817           Don't pretend to handle seek events if the source is not seekable
7818
7819 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
7820
7821         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7822           Remove extra parameter to debug output
7823
7824         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7825         (gst_base_src_do_seek), (gst_base_src_activate_push):
7826           Fix seek event handling.
7827
7828         * gst/gstpipeline.c: (gst_pipeline_change_state):
7829         * gst/gstqueue.c: (gst_queue_handle_sink_event),
7830         (gst_queue_src_activate_push):
7831           Don't start the src pad task on FLUSH_STOP if the pad
7832           isn't linked.
7833           Debug changes.
7834
7835 2005-08-22  Wim Taymans  <wim@fluendo.com>
7836
7837         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
7838         Added check for gst_static_caps_get() refcounting.
7839
7840 2005-08-22  Wim Taymans  <wim@fluendo.com>
7841
7842         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
7843         Make _static_caps_get() refcounting sane.
7844         
7845         * gst/gstelement.c: (gst_element_set_state):
7846         Add g_return_val_if_fail() to protect against segfaults.
7847
7848 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
7849
7850         * docs/gst/tmpl/gstevent.sgml:
7851         * gst/gstevent.c:
7852         * gst/gstevent.h:
7853           inlined remaining docs, added missing doc comments
7854
7855 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7856
7857         * check/gst/gstbin.c: (GST_START_TEST):
7858           since we don't know when preroll is done, use refcount range
7859           check for the sink
7860         * gst/check/gstcheck.h:
7861           add macro for checking refcount range
7862
7863 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7864
7865         * check/Makefile.am:
7866           clean up environment for when registry gets built versus
7867           when actual tests are run; valgrind seems to not report
7868           leaks if GST_PLUGIN_PATH is set to some specific values
7869         * check/gst/gstbin.c: (GST_START_TEST):
7870           add more refcounting checks; maybe this exposes a
7871           preroll lock bug ?
7872         * common/check.mak:
7873         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7874         * gst/check/gstcheck.h:
7875         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
7876         (gst_bin_change_state):
7877         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
7878           add/fix debugging/whitespace
7879
7880 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7881
7882         * check/gst/gstevent.c: (event_probe), (test_event),
7883         (GST_START_TEST):
7884          Er, don't call gst_bin_watch_for_state_change you idiot.
7885
7886 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
7887
7888         * check/Makefile.am:
7889           Use CHECK_CFLAGS and CHECK_LIBS
7890         * check/gst/gstevent.c: (event_probe), (test_event),
7891         (GST_START_TEST):
7892           Don't leak events.
7893         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
7894         (gst_base_src_start), (gst_base_src_stop),
7895         (gst_base_src_activate_push), (gst_base_src_activate_pull),
7896         (gst_base_src_change_state):
7897           Sprinkle gst_base_src_stop liberally around error paths to fix
7898           problems reusing a source after failed state changes.
7899         * gst/base/gsttypefindhelper.c: (helper_find_peek),
7900         (helper_find_suggest), (gst_type_find_helper):
7901           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
7902         * gst/gstevent.h:
7903         * docs/gst/tmpl/gstevent.sgml:
7904           Migrate part of the docs from the SGML file. Wait for ensonic to
7905           tell me how I did it wrong ;)
7906         * tools/gst-typefind.c: (main):
7907           Extra robustness to state changes between files.
7908
7909 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7910
7911         * check/Makefile.am:
7912           don't valgrind the controller test - it's leaking - Stefan, HELP
7913         * gst/check/gstcheck.c: (gst_check_message_error),
7914         (gst_check_chain_func), (gst_check_setup_element),
7915         (gst_check_teardown_element), (gst_check_setup_src_pad),
7916         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
7917         (gst_check_teardown_sink_pad):
7918         * gst/check/gstcheck.h:
7919           add a bunch of methods to set up elements, and src and sink pads
7920         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
7921         * check/elements/identity.c: (setup_identity), (cleanup_identity),
7922         (GST_START_TEST):
7923           use them
7924         * gst/gstmessage.c:
7925         * gst/gsttag.h:
7926           whitespace/doc fixes
7927
7928 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7929
7930         * gst/gstelement.h:
7931           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
7932           be handled by the application and not always printed as well
7933
7934 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7935
7936         * check/Makefile.am:
7937           set GST_TOOLS_DIR
7938         * gst/check/gstcheck.c: (gst_check_message_error):
7939         * gst/check/gstcheck.h:
7940           add a fail_unless_equals_int
7941           add fail_unless for error messages
7942
7943 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7944
7945         * check/Makefile.am:
7946         * check/gst.supp:
7947         * common/Makefile.am:
7948         * common/check.mak:
7949         * common/gst.supp:
7950           factor out some of the common stuff so we can use it
7951
7952 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7953
7954         * check/Makefile.am:
7955         * check/gst/gstiterator.c: (GST_START_TEST):
7956         * check/gst/gstsystemclock.c: (GST_START_TEST),
7957         (gst_systemclock_suite):
7958         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7959         * gst/gstclock.c:
7960           valgrind more tests
7961
7962 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7963
7964         * check/elements/.cvsignore:
7965         * check/elements/gstfakesrc.c:
7966           rename to name of element
7967         * check/elements/identity.c: (chain_func), (event_func),
7968         (setup_identity), (cleanup_identity), (GST_START_TEST),
7969         (identity_suite), (main):
7970           add a test for identity
7971         * check/Makefile.am:
7972         * pkgconfig/Makefile.am:
7973         * pkgconfig/gstreamer-check.pc.in:
7974         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7975         * gst/check:
7976         * gst/Makefile.am:
7977         * configure.ac:
7978           move the check stuff to a library that gets installed
7979         * check/gst-libs/controller.c: (GST_START_TEST):
7980         * check/gst-libs/gdp.c:
7981         * check/gst/gst.c: (GST_START_TEST):
7982         * check/gst/gstbin.c:
7983         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7984         * check/gst/gstbus.c:
7985         * check/gst/gstcaps.c: (GST_START_TEST):
7986         * check/gst/gstelement.c:
7987         * check/gst/gstghostpad.c:
7988         * check/gst/gstiterator.c:
7989         * check/gst/gstmessage.c:
7990         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
7991         * check/gst/gstobject.c:
7992         * check/gst/gstpad.c: (GST_START_TEST):
7993         * check/gst/gststructure.c: (GST_START_TEST):
7994         * check/gst/gstsystemclock.c: (GST_START_TEST),
7995         (gst_systemclock_suite):
7996         * check/gst/gsttag.c: (gst_tag_suite):
7997         * check/gst/gstvalue.c:
7998         * check/pipelines/cleanup.c:
7999         * check/pipelines/simple_launch_lines.c:
8000         * check/states/sinks.c:
8001           change include statement
8002
8003         * docs/gst/gstreamer-sections.txt:
8004         * docs/gst/tmpl/gstpad.sgml:
8005           document more pad stuff
8006         * gst/gstminiobject.c: (gst_mini_object_ref),
8007         (gst_mini_object_unref):
8008           debug refcounting
8009
8010 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
8011
8012         * docs/gst/tmpl/gst.sgml:
8013         * gst/gst.c:
8014           eliminate another tmpl file, fix spelling in the long-description
8015
8016 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8017
8018         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8019         (test_event), (timediff), (gstevents_suite):
8020           Should fix build on 64-bit arch's
8021
8022 2005-08-18  Andy Wingo  <wingo@pobox.com>
8023
8024         Make sure that when a pipeline goes to PLAYING, that data has
8025         actually hit the sink.
8026
8027         * check/states/sinks.c (test_sink): A sink that doesn't get any
8028         data shouldn't return SUCCESS for going to either PLAYING or
8029         PAUSED. Test also the return values on the way back down.
8030
8031         * gst/gstelement.c (gst_element_set_state): When changing the
8032         state of an element currently changing state asynchronously, go to
8033         lost-state after commiting the pending state. Makes future calls
8034         to get_state continue to return ASYNC.
8035
8036         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
8037         ASYNC when going to PLAYING if we still don't have preroll, as can
8038         happen with live sources.
8039
8040 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8041
8042         * docs/pwg/advanced-types.xml:
8043           Hack long paragraph into 2 chunks as a workaround for buggy
8044           jadetex version in sid and breezy that loops infinitely and
8045           eats all RAM.
8046
8047 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8048
8049         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8050         (test_event), (timediff), (gstevents_suite):
8051           Provide more error margin in clock measurements to allow for 
8052           g_get_current_time inaccuracies.
8053
8054 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8055
8056         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8057         (test_event), (timediff), (gstevents_suite):
8058            Fix error message output so I might be able to tell why the
8059            test works here but fails on the build farm.
8060
8061 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8062
8063         * check/Makefile.am:
8064         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8065         (test_event), (timediff), (gstevents_suite), (main):
8066           I wrote a test!
8067
8068         * docs/design/part-seeking.txt:
8069           Spelling correction
8070
8071         * docs/gst/tmpl/gstevent.sgml:
8072         * docs/gst/tmpl/gstfakesrc.sgml:
8073           Docs updates.
8074
8075         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8076           Treat a buffer-without-newsegment the same as a receiving 
8077           a newsegment not in time format, and disable syncing to the clock
8078           with a warning.
8079
8080         * gst/gstbus.c: (gst_bus_set_sync_handler):
8081           Assert if anyone tries to replace the existing sync_handler for bus, 
8082           as only the owner should be setting it.
8083
8084         * gst/gstevent.h:
8085           Have a fixed set of custom event enums with events identified by
8086           their structure name (as in 0.8), rather than a free-for-all
8087           allowing collisions between enum values from different plugins.
8088
8089         * gst/gstpad.c: (gst_pad_class_init):
8090           Docs change.
8091           
8092         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8093           Handle out-of-band downstream events from the sending thread.
8094
8095 2005-08-17  Andy Wingo  <wingo@pobox.com>
8096
8097         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
8098         play-timeout==0 to mean no timeout at all. In that case, don't
8099         bother with a get_state or a warning, just return directly, even
8100         if it's ASYNC.
8101
8102         * gst/base/gstbasetransform.c: Debug changes.
8103
8104         * gst/gstutils.h:
8105         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
8106         ensure bins post state change messages. A bit of a hack but I can't
8107         think of a way to avoid it.
8108
8109         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
8110
8111 2005-08-16  Andy Wingo  <wingo@pobox.com>
8112
8113         * gst/base/gstadapter.h:
8114         * gst/base/gstadapter.c (gst_adapter_take): New function, like
8115         peek() but you own the data. Not terribly efficient atm.
8116
8117 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8118
8119         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
8120         (gst_element_found_tags):
8121         * gst/gstutils.h:
8122           Add two utility functions for tag handling.
8123
8124 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8125
8126         * docs/manual/advanced-dataaccess.xml:
8127         * docs/manual/basics-helloworld.xml:
8128           Fix docs to use _bin_add() before _link(), which fixes the examples
8129           with recent core versions (reported by Madhan Raj M
8130           <raj_madan@rediffmail.com>, #313199).
8131
8132 2005-08-16  Wim Taymans  <wim@fluendo.com>
8133
8134         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8135         Added subtract checks.
8136
8137         * docs/design/part-events.txt:
8138         Some more docs about newsegment
8139
8140         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8141         Fix FIXME
8142
8143         * gst/gstcaps.c: (gst_caps_to_string):
8144         Add comments, cleanups.
8145         
8146         * gst/gstelement.c: (gst_element_save_thyself):
8147         cleanups
8148         
8149         * gst/gstvalue.c: (gst_value_collect_int_range),
8150         (gst_string_unwrap), (gst_value_union_int_int_range),
8151         (gst_value_union_int_range_int_range),
8152         (gst_value_intersect_int_int_range),
8153         (gst_value_intersect_int_range_int_range),
8154         (gst_value_intersect_double_double_range),
8155         (gst_value_intersect_double_range_double_range),
8156         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
8157         (gst_value_subtract_int_range_int),
8158         (gst_value_subtract_double_range_double),
8159         (gst_value_subtract_double_range_double_range),
8160         (gst_value_subtract_from_list), (gst_value_subtract_list),
8161         (gst_value_can_compare), (gst_value_compare_fraction):
8162         Cleanups, add comments, remove unneeded asserts.
8163
8164 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8165
8166         * tools/gst-launch.c: (event_loop):
8167           don't convert NULL structures to strings
8168
8169 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
8170
8171         * docs/gst/gstreamer-sections.txt:
8172           made some defines private
8173         * docs/gst/tmpl/gstconfig.sgml:
8174         * docs/gst/tmpl/gstqueue.sgml:
8175         * docs/gst/tmpl/gsttaglist.sgml:
8176         * docs/gst/tmpl/gsttypes.sgml:
8177         * docs/gst/tmpl/gstutils.sgml:
8178         * docs/pwg/appendix-porting.xml:
8179         * gst/base/gstbasesink.h:
8180         * gst/base/gstbasesrc.c:
8181         * gst/base/gstbasesrc.h:
8182         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
8183         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
8184         * gst/gstelement.c: (gst_element_class_init):
8185         * gst/gstpad.c: (gst_pad_class_init):
8186         * gst/gstqueue.c: (gst_queue_class_init):
8187         * gst/gstxml.c: (gst_xml_class_init):
8188           documented all undocumented signal inline
8189         * libs/gst/controller/gst-controller.h:
8190           added padding
8191
8192 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8193
8194         * docs/pwg/appendix-porting.xml:
8195           Document _set_link_function -> _set_setcaps_function.
8196
8197 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8198
8199         * check/Makefile.am:
8200           add a .check target for running the check
8201         * check/gst-libs/controller.c: (GST_START_TEST):
8202           cosmetic fixups
8203         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8204           complete checks for gstbuffer; would be nice if I could get the
8205           gcov stuff to work so I can see if I actually completed gstbuffer.c
8206         * check/gstcheck.h:
8207           add ASSERT_BUFFER_REFCOUNT
8208
8209 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
8210
8211         * docs/gst/gstreamer-sections.txt:
8212         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
8213         * gst/gsttag.h:
8214           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
8215           spew out a warning if a tag that is already registered
8216           is re-registered, unless it is re-registered with a 
8217           different type (#308438).
8218
8219 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
8220
8221         * docs/pwg/appendix-porting.xml:
8222         * docs/pwg/building-state.xml:
8223           Add some paragraphs about state changes in 0.9 to the PWG
8224           and the porting guide, in particular about the new meaning
8225           of GST_STATE_PAUSED and how to write state change functions
8226           with concurrent access by multiple threads in mind.
8227
8228 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
8229
8230         * docs/gst/gstreamer-docs.sgml:
8231         * docs/libs/gstreamer-libs-docs.sgml:
8232           added deprecation and since indexes
8233         * libs/gst/controller/gst-controller.c:
8234         * libs/gst/controller/gst-helper.c:
8235           added since tags
8236
8237
8238 2005-08-11  Wim Taymans  <wim@fluendo.com>
8239
8240         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
8241         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
8242         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
8243         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
8244         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
8245         (gst_ghost_pad_set_target):
8246         Actually implement (re)setting the target on a ghostpad
8247         as described in the docs.
8248
8249 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8250
8251         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
8252           Check whether GST_DEBUG_NO_COLOR environment variable is
8253           set and disable coloured debug output if that is the case.
8254
8255 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8256
8257         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8258         (gst_type_find_helper):
8259           The memory returned by gst_type_find_peek() needs to
8260           stay valid until the end of a typefind function, and
8261           typefind functions may keep results from different 
8262           offsets around, so we can't just unref the buffer from
8263           the previous _peek(), but have to save all buffers 
8264           returned by _peek() until typefinding is done and only
8265           free them then.
8266
8267 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
8268
8269         * docs/gst/gstreamer-sections.txt:
8270         * gst/gstutils.h:
8271           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
8272
8273 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8274
8275         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8276           Fix a pretty good memleak.
8277
8278 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8279
8280         * gst/gstiterator.h:
8281           Fix wrong include and 'make distcheck'.
8282
8283 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8284
8285         * gst/gstbin.c: (bin_bus_handler):
8286           Use gst_element_post_message() instead.
8287
8288 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8289
8290         * gst/base/gstadapter.h:
8291         * gst/base/gstbasesink.h:
8292         * gst/base/gstbasesrc.h:
8293         * gst/base/gstbasetransform.h:
8294         * gst/base/gstcollectpads.h:
8295         * gst/base/gstpushsrc.h:
8296         * gst/gstiterator.h:
8297           Add padding to our base elements' class and instance structs and
8298           to GstIterator (you will need to rebuild all plugins and apps!)
8299
8300 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8301
8302         * gst/gstbin.c: (bin_bus_handler):
8303           Make default message forwarding from child->bus to bin->bus
8304           threadsafe and make it not emit warnings if the parent has no bus.
8305
8306 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8307
8308         * gst/gstelement.c: (activate_pads):
8309           On paused->ready, set pad->caps to NULL, as is the documented
8310           behaviour in this state change. Fixes playback of series of
8311           media files when visualization is enabled in Totem.
8312
8313 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8314
8315         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8316           Allow NULL as filter-caps (which means "any").
8317
8318 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8319
8320         * docs/libs/gstreamer-libs-sections.txt:
8321         * libs/gst/controller/gst-controller.c:
8322         * libs/gst/controller/gst-controller.h:
8323         * libs/gst/controller/gst-helper.c:
8324           adding more entries to the docs and fix small doc-bugs
8325
8326 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8327
8328         * docs/gst/gstreamer-docs.sgml:
8329         * docs/gst/gstreamer-sections.txt:
8330         * docs/gst/gstreamer.types:
8331         * docs/gst/tmpl/gstbasesink.sgml:
8332         * docs/gst/tmpl/gstbasesrc.sgml:
8333         * docs/gst/tmpl/gstbasetransform.sgml:
8334         * docs/gst/tmpl/gstfakesrc.sgml:
8335         * gst/base/gstcollectpads.c:
8336         * gst/base/gstcollectpads.h:
8337         * libs/gst/controller/gst-controller.c:
8338         * libs/gst/controller/gst-controller.h:
8339         * libs/gst/controller/gst-helper.c:
8340         * libs/gst/controller/gst-interpolation.c:
8341         * libs/gst/controller/lib.c:
8342           added long/short desc for controller docs
8343           added collectpads base class docs
8344           added correct includes to base-class docs
8345
8346 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8347
8348         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8349         (gst_test_mono_source_set_property),
8350         (gst_test_mono_source_class_init), (GST_START_TEST),
8351         (gst_controller_suite):
8352         * docs/gst/gstreamer-docs.sgml:
8353         * docs/gst/gstreamer-sections.txt:
8354         * docs/gst/gstreamer.types:
8355         * docs/libs/gstreamer-libs-docs.sgml:
8356         * docs/libs/gstreamer-libs-sections.txt:
8357         * gst/base/gstadapter.c:
8358         * libs/gst/controller/gst-controller.c:
8359         (gst_controlled_property_new), (gst_controlled_property_free),
8360         (gst_controller_new_valist),
8361         (gst_controller_remove_properties_valist),
8362         (gst_controller_sink_values), (_gst_controller_finalize):
8363         * libs/gst/controller/gst-controller.h:
8364         * libs/gst/controller/gst-helper.c:
8365         (gst_object_control_properties), (gst_object_uncontrol_properties),
8366         (gst_object_get_controller), (gst_object_set_controller),
8367         (gst_object_sink_values), (gst_object_get_value_arrays),
8368         (gst_object_get_value_array):
8369           more tests (and fixes) for the controller
8370           more docs for the controller
8371           integrated companies docs for the adapter 
8372
8373 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8374
8375         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8376         (GST_START_TEST), (fakesrc_suite):
8377           add tests for sizetype
8378
8379 2005-08-04  Andy Wingo  <wingo@pobox.com>
8380
8381         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8382         fixes buffer_alloc proxying among other things.
8383
8384         * gst/base/gstbasetransform.c:
8385         * gst/base/gstbasetransform.h:
8386         Revert patch to gstbasetransform from 7-28 removing
8387         delay_configure.
8388
8389         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8390         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8391         Semantics changed, should return not the size of the output buffer
8392         but the byte size of a buffer with a given caps.
8393
8394         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8395         debug object.
8396         (gst_base_transform_configure_caps): Don't set out_size here: (in,
8397         out) are not the pad caps until setcaps finishes.
8398         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8399         not-in-place case as well. Deal with changing from in-place to
8400         not-in-place within calling pad_alloc_buffer. Still a bit
8401         concerned about the overhead here...
8402
8403 2005-08-03  Andy Wingo  <wingo@pobox.com>
8404
8405         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8406         fixating is an error.
8407
8408 2005-08-04  Edward Hervey  <edward@fluendo.com>
8409
8410         * gst/base/gstadapter.h: 
8411         Added gst_adapter_get_type() to the header
8412
8413 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8414
8415         * check/Makefile.am:
8416         * check/gst-libs/controller.c:
8417         * libs/gst/controller/gst-controller.c:
8418         (gst_controller_new_valist):
8419           added check test suite for the controller
8420         * gst/base/gstpushsrc.c:
8421           fixed a doc typo
8422
8423 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8424
8425         * docs/gst/Makefile.am:
8426         * docs/gst/gstreamer-docs.sgml:
8427         * docs/gst/gstreamer-sections.txt:
8428         * docs/gst/gstreamer.types:
8429         * docs/gst/tmpl/gstfakesrc.sgml:
8430         * gst/base/README:
8431         * gst/base/gstbasesink.c:
8432         * gst/base/gstbasesink.h:
8433         * gst/base/gstbasesrc.c:
8434         * gst/base/gstbasesrc.h:
8435         * gst/base/gstbasetransform.c:
8436         * gst/base/gstpushsrc.c:
8437         * gst/base/gstpushsrc.h:
8438           add short/long description docs to base classes
8439           add pushsrc to the docs
8440           remove consolidated doc fragments
8441
8442 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8443
8444         * configure.ac:
8445         * docs/libs/Makefile.am:
8446         * docs/libs/gstreamer-libs-docs.sgml:
8447         * docs/libs/gstreamer-libs-sections.txt:
8448         * docs/libs/gstreamer-libs.types:
8449         * examples/Makefile.am:
8450         * examples/controller/.cvsignore:
8451         * examples/controller/Makefile.am:
8452         * examples/controller/audio-example.c: (main):
8453         * libs/gst/Makefile.am:
8454         * libs/gst/controller/.cvsignore:
8455         * libs/gst/controller/Makefile.am:
8456         * libs/gst/controller/gst-controller.c:
8457         (on_object_controlled_property_changed), (gst_timed_value_compare),
8458         (gst_timed_value_find),
8459         (gst_controlled_property_set_interpolation_mode),
8460         (gst_controlled_property_new), (gst_controlled_property_free),
8461         (gst_controller_find_controlled_property),
8462         (gst_controller_new_valist), (gst_controller_new),
8463         (gst_controller_remove_properties_valist),
8464         (gst_controller_remove_properties), (gst_controller_set),
8465         (gst_controller_set_from_list), (gst_controller_unset),
8466         (gst_controller_get), (gst_controller_get_all),
8467         (gst_controller_sink_values), (gst_controller_get_value_arrays),
8468         (gst_controller_get_value_array),
8469         (gst_controller_set_interpolation_mode),
8470         (_gst_controller_finalize), (_gst_controller_init),
8471         (_gst_controller_class_init), (gst_controller_get_type):
8472         * libs/gst/controller/gst-controller.h:
8473         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8474         (g_object_uncontrol_properties), (g_object_get_controller),
8475         (g_object_set_controller), (g_object_sink_values),
8476         (g_object_get_value_arrays), (g_object_get_value_array):
8477         * libs/gst/controller/gst-interpolation.c:
8478         (gst_controlled_property_find_timed_value_node),
8479         (interpolate_none_get), (interpolate_trigger_get),
8480         (interpolate_trigger_get_value_array):
8481         * libs/gst/controller/lib.c: (gst_controller_init):
8482         * pkgconfig/Makefile.am:
8483         * pkgconfig/gstreamer-control-uninstalled.pc.in:
8484         * pkgconfig/gstreamer-control.pc.in:
8485         * testsuite/Makefile.am:
8486         * testsuite/controller/.cvsignore:
8487         * testsuite/controller/Makefile.am:
8488         * testsuite/controller/interpolator.c: (main):
8489           added controller code
8490           removed dparam pc files
8491
8492 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8493         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8494         (gst_collectpads_stop):
8495           Broadcast the condition when shutting down, to make sure we wake all
8496           threads up. Shut down pads on finalize, for safety.
8497
8498 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8499         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8500         (gst_base_transform_handle_buffer),
8501         (gst_base_transform_change_state):
8502           Handle PAUSED->READY->PAUSED transition after negotiation
8503           occurred already.
8504         * gst/gstmessage.c: (gst_message_init):
8505           Extra piece of debug for new messages.
8506
8507 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
8508
8509         * configure.ac:
8510         * docs/gst/tmpl/gstbasesrc.sgml:
8511         * docs/gst/tmpl/gstelement.sgml:
8512         * docs/gst/tmpl/gstevent.sgml:
8513         * docs/gst/tmpl/gstfakesrc.sgml:
8514         * docs/gst/tmpl/gstformat.sgml:
8515         * docs/gst/tmpl/gstghostpad.sgml:
8516         * docs/gst/tmpl/gstpad.sgml:
8517         * docs/gst/tmpl/gstquery.sgml:
8518         * docs/gst/tmpl/gststructure.sgml:
8519         * docs/gst/tmpl/gsttaglist.sgml:
8520         * docs/gst/tmpl/gstvalue.sgml:
8521         * docs/libs/gstreamer-libs-docs.sgml:
8522         * docs/libs/gstreamer-libs-sections.txt:
8523         * docs/libs/gstreamer-libs.types:
8524         * libs/gst/Makefile.am:
8525         * libs/gst/control/.cvsignore:
8526         * libs/gst/control/Makefile.am:
8527         * libs/gst/control/control.c:
8528         * libs/gst/control/control.h:
8529         * libs/gst/control/dparam.c:
8530         * libs/gst/control/dparam.h:
8531         * libs/gst/control/dparam_smooth.c:
8532         * libs/gst/control/dparam_smooth.h:
8533         * libs/gst/control/dparamcommon.h:
8534         * libs/gst/control/dparammanager.c:
8535         * libs/gst/control/dparammanager.h:
8536         * libs/gst/control/dplinearinterp.c:
8537         * libs/gst/control/dplinearinterp.h:
8538         * libs/gst/control/unitconvert.c:
8539         * libs/gst/control/unitconvert.h:
8540         * testsuite/Makefile.am:
8541         * testsuite/dynparams/.cvsignore:
8542         * testsuite/dynparams/Makefile.am:
8543         * testsuite/dynparams/dparamstest.c:
8544         * tools/Makefile.am:
8545         * tools/gst-inspect.c: (print_element_info), (main):
8546         * tools/gst-xmlinspect.c: (print_element_info), (main):
8547           deactivate and remove dparams (libgstcontrol)
8548
8549 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8550
8551         * gst/elements/gsttypefindelement.c:
8552         (gst_type_find_element_have_type), (gst_type_find_element_init),
8553         (stop_typefinding), (gst_type_find_element_handle_event),
8554         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8555         * gst/elements/gsttypefindelement.h:
8556           Set caps on all outgoing buffers, not just the first one.
8557
8558 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8559
8560         * gst/elements/gsttypefindelement.c:
8561         (gst_type_find_element_have_type),
8562         (gst_type_find_element_check_set_buffer_caps),
8563         (gst_type_find_element_init), (stop_typefinding),
8564         (gst_type_find_element_handle_event),
8565         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8566         * gst/elements/gsttypefindelement.h:
8567           Set caps on first outgoing buffer when we've found the type.
8568
8569 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8570
8571         * docs/gst/gstreamer-docs.sgml:
8572         * docs/gst/gstreamer-sections.txt:
8573         * docs/gst/tmpl/gstscheduler.sgml:
8574         * docs/gst/tmpl/gstschedulerfactory.sgml:
8575           Remove some old cruft from docs.
8576
8577 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
8578
8579         * gst/gstpad.h:
8580           Fix inline docs for GstPadLinkReturn.
8581           
8582         * gst/gststructure.c: (gst_structure_has_name):
8583         * gst/gststructure.h:
8584         * docs/gst/gstreamer-sections.txt:
8585           New API: gst_structure_has_name().
8586
8587 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
8588
8589         * configure.ac:
8590           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
8591           and _LARGEFILE_SOURCE in config.h as required. Do not 
8592           export those flags in our .pc files any longer (#142209).
8593
8594           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
8595
8596         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
8597         (gst_file_sink_do_seek), (gst_file_sink_event),
8598         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8599           Redo seek/tell calls with large file support in mind; add some
8600           debugging messages; add log message that tells us when large
8601           file support is unavailable or not enabled for some reason.
8602
8603         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
8604           Add log message that tells us when large file support 
8605           is unavailable or not enabled for some reason.
8606
8607 2005-07-29  Wim Taymans  <wim@fluendo.com>
8608
8609         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8610         Added test for removing an element with ghostpad from a bin.
8611         Fixed test as current implementation does the right thing.
8612
8613         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
8614         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
8615         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
8616         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
8617         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
8618         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8619         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8620         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8621         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
8622         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
8623         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
8624         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
8625         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8626         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
8627         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
8628         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8629         * gst/gstghostpad.h:
8630         Clean up ghostpads, remove properties for internal stuff.
8631         Make threadsafe.
8632         Fix refcounting.
8633         Prepare for switching targets, not all use cases work yet.
8634
8635 2005-07-29  Wim Taymans  <wim@fluendo.com>
8636
8637         * docs/design/part-gstghostpad.txt:
8638         Small update.
8639
8640         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8641         (gst_bin_remove_func):
8642         Unlinking pads while holding the bin LOCK is not a good
8643         idea.
8644
8645         * gst/gstpad.c: (gst_pad_class_init),
8646         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
8647         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
8648         No prob setting template after creating the pad.
8649
8650 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
8651
8652         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
8653         (gst_bus_peek), (gst_bus_source_dispatch),
8654         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
8655         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
8656           gst_bus_poll may be called from other threads. Handle
8657           this nicely by not making poll_data disappear off the
8658           stack once gst_bus_poll returns.
8659           gst_bus_peek now increments the refcount on the returned
8660           message.
8661
8662 2005-07-29  Wim Taymans  <wim@fluendo.com>
8663
8664         * docs/design/part-gstghostpad.txt:
8665         Overview of current GhostPad datastructures and use
8666         cases for changing the target.
8667
8668 2005-07-28  Wim Taymans  <wim@fluendo.com>
8669
8670         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8671         Added checks for hierarchy consistency whan adding linked
8672         elements to bins.
8673
8674         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8675         Added check to test element scheduling without bin/pipeline.
8676
8677         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8678         First add elements to bin, then link.
8679         
8680         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8681         (gst_bin_remove_func):
8682         Unlink pads from elements added/removed from bin to maintain
8683         hierarchy consistency.
8684
8685 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8686
8687         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8688         (gst_base_transform_handle_buffer):
8689         * gst/base/gstbasetransform.h:
8690           Remove broken delay_configure (fixes renegotiation of software
8691           scaling pipelines); remove some leftover printf()s.
8692
8693 2005-07-28  Wim Taymans  <wim@fluendo.com>
8694
8695         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8696         Added some more tests for wrong hierarchy
8697
8698         * docs/design/part-overview.txt:
8699         Some updates.
8700
8701         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
8702         Cleanups.
8703
8704         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
8705         (gst_element_dispose):
8706         Some more cleanups.
8707
8708         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8709         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
8710         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8711         (gst_pad_set_caps), (gst_pad_send_event):
8712         Check for correct hierarchy when linking pads. Moving to
8713         strict requirement for ghostpads when linking elements in
8714         different bins.
8715
8716         * gst/gstpad.h:
8717         Clean ups. Added WRONG_HIERARCHY return value.
8718
8719 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8720
8721         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8722           Better debug if no transform is possible.
8723
8724 2005-07-27  Wim Taymans  <wim@fluendo.com>
8725
8726         * docs/random/wtay/network-transp:
8727         Some old doc I had.
8728
8729 2005-07-27  Wim Taymans  <wim@fluendo.com>
8730
8731         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8732         (gst_dp_event_from_packet):
8733         Fix serialization of seek events.
8734
8735 2005-07-27  Wim Taymans  <wim@fluendo.com>
8736
8737         * check/gst-libs/gdp.c: (GST_START_TEST):
8738         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8739         Fix compilation and fix event serialization.
8740
8741 2005-07-27  Wim Taymans  <wim@fluendo.com>
8742
8743         * CHANGES-0.9:
8744         * docs/design/part-TODO.txt:
8745         * docs/design/part-events.txt:
8746         Some docs updates
8747
8748         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8749         (gst_base_sink_event), (gst_base_sink_do_sync),
8750         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8751         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8752         (gst_base_src_do_seek), (gst_base_src_event_handler),
8753         (gst_base_src_loop):
8754         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8755         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8756         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8757         (gst_base_transform_event), (gst_base_transform_handle_buffer),
8758         (gst_base_transform_set_passthrough),
8759         (gst_base_transform_is_passthrough):
8760         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8761         * gst/elements/gstfilesink.c: (gst_file_sink_event):
8762         Event updates.
8763
8764         * gst/gstbuffer.h:
8765         Use faster casts.
8766
8767         * gst/gstelement.c: (gst_element_seek):
8768         * gst/gstelement.h:
8769         Update gst_element_seek.
8770
8771         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
8772         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
8773         (gst_event_new_flush_start), (gst_event_new_flush_stop),
8774         (gst_event_new_eos), (gst_event_new_newsegment),
8775         (gst_event_parse_newsegment), (gst_event_new_tag),
8776         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
8777         (gst_event_parse_qos), (gst_event_new_seek),
8778         (gst_event_parse_seek), (gst_event_new_navigation):
8779         * gst/gstevent.h:
8780         Make GstEvent use GstStructure. Add parsing code, make sure the
8781         API is sufficiently generic.
8782         Mark possible directions of events and serialization.
8783
8784         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
8785         (_gst_message_copy), (gst_message_new_segment_start),
8786         (gst_message_new_segment_done), (gst_message_new_custom),
8787         (gst_message_parse_segment_start),
8788         (gst_message_parse_segment_done):
8789         Small cleanups.
8790
8791         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
8792         (gst_pad_set_caps), (gst_pad_send_event):
8793         Update for new events. 
8794         Catch events sent in wrong directions.
8795
8796         * gst/gstqueue.c: (gst_queue_link_src),
8797         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
8798         (gst_queue_handle_src_query):
8799         Event updates.
8800
8801         * gst/gsttag.c:
8802         * gst/gsttag.h:
8803         Remove event code from this file.
8804
8805         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
8806         (gst_dp_event_from_packet):
8807         Event updates.
8808
8809 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8810
8811         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
8812         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8813         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
8814           Make debugging actually useful.
8815
8816 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8817
8818         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
8819         (gst_pad_fixate_caps):
8820           Implement default fixation once again, so that gst_pad_fixate()
8821           actually does anything at all. This probably needs to be some
8822           sort of a last resort, and use profile-based fixation first, but
8823           since that doesn't exist yet, this is the best we have. Fixes
8824           visualization in Totem.
8825
8826 2005-07-22  Wim Taymans  <wim@fluendo.com>
8827
8828         * docs/design/part-events.txt:
8829         Small update.
8830
8831         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8832         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
8833         (gst_base_sink_activate_pull):
8834         Some more comments.
8835
8836         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
8837         (gst_fake_src_create):
8838         Fix handoff marshall.
8839
8840         * gst/elements/gstidentity.c: (gst_identity_class_init),
8841         (gst_identity_transform_ip):
8842         We're a real inplace element.
8843
8844         * gst/gstbus.c: (gst_bus_post):
8845         Added some comments.
8846
8847         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
8848         * tests/muxing/case1.c: (main):
8849         * tests/sched/dynamic-pipeline.c: (main):
8850         * tests/sched/interrupt1.c: (main):
8851         * tests/sched/interrupt2.c: (main):
8852         * tests/sched/interrupt3.c: (main):
8853         * tests/sched/runxml.c: (main):
8854         * tests/sched/sched-stress.c: (main):
8855         * tests/seeking/seeking1.c: (event_received), (main):
8856         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
8857         (main):
8858         * tests/threadstate/threadstate3.c: (main):
8859         * tests/threadstate/threadstate4.c: (main):
8860         * tests/threadstate/threadstate5.c: (main):
8861         Fix the tests.
8862
8863 2005-07-21  Wim Taymans  <wim@fluendo.com>
8864
8865         * docs/design/part-seeking.txt:
8866         Some small additions.
8867
8868         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8869         (gst_base_sink_get_times), (gst_base_sink_do_sync),
8870         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
8871         * gst/base/gstbasesink.h:
8872         discont values are gint64, handle the math correctly.
8873
8874         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8875         Make the basesrc report error if the source pad is not linked.
8876
8877         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8878         (gst_queue_loop), (gst_queue_handle_src_query),
8879         (gst_queue_src_activate_push):
8880         Make queue collect data even if the srcpad is not linked.
8881         Start pushing out data as soon as it is linked.
8882
8883         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
8884         * gst/gstutils.h:
8885         Added gst_flow_get_name() to ease error reporting.
8886
8887 2005-07-20  Wim Taymans  <wim@fluendo.com>
8888
8889         * gst/gstmessage.c: (gst_message_new_segment_start),
8890         (gst_message_new_segment_done), (gst_message_parse_segment_start),
8891         (gst_message_parse_segment_done):
8892         * gst/gstmessage.h:
8893         Added a bunch of messages for advanced seeking.
8894
8895         * gst/parse/grammar.y:
8896         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
8897         (gst_dpman_state_changed):
8898         Fix some new-pad -> pad-added signals
8899
8900 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8901
8902         * docs/manual/appendix-porting.xml:
8903         * docs/pwg/appendix-porting.xml:
8904           Document new-pad/state-change signal renames and the FixedList
8905           type rename.
8906
8907 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8908
8909         * docs/manual/advanced-autoplugging.xml:
8910         * docs/manual/basics-helloworld.xml:
8911         * docs/manual/basics-pads.xml:
8912         * docs/random/ds/0.9-suggested-changes:
8913         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
8914         * gst/gstelement.h:
8915         * gst/gstevent.h:
8916         * gst/gstformat.h:
8917         * gst/gstquery.h:
8918         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8919         (gst_structure_parse_array), (gst_structure_parse_value):
8920         * gst/gstvalue.c: (gst_type_is_fixed),
8921         (gst_value_list_prepend_value), (gst_value_list_append_value),
8922         (gst_value_list_get_size), (gst_value_list_get_value),
8923         (gst_value_transform_array_string), (gst_value_serialize_array),
8924         (gst_value_deserialize_array), (gst_value_intersect_array),
8925         (gst_value_is_fixed), (_gst_value_initialize):
8926         * gst/gstvalue.h:
8927           GstElement::new-pad -> pad-added, GstElement::state-change ->
8928           state-changed, GstValueFixedList -> GstValueArray, add format and
8929           flags as their own arguments in gst_element_seek() (should improve
8930           "bindeability"), remove function generators since they don't work
8931           under a whole bunch of compilers (they were deprecated already
8932           anyway).
8933
8934 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8935
8936         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
8937         (_gst_debug_register_funcptr):
8938         * gst/gstinfo.h:
8939           Fix illegal cast on some platforms (#309253).
8940
8941 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8942
8943         * gst/gstmessage.c: (gst_message_new_custom):
8944         * gst/gstmessage.h:
8945           Add _new_custom, make _new_application a macro to _new_custom.
8946
8947 2005-07-20  Wim Taymans  <wim@fluendo.com>
8948
8949         * gst/base/gstbasesrc.c: (gst_base_src_init),
8950         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8951         * gst/base/gstbasesrc.h:
8952         Add a gboolean to decide when to push out a discont.
8953
8954         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8955         (gst_queue_loop), (gst_queue_handle_src_query),
8956         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
8957         (gst_queue_set_property), (gst_queue_get_property):
8958         Some cleanups.
8959
8960         * tests/threadstate/threadstate1.c: (main):
8961         Make a thread test compile and run... very silly..
8962
8963
8964 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8965
8966         * docs/manual/appendix-porting.xml:
8967           Mention removal of libgstgconf-0.9.la and existence of gconf
8968           elements.
8969
8970 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8971
8972         * docs/pwg/advanced-clock.xml:
8973         * docs/pwg/appendix-porting.xml:
8974         * docs/pwg/intro-preface.xml:
8975         * docs/pwg/other-base.xml:
8976         * docs/pwg/other-manager.xml:
8977         * docs/pwg/other-nton.xml:
8978         * docs/pwg/other-ntoone.xml:
8979         * docs/pwg/other-oneton.xml:
8980         * docs/pwg/pwg.xml:
8981           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
8982           demuxer), remove n-to-n (was never written), fix some code examples
8983           and links and update the porting section to include all this.
8984
8985 2005-07-19  Wim Taymans  <wim@fluendo.com>
8986
8987         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
8988         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
8989         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
8990         (gst_queue_src_activate_push), (gst_queue_change_state),
8991         (gst_queue_get_property):
8992         * gst/gstqueue.h:
8993         Propagate GstFlowReturn more intelligently upstream and output
8994         an ERROR/EOS when streaming stopped due to fatal error.
8995
8996 2005-07-19  Wim Taymans  <wim@fluendo.com>
8997
8998         * tools/gst-launch.c: (check_intr), (event_loop), (main):
8999         Don't block forever for the state change to complete, the
9000         pipeline already did with a sensible timeout.
9001
9002 2005-07-19  Wim Taymans  <wim@fluendo.com>
9003
9004         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9005         Make sure we never call the create function is we
9006         got deactivated.
9007
9008 2005-07-19  Andy Wingo  <wingo@pobox.com>
9009
9010         * gst/parse/parse.l: Attempt to solve bug #172815.
9011
9012 2005-07-19  Wim Taymans  <wim@fluendo.com>
9013
9014         * docs/design/part-clocks.txt:
9015         * docs/design/part-events.txt:
9016         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
9017         Small docs updates.
9018         Only update the seeking values when we are not
9019         busy streaming.
9020
9021 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9022
9023         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9024           Oops, ignore the result of gst_pad_push_event here.
9025
9026 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9027
9028         * gst/base/gstbasesrc.c: (gst_base_src_loop),
9029         (gst_base_src_activate_push):
9030           Send discont event from the loop function, as pads
9031           aren't activated yet in the activate_push handler.
9032
9033         * gst/gstbin.c: (bin_bus_handler):
9034           Don't leak element name.
9035
9036 2005-07-18  Andy Wingo  <wingo@pobox.com>
9037
9038         * configure.ac: Use AS_LIBTOOL_TAGS.
9039
9040 2005-07-18  Wim Taymans  <wim@fluendo.com>
9041
9042         * docs/gst/gstreamer.types:
9043         Remove deleted types.
9044
9045 2005-07-18  Wim Taymans  <wim@fluendo.com>
9046
9047         * check/elements/gstfakesrc.c: (GST_START_TEST):
9048         * configure.ac:
9049         * gst/Makefile.am:
9050         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
9051         (init_popt_callback):
9052         * gst/gst.h:
9053         * gst/gst_private.h:
9054         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
9055         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
9056         * gst/gstbin.h:
9057         * gst/gstbus.h:
9058         * gst/gstconfig.h.in:
9059         * gst/gstelement.c: (gst_element_class_init),
9060         (gst_element_set_base_time), (gst_element_get_base_time),
9061         (iterator_fold_with_resync), (gst_element_change_state),
9062         (gst_element_dispose), (gst_element_get_bus):
9063         * gst/gstelement.h:
9064         * gst/gstelementfactory.h:
9065         * gst/gsterror.c: (_gst_core_errors_init):
9066         * gst/gsterror.h:
9067         * gst/gstevent.h:
9068         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9069         * gst/gstindex.c:
9070         * gst/gstinfo.c: (_gst_debug_init):
9071         * gst/gstmessage.c: (_gst_message_copy):
9072         * gst/gstmessage.h:
9073         * gst/gstminiobject.h:
9074         * gst/gstobject.c:
9075         * gst/gstobject.h:
9076         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9077         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
9078         * gst/gstpad.h:
9079         * gst/gstparse.h:
9080         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9081         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9082         (gst_pipeline_get_last_stream_time):
9083         * gst/gstpipeline.h:
9084         * gst/gstpluginfeature.h:
9085         * gst/gstquery.h:
9086         * gst/gstscheduler.c:
9087         * gst/gstscheduler.h:
9088         * gst/gststructure.h:
9089         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
9090         (gst_task_finalize), (gst_task_func), (gst_task_create),
9091         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
9092         (gst_task_stop), (gst_task_pause):
9093         * gst/gsttask.h:
9094         * gst/gsttypefind.h:
9095         * gst/gsttypes.h:
9096         * gst/registries/gstlibxmlregistry.c: (load_feature),
9097         (gst_xml_registry_load), (gst_xml_registry_save_feature):
9098         * gst/registries/gstxmlregistry.c:
9099         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
9100         * gst/schedulers/threadscheduler.c:
9101         * libs/gst/control/dparammanager.h:
9102         * tools/gst-inspect.c: (print_element_list),
9103         (print_plugin_features), (print_element_features):
9104         * tools/gst-xmlinspect.c: (print_element_list),
9105         (print_plugin_info), (main):
9106         Removed plugable schedulers.
9107         Removed Scheduler/Manager from elements.
9108         Removed gsttypes.h, rearranged includes.
9109         Removed dependency pad<->element, element<>pipeline, and
9110         various others,  fix includes.
9111         implement gst_pad_get_parent() with gst_object_get_parent()
9112         Make GstTask sefcontained.
9113         Fix _get_state() on GstBin, it did not return ASYNC with a 0
9114         timeout.
9115         Fix endless loop in iterator_fold_with_resync.
9116
9117
9118 2005-07-18  Wim Taymans  <wim@fluendo.com>
9119
9120         * gst/Makefile.am:
9121         * gst/gstarch.h:
9122         Remove old file.
9123
9124 2005-07-18  Wim Taymans  <wim@fluendo.com>
9125
9126         * gst/Makefile.am:
9127         No more cothreads.h
9128
9129 2005-07-18  Wim Taymans  <wim@fluendo.com>
9130
9131         * gst/cothreads.c:
9132         * gst/cothreads.h:
9133         Let's remove these.
9134
9135 2005-07-18  Wim Taymans  <wim@fluendo.com>
9136
9137         * docs/design/part-dynamic.txt:
9138         * docs/design/part-events.txt:
9139         * docs/design/part-seeking.txt:
9140         Some more docs in the works.
9141
9142         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9143         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
9144         (gst_base_transform_setcaps), (gst_base_transform_get_size),
9145         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
9146         (gst_base_transform_handle_buffer),
9147         (gst_base_transform_sink_activate_push),
9148         (gst_base_transform_src_activate_pull),
9149         (gst_base_transform_set_passthrough),
9150         (gst_base_transform_is_passthrough):
9151         Refcounting fixes.
9152
9153         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
9154         Cleanups.
9155
9156         * gst/gstevent.c: (gst_event_finalize):
9157         Set SRC to NULL.
9158
9159         * gst/gstutils.c: (gst_element_unlink),
9160         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
9161         (gst_pad_proxy_setcaps):
9162         * gst/gstutils.h:
9163         Add _get_parent_element() to get a pads parent as an element.
9164
9165 2005-07-18  Wim Taymans  <wim@fluendo.com>
9166
9167         * check/gst/gstbin.c: (GST_START_TEST):
9168         Remove bogus test.
9169
9170 2005-07-18  Wim Taymans  <wim@fluendo.com>
9171
9172         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9173         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9174         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9175         (gst_base_sink_event), (gst_base_sink_do_sync),
9176         (gst_base_sink_chain), (gst_base_sink_loop),
9177         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
9178         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
9179         Refcounting fixes.
9180         Fix logic for returning ASYNC when not prerolled.
9181
9182 2005-07-18  Wim Taymans  <wim@fluendo.com>
9183
9184         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9185         Fix nasty refcount bug.
9186
9187 2005-07-16 Philippe Khalaf <burger@speedy.org>
9188
9189         * gst/elements/gstfdsrc.c:
9190         * gst/elements/gstfdsrc.h:
9191         * gst/elements/gstelements.c:
9192         * gst/elements/Makefile.am:
9193         Ported fdsrc to 0.9.
9194
9195 2005-07-16  Wim Taymans  <wim@fluendo.com>
9196
9197         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9198         (gst_base_sink_do_sync):
9199         Fix compile error.
9200
9201 2005-07-16  Wim Taymans  <wim@fluendo.com>
9202
9203         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9204         (gst_base_sink_event), (gst_base_sink_get_times),
9205         (gst_base_sink_do_sync), (gst_base_sink_change_state):
9206         * gst/base/gstbasesink.h:
9207         Store and use discont values when syncing buffers as described
9208         in design docs.
9209         
9210         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9211         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
9212         (gst_base_src_activate_push):
9213         Push discont event when starting.
9214
9215         * gst/elements/gstidentity.c: (gst_identity_transform):
9216         Small cleanups.
9217
9218         * gst/gstbin.c: (gst_bin_change_state):
9219         Small cleanups in base_time  distribution.
9220
9221         * gst/gstelement.c: (gst_element_set_base_time),
9222         (gst_element_get_base_time), (gst_element_change_state):
9223         * gst/gstelement.h:
9224         Added methods for the base_time of the element.
9225         Some MT fixes.
9226
9227         * gst/gstpipeline.c: (gst_pipeline_send_event),
9228         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9229         (gst_pipeline_get_last_stream_time):
9230         * gst/gstpipeline.h:
9231         MT fixes.
9232         Handle seeking as described in design doc, remove stream_time
9233         hack.
9234         Cleanups clock and stream_time selection code. Added accessors
9235         for the stream_time.
9236         
9237
9238 2005-07-16  Andy Wingo  <wingo@pobox.com>
9239
9240         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
9241         (#305291).
9242
9243 2005-07-16  Wim Taymans  <wim@fluendo.com>
9244
9245         * check/gst/gstbin.c: (GST_START_TEST):
9246         Make elements silent as the deep_notify refs the
9247         parent, which might make the test fail.
9248
9249         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9250         Don't hold the lock for too long.
9251
9252 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
9253
9254         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9255           Don't unref the caps we passed to gst_caps_make_writable() after
9256           passing them. gst_caps_make_writable() will do that for us.
9257
9258 2005-07-15  Andy Wingo  <wingo@pobox.com>
9259
9260         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
9261         (#157311).
9262
9263         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
9264         own marshalling function for the handoff signal. Properly type the
9265         buffer as a buffer. Fixes some warnings. Should do a more general
9266         solution.
9267         (gst_identity_class_init): Plug into the right marshaller.
9268
9269 2005-07-15  Wim Taymans  <wim@fluendo.com>
9270
9271         * docs/design/part-TODO.txt:
9272         * docs/design/part-clocks.txt:
9273         * docs/design/part-element-sink.txt:
9274         * docs/design/part-events.txt:
9275         * docs/design/part-gstpipeline.txt:
9276         Updated docs, mostly DISCONT related.
9277
9278 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
9279
9280         * docs/pwg/building-pads.xml:
9281           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
9282
9283 2005-07-15  Andy Wingo  <wingo@pobox.com>
9284
9285         * tools/gst-typefind.c: Update, add copyright block.
9286
9287         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
9288         Normalize and truncate caps before fixation.
9289
9290         * gst/gstcaps.h:
9291         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
9292         discards all but the first structure from its argument.
9293
9294 2005-07-15  Wim Taymans  <wim@fluendo.com>
9295
9296         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9297         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
9298         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9299         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9300         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
9301         (gst_base_transform_chain), (gst_base_transform_change_state),
9302         (gst_base_transform_set_passthrough),
9303         (gst_base_transform_is_passthrough):
9304         * gst/base/gstbasetransform.h:
9305         Make passthrough work using the bufferpools.
9306         Changed API a bit, subclasses have to write into a buffer
9307         provided by the base class.
9308         More debug info in nego functions.
9309         
9310         * gst/elements/gstidentity.c: (gst_identity_init),
9311         (gst_identity_transform):
9312         Port to new base class.
9313
9314 2005-07-15  Wim Taymans  <wim@fluendo.com>
9315
9316         * gst/gstmessage.c: (gst_message_new_state_changed):
9317         * tools/gst-launch.c: (event_loop), (main):
9318         Totally dump messages in -launch with the -m option.
9319         Fix message name for State messages,
9320
9321 2005-07-14  Wim Taymans  <wim@fluendo.com>
9322
9323         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9324         Post error messages on errors.
9325
9326 2005-07-14  Wim Taymans  <wim@fluendo.com>
9327
9328         * gst/gstcaps.c: (gst_caps_do_simplify):
9329         Remove debug info.
9330
9331         * gst/gsterror.h:
9332         Define error for stream stopped.
9333
9334         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9335         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
9336         Do proper return values.
9337
9338         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9339         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
9340         (gst_pad_get_range):
9341         Better return values.
9342
9343         * gst/gstpad.h:
9344         Reorganise return values, add macro to check for fatal errors.
9345
9346         * gst/gstqueue.c: (gst_queue_chain):
9347         Return proper GstFlowReturn values,
9348
9349 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9350
9351         * docs/gst/gstreamer-sections.txt:
9352         * docs/gst/gstreamer.types:
9353         * docs/gst/tmpl/gst.sgml:
9354         * docs/gst/tmpl/gstbasesink.sgml:
9355         * docs/gst/tmpl/gstbasesrc.sgml:
9356         * docs/gst/tmpl/gstbasetransform.sgml:
9357         * docs/gst/tmpl/gstbin.sgml:
9358         * docs/gst/tmpl/gstbuffer.sgml:
9359         * docs/gst/tmpl/gstcaps.sgml:
9360         * docs/gst/tmpl/gstclock.sgml:
9361         * docs/gst/tmpl/gstcompat.sgml:
9362         * docs/gst/tmpl/gstconfig.sgml:
9363         * docs/gst/tmpl/gstelement.sgml:
9364         * docs/gst/tmpl/gstelementdetails.sgml:
9365         * docs/gst/tmpl/gstelementfactory.sgml:
9366         * docs/gst/tmpl/gstenumtypes.sgml:
9367         * docs/gst/tmpl/gsterror.sgml:
9368         * docs/gst/tmpl/gstevent.sgml:
9369         * docs/gst/tmpl/gstfakesink.sgml:
9370         * docs/gst/tmpl/gstfakesrc.sgml:
9371         * docs/gst/tmpl/gstfilesink.sgml:
9372         * docs/gst/tmpl/gstfilesrc.sgml:
9373         * docs/gst/tmpl/gstfilter.sgml:
9374         * docs/gst/tmpl/gstformat.sgml:
9375         * docs/gst/tmpl/gstghostpad.sgml:
9376         * docs/gst/tmpl/gstimplementsinterface.sgml:
9377         * docs/gst/tmpl/gstindex.sgml:
9378         * docs/gst/tmpl/gstindexfactory.sgml:
9379         * docs/gst/tmpl/gstinfo.sgml:
9380         * docs/gst/tmpl/gstiterator.sgml:
9381         * docs/gst/tmpl/gstmacros.sgml:
9382         * docs/gst/tmpl/gstmemchunk.sgml:
9383         * docs/gst/tmpl/gstminiobject.sgml:
9384         * docs/gst/tmpl/gstobject.sgml:
9385         * docs/gst/tmpl/gstpad.sgml:
9386         * docs/gst/tmpl/gstpadtemplate.sgml:
9387         * docs/gst/tmpl/gstparse.sgml:
9388         * docs/gst/tmpl/gstpipeline.sgml:
9389         * docs/gst/tmpl/gstplugin.sgml:
9390         * docs/gst/tmpl/gstpluginfeature.sgml:
9391         * docs/gst/tmpl/gstquery.sgml:
9392         * docs/gst/tmpl/gstqueue.sgml:
9393         * docs/gst/tmpl/gstregistry.sgml:
9394         * docs/gst/tmpl/gstregistrypool.sgml:
9395         * docs/gst/tmpl/gstscheduler.sgml:
9396         * docs/gst/tmpl/gstschedulerfactory.sgml:
9397         * docs/gst/tmpl/gststructure.sgml:
9398         * docs/gst/tmpl/gstsystemclock.sgml:
9399         * docs/gst/tmpl/gsttaglist.sgml:
9400         * docs/gst/tmpl/gsttagsetter.sgml:
9401         * docs/gst/tmpl/gsttrace.sgml:
9402         * docs/gst/tmpl/gsttrashstack.sgml:
9403         * docs/gst/tmpl/gsttypefind.sgml:
9404         * docs/gst/tmpl/gsttypefindfactory.sgml:
9405         * docs/gst/tmpl/gsttypes.sgml:
9406         * docs/gst/tmpl/gsturihandler.sgml:
9407         * docs/gst/tmpl/gsturitype.sgml:
9408         * docs/gst/tmpl/gstutils.sgml:
9409         * docs/gst/tmpl/gstvalue.sgml:
9410         * docs/gst/tmpl/gstversion.sgml:
9411         * docs/gst/tmpl/gstxml.sgml:
9412         * docs/libs/tmpl/gstcontrol.sgml:
9413         * docs/libs/tmpl/gstdataprotocol.sgml:
9414         * docs/libs/tmpl/gstdparam.sgml:
9415         * docs/libs/tmpl/gstdplinint.sgml:
9416         * docs/libs/tmpl/gstdpman.sgml:
9417         * docs/libs/tmpl/gstdpsmooth.sgml:
9418         * docs/libs/tmpl/gstgetbits.sgml:
9419         * docs/libs/tmpl/gstunitconvert.sgml:
9420         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9421         (gst_push_src_base_init), (gst_push_src_class_init),
9422         (gst_push_src_init), (gst_push_src_create):
9423         * gst/base/gstpushsrc.h:
9424         * gst/elements/gstelements.c:
9425         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9426         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9427         (gst_fake_sink_init), (gst_fake_sink_set_property),
9428         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9429         (gst_fake_sink_event), (gst_fake_sink_preroll),
9430         (gst_fake_sink_render), (gst_fake_sink_change_state):
9431         * gst/elements/gstfakesink.h:
9432         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9433         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9434         (gst_fake_src_base_init), (gst_fake_src_class_init),
9435         (gst_fake_src_init), (gst_fake_src_event_handler),
9436         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9437         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9438         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9439         (gst_fake_src_create_buffer), (gst_fake_src_create),
9440         (gst_fake_src_start), (gst_fake_src_stop):
9441         * gst/elements/gstfakesrc.h:
9442         * gst/elements/gstfilesink.c: (_do_init),
9443         (gst_file_sink_base_init), (gst_file_sink_class_init),
9444         (gst_file_sink_init), (gst_file_sink_dispose),
9445         (gst_file_sink_set_location), (gst_file_sink_set_property),
9446         (gst_file_sink_get_property), (gst_file_sink_open_file),
9447         (gst_file_sink_close_file), (gst_file_sink_query),
9448         (gst_file_sink_event), (gst_file_sink_render),
9449         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9450         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9451         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9452         * gst/elements/gstfilesink.h:
9453         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9454         (gst_file_src_class_init), (gst_file_src_init),
9455         (gst_file_src_finalize), (gst_file_src_set_location),
9456         (gst_file_src_set_property), (gst_file_src_get_property),
9457         (gst_file_src_map_region), (gst_file_src_map_small_region),
9458         (gst_file_src_create_mmap), (gst_file_src_create_read),
9459         (gst_file_src_create), (gst_file_src_is_seekable),
9460         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9461         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9462         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9463         (gst_file_src_uri_handler_init):
9464         * gst/elements/gstfilesrc.h:
9465           more autistic cleanliness in functions/names/defines
9466
9467 2005-07-13  Andy Wingo  <wingo@pobox.com>
9468
9469         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9470         source couldn't negotiate.
9471
9472         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9473         connections again.
9474
9475         * gst/gstutils.h:
9476         * gst/gstutils.c (gst_element_link_pads_filtered): New old
9477         function. I am channeling Hades. Put your boots on suckers!!!
9478
9479 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9480
9481         * testsuite/caps/Makefile.am:
9482         * testsuite/caps/value_compare.c:
9483         * testsuite/caps/value_intersect.c:
9484         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9485           move two testsuite apps over to the check dir
9486
9487 2005-07-12  Wim Taymans  <wim@fluendo.com>
9488
9489         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9490         Added more debug info in the negotiate process.
9491
9492         * gst/gstmessage.h:
9493         Prepare for segment playback.
9494
9495         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9496         Better debugging.
9497
9498         * gst/gstutils.c:
9499         Some more docs.
9500
9501         * tools/gst-launch.c: (main):
9502         NULL pipeline on errors.
9503
9504 2005-07-12  Andy Wingo  <wingo@pobox.com>
9505
9506         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9507         not it comes from a malloc region. Make sure our copy gets freed.
9508
9509 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9510
9511         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9512         * check/gst/gstmessage.c: (GST_START_TEST):
9513         * check/gst/gststructure.c: (GST_START_TEST),
9514         (gst_structure_suite), (main):
9515           more testing
9516         * gst/gstelement.c: (gst_element_message_full):
9517           clean up GError and debug string now that they get copied
9518         * gst/gstmessage.c: (gst_message_new_error),
9519         (gst_message_new_warning), (gst_message_parse_error),
9520         (gst_message_parse_warning):
9521           use GST_TYPE_G_ERROR for structure_new, and take copies of
9522           arguments, so that we don't mess up refcounting
9523
9524 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9525
9526         * check/Makefile.am:
9527           add per-test valgrind targets
9528         * check/gst-libs/gdp.c: (GST_START_TEST),
9529         (gst_data_protocol_suite), (main):
9530           clean up
9531
9532 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9533
9534         * check/Makefile.am:
9535           instate more valgrindable tests
9536         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9537         (GST_START_TEST), (fakesrc_suite):
9538         * check/gst/gstpad.c: (GST_START_TEST):
9539         * check/gst/gststructure.c: (GST_START_TEST):
9540           fix test leaks
9541         * docs/gst/tmpl/gstminiobject.sgml:
9542         * gst/gstpad.c: (gst_pad_finalize):
9543           fix the static mutex leak
9544
9545 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9546
9547         * check/Makefile.am:
9548           add two more tests for valgrinding
9549         * check/gst/gstvalue.c: (GST_START_TEST):
9550           test refcount of deserialized buffer, found a leak
9551         * docs/gst/gstreamer-docs.sgml:
9552         * docs/gst/gstreamer-sections.txt:
9553         * docs/gst/gstreamer.types:
9554         * docs/gst/tmpl/gstminiobject.sgml:
9555           add miniobject to docs
9556         * gst/gstminiobject.c:
9557           add some docs
9558         * gst/gstvalue.c: (gst_value_deserialize_buffer),
9559         (gst_string_unwrap):
9560           fix a hard-to-find invalid write for one of the tests
9561           fix a leak for deserialized buffers
9562
9563 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9564
9565         * docs/pwg/advanced-events.xml:
9566         * docs/pwg/advanced-request.xml:
9567         * docs/pwg/advanced-scheduling.xml:
9568         * docs/pwg/appendix-porting.xml:
9569         * docs/pwg/building-boiler.xml:
9570         * docs/pwg/intro-preface.xml:
9571         * docs/pwg/other-ntoone.xml:
9572           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
9573           of example code and explanation for pad activation, loop() and
9574           getrange() functions and a bit more. Remove old comments pointing
9575           to loop-functions.
9576         * examples/pwg/Makefile.am:
9577           Add loop/getrange examples.
9578
9579 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9580
9581         * configure.ac:
9582           check for valgrind binary + some fixes
9583         * check/gst.supp:
9584           valgrind suppressions for the tests
9585         * check/Makefile.am:
9586           add a valgrind: target that valgrinds the unit tests
9587         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
9588         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9589         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9590         * check/gst/gstghostpad.c:
9591           added some cleanup
9592         * check/gst/gstdata.c:
9593           removed
9594         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
9595         (thread_unref), (gst_mini_object_suite), (main):
9596           added
9597         * gst/gst.c: (gst_deinit):
9598         * gst/gst.h:
9599           add a method to clean up.
9600         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9601         (gst_system_clock_obtain):
9602           allow for disposing the system clock.
9603         * tools/gst-launch.c: (main):
9604           deinit
9605
9606 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9607
9608         * docs/gst/tmpl/gstbasesrc.sgml:
9609         * docs/gst/tmpl/gstfakesrc.sgml:
9610         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9611         (gst_base_src_init), (gst_base_src_set_property),
9612         (gst_base_src_get_property), (gst_base_src_get_range),
9613         (gst_base_src_start):
9614         * gst/base/gstbasesrc.h:
9615           add num-buffers property
9616         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9617         (gst_fakesrc_init), (gst_fakesrc_set_property),
9618         (gst_fakesrc_get_property), (gst_fakesrc_create),
9619         (gst_fakesrc_start):
9620           remove num-buffers property
9621
9622 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9623
9624         * docs/gst/gstreamer-sections.txt:
9625         * docs/gst/tmpl/gstbasesink.sgml:
9626         * docs/gst/tmpl/gstbasesrc.sgml:
9627         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9628         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9629         (gst_base_sink_finalize), (gst_base_sink_set_clock),
9630         (gst_base_sink_set_property), (gst_base_sink_get_property),
9631         (gst_base_sink_handle_object), (gst_base_sink_event),
9632         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9633         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
9634         (gst_base_sink_loop), (gst_base_sink_deactivate),
9635         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
9636         (gst_base_sink_change_state):
9637         * gst/base/gstbasesink.h:
9638         * gst/base/gstbasesrc.h:
9639         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
9640         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9641         (gst_filesink_init):
9642           more macro splitting
9643
9644 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9645
9646         * gst/gstelement.c: (gst_element_get_bus):
9647           add debug
9648         * tools/gst-launch.c: (check_intr), (event_loop):
9649           fix bus leaks
9650
9651 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9652
9653         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9654           fix a caps leak
9655
9656 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9657
9658         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9659         (gst_base_src_finalize):
9660           add finalize method and clean up properly
9661         * gst/gstpipeline.c: (gst_pipeline_dispose):
9662           add debug
9663
9664 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9665
9666         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
9667         (gst_bin_suite):
9668           add more things to check
9669         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9670         * gst/gstelement.c:
9671           more debug
9672
9673 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9674
9675         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9676         (GST_START_TEST), (fakesrc_suite):
9677         * check/gst-libs/gdp.c: (GST_START_TEST):
9678         * check/gst/gst.c: (GST_START_TEST):
9679         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9680         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9681         * check/gst/gstbus.c: (GST_START_TEST):
9682         * check/gst/gstcaps.c: (GST_START_TEST):
9683         * check/gst/gstdata.c: (GST_START_TEST):
9684         * check/gst/gstelement.c: (GST_START_TEST):
9685         * check/gst/gstghostpad.c: (GST_START_TEST):
9686         * check/gst/gstiterator.c: (GST_START_TEST):
9687         * check/gst/gstmessage.c: (GST_START_TEST):
9688         * check/gst/gstobject.c: (GST_START_TEST):
9689         * check/gst/gstpad.c: (GST_START_TEST):
9690         * check/gst/gststructure.c: (GST_START_TEST):
9691         * check/gst/gstsystemclock.c: (GST_START_TEST),
9692         (gst_systemclock_suite):
9693         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9694         * check/gst/gstvalue.c: (GST_START_TEST):
9695         * check/pipelines/cleanup.c: (GST_START_TEST):
9696         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9697         * check/states/sinks.c: (GST_START_TEST):
9698         * check/gstcheck.c: (gst_check_init):
9699         * check/gstcheck.h:
9700           add debugging category
9701           use GST_START_TEST now, so we add a debug line
9702
9703 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9704
9705         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
9706           add test for state change message on a bin
9707         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
9708           add another test
9709         * gst/gstbin.c: (gst_bin_init):
9710         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
9711         * gst/gstelement.c: (gst_element_post_message),
9712         (gst_element_set_state):
9713         * gst/gstelementfactory.c: (gst_element_factory_create):
9714         * gst/gstmessage.c: (gst_message_new):
9715         * gst/gstscheduler.c:
9716           various debugging additions and cleanups
9717
9718 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9719
9720         * check/Makefile.am:
9721         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
9722         (main):
9723           adding tests for elements
9724         * gst/gstelement.c: (gst_element_dispose):
9725
9726 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9727
9728         * gst/registries/gstlibxmlregistry.c: (load_feature):
9729           plug more leaks.  A simple gst_init() now is leakfree, yay.
9730
9731 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9732
9733         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
9734         (gst_xml_registry_load):
9735           plug another memleak
9736
9737 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9738
9739         * configure.ac:
9740           use GST_SET_ERROR_CFLAGS
9741         * docs/faq/cvs.xml:
9742           change to ERROR_CFLAGS
9743
9744 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9745
9746         * configure.ac:
9747           make GST_ERROR_CFLAGS overridable and re-enable Werror
9748         * docs/faq/cvs.xml:
9749           add a note about error CFLAGS
9750         * docs/gst/tmpl/gstfakesrc.sgml:
9751         * gst/elements/gstfakesrc.c:
9752           comment out some unused code
9753         * gst/gst.c: (split_and_iterate):
9754         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
9755         (load_feature):
9756           plug some memleaks
9757
9758 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9759
9760         * common/Makefile.am:
9761         * common/gtk-doc.mak:
9762         * docs/gst/Makefile.am:
9763           factor out gtk-doc.mak
9764
9765 2005-07-07  Wim Taymans  <wim@fluendo.com>
9766
9767         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
9768         (gst_thread_scheduler_dispose):
9769         Unlock the STREAM_LOCK completely.
9770
9771 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9772
9773         * check/Makefile.am:
9774         * check/elements/.cvsignore:
9775         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9776         (START_TEST), (fakesrc_suite), (main):
9777         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9778         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
9779         (gst_fakesrc_create), (gst_fakesrc_start):
9780         * gst/elements/gstfakesrc.h:
9781           adding a first element test
9782
9783 2005-07-07  Andy Wingo  <wingo@pobox.com>
9784
9785         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
9786         debug message.
9787
9788 2005-07-07  Wim Taymans  <wim@fluendo.com>
9789
9790         * gst/gstquery.c:
9791         * gst/gstquery.h:
9792         Remove old types
9793
9794 2005-07-07  Wim Taymans  <wim@fluendo.com>
9795
9796         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
9797         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
9798         Allow subclasses to implement their own negotiation.
9799
9800 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9801
9802         * docs/design/part-gstbin.txt:
9803         * docs/design/part-gstpipeline.txt:
9804           Update design notes to reflect the movement of
9805           responsibility for bus handling from GstPipeline to
9806           GstBin
9807
9808 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9809
9810         * configure.ac:
9811           Remove unnecessary queue2/3/4 examples.
9812
9813 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
9814
9815         * examples/Makefile.am:
9816         * examples/helloworld/helloworld.c: (event_loop), (main):
9817         * examples/queue/queue.c: (event_loop), (main):
9818         * examples/queue2/queue2.c: (main):
9819           Update a couple of the examples to work again.
9820
9821         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9822         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
9823          Spelling corrections and extra debug.
9824         
9825         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
9826         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
9827         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
9828         * gst/gstbin.h:
9829         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9830         (gst_pipeline_change_state):
9831         * gst/gstpipeline.h:
9832           Move the bus handler for children to the GstBin, and create a
9833           separate bus for receiving messages from children to the one the
9834           bus sends 'upwards' on.
9835
9836 2005-07-06  Wim Taymans  <wim@fluendo.com>
9837
9838         * gst/base/README:
9839         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9840         (gst_base_sink_handle_object), (gst_base_sink_loop),
9841         (gst_base_sink_change_state):
9842         * gst/base/gstbasesink.h:
9843         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9844         (gst_base_src_init), (gst_base_src_setcaps),
9845         (gst_base_src_getcaps), (gst_base_src_loop),
9846         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
9847         (gst_base_src_start), (gst_base_src_change_state):
9848         * gst/base/gstbasesrc.h:
9849         Make basesrc negotiate.
9850         Handle the case where preroll fails in basesink.
9851         Update README.
9852
9853 2005-07-06  Wim Taymans  <wim@fluendo.com>
9854
9855         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
9856         Implement the fixate function.
9857         Clean up acceptcaps.
9858
9859 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9860
9861         * docs/pwg/building-filterfactory.xml:
9862         * docs/pwg/pwg.xml:
9863           Remove never-written filter-factory chapter; I'll add the various
9864           base classes to part 4 ("other element types") later on.
9865
9866 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9867
9868         * docs/pwg/advanced-negotiation.xml:
9869         * docs/pwg/building-boiler.xml:
9870         * docs/pwg/building-pads.xml:
9871         * docs/pwg/pwg.xml:
9872         * examples/pwg/Makefile.am:
9873           Add a chapter on caps negotiation, simplify the original code
9874           samples a bit w.r.t. caps negotiation, add link to the advanced
9875           section. Add a bunch of examples showing different use cases of
9876           different types of caps negotiation. Upstream renegotiation isn't
9877           fully documented yet since nobody knows how that works.
9878
9879 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9880
9881         * check/gst/gstpad.c:
9882         * check/gstcheck.c:
9883         * gst/gstpad.c: (gst_pad_get_internal_links_default):
9884           if pad has no parent, return NULL as list of internal links
9885
9886 2005-07-05  Andy Wingo  <wingo@pobox.com>
9887
9888         * gst/elements/gstfilesrc.c:
9889         * gst/elements/gstfakesrc.c: 
9890         * gst/base/gstpushsrc.c:
9891         * gst/base/gstbasesrc.h: 
9892         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
9893         
9894 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
9895
9896         * Makefile.am:
9897           better report generation target (lcov needs a patch)
9898
9899 2005-07-05  Andy Wingo  <wingo@pobox.com>
9900
9901         * gst/elements, testsuite: Null if we got it...
9902
9903 2005-07-05  Wim Taymans  <wim@fluendo.com>
9904
9905         * configure.ac:
9906         * libs/gst/dataprotocol/Makefile.am:
9907         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
9908         * libs/gst/dataprotocol/dataprotocol.h:
9909         * pkgconfig/Makefile.am:
9910         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
9911         * pkgconfig/gstreamer-dataprotocol.pc.in:
9912         Ported dataprotol to 0.9. 
9913         Added pkgconfig files.
9914
9915 2005-07-05  Andy Wingo  <wingo@pobox.com>
9916
9917         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
9918         Default to returning TRUE for the case when tranform_caps returns
9919         a fixed caps, like for identity or volume.
9920
9921         * check/gst/gstbus.c (pound_bus_with_messages): 
9922         * check/gst/gstmessage.c (START_TEST): 
9923         * check/pipelines/simple_launch_lines.c (got_handoff): Application
9924         message API change.
9925
9926         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
9927         logic weaks here: always run transform_caps, trying passthrough
9928         operation only if the original caps intersects with the transform.
9929
9930         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
9931         source and sink caps.
9932
9933         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
9934         Intersect the peer caps with the pad template before going into
9935         transform_caps.
9936         (gst_base_transform_transform_caps): More debugging.
9937
9938         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
9939         src argument.
9940
9941 2005-07-04  Edward Hervey  <edward@fluendo.com>
9942
9943         * gst/gstutils.c:
9944         * gst/gstutils.h:
9945         (gst_pad_add_*_probe): now returns the signal id for better wrapping
9946         in bindings.
9947
9948 2005-07-04  Andy Wingo  <wingo@pobox.com>
9949
9950         * check/gst/gstpad.c: Only set explicit caps on pads.
9951
9952 2005-07-01  Andy Wingo  <wingo@pobox.com>
9953
9954         * tests/network-clock.scm: Commentary update.
9955
9956         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
9957         Didn't really make sense, not implementable with basetransform,
9958         etc.
9959         (gst_identity_transform): Unref inbuf via make_writable. Feeble
9960         attempt at implementing the sync property, needs an unlock method.
9961
9962         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
9963         New func, by default returns the same caps (the identity
9964         transformation).
9965         (gst_base_transform_getcaps): Uses transform_caps to return
9966         something sensible.
9967         (gst_base_transform_setcaps): Complicated logic to get caps on
9968         both pads, even if they are different, and to call set_caps once
9969         for every time both pads get their caps set.
9970         (gst_base_transform_handle_buffer): Give the ref to the transform
9971         function. Allows in-place modification of the buffer.
9972
9973         * gst/base/gstbasetransform.h (transform_caps): New class method.
9974         Given caps on one side, what can I do on the other.
9975         (set_caps): Take two caps, one for each side of the element.
9976
9977         * gst/gstpad.h:
9978         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
9979         caps in place. This is safe because we can check the mutability of
9980         the caps, and a good idea because fixate functions are just called
9981         as a matter of last resort. (Not actually implemented.)
9982         (gst_pad_set_caps): If the caps we're setting is actually the same
9983         as the existing pad caps, just update the pointer without calling
9984         setcaps. Assert that caps is either NULL or fixed, as per the
9985         docs.
9986
9987         * gst/gstghostpad.c: Update for fixate changes.
9988
9989 2005-07-02  Andy Wingo  <wingo@pobox.com>
9990
9991         * gst/gstcaps.c:
9992         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
9993         two refcounts makes it immutable, which is enough. Doc more.
9994
9995 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
9996
9997         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
9998           Put the mini_object into GValue as a mini_object,
9999           not a gpointer, since that's how we declared
10000           the signal.
10001
10002 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10003
10004         * examples/pwg/Makefile.am:
10005           Fix buildbot again.
10006
10007 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10008
10009         * docs/pwg/building-testapp.xml:
10010           Add extra check.
10011         * examples/pwg/Makefile.am:
10012           Fix buildbot.
10013
10014 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10015
10016         * configure.ac:
10017         * examples/Makefile.am:
10018         * examples/pwg/Makefile.am:
10019         * examples/pwg/extract.pl:
10020           Enable building the PWG examples.
10021         * docs/pwg/advanced-interfaces.xml:
10022           Add URI interface stub.
10023         * docs/pwg/advanced-types.xml:
10024         * docs/pwg/other-autoplugger.xml:
10025         * docs/pwg/appendix-porting.xml:
10026         * docs/pwg/pwg.xml:
10027           Add porting guide (mostly stubs), remove autoplugging (see ADM).
10028         * docs/pwg/building-boiler.xml:
10029         * docs/pwg/building-chainfn.xml:
10030         * docs/pwg/building-pads.xml:
10031         * docs/pwg/building-props.xml:
10032         * docs/pwg/building-state.xml:
10033         * docs/pwg/building-testapp.xml:
10034           Update the building-*.xml parts for 0.9 changes. All examples
10035           code blocks compile in examples/pwg/*.
10036
10037 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10038
10039         * docs/manual/advanced-autoplugging.xml:
10040         * docs/manual/appendix-checklist.xml:
10041         * docs/manual/appendix-integration.xml:
10042         * docs/manual/highlevel-components.xml:
10043           Fix playbin/decodebin examples, update docs a bit, mention bus
10044           instead of signals in various places, mention kmplayer and
10045           kaffeine since they have a working GStreamer backend in the KDE
10046           section.
10047
10048 2005-06-30  Wim Taymans  <wim@fluendo.com>
10049
10050         * CHANGES-0.9:
10051         * docs/design/draft-ghostpads.txt:
10052         * docs/design/draft-push-pull.txt:
10053         * docs/design/draft-query.txt:
10054         * docs/design/part-TODO.txt:
10055         * docs/design/part-query.txt:
10056         Added CHANGES-0.9 doc, updated status of other docs.
10057         
10058         * gst/gstquery.h:
10059         Remove "hmm" macro
10060
10061 2005-06-30  Wim Taymans  <wim@fluendo.com>
10062
10063         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10064         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
10065         (gst_base_sink_change_state):
10066         * gst/base/gstbasesink.h:
10067         Some tweaks, only EOS and a buffer complete a preroll.
10068
10069 2005-06-30  Andy Wingo  <wingo@pobox.com>
10070
10071         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
10072         activate_push down to the internal pad as well.
10073
10074 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
10075
10076         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10077
10078         * gst/gsttaginterface.c:
10079           Some documentation fixes (#307394 and #307397).
10080
10081 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
10082
10083         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10084
10085         * gst/gstvalue.c: (gst_value_intersect_list):
10086           Fix memleak (#309125).
10087
10088 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10089
10090         * docs/manual/advanced-dataaccess.xml:
10091           Fix fakesrc example to compile; doesn't work, bug somewhere...?
10092         * docs/manual/basics-pads.xml:
10093           Add reference for filtered caps to above chapter.
10094
10095 2005-06-30  Wim Taymans  <wim@fluendo.com>
10096
10097         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
10098         (gst_bin_change_state):
10099         Probes are gone.
10100         Lame attempt at making the state change function a bit
10101         more readable.
10102
10103 2005-06-30  Wim Taymans  <wim@fluendo.com>
10104
10105         * docs/design/part-clocks.txt:
10106         * docs/design/part-element-sink.txt:
10107         * docs/design/part-events.txt:
10108         * docs/design/part-preroll.txt:
10109         * docs/design/part-states.txt:
10110         Some more tweeks and additions to the docs.
10111
10112 2005-06-30  Wim Taymans  <wim@fluendo.com>
10113
10114         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10115         (default_have_data), (gst_pad_class_init), (gst_pad_init),
10116         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10117         (gst_pad_check_pull_range), (gst_pad_get_range),
10118         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
10119         * gst/gstpad.h:
10120         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
10121         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10122         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10123         (gst_pad_remove_buffer_probe):
10124         Removed atomic operations, use existing LOCK.
10125         Move exception handling out of main code path.
10126
10127 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10128
10129         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10130         (silly_return_true_function), (gst_pad_class_init),
10131         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10132         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
10133         (gst_pad_send_event):
10134           Fix accumulator, add default value by using _emitv() instead
10135           of _emit() for signal emission.
10136
10137 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10138
10139         * docs/manual/advanced-dataaccess.xml:
10140         * examples/manual/Makefile.am:
10141           Add probe example.
10142         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
10143           Make work (??).
10144
10145 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
10146
10147         * gst/elements/gstfilesink.c: (gst_filesink_render):
10148           Simplify code so that we don't have to handle short
10149           writes and return GST_FLOW_ERROR if an error occured.
10150
10151 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10152
10153         * docs/gst/gstreamer-docs.sgml:
10154           Remove probes more.
10155
10156 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10157
10158         * docs/gst/gstreamer-sections.txt:
10159         * docs/gst/tmpl/gstpad.sgml:
10160         * docs/gst/tmpl/gstprobe.sgml:
10161         * gst/Makefile.am:
10162         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10163         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
10164         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10165         (gst_pad_push_event), (gst_pad_send_event):
10166         * gst/gstpad.h:
10167         * gst/gstutils.c: (gst_pad_add_data_probe),
10168         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10169         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10170         (gst_pad_remove_buffer_probe):
10171         * gst/gstutils.h:
10172           Remove old probes, add new g-signal-based probes and some utility
10173           functions.
10174
10175 2005-06-29  Edward Hervey  <edward@fluendo.com>
10176
10177         * gst/gstelementfactory.c:
10178         * gst/gstutils.h:
10179         * gst/gstutils.c:
10180         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
10181         the definition to the header file.
10182
10183 2005-06-29  Andy Wingo  <wingo@pobox.com>
10184
10185         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
10186         plugins from the source directory.
10187
10188 2005-06-29  Wim Taymans  <wim@fluendo.com>
10189
10190         * docs/gst/tmpl/gstbuffer.sgml:
10191         * docs/gst/tmpl/gstclock.sgml:
10192         Some fixings for blantently wrong text.
10193
10194 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10195
10196         * check/Makefile.am:
10197         * gst/gst.c: (add_path_func), (init_pre):
10198         * gst/gstregistry.c: (gst_registry_add_path):
10199           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
10200           only scan the GST_PLUGIN_PATH locations, and not add
10201           system locations
10202
10203 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10204
10205         * docs/gst/gstreamer-sections.txt:
10206         * docs/gst/tmpl/gstbasesrc.sgml:
10207         * gst/gstelement.c:
10208         * gst/gstelement.h:
10209         * gst/gstevent.c:
10210         * gst/gstutils.c:
10211           doc fixes
10212
10213 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10214
10215         * docs/manual/advanced-autoplugging.xml:
10216           Fix autoplugging example.
10217
10218 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10219
10220         * docs/manual/advanced-autoplugging.xml:
10221         * docs/manual/mime-world.fig:
10222           Try to get autoplugging working, fix type detection. Fix text
10223           in hello-world image.
10224
10225 2005-06-29  Wim Taymans  <wim@fluendo.com>
10226
10227         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10228         (gst_base_sink_change_state):
10229         Small debug line.
10230
10231         * gst/gstclock.h:
10232         map SIGNAL and BROADCAST to the right function.
10233
10234         * gst/gstobject.h:
10235         Remove redundant braces.
10236
10237         * gst/gstpad.c: (gst_pad_set_caps):
10238         Don't call setcaps function when reseting caps to NULL.
10239
10240         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10241         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
10242         (gst_system_clock_id_unschedule):
10243         Use BROADCAST as this is what we do.
10244
10245 2005-06-29  Wim Taymans  <wim@fluendo.com>
10246
10247         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10248         We are actually prerolling before commiting the state
10249         change. 
10250
10251 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10252
10253         * docs/manual/advanced-clocks.xml:
10254         * docs/manual/advanced-interfaces.xml:
10255         * docs/manual/advanced-metadata.xml:
10256         * docs/manual/advanced-position.xml:
10257         * docs/manual/advanced-schedulers.xml:
10258         * docs/manual/advanced-threads.xml:
10259         * docs/manual/appendix-porting.xml:
10260         * docs/manual/basics-bins.xml:
10261         * docs/manual/basics-bus.xml:
10262         * docs/manual/basics-elements.xml:
10263         * docs/manual/basics-helloworld.xml:
10264         * docs/manual/basics-pads.xml:
10265         * docs/manual/highlevel-components.xml:
10266         * docs/manual/manual.xml:
10267         * docs/manual/thread.fig:
10268           Update (until threads/scheduling) Application Development Manual;
10269           remove GstThread, add GstBus, add simple porting checklist, add
10270           documentation for tag writing, clocks, make all examples until this
10271           part compile and run.
10272         * examples/manual/Makefile.am:
10273           Update from changes to Application Development Manual; add bus
10274           example, remove thread example.
10275
10276 2005-06-28  Wim Taymans  <wim@fluendo.com>
10277
10278         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
10279         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
10280         (gst_bus_source_dispatch):
10281         Add debugging messages.
10282         Make internal methods static.
10283         Handle the case where the bus is flushed in the handler.
10284         
10285         * gst/gstelement.c: (gst_element_get_bus):
10286         Fix refcount in _get_bus();
10287
10288         * gst/gstpipeline.c: (gst_pipeline_change_state),
10289         (gst_pipeline_get_clock_func):
10290         Clock refcounting fixes.
10291         Handle the case where preroll timed out more gracefully.
10292         
10293         * gst/gstsystemclock.c: (gst_system_clock_dispose):
10294         Clean up the internal thread in dispose. This is needed
10295         for subclasses that actually get disposed.
10296         
10297         * gst/schedulers/threadscheduler.c:
10298         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10299         (gst_thread_scheduler_dispose):
10300         Free thread pool in dispose.
10301
10302 2005-06-28  Andy Wingo  <wingo@pobox.com>
10303
10304         * tests/network-clock-utils.scm (debug, print-event): New utils.
10305
10306         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
10307         (*packet-loss*): Unified loss probability.
10308         (network-time): Report out-of-band events.
10309
10310         * tests/plot-data: Add support for out-of-band events. Hack it
10311         into this script instead of passing it down the pipe; should fix
10312         this later.
10313
10314 2005-06-28  Wim Taymans  <wim@fluendo.com>
10315
10316         * docs/gst/gstreamer.types:
10317         * docs/gst/tmpl/gstbasesrc.sgml:
10318         * docs/gst/tmpl/gstpad.sgml:
10319         Docs fixes.
10320
10321 2005-06-28  Wim Taymans  <wim@fluendo.com>
10322
10323         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10324         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
10325         (gst_proxy_pad_do_fixatecaps):
10326         Correctly proxy the check_pull_range function.
10327
10328 2005-06-28  Andy Wingo  <wingo@pobox.com>
10329
10330         * tests/network-clock.scm: Removed need for slib.
10331         
10332 2005-06-28  Wim Taymans  <wim@fluendo.com>
10333
10334         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
10335         (gst_basesink_preroll_queue_flush):
10336         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
10337         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
10338         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10339         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10340         (gst_proxy_pad_set_property):
10341         * gst/gstpad.c:
10342         * gst/gstpad.h:
10343         * gst/gstqueue.c: (gst_queue_init):
10344         The deprecated pad loop function is removed now.
10345
10346 2005-06-28  Andy Wingo  <wingo@pobox.com>
10347
10348         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
10349         New parameters, simulate network packet loss.
10350
10351         * tests/network-clock-utils.scm: Initialize the RNG.
10352
10353 2005-06-28  Wim Taymans  <wim@fluendo.com>
10354
10355         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
10356         (gst_basesink_event), (gst_basesink_deactivate):
10357         Flushing the preroll queue always needs to unlock the waiters.
10358
10359 2005-06-28  Edward Hervey  <edward@fluendo.com>
10360
10361         * gst/gstpipeline.c: (gst_pipeline_send_event): 
10362         Wheen a seek was successful on a pipeline, set the stream_time to the
10363         seek offset in order to have a synchronized stream_time.
10364
10365 2005-06-28  Wim Taymans  <wim@fluendo.com>
10366
10367         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10368         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10369         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
10370         (gst_proxy_pad_do_fixatecaps):
10371         Call wrapper function instead of just calling the function
10372         pointers. This takes care of any locking and whatmore.
10373
10374 2005-06-28  Wim Taymans  <wim@fluendo.com>
10375
10376         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10377         (gst_pad_pull_range):
10378         * gst/gstpad.h:
10379         CONNECTED -> LINKED.
10380
10381 2005-06-28  Andy Wingo  <wingo@pobox.com>
10382
10383         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10384         source-munging commit!!!
10385
10386         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
10387         (gst_object_sink): Take gpointer arguments, not GstObject --
10388         avoids casts. Like GLib.
10389
10390         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10391         activate.
10392
10393 2005-06-27  Andy Wingo  <wingo@pobox.com>
10394
10395         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10396         remaining buffer.
10397
10398         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10399         returns a sorted copy of the trace list.
10400         (gst_alloc_trace_print_live): New API, only prints traces with
10401         live objects. Sort the list.
10402         (gst_alloc_trace_print_all): Sort the list.
10403         (gst_alloc_trace_print): Align columns.
10404
10405         * gst/elements/gstttypefindelement.c:
10406         * gst/elements/gsttee.c:
10407         * gst/base/gstbasesrc.c:
10408         * gst/base/gstbasesink.c:
10409         * gst/base/gstbasetransform.c:
10410         * gst/gstqueue.c: Adapt for pad activation changes.
10411
10412         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10413         sched.
10414         (gst_pipeline_dispose): Drop ref on sched.
10415
10416         * gst/gstpad.c (gst_pad_init): Set the default activate func.
10417         (gst_pad_activate_default): Push mode by default.
10418         (pre_activate_switch, post_activate_switch): New stubs, things to
10419         do before and after switching activation modes on pads.
10420         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10421         the pad's activate function to choose which mode to activate.
10422         Shortcut on deactivation and call the right function directly.
10423         (gst_pad_activate_pull): New API, (de)activates a pad in pull
10424         mode.
10425         (gst_pad_activate_push): New API, same for push mode.
10426         (gst_pad_set_activate_function) 
10427         (gst_pad_set_activatepull_function) 
10428         (gst_pad_set_activatepush_function): Setters for new API.
10429
10430         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10431         Trace all miniobjects.
10432         (gst_mini_object_make_writable): Unref the arg if we copy, like
10433         gst_caps_make_writable.
10434
10435         * gst/gstmessage.c (_gst_message_initialize): No trace init.
10436
10437         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
10438         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10439         Adapt for new pad API.
10440
10441         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10442
10443         * gst/gstelement.h:
10444         * gst/gstelement.c (gst_element_iterate_src_pads) 
10445         (gst_element_iterate_sink_pads): New API functions.
10446         
10447         * gst/gstelement.c (iterator_fold_with_resync): New utility,
10448         should fold into gstiterator.c in some form.
10449         (gst_element_pads_activate): Simplified via use of fold and
10450         delegation of decisions to gstpad->activate.
10451
10452         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10453         help in debugging.
10454
10455         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10456         class once in init, like gstmessage. Didn't run into this issue
10457         but it seems correct. Don't initialize a trace, gstminiobject does
10458         that.
10459
10460         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10461         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10462         to the bus.
10463         (assert_live_count): New util function, uses alloc traces to check
10464         cleanup.
10465
10466         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10467         To be modified when unlink drops the internal pad.
10468
10469 2005-06-27  Wim Taymans  <wim@fluendo.com>
10470
10471         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10472         (gst_bin_change_state):
10473         Cleanup the get_state() function a little, make sure it
10474         iterates the same set of elements.
10475         Added stub iterate_state_order().
10476
10477 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10478
10479         * docs/gst/gstreamer-docs.sgml:
10480         * docs/gst/gstreamer-sections.txt:
10481         * docs/gst/gstreamer.types:
10482         * docs/gst/tmpl/gstbasesink.sgml:
10483         * docs/gst/tmpl/gstbasesrc.sgml:
10484         * docs/gst/tmpl/gstbasetransform.sgml:
10485         * docs/gst/tmpl/gstelement.sgml:
10486         * docs/gst/tmpl/gstiterator.sgml:
10487         * gst/base/gstbasesrc.c:
10488         * gst/base/gstbasesrc.h:
10489         * gst/base/gstbasetransform.h:
10490         * gst/gstelement.c:
10491         * gst/gstiterator.h:
10492           adding basetransform and iterator docs
10493
10494 2005-06-27  Andy Wingo  <wingo@pobox.com>
10495
10496         * docs/design/part-activation.txt: Notes on how activation should
10497         work -- not quite implemented yet.
10498
10499 2005-06-25  Wim Taymans  <wim@fluendo.com>
10500
10501         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10502         At least get the chain function correct, needs more
10503         fixing.
10504
10505 2005-06-25  Wim Taymans  <wim@fluendo.com>
10506
10507         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10508         (gst_basesink_handle_object), (gst_basesink_event),
10509         (gst_basesink_do_sync), (gst_basesink_handle_event),
10510         (gst_basesink_change_state):
10511         * gst/gsttask.h:
10512         Right, two problems here: ghostpads don't take locks and
10513         glib _rec_mutex_lock_full() with depth==0 still locks.
10514         Catch illegal locking and g_warn them.
10515
10516 2005-06-25  Wim Taymans  <wim@fluendo.com>
10517
10518         * check/states/sinks.c: (START_TEST), (gst_object_suite):
10519         Have to check for completion now...
10520
10521 2005-06-25  Wim Taymans  <wim@fluendo.com>
10522
10523         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10524         (gst_basesink_handle_object), (gst_basesink_event),
10525         (gst_basesink_do_sync), (gst_basesink_handle_event),
10526         (gst_basesink_change_state):
10527         * gst/gstpad.h:
10528         Unlock STREAM_LOCK whatever the recursion was.
10529
10530 2005-06-25  Wim Taymans  <wim@fluendo.com>
10531
10532         * gst/base/gstbasesink.c: (gst_basesink_set_property),
10533         (gst_basesink_preroll_queue_empty),
10534         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10535         (gst_basesink_event), (gst_basesink_do_sync),
10536         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10537         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10538         (gst_basesink_change_state):
10539         Reworked the base sink, handle event and buffer serialisation
10540         correctly and removed possible deadlock.
10541         Handle EOS correctly.
10542
10543 2005-06-25  Wim Taymans  <wim@fluendo.com>
10544
10545         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10546         (gst_pipeline_change_state):
10547         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10548         Allow elements to post EOS in the state change function.
10549         Fix up -launch, make it exit the poll loop when the
10550         pipeline actually changed state.
10551         Fix up warning parsing in -launch.
10552
10553 2005-06-25  Wim Taymans  <wim@fluendo.com>
10554
10555         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10556         (gst_tee_sink_activate):
10557         Core takes STREAM_LOCK for us now.
10558
10559 2005-06-25  Wim Taymans  <wim@fluendo.com>
10560
10561         * gst/gstelement.c: (gst_element_get_state_func),
10562         (gst_element_set_state):
10563         * gst/gstelement.h:
10564         * gst/gstmessage.c: (gst_message_parse_error),
10565         (gst_message_parse_warning):
10566         Keep track of current target state while performing a state
10567         change so that subclasses can do something interesting.
10568         Fix parsing of warning/error messages when GError is NULL.
10569
10570 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10571
10572         * docs/gst/Makefile.am:
10573         * docs/gst/gstreamer-docs.sgml:
10574         * docs/gst/gstreamer-sections.txt:
10575         * docs/gst/gstreamer.types:
10576         * docs/gst/tmpl/gstbasesink.sgml:
10577         * docs/gst/tmpl/gstbasesrc.sgml:
10578         * docs/gst/tmpl/gstbin.sgml:
10579         * docs/gst/tmpl/gstcompat.sgml:
10580         * docs/gst/tmpl/gstfakesink.sgml:
10581         * docs/gst/tmpl/gstfakesrc.sgml:
10582         * docs/gst/tmpl/gstfilesink.sgml:
10583         * docs/gst/tmpl/gstfilesrc.sgml:
10584         * docs/gst/tmpl/gstindex.sgml:
10585         * docs/manual/appendix-quotes.xml:
10586         * gst/base/gstbasesrc.h:
10587         * gst/elements/gstfakesrc.h:
10588         * gst/gstmessage.h:
10589           start pulling in base classes and elements in our docs
10590
10591 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
10592
10593         * docs/gst/Makefile.am:
10594         * docs/libs/Makefile.am:
10595           fixed make distcheck with gtk-doc 1.3
10596
10597 2005-06-23  Wim Taymans  <wim@fluendo.com>
10598
10599         * gst/gstelement.c: (gst_element_get_state_func),
10600         (gst_element_set_state), (gst_element_change_state):
10601         When the state did not change, also report NO_PREROLL
10602         when it matters.
10603
10604 2005-06-23  Wim Taymans  <wim@fluendo.com>
10605
10606         * gst/gstpad.c: (gst_pad_event_default):
10607         * gst/gstqueue.c: (gst_queue_loop):
10608         No unsafe task pausing please.
10609
10610 2005-06-23  Wim Taymans  <wim@fluendo.com>
10611
10612         * gst/schedulers/threadscheduler.c:
10613         (gst_thread_scheduler_task_start),
10614         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
10615         Ref the task before pushing it on the threadpool. This
10616         makes sure that we have a ref when the threadfunction is
10617         actually called.
10618
10619 2005-06-23  Andy Wingo  <wingo@pobox.com>
10620
10621         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
10622         offset is greater than the file's size.
10623
10624         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
10625         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
10626         * gst/gstobject.c (gst_object_class_init): Make the class lock
10627         recursive. Wim won't let me drop deep_notify. Decodebin works
10628         again, whoopdy doo.
10629
10630         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
10631         internal pad, and hacks accordingly. Doesn't do it on the target
10632         pad because we change its caps. Probably catches all cases of
10633         interest tho.
10634         (gst_ghost_pad_set_property): Connect to notify::caps as
10635         appropritate.
10636
10637         * tests/network-clock.scm (plot-simulation): Pipe data to the
10638         elite python skript.
10639
10640         * tests/network-clock-utils.scm (define-parameter): New macro,
10641         defines a parameter that can be set via the command line.
10642         (set-parameter!, parse-parameter-arguments): Command line args
10643         parser.
10644
10645         * tests/plot-data: Simple matplotlib-based plotter, takes input on
10646         stdin.
10647
10648 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
10649
10650         * gst/elements/gsttypefindelement.c:
10651         (gst_type_find_element_handle_event):
10652           Don't restart typefinding on a discont.
10653         * gst/gstelement.c: (gst_element_set_state):
10654           Debug spelling fix.
10655         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
10656           Allow changing mode of an active pad.
10657           Debug output fixes.
10658         * gst/registries/gstlibxmlregistry.c: (load_feature):
10659           Don't cast a static pad template to a normal pad template.
10660
10661 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10662
10663         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10664         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10665           remove gst_strtoll completely, since it didn't actually do
10666           anything more than what g_ascii_strtoull already does.
10667           check for range errors when deserializing
10668           do a cast for the unsigned cases; but further fixing needs
10669           a decision on what the interpretation of "(int)" and
10670           deserialization should be for values that fall outside the
10671           type's boundaries (ie, refuse, or interpret as casting)
10672
10673 2005-06-23  Wim Taymans  <wim@fluendo.com>
10674
10675         * check/Makefile.am:
10676         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
10677         * docs/design/part-live-source.txt:
10678         * docs/design/part-states.txt:
10679         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10680         (gst_basesrc_set_live), (gst_basesrc_is_live),
10681         (gst_basesrc_get_range), (gst_basesrc_activate),
10682         (gst_basesrc_change_state):
10683         * gst/base/gstbasesrc.h:
10684         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10685         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10686         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
10687         * gst/gstelement.c: (gst_element_get_state_func),
10688         (gst_element_set_state):
10689         * gst/gstelement.h:
10690         * gst/gsttypes.h:
10691         * tools/gst-launch.c: (event_loop), (main):
10692         Added support for live sources and other elements that
10693         cannot do preroll.
10694         Updated design docs, added live-source design doc.
10695         Implemented live source functionality in basesrc
10696         Fix error condition in _bin_get_state()
10697         Implement live source handling in -launch.
10698         Added check for live sources.
10699         Fixed case in GstBin where elements were changed state
10700         multiple times.
10701
10702
10703 2005-06-23  Andy Wingo  <wingo@pobox.com>
10704
10705         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
10706         borken refcounting.
10707
10708         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
10709         gst_caps_replace takes care of this for us.
10710
10711         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
10712         gst_pad_set_caps on the target, not just its setcaps() function.
10713
10714         * tests/network-clock.scm: 
10715         * tests/network-clock-utils.scm: A network clock simulator.
10716         Something of an algorithmic testbed before doing something in C.
10717
10718 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10719
10720         * check/Makefile.am:
10721         * check/gst/capslist.h:
10722           copy over from 0.8, and add two with bitmasks specified with
10723           (int) 0xFF...
10724         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10725           add test to parse everything from capslist.h
10726         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
10727         (main):
10728           add test for structure deserialization
10729         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10730           add tests for deserialization of strings to int types
10731         * gst/gststructure.c: (gst_structure_nth_field_name):
10732         * gst/gststructure.h:
10733           add a way to get the name of a field referenced by index
10734         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10735           instead of checking if the resulting long long lies between
10736           min and max, we check if the long long would fit into
10737           a number of bytes for the final type.
10738           This fixes cases where a string represents 2^32 - 1, which
10739           when cast to int would be the (valid) -1, but is bigger than
10740           G_MAXINT
10741
10742 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10743
10744         * gst/parse/grammar.y:
10745           add a log line for type deserialization
10746
10747 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10748
10749         * check/gst/gstvalue.c: (START_TEST):
10750         * gst/gstvalue.c: (gst_value_deserialize):
10751           return long long, not int, so gint64 deserialization actually
10752           works.  Is there any flag that makes the compiler check this ?
10753           Fixes #308559
10754
10755 2005-06-22  Wim Taymans  <wim@fluendo.com>
10756
10757         * gst/gstbuffer.h:
10758         Added convenience macros for setting buffers in GValue.
10759
10760 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10761
10762         * check/gst/.cvsignore:
10763         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10764           add a test deserializing int64, and comment part out because
10765           it fails, yay !
10766
10767 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10768
10769         * check/Makefile.am:
10770         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
10771         * testsuite/Makefile.am:
10772         * testsuite/caps/Makefile.am:
10773         * testsuite/caps/value_serialize.c:
10774         * testsuite/test_gst_init.c:
10775           move a value_serialize test over
10776
10777 2005-06-20  Wim Taymans  <wim@fluendo.com>
10778
10779         * gst/gstpad.c:
10780         Small doc updates.
10781         
10782         * gst/gstvalue.c: (gst_value_compare_buffer),
10783         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
10784         (gst_value_compare_flags), (gst_value_serialize_flags),
10785         (gst_value_deserialize_flags), (_gst_value_initialize):
10786         Fix serialisation of buffers, they are not boxed types anymore
10787
10788 2005-06-20  Wim Taymans  <wim@fluendo.com>
10789
10790         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
10791         Testcase to show error in buffer-on-caps serialisation.
10792
10793 2005-06-20  Andy Wingo  <wingo@pobox.com>
10794
10795         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
10796         will be adding to later.
10797
10798         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
10799         if its socks fill with rocks.
10800         (gst_system_clock_obtain): Set the name on object construction.
10801         Avoid double-checked locking.
10802
10803 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
10804
10805         * gst/gsturi.c: (gst_element_make_from_uri):
10806           Fix potential endless loop.
10807
10808 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10809
10810         * check/Makefile.am:
10811           add gsttag
10812         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
10813         (main):
10814           move over from testsuite dir and clean up
10815         * configure.ac:
10816         * gst/gsttag.c:
10817         * testsuite/Makefile.am:
10818         * testsuite/tags/.cvsignore:
10819         * testsuite/tags/Makefile.am:
10820         * testsuite/tags/merge.c:
10821           remove testsuite/tags
10822
10823 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10824
10825         * docs/gst/gstreamer-sections.txt:
10826         * docs/gst/tmpl/gstenumtypes.sgml:
10827         * win32/gstenumtypes.c:
10828           clean up documentation build a little
10829
10830 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10831
10832         * check/gstcheck.h:
10833           add macros for checking refcounts on objects and caps
10834         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
10835           add some more unit tests
10836         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
10837         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
10838           fix leaked refcounts (I hope :)) so unittest works
10839         * gst/gstpad.h:
10840           whitespace removal
10841
10842 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10843
10844         * configure.ac: back to HEAD
10845
10846 === release 0.9.1 ===
10847
10848 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10849
10850         * NEWS:
10851         * RELEASE:
10852           updated
10853
10854 2005-06-17  Andy Wingo  <wingo@pobox.com>
10855
10856         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
10857         assert; it's always possible that the pad gets deactivated in
10858         between the checks in gstpad.c and the implementation. Rely on
10859         finish_preroll() to return a FLUSHING or similar instead of on the
10860         assert.
10861         
10862         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
10863         clock and post an EOS message if we come out of finish_preroll in
10864         the playing state.
10865
10866 2005-06-16  David Schleef  <ds@schleef.org>
10867
10868         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
10869         (gst_capsfilter_set_property): Allow NULL as possible value
10870         for filter_caps property, indicating GST_CAPS_ANY.
10871
10872 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10873
10874         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
10875           fix debug output
10876         * gst/schedulers/Makefile.am:
10877           use libgst prefix
10878         * gstreamer.spec.in:
10879           fix spec for it
10880
10881 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10882
10883         * gstreamer.spec.in:
10884           clean up
10885
10886 2005-06-08  Andy Wingo  <wingo@pobox.com>
10887
10888         * gst/gstutils.c: RPAD fixes all around.
10889         (gst_element_link_pads): Refcounting fixes.
10890
10891         * tools/gst-inspect.c:
10892         * tools/gst-xmlinspect.c:
10893         * parse/grammar.y:
10894         * gst/base/gsttypefindhelper.c:
10895         * gst/base/gstbasesink.c:
10896         * gst/gstqueue.c: RPAD fixes.
10897
10898         * gst/gstghostpad.h:
10899         * gst/gstghostpad.c: New ghost pad implementation as full proxy
10900         pads. The tricky thing is they provide both source and sink
10901         interfaces, since they proxy the internal pad for the external
10902         pad, and vice versa. Implement with lower-level ProxyPad objects,
10903         with the interior proxy pad as a child of the exterior ghost pad.
10904         Should write a doc on this.
10905         
10906         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
10907         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
10908         gst_object API.
10909         
10910         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
10911         pads are real pads. No ghost pads in this file. Not documenting
10912         the myriad s/RPAD/PAD/ and REALIZE fixes.
10913         (gst_pad_class_init): Add properties for "direction" and
10914         "template". Both are construct-only, so they can't change during
10915         the life of the pad. Fixes properly deriving from GstPad.
10916         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
10917         derived objects, just set properties when creating the objects via
10918         g_object_new.
10919         (gst_pad_get_parent): Implement as a function, return NULL if the
10920         parent is not an element.
10921         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
10922         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
10923         
10924         * gst/gstobject.c (gst_object_class_init): Make name a construct
10925         property. Don't set it in the object init.
10926
10927         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
10928         with UNKNOWN direction.
10929         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
10930         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
10931         (gst_element_remove_pad): Remove ghost-pad special cases.
10932         (gst_element_pads_activate): Remove rpad cruft.
10933
10934         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
10935         catch the pad's-parent-not-an-element case.
10936
10937         * gst/gst.h: Include gstghostpad.h.
10938
10939         * gst/gst.c (init_post): No more real, ghost pads.
10940
10941         * gst/Makefile.am: Add gstghostpad.[ch].
10942
10943         * check/Makefile.am:
10944         * check/gst/gstbin.c:
10945         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
10946         into a bin creates ghost pads, and that the refcounts are right.
10947         Partly moved from gstbin.c.
10948
10949 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10950
10951         * check/gst-libs/.cvsignore:
10952         * check/gst/.cvsignore:
10953         * check/pipelines/.cvsignore:
10954           ignore more
10955         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
10956         (START_TEST), (cleanup_suite), (main):
10957           add some tests related to cleanup after running pipelines
10958
10959 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10960
10961         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
10962           add a testsuite for GstBuffer
10963
10964 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10965
10966         * gst/gstminiobject.h:
10967           add defines for accessing the refcount
10968
10969 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
10970
10971         * Makefile.am: added support for html unit test coverage reports
10972
10973 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
10974
10975         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
10976           Free existing caps if the capsfilter changes. Add a FIXME about
10977           setting those caps on the pads.
10978
10979         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
10980           Before adding a ghost pad to a parent bin, check that there isn't
10981           already one for the element on the bin. Prevents infinite recursion
10982           when using decodebin in parse pipelines. Andy says he'll rewrite the
10983           way this works anyway, so ignore the hack.
10984
10985 2005-06-02  Andy Wingo  <wingo@pobox.com>
10986
10987         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
10988         file size, pass it on to the type find helper.
10989
10990         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
10991         segment_start and segment_end properly according to the seek
10992         method. Segment_end is still a bit flaky because offset can be
10993         negative for CUR and END cases, but it takes -1 as an "unset"
10994         value.
10995
10996 2005-06-02  Wim Taymans  <wim@fluendo.com>
10997
10998         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
10999         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
11000         (gst_basesink_activate):
11001         * gst/base/gstbasesink.h:
11002         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11003         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11004         (gst_pad_query), (gst_pad_start_task):
11005         * gst/gstpad.h:
11006         * gst/gstqueue.c: (gst_queue_bufferalloc),
11007         (gst_queue_handle_sink_event), (gst_queue_chain):
11008         Bufferalloc: return GstFlowReturn to more accuratly report
11009         why allocation failed.
11010
11011 2005-06-02  Wim Taymans  <wim@fluendo.com>
11012
11013         * gst/gstpipeline.c: (gst_pipeline_send_event):
11014         Take snapshot of state without blocking.
11015
11016 2005-06-02  Wim Taymans  <wim@fluendo.com>
11017
11018         * docs/design/part-TODO.txt:
11019         * docs/design/part-caps.txt:
11020         * docs/design/part-clocks.txt:
11021         * docs/design/part-negotiation.txt:
11022         * docs/design/part-preroll.txt:
11023         Small doc updates 
11024
11025 2005-05-30  Wim Taymans  <wim@fluendo.com>
11026
11027         * gst/elements/gstidentity.c: (gst_identity_event),
11028         (gst_identity_transform), (gst_identity_get_property):
11029         Protect last_message property as it is accessed from
11030         multiple threads.
11031
11032 2005-05-30  Wim Taymans  <wim@fluendo.com>
11033
11034         * gst/gstelement.c: (gst_element_init),
11035         (gst_element_pads_activate), (gst_element_change_state):
11036         Slicker pad activation code.
11037
11038 2005-05-30  Wim Taymans  <wim@fluendo.com>
11039
11040         * gst/Makefile.am:
11041         * gst/gstelement.h:
11042         * gst/gstelementfactory.h:
11043         * gst/gsttypes.h:
11044         Move elementfactory methods to separate .h file.
11045
11046 2005-05-30  Wim Taymans  <wim@fluendo.com>
11047
11048         * docs/design/part-overview.txt:
11049         * gst/gstsystemclock.h:
11050         Small typo fixes, doc updates.
11051
11052 2005-05-30  Wim Taymans  <wim@fluendo.com>
11053
11054         * gst/gst.c: (gst_init_get_popt_table), (init_post),
11055         (init_popt_callback):
11056         Remove cpu-opt flag.
11057
11058 2005-05-30  Wim Taymans  <wim@fluendo.com>
11059
11060         * gst/gstbuffer.c: (gst_subbuffer_finalize),
11061         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
11062         * gst/gstbuffer.h:
11063         Avoid typechecking in places where not needed.
11064         Added accessor for malloc_data.
11065
11066 2005-05-30  Wim Taymans  <wim@fluendo.com>
11067
11068         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
11069         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
11070         (gst_pad_configure_sink), (gst_pad_configure_src),
11071         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
11072         (gst_pad_start_task):
11073         Propagate errors from _set_caps() in configure_src/sink
11074         functions instead of returning TRUE.
11075         FLUSH events can travel up and downstream
11076
11077
11078 2005-05-30  Wim Taymans  <wim@fluendo.com>
11079
11080         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11081         (gst_basesink_activate):
11082         Handle EOS in preroll.
11083
11084 2005-05-30  Wim Taymans  <wim@fluendo.com>
11085
11086         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11087         (gst_queue_loop), (gst_queue_handle_src_event):
11088         Remove old pieces of code
11089         Flushing the queue in an upstream event is a very bad idea.
11090
11091 2005-05-26  Andy Wingo  <wingo@pobox.com>
11092
11093         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
11094         gst_value_set_mini_object so as to add a ref on the object (which
11095         will be removed when the value is unset).
11096
11097         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
11098         arg type in ::handoff.
11099
11100         * gst/gstelement.c (gst_element_change_state): Also deactivate
11101         pads in READY->NULL, just in case the element didn't make it to
11102         PAUSED. Wingo tested, Wim approved.
11103
11104 2005-05-26  Wim Taymans  <wim@fluendo.com>
11105
11106         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11107         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11108         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
11109         A flushing pad cannot be used to alloc_buffer from.
11110
11111 2005-05-26  Wim Taymans  <wim@fluendo.com>
11112
11113         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
11114         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
11115         (gst_bus_source_dispatch), (gst_bus_source_finalize),
11116         (gst_bus_create_watch), (gst_bus_add_watch_full):
11117         * gst/gstbus.h:
11118         Implement a real GSource and use g_main_context_wakeup() to
11119         signal new messages instead of the socketpair.
11120
11121 2005-05-25  Wim Taymans  <wim@fluendo.com>
11122
11123         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
11124         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
11125         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11126         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11127         (gst_pad_send_event), (gst_pad_start_task):
11128         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
11129         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
11130         (gst_queue_sink_activate), (gst_queue_src_activate),
11131         (gst_queue_change_state):
11132         * gst/gstqueue.h:
11133         Fix state changes for non sinks. We now change sinks, then elements
11134         with unconnected srcpads, then the rest.
11135         More efficient queue unlocking in flush and state changes.
11136         Set the pad activate mode even if it does not have an activate
11137         function.
11138
11139 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11140
11141         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
11142           Don't go in pull mode for non-seekable sources.
11143         * gst/elements/gsttypefindelement.h:
11144         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11145         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
11146         (free_entry), (stop_typefinding),
11147         (gst_type_find_element_handle_event), (find_peek),
11148         (gst_type_find_element_chain), (do_pull_typefind),
11149         (gst_type_find_element_change_state):
11150           Allow typefinding (w/o seeking) in push-mode, simplified version
11151           of what was in 0.8.
11152         * gst/gstutils.c: (gst_buffer_join):
11153         * gst/gstutils.h:
11154           gst_buffer_join() from 0.8.
11155
11156 2005-05-25  Wim Taymans  <wim@fluendo.com>
11157
11158         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11159         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11160         (gst_pad_send_event), (gst_pad_start_task):
11161         Disable attempt at mode switching until it is figured out.
11162
11163 2005-05-25  Wim Taymans  <wim@fluendo.com>
11164
11165         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
11166         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11167         (gst_basesink_finish_preroll), (gst_basesink_chain),
11168         (gst_basesink_loop), (gst_basesink_activate),
11169         (gst_basesink_change_state):
11170         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
11171         (gst_basesrc_get_range), (gst_basesrc_loop),
11172         (gst_basesrc_activate):
11173         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11174         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
11175         (gst_real_pad_init), (gst_real_pad_set_property),
11176         (gst_real_pad_get_property), (gst_pad_set_active),
11177         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
11178         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
11179         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
11180         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
11181         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11182         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
11183         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
11184         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11185         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
11186         (gst_pad_stop_task):
11187         * gst/gstpad.h:
11188         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11189         (gst_queue_loop), (gst_queue_src_activate):
11190         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
11191         (gst_task_get_state):
11192         * gst/gsttask.h:
11193         * gst/schedulers/threadscheduler.c:
11194         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
11195         Implement gst_pad_pause/start/stop_task(), take STREAM lock
11196         in task function.
11197         Remove ACTIVE pad flag, use FLUSHING everywhere
11198         Added _pad_chain(), _pad_get_range() to call chain/getrange 
11199         functions.
11200         Add locks around IS_FLUSHING when reading.
11201         Take STREAM lock in chain(), get_range() functions so plugins
11202         don't need to take it anymore.
11203         
11204
11205
11206 2005-05-25  Wim Taymans  <wim@fluendo.com>
11207
11208         * tools/gst-launch.c: (event_loop):
11209         Unref message after using its contents instead of
11210         before.
11211
11212 2005-05-24  Wim Taymans  <wim@fluendo.com>
11213
11214         * docs/design/draft-ghostpads.txt:
11215         * docs/design/draft-push-pull.txt:
11216         * docs/design/draft-query.txt:
11217         * docs/design/part-overview.txt:
11218         Docs updates, added general overview doc.
11219
11220 2005-05-21  David Schleef  <ds@schleef.org>
11221
11222         * docs/gst/tmpl/old/GstBin.sgml:
11223         * docs/gst/tmpl/old/GstBuffer.sgml:
11224         * docs/gst/tmpl/old/GstCaps.sgml:
11225         * docs/gst/tmpl/old/GstClock.sgml:
11226         * docs/gst/tmpl/old/GstCompat.sgml:
11227         * docs/gst/tmpl/old/GstData.sgml:
11228         * docs/gst/tmpl/old/GstElement.sgml:
11229         * docs/gst/tmpl/old/GstEvent.sgml:
11230         * docs/gst/tmpl/old/GstIndex.sgml:
11231         * docs/gst/tmpl/old/GstStructure.sgml:
11232         * docs/gst/tmpl/old/GstTag.sgml:
11233         * docs/gst/tmpl/old/cothreads.sgml:
11234         * docs/gst/tmpl/old/cothreads_compat.sgml:
11235         * docs/gst/tmpl/old/gettext.sgml:
11236         * docs/gst/tmpl/old/gobject2gtk.sgml:
11237         * docs/gst/tmpl/old/grammar.tab.sgml:
11238         * docs/gst/tmpl/old/gst-i18n-app.sgml:
11239         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
11240         * docs/gst/tmpl/old/gst_private.sgml:
11241         * docs/gst/tmpl/old/gstaggregator.sgml:
11242         * docs/gst/tmpl/old/gstarch.sgml:
11243         * docs/gst/tmpl/old/gstatomic_impl.sgml:
11244         * docs/gst/tmpl/old/gstbufferstore.sgml:
11245         * docs/gst/tmpl/old/gstdata_private.sgml:
11246         * docs/gst/tmpl/old/gstdisksink.sgml:
11247         * docs/gst/tmpl/old/gstdisksrc.sgml:
11248         * docs/gst/tmpl/old/gstelementfactory.sgml:
11249         * docs/gst/tmpl/old/gstextratypes.sgml:
11250         * docs/gst/tmpl/old/gstfakesink.sgml:
11251         * docs/gst/tmpl/old/gstfakesrc.sgml:
11252         * docs/gst/tmpl/old/gstfdsink.sgml:
11253         * docs/gst/tmpl/old/gstfdsrc.sgml:
11254         * docs/gst/tmpl/old/gstfilesink.sgml:
11255         * docs/gst/tmpl/old/gstfilesrc.sgml:
11256         * docs/gst/tmpl/old/gsthttpsrc.sgml:
11257         * docs/gst/tmpl/old/gstidentity.sgml:
11258         * docs/gst/tmpl/old/gstindexfactory.sgml:
11259         * docs/gst/tmpl/old/gstmarshal.sgml:
11260         * docs/gst/tmpl/old/gstmd5sink.sgml:
11261         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
11262         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
11263         * docs/gst/tmpl/old/gstpadtemplate.sgml:
11264         * docs/gst/tmpl/old/gstpipefilter.sgml:
11265         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
11266         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
11267         * docs/gst/tmpl/old/gstshaper.sgml:
11268         * docs/gst/tmpl/old/gstspider.sgml:
11269         * docs/gst/tmpl/old/gstspideridentity.sgml:
11270         * docs/gst/tmpl/old/gststatistics.sgml:
11271         * docs/gst/tmpl/old/gsttee.sgml:
11272         * docs/gst/tmpl/old/gsttimecache.sgml:
11273         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
11274         * docs/gst/tmpl/old/gstxmlregistry.sgml:
11275         * docs/gst/tmpl/old/gthread-cothreads.sgml:
11276         * docs/gst/tmpl/old/types.sgml:
11277           I didn't intend to add these or check them in.
11278
11279 2005-05-19  David Schleef  <ds@schleef.org>
11280
11281         * configure.ac: Use -no-common everywhere.  In a sane world, it
11282           would be the default in libtool, because without it, you can't
11283           build DLLs on Windows.
11284         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
11285         * docs/gst/gstreamer-sections.txt:
11286         * docs/gst/tmpl/gstcpu.sgml:
11287         * docs/gst/tmpl/gstdata.sgml:
11288         * docs/gst/tmpl/gstthread.sgml:
11289
11290 2005-05-19  David Schleef  <ds@schleef.org>
11291
11292         * gst/gstminiobject.c: (gst_value_set_mini_object),
11293         (gst_value_take_mini_object), (gst_value_get_mini_object):
11294         * gst/gstminiobject.h: Add GValue set/get functions.
11295
11296 2005-05-19  Wim Taymans  <wim@fluendo.com>
11297
11298         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
11299         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
11300         (gst_subbuffer_init), (gst_buffer_is_span_fast):
11301         * gst/gstbuffer.h:
11302         * gst/gstbus.c: (gst_bus_post):
11303         * gst/gstelement.c: (gst_element_get_random_pad):
11304         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
11305         Make subbufer unref the parent in finalize.
11306         some more debugging info.
11307
11308
11309 2005-05-19  Wim Taymans  <wim@fluendo.com>
11310
11311         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11312         (gst_basesink_init), (gst_basesink_finalize),
11313         (gst_basesink_activate), (gst_basesink_change_state):
11314         Don't free preroll queue too early.
11315
11316 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11317
11318         * gst/Makefile.am:
11319         * gst/ROADMAP:
11320           Hi, I'm outdated. Please shoot me.
11321
11322 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11323
11324         * gst/gstpipeline.c: (gst_pipeline_send_event):
11325           Do not access variables after they have been deleted.
11326
11327 2005-05-19  Wim Taymans  <wim@fluendo.com>
11328
11329         * tools/gst-inspect.c: (print_plugin_features):
11330         A plugin feature does unfortunatly not use the
11331         object name yet...
11332
11333 2005-05-18  Wim Taymans  <wim@fluendo.com>
11334
11335         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
11336         Port _span() functions to new subbuffers.
11337
11338 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11339
11340         * gst/gstbin.c: (gst_bin_add_func):
11341           Fix clock settery in bins when adding kids after the clock has
11342           been selected.
11343
11344 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11345
11346         * gst/elements/gstidentity.c: (gst_identity_class_init):
11347           Workaround until signals support GstMiniObject.
11348
11349 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
11350
11351         * gst/gstbuffer.c:
11352         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11353
11354 2005-05-18  Wim Taymans  <wim@fluendo.com>
11355
11356         * gst/base/Makefile.am:
11357         * gst/base/gstadapter.c: (gst_adapter_base_init),
11358         (gst_adapter_class_init), (gst_adapter_init),
11359         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
11360         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
11361         (gst_adapter_flush), (gst_adapter_available),
11362         (gst_adapter_available_fast):
11363         * gst/base/gstadapter.h:
11364         Ported and added adapter to the base classes.
11365
11366 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11367
11368         * gst/gst.c:
11369         * gst/gstmessage.c:
11370           Make sure the class is reffed/unreffed once before threads can be
11371           used.  Fixes #304551.
11372
11373 2005-05-17  Wim Taymans  <wim@fluendo.com>
11374
11375         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11376         (gst_basesink_chain_unlocked), (gst_basesink_activate):
11377         * gst/gstminiobject.c: (gst_mini_object_get_type),
11378         (gst_mini_object_free):
11379         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11380         (gst_pad_push), (gst_pad_push_event):
11381         * gst/gstqueue.c: (gst_queue_change_state):
11382         Don't queue buffers in basesink when we are flushing.
11383         Unref buffer when flushing in basesink.
11384         Flush queue when going to READY
11385         Unref buffer when _push() returns an error.
11386         Don't free MiniObject instance when refcount is incremented
11387         in _finalize() so that we can recover objects.
11388
11389 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11390
11391         * docs/manual/advanced-schedulers.xml:
11392         * docs/manual/appendix-checklist.xml:
11393         * docs/pwg/advanced-clock.xml:
11394         * docs/pwg/advanced-interfaces.xml:
11395         * docs/pwg/advanced-request.xml:
11396         * docs/pwg/advanced-types.xml:
11397         * docs/pwg/intro-preface.xml:
11398         * examples/plugins/example.c: (gst_example_get_type),
11399         (gst_example_class_init), (gst_example_chain),
11400         (gst_example_set_property), (gst_example_get_property),
11401         (gst_example_change_state), (plugin_init):
11402         * examples/plugins/example.h:
11403           small doc fixes
11404
11405 2005-05-17  Wim Taymans  <wim@fluendo.com>
11406
11407         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11408         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11409         * gst/gstqueue.c: (gst_queue_change_state):
11410         Clear queue when going to READY.
11411         Remove IN_SETCAPS flag too.
11412
11413 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
11414
11415         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11416           Remove implicit cast from gboolean to GstElementStateReturn;
11417           make sure we still return failure in paused => ready case if
11418           the parent class fails to change state and our own stop 
11419           vfunc succeeds.
11420
11421 2005-05-17  Wim Taymans  <wim@fluendo.com>
11422
11423         * tools/gst-launch.c: (event_loop):
11424         Message was unreffed too soon.
11425
11426 2005-05-16  Andy Wingo  <wingo@pobox.com>
11427
11428         * gst/gstbin.c (sink_iterator_filter): Err... um...
11429
11430         * check/gst/gstbin.c (test_ghost_pads): New test for the
11431         ghosting-if-elements-not-in-same-bin behavior.
11432
11433 2005-05-16  David Schleef  <ds@schleef.org>
11434
11435         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11436         accessing refcount directly.
11437
11438 2005-05-15  David Schleef  <ds@schleef.org>
11439
11440         * check/Makefile.am: remove GstData checks
11441         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11442         * gst/Makefile.am: add miniobject, remove data
11443         * gst/gst.h: add miniobject, remove data
11444         * gst/gstdata.c: remove
11445         * gst/gstdata.h: remove
11446         * gst/gstdata_private.h: remove
11447         * gst/gsttypes.h: remove GstEvent and GstMessage
11448         * gst/gstelement.c: (gst_element_post_message): fix for API changes
11449         * gst/gstmarshal.list: change BOXED -> OBJECT
11450
11451         Implement GstMiniObject.
11452         * gst/gstminiobject.c:
11453         * gst/gstminiobject.h:
11454
11455         Modify to be subclasses of GstMiniObject.
11456         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11457         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11458         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11459         (gst_subbuffer_get_type), (gst_subbuffer_init),
11460         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11461         (gst_buffer_span):
11462         * gst/gstbuffer.h:
11463         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11464         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11465         (_gst_event_copy), (gst_event_new):
11466         * gst/gstevent.h:
11467         * gst/gstmessage.c: (_gst_message_initialize),
11468         (gst_message_get_type), (gst_message_class_init),
11469         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11470         (gst_message_new), (gst_message_new_error),
11471         (gst_message_new_warning), (gst_message_new_tag),
11472         (gst_message_new_state_changed), (gst_message_new_application):
11473         * gst/gstmessage.h:
11474         * gst/gstprobe.c: (gst_probe_perform),
11475         (gst_probe_dispatcher_dispatch):
11476         * gst/gstprobe.h:
11477         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11478         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11479         (_gst_query_copy), (gst_query_new):
11480
11481         Update elements for GstData -> GstMiniObject changes
11482         * gst/gstquery.h:
11483         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11484         (gst_queue_chain), (gst_queue_loop):
11485         * gst/elements/gstbufferstore.c:
11486         (gst_buffer_store_add_buffer_func),
11487         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11488         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11489         (gst_fakesink_render):
11490         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11491         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11492         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11493         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11494         (gst_filesrc_create_read):
11495         * gst/elements/gstidentity.c: (gst_identity_class_init):
11496         * gst/elements/gsttypefindelement.c:
11497         (gst_type_find_element_src_event), (free_entry_buffers),
11498         (gst_type_find_element_handle_event):
11499         * libs/gst/dataprotocol/dataprotocol.c:
11500         (gst_dp_header_from_buffer):
11501         * libs/gst/dataprotocol/dataprotocol.h:
11502         * libs/gst/dataprotocol/dp-private.h:
11503
11504 2005-05-15  David Schleef  <ds@schleef.org>
11505
11506         * gst/elements/gstelements.c: Don't include headers that were
11507         just removed.
11508
11509 2005-05-15  David Schleef  <ds@schleef.org>
11510
11511         * gst/elements/Makefile.am: Remove some elements that don't
11512         need to be in the core (or even exist at all).
11513         * gst/elements/gstaggregator.c:
11514         * gst/elements/gstaggregator.h:
11515         * gst/elements/gstmd5sink.c:
11516         * gst/elements/gstmd5sink.h:
11517         * gst/elements/gstmultifilesrc.c:
11518         * gst/elements/gstmultifilesrc.h:
11519         * gst/elements/gstpipefilter.c:
11520         * gst/elements/gstpipefilter.h:
11521         * gst/elements/gstshaper.c:
11522         * gst/elements/gstshaper.h:
11523         * gst/elements/gststatistics.c:
11524         * gst/elements/gststatistics.h:
11525         * po/POTFILES.in: Remove above files.
11526
11527 2005-05-14  Andy Wingo  <wingo@pobox.com>
11528
11529         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11530         so as to get the refs right.
11531         (sink_iterator_filter): New function, wraps bin_element_is_sink,
11532         unreffing objects that don't pass the filter.
11533
11534         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11535         gst_element_set_bus.
11536         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11537         normal cases, this will destroy the bus.
11538
11539         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11540         object.
11541
11542         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11543         has no sinks.
11544
11545 2005-05-13  Andy Wingo  <wingo@pobox.com>
11546
11547         * gst/gstutils.c (gst_element_link_pads): Instead of calling
11548         gst_pad_link, call pad_link_maybe_ghosting,
11549         (pad_link_maybe_ghosting): Links pads, making sure that the
11550         elements being linked are in the same bin.
11551         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11552         Helpers for pad_link_maybe_ghosting.
11553
11554 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11555
11556         * configure.ac:
11557           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11558
11559 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11560
11561         * docs/design/part-element-source.txt:
11562           Mention GstPushSrc
11563
11564 2005-05-12  Wim Taymans  <wim@fluendo.com>
11565
11566         * gst/base/gstbasesink.c: (gst_basesink_init),
11567         (gst_basesink_activate):
11568         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11569         (gst_basesrc_is_seekable):
11570         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11571         (bin_element_is_sink), (gst_bin_change_state):
11572         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11573         * gst/gstelement.h:
11574         Identify sinks by their flag to avoid overly complicated
11575         checks (fow now).
11576         Do state changes even for elements not reachable from the
11577         sinks.
11578         BaseSink is a sink now :)
11579         Some more debugging info in the basesrc.
11580
11581
11582 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11583
11584         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
11585           Implement _query on a bin, similar to _send_event.
11586
11587 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
11588
11589         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
11590           Discont event offset format should be GST_FORMAT_BYTES,
11591           not GST_FORMAT_TIME.
11592
11593 2005-05-12  Wim Taymans  <wim@fluendo.com>
11594
11595         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
11596         Same fix as Ronald's but without the signal. 
11597
11598 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11599
11600         * gst/gstutils.c: (gst_element_query_position):
11601           No, an element is not a pad.
11602
11603 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11604
11605         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
11606         (gst_bin_get_state):
11607           If a child is removed from a bin while we remove the child from
11608           the bin and while we're retrieving its state, signal this to the
11609           get_state function so we abort the wait (instead of waiting for
11610           a timeout) and can immediately re-iterate over all other elements.
11611
11612 2005-05-12  Wim Taymans  <wim@fluendo.com>
11613
11614         * gst/base/Makefile.am:
11615         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
11616         (gst_basesrc_start):
11617         * gst/base/gstbasesrc.h:
11618         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
11619         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
11620         (gst_pushsrc_init), (gst_pushsrc_create):
11621         * gst/base/gstpushsrc.h:
11622         Added is_seekable to BaseSrc
11623         Added simple PushSrc.
11624
11625 2005-05-11  Wim Taymans  <wim@fluendo.com>
11626
11627         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11628         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11629         (gst_element_link_pads), (gst_element_query_position),
11630         (gst_element_query_convert), (intersect_caps_func),
11631         (gst_pad_query_position), (gst_pad_query_convert):
11632         Fix refcounting in utils function.
11633         No point in trying to activate a pad when it's added, it could
11634         be added from the state change function and then we deadlock, the
11635         element has to decide what to do.
11636
11637 2005-05-10  Andy Wingo  <wingo@pobox.com>
11638
11639         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
11640         *all* the arguments.
11641
11642         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
11643         stream lock if it's a FLUSH_DONE; normal flushes don't get the
11644         lock (according to the docs -- if this is wrong change the docs).
11645
11646         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
11647         flush messages in the NULL state.
11648
11649         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
11650         message immediately and return.
11651         (gst_bus_set_flushing): New function. If a bus is flushing, it
11652         flushes out any queued messages and immediately unrefs new
11653         messages. This is so when an element goes to NULL, all of the
11654         unhandled messages coming from it can be freed, and their
11655         references to the element dropped. In other words: message source
11656         ref considered harmful :P
11657
11658         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
11659         we're finished with it.
11660
11661         * gst/gstmessage.c (gst_message_new_state_changed): 
11662
11663 2005-05-10  Wim Taymans  <wim@fluendo.com>
11664
11665         * gst/gstvalue.c: (gst_value_compare_flags),
11666         (gst_value_serialize_flags), (gst_value_deserialize_flags),
11667         (_gst_value_initialize):
11668         Added flags serialize/deserialize/compare code.
11669
11670 2005-05-09  Andy Wingo  <wingo@pobox.com>
11671
11672         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
11673         Intersect the peer's caps with our caps.
11674
11675 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11676
11677         * gst/base/gsttypefindhelper.c: (helper_find_peek):
11678         * gst/elements/gsttypefindelement.c: (find_peek):
11679           Handle negative offsets better. Fixes decodebin.
11680
11681 2005-05-09  Wim Taymans  <wim@fluendo.com>
11682
11683         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
11684         (gst_base_transform_event):
11685         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
11686         Implement accept_caps.
11687         Fix silly lock/unlock mismatch in base class.
11688
11689 2005-05-09  Wim Taymans  <wim@fluendo.com>
11690
11691         * docs/design/draft-push-pull.txt:
11692         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
11693         * gst/elements/gstfilesink.c: (gst_filesink_init),
11694         (gst_filesink_query):
11695         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11696         (gst_type_find_handle_src_query), (find_element_get_length):
11697         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
11698         * gst/gstelement.h:
11699         * gst/gstmessage.c:
11700         * gst/gstmessage.h:
11701         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
11702         (gst_real_pad_get_caps_unlocked),
11703         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
11704         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11705         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
11706         (gst_real_pad_dispose), (gst_real_pad_finalize),
11707         (gst_pad_load_and_link), (gst_pad_save_thyself),
11708         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
11709         (gst_pad_check_pull_range), (gst_pad_pull_range),
11710         (gst_pad_template_get_type), (gst_pad_template_class_init),
11711         (gst_pad_template_init), (gst_pad_template_dispose),
11712         (name_is_valid), (gst_static_pad_template_get),
11713         (gst_pad_template_new), (gst_static_pad_template_get_caps),
11714         (gst_pad_template_get_caps), (gst_pad_set_element_private),
11715         (gst_pad_get_element_private), (gst_pad_start_task),
11716         (gst_pad_pause_task), (gst_pad_stop_task),
11717         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
11718         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
11719         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
11720         (gst_ghost_pad_new):
11721         * gst/gstpad.h:
11722         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
11723         (gst_query_new_position), (gst_query_set_position),
11724         (gst_query_parse_position), (gst_query_new_convert),
11725         (gst_query_set_convert), (gst_query_parse_convert):
11726         * gst/gstquery.h:
11727         * gst/gstqueryutils.c:
11728         * gst/gstqueryutils.h:
11729         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11730         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11731         (gst_queue_handle_src_query):
11732         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11733         (gst_element_query_position), (gst_element_query_convert),
11734         (intersect_caps_func), (gst_pad_query_position),
11735         (gst_pad_query_convert):
11736         * gst/gstutils.h:
11737         * tools/gst-inspect.c: (print_pad_info):
11738         * tools/gst-xmlinspect.c: (print_element_info):
11739         Remove old query functions. Ported old code.
11740         Added position/convert helper functions to gstutils.
11741         Reordered gstpad.c code, grouping relevant things.
11742         Remove gst_message_new(), always need to speficy a specific
11743         message.
11744
11745
11746 2005-05-09  Andy Wingo  <wingo@pobox.com>
11747
11748         * gst/gstiterator.h: Add some includes.
11749
11750         * gst/gstqueryutils.h: Include more headers.
11751
11752         * gst/gstpad.h:
11753         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
11754         some uses of gst_pad_query.
11755
11756         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
11757         NULL out parameters.
11758         (gst_query_new_position): New proc, allocates a new position
11759         query.
11760
11761         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
11762         gstqueryutils.c to the build.
11763
11764         * gst/gststructure.c (gst_structure_set_valist): Implement with
11765         the generic G_VALUE_COLLECT.
11766         
11767 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
11768
11769         * gst/Makefile.am: (gst_headers):
11770         Added gstqueryutils.h to the list of headers to install, that was
11771         a 'nachty' move wingo :)
11772
11773 2005-05-06  Andy Wingo  <wingo@pobox.com>
11774
11775         * gst/gstquery.h
11776         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
11777         GstData, init a memchunk.
11778         (standard_definitions): Add a few query types, deprecate a few.
11779         (gst_query_get_type): New proc.
11780         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
11781         implementation.
11782         (gst_query_new_application, gst_query_get_structure): New public
11783         procs.
11784
11785         * docs/design/draft-query.txt: Removed LINKS from the query types,
11786         because all the rest can be dispatched to other pads -- seemed
11787         ugly to have a query that couldn't be dispatched. internal_links
11788         is fine as a pad method.
11789
11790         * gst/gstpad.h: Add query2 as a pad method, add the new functions
11791         in gstpad.c, but maintain binary compatibility for the moment.
11792         Will fix before 0.9 is out.
11793
11794         * gst/gstqueryutils.c: 
11795         * gst/gstqueryutils.h: New files, implement 3 methods for each
11796         query type: parse_query, parse_response, and set. Probably need an
11797         allocator as well.
11798
11799         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
11800
11801         * gst/elements/gstfilesink.c (gst_filesink_query2):
11802         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
11803         query_types, and formats methods.
11804
11805         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
11806         (gst_pad_set_query2_function): New functions.
11807         (gst_real_pad_init): Set query2_default as the default query2
11808         function. Basically just dispatches to internally linked pads.
11809
11810         Needs review!
11811         
11812         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
11813         without using the atomic operations. Only one thread can possibly
11814         be accessing the data at this point. Changed so as to avoid
11815         gst_atomic operations.
11816
11817 2005-05-06  Wim Taymans  <wim@fluendo.com>
11818
11819         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
11820         Also set caps if we use the fallback buffer alloc.
11821
11822 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
11823
11824         * docs/gst/Makefile.am:
11825         * docs/gst/gstreamer-docs.sgml:
11826         * docs/gst/gstreamer-sections.txt:
11827         * docs/gst/tmpl/gstatomic.sgml:
11828         * docs/gst/tmpl/gstmemchunk.sgml:
11829         * testsuite/elements/struct_i386.h:
11830         * win32/GStreamer.vcproj:
11831         * win32/Makefile:
11832           Purge GstAtomic stuff from docs and win32 makefiles as well
11833
11834 2005-05-06  Wim Taymans  <wim@fluendo.com>
11835
11836         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
11837         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
11838         * gst/gstpad.c: (gst_pad_peer_get_caps):
11839         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11840         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
11841         (gst_queue_src_activate), (gst_queue_change_state):
11842         * gst/gstqueue.h:
11843         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11844         (intersect_caps_func):
11845         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
11846         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
11847         Some fixes for the peer_get_caps() change.
11848
11849 2005-05-06  Wim Taymans  <wim@fluendo.com>
11850
11851         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
11852         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
11853         (gst_basesink_activate):
11854         Actually do something with error codes returned from the push
11855         functions.
11856
11857 2005-05-06  Wim Taymans  <wim@fluendo.com>
11858
11859         * docs/design/part-element-sink.txt:
11860         * docs/design/part-element-source.txt:
11861         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11862         (gst_basesink_event), (gst_basesink_activate):
11863         * gst/base/gstbasesink.h:
11864         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
11865         (gst_basesrc_activate):
11866         * gst/base/gstbasesrc.h:
11867         * gst/gstelement.c: (gst_element_pads_activate):
11868         Some more documentation.
11869         Fixed scheduling decision in _pads_activate().
11870
11871 2005-05-05  Andy Wingo  <wingo@pobox.com>
11872
11873         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
11874         the test suite.
11875
11876 2005-05-05  Wim Taymans  <wim@fluendo.com>
11877
11878         * gst/base/Makefile.am:
11879         * gst/base/gstbasesink.h:
11880         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11881         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
11882         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
11883         (gst_collectpads_class_init), (gst_collectpads_init),
11884         (gst_collectpads_finalize), (gst_collectpads_new),
11885         (gst_collectpads_set_function), (gst_collectpads_add_pad),
11886         (find_pad), (gst_collectpads_remove_pad),
11887         (gst_collectpads_is_active), (gst_collectpads_collect),
11888         (gst_collectpads_collect_range), (gst_collectpads_start),
11889         (gst_collectpads_stop), (gst_collectpads_peek),
11890         (gst_collectpads_pop), (gst_collectpads_available),
11891         (gst_collectpads_read), (gst_collectpads_flush),
11892         (gst_collectpads_chain):
11893         * gst/base/gstcollectpads.h:
11894         * gst/elements/Makefile.am:
11895         * gst/elements/gstelements.c:
11896         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11897         (gst_fakesink_get_times), (gst_fakesink_event),
11898         (gst_fakesink_preroll), (gst_fakesink_render):
11899         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
11900         (gst_filesink_init), (gst_filesink_set_location),
11901         (gst_filesink_open_file), (gst_filesink_close_file),
11902         (gst_filesink_pad_query), (gst_filesink_event),
11903         (gst_filesink_render), (gst_filesink_change_state):
11904         * gst/elements/gstfilesink.h:
11905         Added object to help in making collect pad based elements.
11906         Ported filesink.
11907         Make event function in sink baseclass return gboolean.
11908
11909 2005-05-05  Wim Taymans  <wim@fluendo.com>
11910
11911         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
11912         (gst_bin_get_by_name):
11913         * gst/gstbuffer.h:
11914         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
11915         (gst_clock_finalize):
11916         * gst/gstdata.c: (gst_data_replace):
11917         * gst/gstdata.h:
11918         * gst/gstelement.c: (gst_element_request_pad),
11919         (gst_element_pads_activate):
11920         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
11921         (gst_object_unref):
11922         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
11923         (gst_pad_set_checkgetrange_function),
11924         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
11925         (gst_pad_check_pull_range), (gst_pad_pull_range),
11926         (gst_static_pad_template_get_caps), (gst_pad_start_task),
11927         (gst_pad_pause_task), (gst_pad_stop_task):
11928         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11929         (gst_element_request_pad), (gst_pad_proxy_getcaps):
11930         Fix name lookup in GstBin.
11931         Added _data_replace() function and _buffer_replace()
11932         Use finalize method to clean up clock.
11933         Fix refcounting on request pads.
11934         Fix pad schedule mode error.
11935         Some more object refcounting debug info,
11936
11937
11938 2005-05-04  Andy Wingo <wingo@pobox.com>
11939
11940         * check/Makefile.am:
11941         * docs/gst/tmpl/gstatomic.sgml:
11942         * docs/gst/tmpl/gstplugin.sgml:
11943         * gst/base/gstbasesink.c: (gst_basesink_activate):
11944         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
11945         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
11946         (gst_basesrc_query), (gst_basesrc_set_property),
11947         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
11948         (gst_basesrc_activate):
11949         * gst/base/gstbasesrc.h:
11950         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
11951         (gst_base_transform_src_activate):
11952         * gst/elements/gstelements.c:
11953         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11954         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11955         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11956         * gst/elements/gsttypefindelement.c: (find_element_get_length),
11957         (gst_type_find_element_checkgetrange),
11958         (gst_type_find_element_activate):
11959         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
11960         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
11961         (gst_caps_load_thyself):
11962         * gst/gstelement.c: (gst_element_pads_activate),
11963         (gst_element_save_thyself), (gst_element_restore_thyself):
11964         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
11965         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
11966         * gst/gstpad.h:
11967         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
11968         (gst_xml_parse_file), (gst_xml_parse_memory),
11969         (gst_xml_get_element), (gst_xml_make_element):
11970         * gst/indexers/gstfileindex.c: (gst_file_index_load),
11971         (_file_index_id_save_xml), (gst_file_index_commit):
11972         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
11973         (read_enum), (load_pad_template), (load_feature), (load_plugin),
11974         (load_paths):
11975         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
11976         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
11977         * tools/gst-complete.c: (main):
11978         * tools/gst-compprep.c: (main):
11979         * tools/gst-inspect.c: (print_element_properties_info):
11980         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
11981         * tools/gst-xmlinspect.c: (print_element_properties):
11982         GCC 4 fixen.
11983         
11984 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11985
11986         * gst/gstplugin.c: (gst_plugin_check_module),
11987         (gst_plugin_check_file), (gst_plugin_load_file):
11988             apply patch from #172526 to make register work on MacOSX
11989
11990 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11991
11992         * docs/gst/tmpl/gstconfig.sgml:
11993         * gst/gstconfig.h.in:
11994           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
11995         * testsuite/debug/printf_extension.c: (main):
11996           Do not use GST_PTR_FORMAT on pointers to types with
11997           sizeof < sizeof(gpointer).  Fixes test on 64-bit
11998         * testsuite/elements/property.h:
11999           use correct printf format
12000
12001 2005-05-02  Wim Taymans  <wim@fluendo.com>
12002
12003         * docs/design/draft-push-pull.txt:
12004         * docs/design/draft-query.txt:
12005         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
12006         (gst_basesrc_start):
12007         Added draft for new query API.
12008         Added draft for better selecting scheduling methods.
12009         Make basesrc ignore length if the subclass does not support
12010         it.
12011
12012 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12013
12014         * gst/Makefile.am:
12015           possible fixes for automake-1.5 - _LIBADD is reserved
12016
12017 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12018
12019         * docs/faq/Makefile.am:
12020         * docs/manual/Makefile.am:
12021         * docs/manuals.mak:
12022         * docs/pwg/Makefile.am:
12023         * gst/Makefile.am:
12024           possible fixes for automake-1.5
12025
12026 2005-04-28  Wim Taymans  <wim@fluendo.com>
12027
12028         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12029         (gst_basesink_pad_getcaps), (gst_basesink_init),
12030         (gst_basesink_do_sync):
12031         * gst/gstclock.c: (gst_clock_entry_new):
12032         * gst/gstevent.c: (gst_event_discont_get_value):
12033         * gst/gstpipeline.c: (pipeline_bus_handler),
12034         (gst_pipeline_change_state):
12035         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
12036         Better debugging of clocking info.
12037         Allow NULL values when getting discont values.
12038
12039 2005-04-27  Wim Taymans  <wim@fluendo.com>
12040
12041         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12042         * check/gst/gstpad.c: (gst_pad_suite):
12043         Increase timeout for checks.
12044
12045 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12046
12047         * check/Makefile.am:
12048           fix the broken rule for cleanup.  Apparently this rule is
12049           only needed on FC2, so maybe this warrants further autotool
12050           inspection.
12051
12052 2005-04-26  Wim Taymans  <wim@fluendo.com>
12053
12054         * gst/gsttrashstack.h:
12055         Ooohh. a nasty one! After having a failed pop() from the stack,
12056         it's possible that the stack is empty. In that case, don't
12057         follow the NULL pointer.
12058
12059 2005-04-25  Wim Taymans  <wim@fluendo.com>
12060
12061         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12062         (gst_pad_set_checkgetrange_function),
12063         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
12064         (gst_pad_check_pull_range), (gst_pad_pull_range),
12065         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12066         (gst_pad_pause_task), (gst_pad_stop_task):
12067         * gst/gstplugin.c: (gst_plugin_load):
12068         * gst/gstplugin.h:
12069         Remove gst_library_load as it does more harm than good with
12070         the new g_module flags.
12071         Revert bogus caps template check in pad linking, pad caps
12072         are important when linking not the template, which is more
12073         general than the current caps.
12074
12075 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12076
12077         * gst/autoplug/.cvsignore:
12078         * gst/autoplug/Makefile.am:
12079         * gst/autoplug/gstsearchfuncs.c:
12080         * gst/autoplug/gstsearchfuncs.h:
12081         * gst/autoplug/gstspider.c:
12082         * gst/autoplug/gstspider.h:
12083         * gst/autoplug/gstspideridentity.c:
12084         * gst/autoplug/gstspideridentity.h:
12085         * gst/autoplug/spidertest.c:
12086           Die, spider, die.
12087
12088 2005-04-25  Wim Taymans  <wim@fluendo.com>
12089
12090         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12091         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12092         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
12093         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
12094         * gst/gstpad.h:
12095         Added stubs for unimplemented functions. 
12096
12097 2005-04-24  David Schleef  <ds@schleef.org>
12098
12099         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
12100         please fix.
12101
12102 2005-04-24  David Schleef  <ds@schleef.org>
12103
12104         Convert everything from GstAtomicInt to g_atomic_int_*, and
12105         remove gstatomic.
12106         * gst/Makefile.am:
12107         * gst/gstatomic.c:
12108         * gst/gstatomic.h:
12109         * gst/gstatomic_impl.h:
12110         * gst/gstbuffer.c:
12111         * gst/gstcaps.c:
12112         * gst/gstcaps.h:
12113         * gst/gstclock.c:
12114         * gst/gstclock.h:
12115         * gst/gstdata.c:
12116         * gst/gstdata.h:
12117         * gst/gstdata_private.h:
12118         * gst/gstevent.c:
12119         * gst/gstinfo.c:
12120         * gst/gstinfo.h:
12121         * gst/gstmessage.c:
12122         * gst/gstobject.c:
12123         * gst/gstobject.h:
12124         * gst/gststructure.c:
12125         * gst/gststructure.h:
12126         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
12127         * gst/gstutils.h:
12128
12129 2005-04-24  David Schleef  <ds@schleef.org>
12130
12131         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
12132         make the regressions tests work.  Remove some code that is no
12133         longer true.
12134         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
12135         Disable warning for pads without templates.
12136
12137 2005-04-24  David Schleef  <ds@schleef.org>
12138
12139         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
12140         functions that handle filtered links.
12141         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
12142         removed functions.
12143         * gst/gstutils.c: Fix/remove utility functions that handle
12144         filtered caps.
12145         * gst/gstutils.h:
12146         * gst/gstvalue.c: Add serialization/deserialization of caps
12147         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
12148         requires fixing so that the filter caps notation creates
12149         a capsfilter element and sets the filter_caps property.  I
12150         think everyone probably wants to keep the shorthand notation.
12151         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
12152         * docs/gst/tmpl/gstpad.sgml:
12153
12154         * gst/elements/gstelements.c: Register capsfilter element.
12155         * gst/Makefile.am: fix spacing
12156         * docs/random/ds/0.9-suggested-changes: random
12157
12158 2005-04-23  David Schleef  <ds@schleef.org>
12159
12160         * gst/elements/Makefile.am:
12161         * gst/elements/gstcapsfilter.c: New element that acts like an
12162         identity, but filters caps.  Will eventually replace filtered
12163         caps in pad linking.
12164         * gst/gstutils.c: (gst_element_create_all_pads): New function
12165         to create all the ALWAYS pads that are registered with an
12166         element class.  This functionality should eventually be
12167         merged in with GstElement initialization.
12168         * gst/gstutils.h:
12169         * testsuite/trigger/README: part of trigger test code that should
12170         have been checked in a long time ago.
12171
12172 2005-04-23  David Schleef  <ds@schleef.org>
12173
12174         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
12175         needed with new versions of libtool (nobody will confirm this),
12176         and hard to carry around.
12177         * gst/autoplug/Makefile.am:
12178         * gst/base/Makefile.am:
12179         * gst/elements/Makefile.am:
12180         * gst/indexers/Makefile.am:
12181         * gst/schedulers/Makefile.am:
12182         * libs/gst/bytestream/Makefile.am:
12183         * libs/gst/control/Makefile.am:
12184         * libs/gst/dataprotocol/Makefile.am:
12185         * libs/gst/getbits/Makefile.am:
12186
12187 2005-04-21  Wim Taymans  <wim@fluendo.com>
12188
12189         * docs/design/draft-push-pull.txt:
12190         * docs/design/part-MT-refcounting.txt:
12191         * docs/design/part-TODO.txt:
12192         * docs/design/part-caps.txt:
12193         * docs/design/part-events.txt:
12194         * docs/design/part-gstbus.txt:
12195         * docs/design/part-gstpipeline.txt:
12196         * docs/design/part-messages.txt:
12197         * docs/design/part-push-pull.txt:
12198         * docs/design/part-query.txt:
12199         Some more docs.
12200
12201 2005-04-21  Wim Taymans  <wim@fluendo.com>
12202
12203         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
12204         (gst_message_new), (gst_message_new_error),
12205         (gst_message_new_warning), (gst_message_new_tag),
12206         (gst_message_new_state_changed), (gst_message_new_application),
12207         (gst_message_get_structure):
12208         * gst/gstmessage.h:
12209         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12210         (gst_structure_copy_conditional):
12211         Use parent refcount in GstMessage to ensure GstStructure
12212         consistency.
12213         Cleaned up headers a bit.
12214         
12215
12216 2005-04-20  Wim Taymans  <wim@fluendo.com>
12217
12218         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12219         (gst_basesink_pad_getcaps), (gst_basesink_init),
12220         (gst_basesink_chain_unlocked):
12221         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
12222         (gst_type_find_helper):
12223         * gst/elements/gsttypefindelement.c:
12224         (gst_type_find_element_have_type), (gst_type_find_element_init),
12225         (stop_typefinding), (gst_type_find_element_handle_event),
12226         (find_suggest), (gst_type_find_element_chain),
12227         (gst_type_find_element_checkgetrange),
12228         (gst_type_find_element_getrange), (do_typefind),
12229         (gst_type_find_element_activate):
12230         * gst/gstbuffer.c: (_gst_buffer_sub_free),
12231         (gst_buffer_default_free), (gst_buffer_default_copy),
12232         (gst_buffer_set_caps):
12233         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
12234         (gst_caps_replace):
12235         * gst/gstmessage.c: (gst_message_new),
12236         (gst_message_new_state_changed):
12237         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12238         (gst_pad_set_checkgetrange_function),
12239         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
12240         (gst_pad_set_caps), (gst_pad_check_pull_range),
12241         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
12242         * gst/gstpad.h:
12243         * gst/gsttypefind.c: (gst_type_find_register):
12244         Make gst_caps_replace() work like other _replace() functions.
12245         Use _caps_replace() where possible.
12246         Make sure _message_new() initialises its field.
12247         Add gst_static_pad_template_get_caps()
12248
12249
12250 2005-04-18  Andy Wingo  <wingo@pobox.com>
12251
12252         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
12253         on the peer, not the pad. I think that was a typo. Pass an extra
12254         arg to see if random access is possible. Activate the pads as
12255         PULL_RANGE if possible.
12256
12257         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
12258
12259         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
12260         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
12261         to PROP_....
12262
12263 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12264
12265         * docs/faq/using.xml:
12266           Add note on gstreamer-properties (#154996).
12267
12268 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12269
12270         * docs/random/bbb/optional-properties:
12271           Some analysis on optional properties.
12272
12273 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12274
12275         * docs/gst/tmpl/gstelementfactory.sgml:
12276         * gst/gstelement.h:
12277         * gst/gstelementfactory.c: (gst_element_factory_init),
12278         (gst_element_factory_cleanup), (gst_element_register),
12279         (__gst_element_factory_add_static_pad_template),
12280         (gst_element_factory_get_static_pad_templates),
12281         (gst_element_factory_can_src_caps),
12282         (gst_element_factory_can_sink_caps):
12283         * gst/registries/Makefile.am:
12284         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
12285         (gst_xml_registry_class_init), (gst_xml_registry_init),
12286         (gst_xml_registry_new), (gst_xml_registry_set_property),
12287         (gst_xml_registry_get_property), (get_time), (make_dir),
12288         (gst_xml_registry_get_perms_func),
12289         (plugin_times_older_than_recurse), (plugin_times_older_than),
12290         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
12291         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
12292         (add_to_char_array), (read_string), (read_uint), (read_enum),
12293         (load_pad_template), (load_feature), (load_plugin), (load_paths),
12294         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
12295         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
12296         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
12297         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
12298         (gst_xml_registry_rebuild):
12299         * gst/registries/gstlibxmlregistry.h:
12300         * tools/gst-compprep.c: (main):
12301         * tools/gst-inspect.c: (print_pad_templates_info):
12302         * tools/gst-xmlinspect.c: (print_element_info):
12303           Use libxml2 for registry parsing, use staticpadtemplates in
12304           elementfactories. Makes gst_init() +/- 10x faster.
12305
12306 2005-04-12  Wim Taymans  <wim@fluendo.com>
12307
12308         * gst/base/Makefile.am:
12309         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12310         (gst_basesink_pad_getcaps), (gst_basesink_init),
12311         (gst_basesink_event), (gst_basesink_change_state):
12312         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12313         (gst_basesrc_init), (gst_basesrc_query),
12314         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12315         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12316         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12317         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12318         (gst_basesrc_stop), (gst_basesrc_activate),
12319         (gst_basesrc_change_state):
12320         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12321         (helper_find_suggest), (gst_type_find_helper):
12322         * gst/base/gsttypefindhelper.h:
12323         * gst/elements/Makefile.am:
12324         * gst/elements/gstelements.c:
12325         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12326         (gst_fakesink_get_times), (gst_fakesink_event),
12327         (gst_fakesink_preroll), (gst_fakesink_render):
12328         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12329         (gst_fakesrc_init), (gst_fakesrc_event_handler),
12330         (gst_fakesrc_get_property), (gst_fakesrc_create),
12331         (gst_fakesrc_start), (gst_fakesrc_stop):
12332         * gst/elements/gstfakesrc.h:
12333         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
12334         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12335         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12336         (gst_filesrc_create_read), (gst_filesrc_create),
12337         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
12338         (gst_filesrc_start):
12339         * gst/elements/gsttypefindelement.c:
12340         (gst_type_find_element_have_type), (gst_type_find_element_init),
12341         (start_typefinding), (stop_typefinding), (push_buffer_store),
12342         (gst_type_find_element_handle_event),
12343         (gst_type_find_element_chain),
12344         (gst_type_find_element_checkgetrange),
12345         (gst_type_find_element_getrange), (do_typefind),
12346         (gst_type_find_element_activate),
12347         (gst_type_find_element_change_state):
12348         * gst/elements/gsttypefindelement.h:
12349         * gst/gstpipeline.c: (pipeline_bus_handler):
12350         Added typefind helper.
12351         Small preroll fix in the base sink.
12352         Disable typefind code in basesrc.
12353         Crude port of typefindelement.
12354         Fakesrc cleanups.
12355
12356
12357 2005-04-11  Wim Taymans  <wim@fluendo.com>
12358
12359         * check/gst/gstbus.c: (gstbus_suite):
12360         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
12361         * check/gstcheck.h:
12362           Fix up the timeout so that the test does not fail.
12363
12364 2005-04-06  Wim Taymans  <wim@fluendo.com>
12365
12366         * gst/base/README:
12367         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12368         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
12369         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12370         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12371         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12372         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12373         (gst_basesrc_stop), (gst_basesrc_activate),
12374         (gst_basesrc_change_state), (basesrc_find_peek),
12375         (basesrc_find_suggest), (gst_basesrc_type_find):
12376         * gst/base/gstbasesrc.h:
12377         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12378         (gst_filesrc_class_init), (gst_filesrc_init),
12379         (gst_filesrc_finalize), (gst_filesrc_set_location),
12380         (gst_filesrc_set_property), (gst_filesrc_get_property),
12381         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12382         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12383         (gst_filesrc_create_read), (gst_filesrc_create),
12384         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12385         * gst/elements/gstfilesrc.h:
12386         * gst/gstelement.c: (gst_element_get_state_func),
12387         (gst_element_lost_state), (gst_element_pads_activate):
12388         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12389         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12390         (gst_pad_pull_range):
12391         * gst/gstpad.h:
12392         More work on the generic source base class, implement seeking,
12393         query.
12394         Make filesrc extend the base source class.
12395         Added gst_pad_set_checkgetrange_function to GstPad.
12396
12397 2005-04-06  Andy Wingo  <wingo@pobox.com>
12398
12399         * pkgconfig/gstreamer-base.pc.in:
12400         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12401
12402         * pkgconfig/Makefile.am:
12403         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12404
12405 2005-04-04  Wim Taymans  <wim@fluendo.com>
12406
12407         * gst/base/Makefile.am:
12408         * gst/base/README:
12409         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12410         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12411         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12412         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12413         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12414         (gst_basesrc_base_init), (gst_basesrc_class_init),
12415         (gst_basesrc_init), (gst_basesrc_get_formats),
12416         (gst_basesrc_get_query_types), (gst_basesrc_query),
12417         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12418         (gst_basesrc_set_property), (gst_basesrc_get_property),
12419         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12420         (gst_basesrc_loop), (gst_basesrc_activate),
12421         (gst_basesrc_change_state):
12422         * gst/base/gstbasesrc.h:
12423         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12424         (gst_fakesrc_class_init), (gst_fakesrc_init),
12425         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12426         (gst_fakesrc_get_property), (gst_fakesrc_create):
12427         * gst/elements/gstfakesrc.h:
12428         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12429         (gst_filesrc_open_file), (gst_filesrc_loop),
12430         (gst_filesrc_activate), (filesrc_find_peek),
12431         (gst_filesrc_type_find):
12432         Made base source class, make fakesrc extend it.
12433         Add comments to basesink class.
12434         Some filesrc cleanup.
12435
12436 2005-03-31  David Schleef  <ds@schleef.org>
12437
12438         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12439         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12440         expected to link against libgstreamer.
12441         * gst/base/Makefile.am: link against libgstreamer
12442         * gst/elements/Makefile.am: same
12443
12444 2005-03-31  Andy Wingo  <wingo@pobox.com>
12445
12446         * tests/instantiate/Makefile.am:
12447         * tests/instantiate/caps.c: Add test to test speed of caps copy
12448         and free.
12449
12450         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12451         GMemChunk to be fair.
12452
12453         * gst/gsttrashstack.h: Remove warning about using the fallback
12454         trash stack implementation, it's still faster than malloc.
12455
12456 2005-03-30  Andy Wingo  <wingo@pobox.com>
12457
12458         * tests/complexity.c: Add a copyright.
12459
12460 2005-03-31  Wim Taymans  <wim@fluendo.com>
12461
12462         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12463         (gst_base_transform_class_init), (gst_base_transform_init),
12464         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12465         (gst_base_transform_get_property),
12466         (gst_base_transform_sink_activate),
12467         (gst_base_transform_src_activate),
12468         (gst_base_transform_change_state):
12469         * gst/base/gstbasetransform.h:
12470         * gst/elements/gstidentity.c: (gst_identity_class_init),
12471         (gst_identity_event), (gst_identity_check_perfect),
12472         (gst_identity_transform), (gst_identity_start),
12473         (gst_identity_stop):
12474         Added start/stop methods to transform base class so subclasses 
12475         don't need to deal with state changes even.
12476
12477 2005-03-31  Wim Taymans  <wim@fluendo.com>
12478
12479         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12480         (gst_event_new_discontinuous), (gst_event_discont_get_value):
12481         * gst/gstevent.h:
12482         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12483         (gst_pad_pull_range):
12484         Added rate to the discont event to prepare for variable speed
12485         and reverse playback.
12486
12487 2005-03-29  David Schleef  <ds@schleef.org>
12488
12489         * configure.ac:
12490         * testsuite/trigger/Makefile.am:
12491         * testsuite/trigger/trigger.c: A little example program to show
12492         how trigger-based elements can work.
12493
12494 2005-03-29  Wim Taymans  <wim@fluendo.com>
12495
12496         * gst/base/Makefile.am:
12497         * gst/base/README:
12498         * gst/base/gstbasesink.c: (gst_basesink_get_type),
12499         (gst_basesink_base_init), (gst_basesink_class_init),
12500         (gst_basesink_pad_getcaps), (gst_basesink_init),
12501         (gst_basesink_activate), (gst_basesink_change_state):
12502         * gst/base/gstbasesink.h:
12503         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12504         (gst_base_transform_base_init), (gst_base_transform_finalize),
12505         (gst_base_transform_class_init), (gst_base_transform_init),
12506         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12507         (gst_base_transform_event), (gst_base_transform_getrange),
12508         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12509         (gst_base_transform_set_property),
12510         (gst_base_transform_get_property),
12511         (gst_base_transform_sink_activate),
12512         (gst_base_transform_src_activate),
12513         (gst_base_transform_change_state):
12514         * gst/base/gstbasetransform.h:
12515         * gst/elements/gstidentity.c: (gst_identity_finalize),
12516         (gst_identity_class_init), (gst_identity_init),
12517         (gst_identity_event), (gst_identity_check_perfect),
12518         (gst_identity_transform), (gst_identity_set_property),
12519         (gst_identity_get_property), (gst_identity_change_state):
12520         * gst/elements/gstidentity.h:
12521         * gst/gstelement.c: (gst_element_get_state_func),
12522         (gst_element_lost_state), (gst_element_pads_activate):
12523         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12524         (gst_pad_check_pull_range), (gst_pad_pull_range):
12525         * gst/gstpad.h:
12526         Simplify pad activation.
12527         Added function to check if pull_range can be performed.
12528         Error out when pulling inactive or flushing pads.
12529         Removed const from refcounted types as it does not make sense.
12530         Simplify pad templates in basesink
12531         Added base class for simple 1-to-1 transforms.
12532         Make identity subclass the base transform.
12533
12534 2005-03-29  Andy Wingo  <wingo@pobox.com>
12535
12536         * docs/libs/gstreamer-libs-overrides.txt: 
12537         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12538         really don't understand what's going on, but like whatever. I want
12539         green buildbot!
12540
12541         * docs/gst/Makefile.am:
12542         * docs/libs/Makefile.am: Dist the overrides files.
12543
12544         * check/Makefile.am (clean-local): Remove .libs directories.
12545
12546         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12547         elements to EXTRA_DIST, so po/ files are happy.
12548
12549         * po/POTFILES.in: Er, remove it here.
12550
12551         * po/POTFILES: Remove gstspider.c.
12552
12553         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12554
12555         * docs/libs/gstreamer-libs-docs.sgml: 
12556         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12557         bytestream.
12558
12559         * tests/complexity.c (main): Set the length of the preroll queue
12560         on the sinks to prevent a lockup.
12561
12562         * libs/gst/dataprotocol/Makefile.am: 
12563         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12564         the same as the one in check/gst-libs/gdp.c.
12565
12566         * po/, docs/gst/: Commit automatic changes to docs and po files.
12567
12568         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12569         the versioned libgstbase.
12570
12571         * check/Makefile.am: Depend on an unversioned gst-register, seems
12572         to make autoconf happier.
12573
12574         * gst/base/Makefile.am: Make libgstbase a versioned lib.
12575
12576 2005-03-28  Wim Taymans  <wim@fluendo.com>
12577
12578         * configure.ac:
12579         * docs/design/part-gstelement.txt:
12580         * docs/design/part-negotiation.txt:
12581         * docs/design/part-preroll.txt:
12582         * docs/design/part-scheduling.txt:
12583         * docs/design/part-states.txt:
12584         * gst/Makefile.am:
12585         * gst/base/Makefile.am:
12586         * gst/base/README:
12587         * gst/base/gstbasesink.c: (gst_basesink_get_template),
12588         (gst_basesink_base_init), (gst_basesink_class_init),
12589         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12590         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12591         (gst_basesink_set_pad_functions),
12592         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
12593         (gst_basesink_set_property), (gst_basesink_get_property),
12594         (gst_base_sink_get_template), (gst_base_sink_get_caps),
12595         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
12596         (gst_basesink_preroll_queue_push),
12597         (gst_basesink_preroll_queue_empty),
12598         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
12599         (gst_basesink_event), (gst_basesink_get_times),
12600         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
12601         (gst_basesink_chain_unlocked), (gst_basesink_chain),
12602         (gst_basesink_loop), (gst_basesink_activate),
12603         (gst_basesink_change_state):
12604         * gst/base/gstbasesink.h:
12605         * gst/elements/Makefile.am:
12606         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
12607         (gst_fakesink_class_init), (gst_fakesink_init),
12608         (gst_fakesink_set_property), (gst_fakesink_get_property),
12609         (gst_fakesink_get_times), (gst_fakesink_event),
12610         (gst_fakesink_preroll), (gst_fakesink_render),
12611         (gst_fakesink_change_state):
12612         * gst/elements/gstfakesink.h:
12613         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12614         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
12615         * gst/gstelement.c: (gst_element_add_pad),
12616         (gst_element_get_state_func), (gst_element_abort_state),
12617         (gst_element_commit_state), (gst_element_lost_state),
12618         (gst_element_set_state), (gst_element_pads_activate):
12619         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
12620         * gst/gstpipeline.c: (gst_pipeline_send_event),
12621         (gst_pipeline_change_state):
12622         Added state change code.
12623         Added/updated docs.
12624         Added sink base class, make fakesink extend the base class.
12625         Small cleanups in GstPipeline.
12626
12627 2005-03-26  David Schleef  <ds@schleef.org>
12628
12629         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
12630         is broken and should be implemented in a different library.
12631         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
12632         * gst/gst.h: remove gstcpu.h
12633         * gst/gstcpu.c: remove
12634         * gst/gstcpu.h: remove
12635         * gst/Makefile.am.future: Remove this file.  It's ancient.
12636
12637 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12638
12639         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12640         (gst_bin_send_event):
12641           Add default event/set_manager handlers. The set_manager handler
12642           takes care that the manager is distributed over kids that were
12643           already in the bin before the manager was set. The event handler
12644           is a utility virtual function that sends the event over all sinks,
12645           so that gst_element_send_event (bin, event); has the expected
12646           behaviour.
12647         * gst/gstpad.c: (gst_pad_event_default):
12648           Re-install default event handling for discontinuities, so that
12649           seeking works without requiring hacks in applications or extra
12650           code in sinks.
12651         * gst/gstpipeline.c: (gst_pipeline_class_init),
12652         (gst_pipeline_send_event):
12653           Half hack, half utility: set a pipeline to PAUSED for seek events,
12654           since that is the only way we can guarantee a/v sync. Means that
12655           you can do gst_element_seek (pipeline, method, pos); on a pipeline
12656           and it "just works".
12657
12658 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12659
12660         * gst/gstpipeline.c: (gst_pipeline_use_clock):
12661           Lock/unlock mismatch.
12662
12663 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12664
12665         * docs/faq/gst-uninstalled:
12666           add gst-plugins-base
12667         * docs/gst/Makefile.am:
12668           don't error out until docs are fixed
12669         * docs/gst/gstreamer.types:
12670           remove thread
12671
12672 2005-03-22  Wim Taymans  <wim@fluendo.com>
12673
12674         * check/Makefile.am:
12675         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
12676         * gst/gststructure.c: (gst_structure_set_valist),
12677         (gst_structure_copy_conditional):
12678         Activated more tests.
12679         Added message test.
12680         Added G_TYPE_POINTER to GstStructure.
12681         
12682
12683 2005-03-22  Wim Taymans  <wim@fluendo.com>
12684
12685         * docs/design/part-TODO.txt:
12686         * docs/design/part-events.txt:
12687         * docs/design/part-gstbin.txt:
12688         * docs/design/part-gstbus.txt:
12689         * docs/design/part-gstpipeline.txt:
12690         * docs/design/part-messages.txt:
12691         * gst/gstbus.c:
12692         * gst/gstmessage.c:
12693         Docs updates
12694
12695 2005-03-21  Wim Taymans  <wim@fluendo.com>
12696
12697         * gst/gstbus.c: (gst_bus_post):
12698         Fix copy-and-paste error.
12699
12700 2005-03-21  Wim Taymans  <wim@fluendo.com>
12701
12702         * check/Makefile.am:
12703         * gst/Makefile.am:
12704         * gst/elements/Makefile.am:
12705         * gst/elements/gstelements.c:
12706         * gst/elements/gstfakesink.c: (gst_fakesink_init),
12707         (gst_fakesink_event), (gst_fakesink_chain):
12708         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12709         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
12710         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
12711         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
12712         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
12713         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
12714         (gst_fakesrc_loop), (gst_fakesrc_activate),
12715         (gst_fakesrc_change_state):
12716         * gst/elements/gstfakesrc.h:
12717         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
12718         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
12719         (gst_filesrc_open_file), (gst_filesrc_loop),
12720         (gst_filesrc_activate), (gst_filesrc_change_state),
12721         (filesrc_find_peek), (filesrc_find_suggest),
12722         (gst_filesrc_type_find):
12723         * gst/elements/gstidentity.c: (gst_identity_finalize),
12724         (gst_identity_class_init), (gst_identity_init),
12725         (gst_identity_proxy_getcaps), (identity_queue_push),
12726         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
12727         (gst_identity_getrange), (gst_identity_chain),
12728         (gst_identity_sink_loop), (gst_identity_src_loop),
12729         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
12730         (gst_identity_set_property), (gst_identity_get_property),
12731         (gst_identity_change_state):
12732         * gst/elements/gstidentity.h:
12733         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
12734         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
12735         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
12736         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
12737         (gst_tee_sink_activate):
12738         * gst/elements/gsttee.h:
12739         * gst/gst.c: (gst_register_core_elements), (init_post):
12740         * gst/gst.h:
12741         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
12742         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
12743         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
12744         (gst_bin_change_state):
12745         * gst/gstbin.h:
12746         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
12747         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
12748         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
12749         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
12750         (gst_bus_set_sync_handler), (gst_bus_create_watch),
12751         (bus_watch_callback), (bus_watch_destroy),
12752         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
12753         (poll_timeout), (gst_bus_poll):
12754         * gst/gstbus.h:
12755         * gst/gstcaps.h:
12756         * gst/gstdata.h:
12757         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
12758         (gst_element_post_message), (gst_element_message_full),
12759         (gst_element_get_state_func), (gst_element_get_state),
12760         (gst_element_abort_state), (gst_element_commit_state),
12761         (gst_element_lost_state), (gst_element_set_state),
12762         (gst_element_pads_activate), (gst_element_change_state),
12763         (gst_element_dispose), (gst_element_set_manager_func),
12764         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
12765         (gst_element_set_manager), (gst_element_get_manager),
12766         (gst_element_set_bus), (gst_element_get_bus),
12767         (gst_element_set_scheduler), (gst_element_get_scheduler):
12768         * gst/gstelement.h:
12769         * gst/gstevent.c: (gst_event_new_segment_seek),
12770         (gst_event_new_flush):
12771         * gst/gstevent.h:
12772         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
12773         (_gst_message_free), (gst_message_get_type), (gst_message_new),
12774         (gst_message_new_eos), (gst_message_new_error),
12775         (gst_message_new_warning), (gst_message_new_tag),
12776         (gst_message_new_state_changed), (gst_message_new_application),
12777         (gst_message_get_structure), (gst_message_parse_tag),
12778         (gst_message_parse_state_changed), (gst_message_parse_error),
12779         (gst_message_parse_warning):
12780         * gst/gstmessage.h:
12781         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
12782         (gst_real_pad_set_property), (gst_pad_set_active),
12783         (gst_pad_is_active), (gst_pad_set_blocked_async),
12784         (gst_pad_set_blocked), (gst_pad_is_blocked),
12785         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
12786         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
12787         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
12788         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
12789         (gst_pad_link_filtered), (gst_pad_relink_filtered),
12790         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
12791         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
12792         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
12793         (gst_pad_set_caps), (gst_pad_configure_sink),
12794         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
12795         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
12796         (gst_real_pad_dispose), (gst_real_pad_finalize),
12797         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
12798         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12799         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
12800         * gst/gstpad.h:
12801         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
12802         (pipeline_bus_handler), (gst_pipeline_change_state),
12803         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
12804         * gst/gstpipeline.h:
12805         * gst/gstprobe.h:
12806         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
12807         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
12808         (gst_queue_link_src), (gst_queue_bufferalloc),
12809         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
12810         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
12811         (gst_queue_loop), (gst_queue_handle_src_event),
12812         (gst_queue_handle_src_query), (gst_queue_src_activate),
12813         (gst_queue_change_state):
12814         * gst/gstqueue.h:
12815         * gst/gstscheduler.c: (gst_scheduler_init),
12816         (gst_scheduler_dispose), (gst_scheduler_create_task),
12817         (gst_scheduler_factory_create):
12818         * gst/gstscheduler.h:
12819         * gst/gststructure.c: (gst_structure_get_type),
12820         (gst_structure_copy_conditional):
12821         * gst/gststructure.h:
12822         * gst/gsttaginterface.h:
12823         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
12824         (gst_task_init), (gst_task_dispose), (gst_task_create),
12825         (gst_task_get_state), (gst_task_start), (gst_task_stop),
12826         (gst_task_pause):
12827         * gst/gsttask.h:
12828         * gst/gstthread.c:
12829         * gst/gstthread.h:
12830         * gst/gsttypes.h:
12831         * gst/schedulers/Makefile.am:
12832         * gst/schedulers/cothreads_compat.h:
12833         * gst/schedulers/entryscheduler.c:
12834         * gst/schedulers/faircothreads.c:
12835         * gst/schedulers/faircothreads.h:
12836         * gst/schedulers/fairscheduler.c:
12837         * gst/schedulers/gstbasicscheduler.c:
12838         * gst/schedulers/gstoptimalscheduler.c:
12839         * gst/schedulers/gthread-cothreads.h:
12840         * gst/schedulers/threadscheduler.c:
12841         (gst_thread_scheduler_task_get_type),
12842         (gst_thread_scheduler_task_class_init),
12843         (gst_thread_scheduler_task_init),
12844         (gst_thread_scheduler_task_start),
12845         (gst_thread_scheduler_task_stop),
12846         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
12847         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
12848         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
12849         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
12850         (plugin_init):
12851         * libs/gst/Makefile.am:
12852         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
12853         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
12854         (gst_file_pad_parent_set):
12855         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12856         (gst_dp_event_from_packet):
12857         * tests/complexity.c: (main):
12858         * tests/mass_elements.c: (main):
12859         * testsuite/states/locked.c: (message_received), (main):
12860         * testsuite/states/parent.c: (main):
12861         * tools/gst-inspect.c: (print_element_flag_info),
12862         (print_implementation_info), (print_pad_info):
12863         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
12864         (main):
12865         * tools/gst-md5sum.c: (event_loop), (main):
12866         * tools/gst-typefind.c: (main):
12867         * tools/gst-xmlinspect.c: (print_element_info):
12868         Next big merge.
12869         Added GstBus for mainloop integration.
12870         Added GstMessage for sending notifications on the bus.
12871         Added GstTask as an abstraction for pipeline entry points.
12872         Removed GstThread.
12873         Removed Schedulers.
12874         Simplified GstQueue for multithreaded core.
12875         Made _link threadsafe, removed old capsnego.
12876         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
12877         Added pad blocking functions.
12878         Reworked scheduling functions in GstPad to prepare for
12879         scheduling updates soon.
12880         Moved events out of data stream.
12881         Simplified GstEvent types.
12882         Added return values to push/pull.
12883         Removed clocking from GstElement.
12884         Added prototypes for state change function for next merge.
12885         Removed iterate from bins and state change management.
12886         Fixed some elements, disabled others for now.
12887         Fixed -inspect and -launch.
12888         Added check for GstBus.
12889
12890 2005-03-10  Wim Taymans  <wim@fluendo.com>
12891
12892         * docs/design/part-MT-refcounting.txt:
12893         * docs/design/part-clocks.txt:
12894         * docs/design/part-gstelement.txt:
12895         * docs/design/part-gstobject.txt:
12896         * docs/design/part-standards.txt:
12897         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12898         (gst_bin_remove_func), (gst_bin_remove):
12899         * gst/gstbin.h:
12900         * gst/gstbuffer.c:
12901         * gst/gstcaps.h:
12902         * testsuite/clock/clock1.c: (main):
12903         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
12904         (main):
12905         * testsuite/dlopen/loadgst.c: (do_test):
12906         * testsuite/refcounting/bin.c: (add_remove_test1),
12907         (add_remove_test2), (main):
12908         * testsuite/refcounting/element.c: (main):
12909         * testsuite/refcounting/element_pad.c: (main):
12910         * testsuite/refcounting/pad.c: (main):
12911         * tools/gst-launch.c: (sigint_handler_sighandler):
12912         * tools/gst-typefind.c: (main):
12913         Doc updates.
12914         Added doc about clock.
12915         removed gst_bin_iterate_recurse_up(), marked methods
12916         for removal.
12917         Fix more testsuites.
12918
12919 2005-03-09  Wim Taymans  <wim@fluendo.com>
12920
12921         * gst/gstpad.c: (gst_pad_get_direction),
12922         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
12923         (gst_pad_collect_valist):
12924         * testsuite/bins/interface.c: (main):
12925         * testsuite/caps/audioscale.c: (test_caps):
12926         * testsuite/caps/caps.c: (test1), (test2), (test3):
12927         * testsuite/caps/deserialize.c: (main):
12928         * testsuite/caps/enumcaps.c: (main):
12929         * testsuite/caps/filtercaps.c: (main):
12930         * testsuite/caps/intersect2.c: (main):
12931         * testsuite/caps/random.c: (main):
12932         * testsuite/caps/renegotiate.c: (my_fixate), (main):
12933         * testsuite/caps/sets.c: (check_caps):
12934         * testsuite/caps/simplify.c: (check_caps), (main):
12935         * testsuite/caps/subtract.c: (check_caps):
12936         Fix _pad_get_direction wrt ghostpads.
12937         Fix caps testsuite.
12938
12939 2005-03-09  Wim Taymans  <wim@fluendo.com>
12940
12941         * check/Makefile.am:
12942         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
12943         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
12944         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
12945         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
12946         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
12947         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
12948         (gst_bin_remove), (gst_bin_iterate_recurse_up),
12949         (bin_element_is_sink), (gst_bin_iterate_sinks),
12950         (gst_bin_iterate_all_by_interface):
12951         * gst/gstbin.h:
12952         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
12953         (gst_element_change_state), (gst_element_dispose),
12954         (gst_element_finalize), (gst_element_set_loop_function):
12955         * gst/gstelement.h:
12956         * gst/gstiterator.c: (find_custom_fold_func):
12957         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12958         (gst_pad_collectv), (gst_pad_collect_valist),
12959         (gst_pad_template_new):
12960         * gst/gstpipeline.c: (gst_pipeline_class_init),
12961         (gst_pipeline_dispose), (gst_pipeline_set_property),
12962         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
12963         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
12964         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
12965         * gst/gstutils.h:
12966         * gst/schedulers/entryscheduler.c:
12967         * gst/schedulers/gstbasicscheduler.c:
12968         (gst_basic_scheduler_cothreaded_chain),
12969         (gst_basic_scheduler_chain_add_element):
12970         * testsuite/bins/interface.c: (main):
12971         Added GstBin test.
12972         Added GstSystemClock test.
12973         Implemented clock distribution code in GstBin.
12974         Implemented iterate sinks method for future use.
12975         Rearranged gstelement.h
12976         Fix GstIterator comparison bug.
12977         Moved some code to GstPipeline, mostly clocking related.
12978
12979 2005-03-09  Wim Taymans  <wim@fluendo.com>
12980
12981         * configure.ac:
12982         * gst/gst_private.h:
12983         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
12984         (gst_bin_remove_func), (gst_bin_remove),
12985         (gst_bin_get_by_name_recurse_up):
12986         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
12987         (gst_clock_id_compare_func), (gst_clock_id_wait),
12988         (gst_clock_id_wait_async), (gst_clock_init),
12989         (gst_clock_adjust_unlocked), (gst_clock_get_time):
12990         * gst/gstelement.h:
12991         * gst/gstinfo.c: (_gst_debug_init):
12992         * gst/gstobject.h:
12993         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
12994         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
12995         * gst/gstpad.h:
12996         Bump version number, we're now 0.9.0
12997         Add future debugging category.
12998         Fix NULL _unref() in _get_by_name_recurse_up
12999         Rearrange gstpad.h.
13000         Update some docs.
13001
13002 2005-03-08  Wim Taymans  <wim@fluendo.com>
13003
13004         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
13005         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
13006         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
13007         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
13008         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
13009         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
13010         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
13011         * gst/elements/gstidentity.c: (gst_identity_class_init):
13012         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
13013         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
13014         * gst/elements/gstshaper.c: (gst_shaper_class_init):
13015         * gst/elements/gststatistics.c: (gst_statistics_class_init):
13016         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
13017         (gst_tee_link):
13018         * gst/gstelement.c: (gst_element_class_init),
13019         (gst_element_base_class_init), (gst_element_init),
13020         (gst_element_get_random_pad), (gst_element_wait_state_change),
13021         (gst_element_change_state), (gst_element_dispose),
13022         (gst_element_finalize), (gst_element_set_loop_function):
13023         * gst/gstelement.h:
13024         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
13025         * gst/gstthread.c: (gst_thread_class_init),
13026         (gst_thread_release_children_locks), (gst_thread_change_state):
13027         * gst/schedulers/gstbasicscheduler.c:
13028         (gst_basic_scheduler_loopfunc_wrapper),
13029         (gst_basic_scheduler_chain_wrapper),
13030         (gst_basic_scheduler_src_wrapper),
13031         (gst_basic_scheduler_remove_element):
13032         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
13033         Remove threadsafe properties. Fix elements because GObject
13034         complains when installing a property before declaring a
13035         set/get_property handler.
13036         Rearrange gstelement.h file, use STATE macros for state locks.
13037         Free mutexes in the finalize method instead of dispose.
13038
13039 2005-03-08  Wim Taymans  <wim@fluendo.com>
13040
13041         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
13042         * gst/gstthread.c: (gst_thread_release_children_locks):
13043         Added parentage check.
13044         Fix build og GstThread again.
13045
13046 2005-03-08  Wim Taymans  <wim@fluendo.com>
13047
13048         * docs/design/part-MT-refcounting.txt:
13049         * docs/design/part-conventions.txt:
13050         * docs/design/part-gstobject.txt:
13051         * docs/design/part-relations.txt:
13052         * docs/design/part-standards.txt:
13053         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13054         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
13055         (gst_bin_get_by_name), (gst_bin_get_by_interface),
13056         (gst_bin_iterate_all_by_interface):
13057         * gst/gstbuffer.h:
13058         * gst/gstclock.h:
13059         * gst/gstelement.c: (gst_element_class_init),
13060         (gst_element_change_state), (gst_element_set_loop_function):
13061         * gst/gstelement.h:
13062         * gst/gstiterator.c:
13063         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
13064         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
13065         (gst_object_dispatch_properties_changed), (gst_object_set_name),
13066         (gst_object_set_parent), (gst_object_unparent),
13067         (gst_object_check_uniqueness):
13068         * gst/gstobject.h:
13069         Docs updates, clean up some headers.
13070
13071 2005-03-07  Wim Taymans  <wim@fluendo.com>
13072
13073         * check/.cvsignore:
13074         * check/Makefile.am:
13075         * check/gst-libs/.cvsignore:
13076         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
13077         * check/gst/.cvsignore:
13078         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
13079         (START_TEST), (gstbus_suite), (main):
13080         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
13081         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
13082         (gst_data_suite), (main):
13083         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
13084         (add_fold_func), (gstiterator_suite), (main):
13085         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
13086         (thread_name_object), (thread_name_object_default),
13087         (gst_object_name_compare), (gst_object_suite), (main):
13088         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
13089         (gst_pad_suite), (main):
13090         * check/gstcheck.c: (gst_check_log_message_func),
13091         (gst_check_log_critical_func), (gst_check_init):
13092         * check/gstcheck.h:
13093         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
13094         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
13095         Added checks.
13096
13097 2005-03-07  Wim Taymans  <wim@fluendo.com>
13098
13099         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
13100         (gst_list_iterator_next), (gst_list_iterator_resync),
13101         (gst_list_iterator_free), (gst_iterator_new_list),
13102         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
13103         (gst_iterator_free), (gst_iterator_push), (filter_next),
13104         (filter_resync), (filter_uninit), (filter_free),
13105         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
13106         (gst_iterator_foreach), (find_custom_fold_func),
13107         (gst_iterator_find_custom):
13108         * gst/gstiterator.h:
13109         Added missing files.
13110
13111 2005-03-07  Wim Taymans  <wim@fluendo.com>
13112
13113         * Makefile.am:
13114         * configure.ac:
13115         * docs/design/part-MT-refcounting.txt:
13116         * docs/design/part-conventions.txt:
13117         * docs/design/part-gstobject.txt:
13118         * docs/design/part-relations.txt:
13119         * examples/mixer/mixer.c: (main):
13120         * examples/thread/thread.c: (eos), (main):
13121         * gst/Makefile.am:
13122         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13123         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
13124         (gst_spider_plug_from_srcpad):
13125         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
13126         (gst_spider_identity_change_state),
13127         (gst_spider_identity_sink_loop_type_finding):
13128         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
13129         * gst/elements/gstidentity.c: (gst_identity_init):
13130         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
13131         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
13132         * gst/elements/gsttypefindelement.c: (free_entry):
13133         * gst/gst.c:
13134         * gst/gst.h:
13135         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
13136         (gst_bin_set_clock_func), (gst_bin_auto_clock),
13137         (gst_bin_set_index), (gst_bin_set_element_sched),
13138         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
13139         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
13140         (gst_bin_iterate_elements), (iterate_child_recurse),
13141         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
13142         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
13143         (compare_interface), (gst_bin_get_by_interface),
13144         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
13145         * gst/gstbin.h:
13146         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
13147         (gst_buffer_default_free), (gst_buffer_default_copy),
13148         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
13149         (gst_buffer_create_sub):
13150         * gst/gstbuffer.h:
13151         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
13152         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
13153         (gst_caps_unref), (gst_static_caps_get),
13154         (gst_caps_remove_and_get_structure), (gst_caps_append),
13155         (gst_caps_append_structure), (gst_caps_remove_structure),
13156         (gst_caps_copy_nth), (gst_caps_set_simple),
13157         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
13158         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
13159         (gst_caps_structure_intersect_field), (gst_caps_intersect),
13160         (gst_caps_structure_subtract_field), (gst_caps_subtract),
13161         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
13162         (gst_caps_structure_figure_out_union),
13163         (gst_caps_switch_structures), (gst_caps_do_simplify),
13164         (gst_caps_replace), (gst_caps_from_string),
13165         (gst_caps_copy_conditional):
13166         * gst/gstcaps.h:
13167         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
13168         (_gst_clock_id_free), (gst_clock_id_unref),
13169         (gst_clock_id_compare_func), (gst_clock_id_wait),
13170         (gst_clock_id_wait_async), (gst_clock_class_init),
13171         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
13172         (gst_clock_get_time), (gst_clock_set_time_adjust),
13173         (gst_clock_set_property), (gst_clock_get_property):
13174         * gst/gstclock.h:
13175         * gst/gstcompat.h:
13176         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
13177         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
13178         * gst/gstdata.h:
13179         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13180         (gst_element_requires_clock), (gst_element_provides_clock),
13181         (gst_element_set_clock), (gst_element_clock_wait),
13182         (gst_element_wait), (gst_element_set_time_delay),
13183         (gst_element_is_indexable), (gst_element_add_pad),
13184         (gst_element_add_ghost_pad), (gst_element_remove_pad),
13185         (pad_compare_name), (gst_element_get_static_pad),
13186         (gst_element_request_pad), (gst_element_get_request_pad),
13187         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
13188         (gst_element_class_get_pad_template_list),
13189         (gst_element_class_get_pad_template), (gst_element_error_func),
13190         (gst_element_get_random_pad), (gst_element_get_event_masks),
13191         (gst_element_send_event), (gst_element_seek),
13192         (gst_element_get_query_types), (gst_element_query),
13193         (gst_element_get_formats), (gst_element_convert),
13194         (gst_element_is_locked_state), (gst_element_set_locked_state),
13195         (gst_element_sync_state_with_parent), (gst_element_change_state),
13196         (gst_element_finalize), (gst_element_yield),
13197         (gst_element_interrupt), (gst_element_set_scheduler),
13198         (gst_element_get_scheduler), (gst_element_set_loop_function):
13199         * gst/gstelement.h:
13200         * gst/gstevent.h:
13201         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
13202         (gst_format_get_by_nick), (gst_format_get_details),
13203         (gst_format_iterate_definitions):
13204         * gst/gstformat.h:
13205         * gst/gstindex.c: (gst_index_gtype_resolver):
13206         * gst/gstinfo.c:
13207         * gst/gstinfo.h:
13208         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
13209         (gst_mem_chunk_free):
13210         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
13211         (gst_object_ref), (gst_object_unref), (gst_object_sink),
13212         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
13213         (gst_object_dispatch_properties_changed),
13214         (gst_object_set_name_default), (gst_object_set_name),
13215         (gst_object_get_name), (gst_object_set_name_prefix),
13216         (gst_object_get_name_prefix), (gst_object_set_parent),
13217         (gst_object_get_parent), (gst_object_unparent),
13218         (gst_object_check_uniqueness), (gst_object_save_thyself),
13219         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
13220         (gst_object_set_property), (gst_object_get_property),
13221         (gst_object_get_path_string):
13222         * gst/gstobject.h:
13223         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13224         (gst_real_pad_init), (gst_real_pad_get_property),
13225         (gst_pad_custom_new), (gst_pad_get_direction),
13226         (gst_pad_set_active), (gst_pad_is_active),
13227         (gst_pad_set_event_function), (gst_pad_is_linked),
13228         (gst_pad_link_free), (gst_pad_link_intersect),
13229         (gst_pad_link_fixate), (gst_pad_set_caps),
13230         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
13231         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
13232         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
13233         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
13234         (gst_pad_get_caps), (gst_pad_peer_get_caps),
13235         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
13236         (gst_pad_realize), (gst_pad_get_allowed_caps),
13237         (gst_real_pad_dispose), (gst_real_pad_finalize),
13238         (gst_pad_collectv), (gst_pad_collect_valist),
13239         (gst_pad_template_dispose), (gst_pad_template_new),
13240         (gst_pad_get_internal_links):
13241         * gst/gstpad.h:
13242         * gst/gstpipeline.c: (gst_pipeline_dispose),
13243         (gst_pipeline_change_state):
13244         * gst/gstpipeline.h:
13245         * gst/gstplugin.c:
13246         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
13247         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
13248         * gst/gstpluginfeature.h:
13249         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
13250         * gst/gstquery.c: (_gst_query_type_initialize),
13251         (gst_query_type_register), (gst_query_type_get_by_nick),
13252         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
13253         * gst/gstquery.h:
13254         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
13255         * gst/gstscheduler.c: (gst_scheduler_add_element),
13256         (gst_scheduler_factory_create):
13257         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13258         (gst_structure_free), (gst_structure_set_name),
13259         (gst_structure_id_set_value), (gst_structure_set_value),
13260         (gst_structure_set_valist), (gst_structure_remove_field),
13261         (gst_structure_remove_fields),
13262         (gst_structure_remove_fields_valist),
13263         (gst_structure_remove_all_fields), (gst_structure_foreach),
13264         (gst_structure_map_in_place),
13265         (gst_caps_structure_fixate_field_nearest_int),
13266         (gst_caps_structure_fixate_field_nearest_double):
13267         * gst/gststructure.h:
13268         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13269         (gst_system_clock_init), (gst_system_clock_dispose),
13270         (gst_system_clock_async_thread),
13271         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
13272         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
13273         * gst/gstsystemclock.h:
13274         * gst/gsttag.c: (gst_tag_list_add_value_internal),
13275         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
13276         * gst/gsttaginterface.c:
13277         * gst/gstthread.c: (gst_thread_dispose),
13278         (gst_thread_release_children_locks), (gst_thread_change_state),
13279         (gst_thread_main_loop):
13280         * gst/gsttrashstack.h:
13281         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
13282         * gst/gsttypes.h:
13283         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13284         (gst_element_request_pad), (gst_element_get_pad_from_template),
13285         (gst_element_request_compatible_pad),
13286         (gst_element_get_compatible_pad_filtered),
13287         (gst_element_get_compatible_pad), (gst_element_state_get_name),
13288         (gst_element_link_pads_filtered), (gst_element_link_filtered),
13289         (gst_element_link_many), (gst_element_link),
13290         (gst_element_link_pads), (gst_element_unlink_pads),
13291         (gst_element_unlink_many), (gst_element_unlink),
13292         (gst_pad_can_link_filtered), (gst_pad_can_link),
13293         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
13294         (gst_object_default_error), (gst_bin_add_many),
13295         (gst_bin_remove_many), (gst_element_populate_std_props),
13296         (gst_element_class_install_std_props), (gst_buffer_merge),
13297         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
13298         (link_fold_func), (gst_pad_proxy_setcaps):
13299         * gst/gstutils.h:
13300         * gst/gstvalue.c: (gst_value_deserialize_string):
13301         * gst/parse/grammar.y:
13302         * gst/schedulers/gstbasicscheduler.c:
13303         (gst_basic_scheduler_cothreaded_chain),
13304         (gst_basic_scheduler_chain_recursive_add),
13305         (gst_basic_scheduler_pad_link):
13306         * gst/schedulers/gstoptimalscheduler.c:
13307         (get_group_schedule_function),
13308         (gst_opt_scheduler_state_transition),
13309         (gst_opt_scheduler_add_element), (element_get_reachables_func):
13310         * libs/gst/bytestream/bytestream.c:
13311         * libs/gst/dataprotocol/dataprotocol.c:
13312         (gst_dp_header_from_buffer):
13313         * po/nb.po:
13314         * po/ru.po:
13315         * tests/threadstate/threadstate2.c: (eos):
13316         * tools/gst-compprep.c: (main):
13317         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
13318         (print_pad_info), (print_children_info):
13319         * tools/gst-launch.c: (idle_func), (main):
13320         * tools/gst-md5sum.c: (idle_func), (main):
13321         * tools/gst-xmlinspect.c: (print_element_info):
13322         First THREADED backport attempt, focusing on adding locks and
13323         making sure the API is threadsafe. Needs more work. More docs
13324         follow this week.
13325
13326 2005-02-24  Andy Wingo  <wingo@pobox.com>
13327
13328         * tests/bench-complexity.scm:
13329         * tests/complexity.gnuplot: New files, good for running complexity
13330         benchmarks.
13331
13332         * tests/Makefile.am:
13333         * tests/complexity.c: New test, sets up N elements, at each level
13334         teeing into M streams per element. Eeeenteresting.
13335
13336         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
13337         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
13338         running bench-mass_elements.scm.
13339
13340         * tests/bench-mass_elements.scm: New script, runs mass_elements
13341         for various numbers of identities, outputting the results to a
13342         file. Requires guile 1.6. Just for testing.
13343
13344 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13345
13346         * gst/schedulers/fairscheduler.c:
13347           compile with debug disabled
13348
13349 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13350
13351         * configure.ac:
13352           hunting season on 0.9 is now OPEN